Introductory example Overview of the course Historical development of databases What is a database?. Database = A character in ’The simpsons’ I Database = a collection of data pieces and
Trang 1Introductory example
Overview of the course
Historical development of databases
DatabasesIntroduction
Michael EmmerichLeiden Institute for Advanced Computer Science, Leiden
University
January 17, 2012
Michael T M Emmerich Databases
Trang 2Introductory example Overview of the course Historical development of databases
Database people
I dr Michael Emmerich - Assistant Professor(emmerich@liacs.nl)
I drs Hossein Rahmani - PhD Student
I drs Martin Wimmers - Master Student
I N.N - Master Student
I our email: databases@liacs.nl
Trang 3Introductory example Overview of the course Historical development of databases
Course regulations, grades
I Assignment 1: Basics and Practice: Modeling and SQL DMLand DDL
I Assignment 2: Advanced Topics: XML, Query Optimization,Transactions, Schema Refinement
I Exam (June, August)
I Final Grade = 0.2 * First Assignment + 0.2 * SecondAssignment + 0.6 Exam
I Assignments can be done in pairs, but also alone
Michael T M Emmerich Databases
Trang 4Introductory example Overview of the course Historical development of databases
Trang 5Introductory example Overview of the course Historical development of databases
What is a database?
I What is a database? Do you know examples?
Database = A character in ’The simpsons’
I Database = a collection of data pieces and meta-information(schema) on how this data is organized
I Database Management System = software used to managethe database
Michael T M Emmerich Databases
Trang 6Introductory example Overview of the course Historical development of databases
What is a database?
I What is a database? Do you know examples?
Database = A character in ’The simpsons’
I Database = a collection of data pieces and meta-information(schema) on how this data is organized
I Database Management System = software used to managethe database
Trang 7Introductory example Overview of the course Historical development of databases
What is a database?
I What is a database? Do you know examples?
Database = A character in ’The simpsons’
I Database = a collection of data pieces and meta-information
(schema) on how this data is organized
I Database Management System = software used to managethe database
Michael T M Emmerich Databases
Trang 8Introductory example Overview of the course Historical development of databases
What is a database?
I What is a database? Do you know examples?
Database = A character in ’The simpsons’
I Database = a collection of data pieces and meta-information
(schema) on how this data is organized
I Database Management System = software used to manage
the database
Trang 9Introductory example
Overview of the course Historical development of databases
How to organize address data?
Michael T M Emmerich Databases
Trang 10I By means of which information should we sort the data andidentify data records?
I How can we deal with more complex data? (e.g relationsbetween persons: A knows B, B is married to C)?
I How can we ensure consistency and avoid redundant storage?
I How can we make sure that nobody reads our addresses?
I How can many people edit the address database concurrentlyfrom the internet?
Trang 11Introductory example
Overview of the course
Historical development of databases
Overview of the course
I SQL DDL - how to define data in a databases?
I SQL Queries - how to retrieve data from a database andprogram constraints and triggers?
Michael T M Emmerich Databases
Trang 12Introductory example
Overview of the course
Historical development of databases
Overview of the course
(2) Application programming
I Embedded SQL - how to call databases from C++ programs?
I JDBC - how to build database-backed internet applications?
I Large Objects - how to maintain pictures, sounds, etc inDatabases?
I Excursion: XML - an alternative way to build databases
Trang 13Introductory example
Overview of the course
Historical development of databases
Overview of the course
(3) Theoretical aspects and distributed databases
I Algebra and calculus - how to reason formally about SQLqueries?
I Query optimization and indexes - how to make data accessefficient?
I Schema refinement - how to minimize redundancy?
I Transaction management - how to ensure consistency if manypeople use database at the same time?
Michael T M Emmerich Databases
Trang 14Introductory example
Overview of the course
Historical development of databases
Overview of the course
(4) Advanced topics ( if time is left)
I Data-Mining - how to obtain patterns and knowledge in largedatabases?
I ProLog - how to allow for more difficult queries in systemscombining rules and facts?
I Data-warehousing - how to build systems that integrateseveral databases?
I your choice?
Trang 15Introductory example Overview of the course
Historical development of databases
From ancient to modern
I Origins are non-electronical: Oral tradition, stone-plates,books, libraries, microfiche, etc
I not to be ingnored, many concepts/principles developed then
- look at town library’s organization!
I often hierarchical sorting of information (efficient access inlogarithmic time)
Michael T M Emmerich Databases
Trang 16Introductory example Overview of the course
Historical development of databases
The early days
I 1960s: Computers become available for companies
I First database systems store data sequentially on punch cards
I Two main data-models emerge - network model (CODASYL)and hierarchical model (IBM) are developed
I Emphasize is on the physical organization and direct access ofthe data
I Change of data organization and record structure requirescomplete rewrite
I Data and programs get separated
I SABRE system by IBM and American Airlines is developed as
a major application
Trang 17Introductory example Overview of the course
Historical development of databases
Towards the relational model
Edgar Codd
Larry Ellison Michael T M Emmerich Databases
Trang 18Introductory example Overview of the course
Historical development of databases
Towards the relational model
I E F Codd (to that time employee at IBM) proposed
relational database model - e.g using tables with a schema toorganize data
I The relational model disconnects the data (physical storagemethod) from its schema (logical organization)
I This system has been standard since
I First implementation of relational model by Berkeley
University: Ingres
I First commercial exploitation of relational model by LarryEllisons Relational Software Inc called Oracle V2 introducesStructured Query Language (SQL)
I IBM sticks long time with hierarchical models, and much laterintroduces System R
Trang 19Introductory example Overview of the course
Historical development of databases
Conceptual data models
I The conceptual model is a high level, often graphical,description of data
I In database design conceptual models are mapped to logicalmodels which are mapped to physical description of data
I Peter Pin-Chan Chen (1976) introduced Entity-Relationshipmodel (ER-model) as an universal graphical language todescribe data
Michael T M Emmerich Databases
Trang 20Introductory example Overview of the course
Historical development of databases
Further evolution of databases
I 80ties: SQL develops and becomes standard
I New produts: Sybase, Paradox, Dbase-III (later FoxPro),System R/R+, IBM-DB2, Watcom SQL, etc
I Simple databases for personal computer arise, such as
Excel/Access
I 1990ties: The internet emerges and with it web-based
database technology
I Transaction processing and distributed DBMS gain importance
I Multimedia databases emerge
I large scale , often participatory, internet applications based ongigantic databases emerge (EBAY, Google*, Wikipedia,researchindex etc etc.)
I new, open, data formats and models are discussed:
WikiMedia, XML etc
Trang 21Introductory 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