Preliminaries
Introductory example
Overview of the course
Historical development of databases
Databases
Introduction
Michael Emmerich
Leiden Institute for Advanced Computer Science, Leiden
University
January 17, 2012
Michael T. M. Emmerich Databases
Preliminaries
Introductory example
Overview of the course
Historical development of databases
Database people
dr. Michael Emmerich - Assistant Professor
()
drs. Hossein Rahmani - PhD Student
drs. Martin Wimmers - Master Student
N.N. - Master Student
our email:
Michael T. M. Emmerich Databases
Preliminaries
Introductory example
Overview of the course
Historical development of databases
Course regulations, grades
Assignment 1: Basics and Practice: Modeling and SQL DML
and DDL
Assignment 2: Advanced Topics: XML, Query Optimization,
Transactions, Schema Refinement
Exam (June, August)
Final Grade = 0.2 * First Assignment + 0.2 * Second
Assignment + 0.6 Exam
Assignments can be done in pairs, but also alone.
Michael T. M. Emmerich Databases
Preliminaries
Introductory example
Overview of the course
Historical development of databases
Further info
Book: Database Management Systems: Raghu Ramakrishnan,
Jochen Gehrke, McGraw Hill, Third Edition
our webpage: www.liacs.nl/databases
Michael T. M. Emmerich Databases
Preliminaries
Introductory example
Overview of the course
Historical development of databases
What is a database?
What is a database? Do you know examples?
Database = A character in ’The simpsons’
Database = a collection of data pieces and meta-information
(schema) on how this data is organized
Database Management System = software used to manage
the database
Michael T. M. Emmerich Databases
Preliminaries
Introductory example
Overview of the course
Historical development of databases
What is a database?
What is a database? Do you know examples?
Database = A character in ’The simpsons’
Database = a collection of data pieces and meta-information
(schema) on how this data is organized
Database Management System = software used to manage
the database
Michael T. M. Emmerich Databases
Preliminaries
Introductory example
Overview of the course
Historical development of databases
What is a database?
What is a database? Do you know examples?
Database = A character in ’The simpsons’
Database = a collection of data pieces and meta-information
(schema) on how this data is organized
Database Management System = software used to manage
the database
Michael T. M. Emmerich Databases
Preliminaries
Introductory example
Overview of the course
Historical development of databases
What is a database?
What is a database? Do you know examples?
Database = A character in ’The simpsons’
Database = a collection of data pieces and meta-information
(schema) on how this data is organized
Database Management System = software used to manage
the database
Michael T. M. Emmerich Databases
Preliminaries
Introductory example
Overview of the course
Historical development of databases
How to organize address data?
Michael T. M. Emmerich Databases
Preliminaries
Introductory example
Overview of the course
Historical development of databases
Where to store adresses (head, paper, tape (Datasette),
harddisk(s), internet server, USB-stick, )?
What do we want to store in a record (first name, second
name, street, telephone)?
Which informations we may consider for the future (e.g.
email, birthday, bankaccount, webpage, ip, image, holographic
picture, etc )?
By means of which information should we sort the data and
identify data records?
How can we deal with more complex data? (e.g. relations
between persons: A knows B, B is married to C)?
How can we ensure consistency and avoid redundant storage?
How can we make sure that nobody reads our addresses?
How can many people edit the address database concurrently
from the internet?
Michael T. M. Emmerich Databases
Preliminaries
Introductory example
Overview of the course
Historical development of databases
Overview of the course
(1) Basics
Data modeling - how to describe the organization of data with
ER-Diagrams?
Relational model - how to use tables to store data? how to
translate ER diagrams to SQL?
SQL DDL - how to define data in a databases?
SQL Queries - how to retrieve data from a database and
program constraints and triggers?
Michael T. M. Emmerich Databases
Preliminaries
Introductory example
Overview of the course
Historical development of databases
Overview of the course
(2) Application programming
Embedded SQL - how to call databases from C++ programs?
JDBC - how to build database-backed internet applications?
Large Objects - how to maintain pictures, sounds, etc. in
Databases?
Excursion: XML - an alternative way to build databases
Michael T. M. Emmerich Databases
Preliminaries
Introductory example
Overview of the course
Historical development of databases
Overview of the course
(3) Theoretical aspects and distributed databases
Algebra and calculus - how to reason formally about SQL
queries?
Query optimization and indexes - how to make data access
efficient?
Schema refinement - how to minimize redundancy?
Transaction management - how to ensure consistency if many
people use database at the same time?
Michael T. M. Emmerich Databases
Preliminaries
Introductory example
Overview of the course
Historical development of databases
Overview of the course
(4) Advanced topics ( if time is left)
Data-Mining - how to obtain patterns and knowledge in large
databases?
ProLog - how to allow for more difficult queries in systems
combining rules and facts?
Data-warehousing - how to build systems that integrate
several databases?
your choice?
Michael T. M. Emmerich Databases
Preliminaries
Introductory example
Overview of the course
Historical development of databases
From ancient to modern
Origins are non-electronical: Oral tradition, stone-plates,
books, libraries, microfiche, etc.
not to be ingnored, many concepts/principles developed then
- look at town library’s organization!
often hierarchical sorting of information (efficient access in
logarithmic time)
Michael T. M. Emmerich Databases
Preliminaries
Introductory example
Overview of the course
Historical development of databases
The early days
1960s: Computers become available for companies
First database systems store data sequentially on punch cards
Two main data-models emerge - network model (CODASYL)
and hierarchical model (IBM) are developed
Emphasize is on the physical organization and direct access of
the data
Change of data organization and record structure requires
complete rewrite
Data and programs get separated
SABRE system by IBM and American Airlines is developed as
a major application
Michael T. M. Emmerich Databases
Preliminaries
Introductory example
Overview of the course
Historical development of databases
Towards the relational model
Edgar Codd
Larry Ellison
Michael T. M. Emmerich Databases
Preliminaries
Introductory example
Overview of the course
Historical development of databases
Towards the relational model
E. F. Codd (to that time employee at IBM) proposed
relational database model - e.g. using tables with a schema to
organize data
The relational model disconnects the data (physical storage
method) from its schema (logical organization)
This system has been standard since
First implementation of relational model by Berkeley
University: Ingres
First commercial exploitation of relational model by Larry
Ellisons Relational Software Inc. called Oracle V2 introduces
Structured Query Language (SQL)
IBM sticks long time with hierarchical models, and much later
introduces System R
Michael T. M. Emmerich Databases
Preliminaries
Introductory example
Overview of the course
Historical development of databases
Conceptual data models
The conceptual model is a high level, often graphical,
description of data
In database design conceptual models are mapped to logical
models which are mapped to physical description of data
Peter Pin-Chan Chen (1976) introduced Entity-Relationship
model (ER-model) as an universal graphical language to
describe data
Michael T. M. Emmerich Databases
Preliminaries
Introductory example
Overview of the course
Historical development of databases
Further evolution of databases
80ties: SQL develops and becomes standard
New produts: Sybase, Paradox, Dbase-III (later FoxPro),
System R/R+, IBM-DB2, Watcom SQL, etc.
Simple databases for personal computer arise, such as
Excel/Access
1990ties: The internet emerges and with it web-based
database technology
Transaction processing and distributed DBMS gain importance
Multimedia databases emerge
large scale , often participatory, internet applications based on
gigantic databases emerge (EBAY, Google*, Wikipedia,
researchindex etc. etc.)
new, open, data formats and models are discussed:
WikiMedia, XML etc.
Michael T. M. Emmerich Databases
Preliminaries
Introductory example
Overview of the course
Historical development of databases
Server-Farms
Figure: A server-farm for a database-backed internet application
Michael T. M. Emmerich Databases