Tải bản đầy đủ (.pdf) (21 trang)

Michael Emmerich Leiden Institute for Advanced Computer Science, Leiden University pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (762.31 KB, 21 trang )

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

×