Introduction Databases vs. files Basic concepts Brief history of databases Architectures & languages Introduction: Database management system User / Programmer Database System Application program Software to process queries Software to access stored data DBMS Software Stored Data Stored DB definition (Meta-data) Database 1.2 1
Introduction: DBS versus File system Why database systems? Application program Application program DBMS Software Database Files Self-describing nature (schema as meta-data) Program-data independence Concurrent access (multiuser, data-sharing) Multiple views (security) Fault tolerant (recovery) But sometimes DBS are an overkill 1.3 Introduction: DBS concepts & architecture Data model: Important terms! Collection of concepts used to describe structure of a database (data types, relation, constraints) Basic operations for specifying retrieval and update Conceptual models Describes high-level concepts in DB design Models subset of real world E.g., entity relationship model student attend lecture name Matr-nr Physical (data)models Logical description of implementation schema Five models: network model, hierarchical model, relational model, object-oriented, object-relational title 1.4 2
Introduction: DBS concepts & architecture Important terms! Database schema Description of DB structure Stored as meta-data Intensional schema FName Author Name Email Database state = database instance Data in DB at particular moment Extensional schema Tina Anna Carla Müller Katz Maus mueller@... katz@... piep@... 1.5 Introduction: Early databases in the 60 s Hierarchical model (e.g., IMS): Data relationships in trees catalogue classific1 classific2 author1 author2 author1 author3 Network model (e.g., Codasyl): Data relationships in graphs book1 book2 book1 book3 place1 place2 place1 place2 place2 classific1 classific2 author1 author2 author3 book1 book2 book3 place1 place2 1.6 3
Introduction: relational databases 1970: Relational model (e.g., system R, Ingres, ) Data in tables [E.F. Codd: The Relational Data Model] classific1 classific2 author1 author2 author3 book1 book2 book3 FName place1 place2 Author Name Email Tina Anna Carla Müller Katz Maus 1980: RDBMS everywhere, distributed DBS mueller@... katz@... piep@... 1.7 Introduction: databases in the 90 s 1988: Active databases (e.g., HiPAC) 1990: Object- oriented DBMS (e.g., O 2 ) 1992: Object- Relational DBMSs 1995: Wide scale distribution 1997: Semi-structured data,..., XML / DB 199x: New application areas: Data warehousing, Web and Internet Integration with application software, e.g. SAP R3 uses Oracle (mostly) behind the curtains New challenges: how to deal with text, pictures, video-streams? 1.8 4
Introduction: dominating DBMS Oracle Informix (IBM) Sybase DB2 (IBM) SQL-Server (Microsoft) personal, low cost desktop DBS: Access (Microsoft) MySQL open source (http://www.mysql.com/) Postgres (http://www.postgresql.org/) 1.9 Introduction: 3-Schema3 Schema-Architecture Goal: separate physical aspects, logical data structuring, and application views on the data External level (views) user-dependent view on data user applications user Conceptional level = logical layer logical database schema Logical data structure Internal level physical storage of data Physical data structure 1.10 5
Introduction: External Views Example: hospital information system managing data about patients, doctors, medication etc. doctors must be able to read the diagnostics administration must not read the results, but which kind of diagnostics has been performed Two user groups with different views Advantages of external views Access protection (data privacy) Data presentation customized for user groups Independence of users of conceptional schema Time-consuming mapping Not supported by all DBMS 1.11 Introduction: Data independence Data independence Important term! DB level not influenced by changes at other DB level Interfaces introduce levels of abstraction Logical Data independence external schema (level) independent of conceptual schema (small changes in database schema invisible for users) e.g., application independent from data not used by application Physical Data Independence Conceptual schema independent of internal schema e.g. hash, B-Tree or sequential access to records should be transparent to the program (ignoring performance impacts) 1.12 6
Introduction: User Groups Various end users Naïve end user: access via application program Sophisticated end user: changing interactive DB-queries Application Programmer Implementation of complex DB-tasks embedded in application programs Database designer Responsible for problem analysis, (physical) schema design, user communication, view design (before DB implementation) Database administrator responsible for authoring access to DB, coordinating and monitoring DB use, security, performance, backup 1.13 Introduction: Languages Different languages levels of DBS: Data Definition Language (DDL) Definition of DB schema Data Manipulation Language (DML) Query database Update data (insert, change, delete) Part of the Data model Data Administration Language Define access path Adjust tuning and other parameters 1.14 7
Introduction: Languages & Interfaces Interactive interfaces for DML Interfaces provided by DBMS for data access, e.g, Menu-based interfaces for browsing Forms-based interfaces Graphical user interface Interface for DBA Embedded DML Application Programming Interface (API) of DBS for executing commands and transferring the result data Technically more demanding: result data my be very large set of data, type systems may differ heavily Most popular: Embedded SQL / C and SQLJ (Java) 1.15 Introduction: Mainframe Architecture Traditional mainframe architecture Transaction monitor Applications DBS Terminals Operating system Transaction monitor queues requests, schedules application programs (usually simple application logic) Very efficient Still in use today, e.g. flight reservation systems 1.16 8
Introduction: 2-tier 2 Architecture Two-tier architecture Client workstation (presentation, requests, GUI) Database server Proprietary protocol Used with fourth Generation Languages (4GL) i.e. application specific non-procedural languages, easy development of form-based application, e.g., SQL Transaction support through database system Used in medium size applications Decreasing importance because of web-based presentation and standard protocols (http) 1.17 Introduction: 3-tier 3 Architecture Three-tier Architecture Separation of presentation, application logic and DB access Browser http Presentation e.g web server Applications JDBC / ESQL/ ODBC Database server Middle tier needn t be a web server: Applet http Application server implements presentation, session control and business logic (applications) Database server Data access transparent for application programs 1.18 9
Introduction: DB Lifecycle Requirements analysis DB designer Application programmer Conceptual Design DB designer Application programmer Logical Schema Design Application programmer DB administrator Physical Schema Design DB administrator Administration DB administrator 1.19 10