ELEKS Summer School 2012: .NET 09 - Databases

Post on 11-Jan-2015

321 views 1 download

description

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

Transcript of ELEKS Summer School 2012: .NET 09 - Databases

Databases

Yuriy GutsR&D Engineer

yuriy.guts@eleks.com

Summer School 2012

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

Q & A

Summer School 2012

???yuriy.guts@eleks.com

Thank you!

Summer School 2012