eleks summer school 2012: .net 09 - databases
DESCRIPTION
"Databases" lecture @ ELEKS Summer School 2012 (Jul 2012)TRANSCRIPT
Why do we need databases?
Summer School 2012
Try answering this question:
Why do we need computers?
???
Why do we need databases?
Summer School 2012
Computer Science
Is it a science?Is it about computers?
“Datalogy” — Peter Naur, 1961
Navigational databases (1960-s)
Summer School 2012
Relational databases (1970-s)
Summer School 2012
Relational Algebra 101
Summer School 2012
Set Union Natural Join
Set Intersection Equi-Join
Cartesian Product Semi-Join
Projection Anti-Join
Selection Division
Rename Outer Join
Entity Relationship & (De)Normalization
Summer School 2012
• One-to-one• One-to-many• Many-to-many
Normal Forms
• 1NF• 2NF• 3NF• BCNF
• 4NF• 5NF• DKNF• 6NF
Association Cardinality
Structured Query Language (SQL)
Summer School 2012
Storage: B-Tree, Indexing
Summer School 2012
Database as a Concurrent Storage
Summer School 2012
A Atomicity
C Consistency
I Isolation
D Durability
Although transactions can have different isolation levels!
Lower levels can improve performance, but with a price (side effects)
Transaction Properties (“ACID”)
Relational DBMS Products
Summer School 2012
Object-Relational Mapping (ORM)
Object-Relational Mapping (ORM)
ORM: Example (Entity Framework)
ORM: Design Approaches
Database First
Model First
Code First
Does life exist beyond RDBMS?
Multidimensional Data
• Data Analysis• Performance Measurement• Enterprise Reporting• Knowledge Management• Data Mining
Business Intelligence
NoSQL Databases
Summer School 2012
Key-Value Store Document Store Multivalue Store
Graph Store Object Database RDF Database
Brewer Theorem (“CAP Theorem”)
Summer School 2012
C Consistency
A Availability
P Partition Tolerance
A distributed computer systemcannot provide all three of the following:
Common case: “Eventual Consistency” databases
NoSQL Database Products
Summer School 2012
Some More DB Types
Summer School 2012
Active Embedded Knowledge
Cloud Federated Parallel
Data Warehouse Hypermedia Real-time
Distributed Hypertext Spatial
Document In-memory Temporal
Thank you!
Summer School 2012