eleks summer school 2012: .net 09 - databases

24
Databases Yuriy Guts R&D Engineer [email protected] Summer School 2012

Upload: yuriy-guts

Post on 11-Jan-2015

321 views

Category:

Technology


1 download

DESCRIPTION

"Databases" lecture @ ELEKS Summer School 2012 (Jul 2012)

TRANSCRIPT

Page 1: ELEKS Summer School 2012: .NET 09 - Databases

Databases

Yuriy GutsR&D Engineer

[email protected]

Summer School 2012

Page 2: ELEKS Summer School 2012: .NET 09 - Databases

Why do we need databases?

Summer School 2012

Try answering this question:

Why do we need computers?

???

Page 3: ELEKS Summer School 2012: .NET 09 - Databases

Why do we need databases?

Summer School 2012

Computer Science

Is it a science?Is it about computers?

“Datalogy” — Peter Naur, 1961

Page 4: ELEKS Summer School 2012: .NET 09 - Databases

Navigational databases (1960-s)

Summer School 2012

Page 5: ELEKS Summer School 2012: .NET 09 - Databases

Relational databases (1970-s)

Summer School 2012

Page 6: ELEKS Summer School 2012: .NET 09 - Databases

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

Page 7: ELEKS Summer School 2012: .NET 09 - Databases

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

Page 8: ELEKS Summer School 2012: .NET 09 - Databases

Structured Query Language (SQL)

Summer School 2012

Page 9: ELEKS Summer School 2012: .NET 09 - Databases

Storage: B-Tree, Indexing

Summer School 2012

Page 10: ELEKS Summer School 2012: .NET 09 - Databases

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”)

Page 11: ELEKS Summer School 2012: .NET 09 - Databases

Relational DBMS Products

Summer School 2012

Page 12: ELEKS Summer School 2012: .NET 09 - Databases

Object-Relational Mapping (ORM)

Page 13: ELEKS Summer School 2012: .NET 09 - Databases

Object-Relational Mapping (ORM)

Page 14: ELEKS Summer School 2012: .NET 09 - Databases

ORM: Example (Entity Framework)

Page 15: ELEKS Summer School 2012: .NET 09 - Databases

ORM: Design Approaches

Database First

Model First

Code First

Page 16: ELEKS Summer School 2012: .NET 09 - Databases

Does life exist beyond RDBMS?

Page 17: ELEKS Summer School 2012: .NET 09 - Databases

Multidimensional Data

Page 18: ELEKS Summer School 2012: .NET 09 - Databases

• Data Analysis• Performance Measurement• Enterprise Reporting• Knowledge Management• Data Mining

Business Intelligence

Page 19: ELEKS Summer School 2012: .NET 09 - Databases

NoSQL Databases

Summer School 2012

Key-Value Store Document Store Multivalue Store

Graph Store Object Database RDF Database

Page 20: ELEKS Summer School 2012: .NET 09 - Databases

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

Page 21: ELEKS Summer School 2012: .NET 09 - Databases

NoSQL Database Products

Summer School 2012

Page 22: ELEKS Summer School 2012: .NET 09 - Databases

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

Page 23: ELEKS Summer School 2012: .NET 09 - Databases

Q & A

Summer School 2012

[email protected]

Page 24: ELEKS Summer School 2012: .NET 09 - Databases

Thank you!

Summer School 2012