Databases: Why? DATABASE DESIGN I - 1DL300 hour
Transcription
Databases: Why? DATABASE DESIGN I - 1DL300 hour
Databases: Why? DATABASE DESIGN I - 1DL300 • An introductury course on database systems http://www.it.uu.se/edu/course/homepage/dbastekn/vt12 • You are using a database every day hour • Database Management Systems (DBMS) provide … Erik Zeitler … efficient, reliable, convenient, and safe multi-user storage of and access to massive amounts of persistent data. Uppsala Database Laboratory Department of Information Technology, Uppsala University, Uppsala, Sweden Erik Zeitler - UDBL - IT - UU 2012-01-16 Extremely prevalent – Web sites, banking, telecom, sensors, retail, science and engineering, … Spring 2012 1 Erik Zeitler - UDBL - IT - UU 2012-01-16 Databases: What? • Massive • • Persistent Safe • Multi-user • Convenient – Terabytes Databases: How? per day • • – Physical data independence – High-level declarative query language • Reliable • values Data definition language (DDL) – Set up schema – 1000’s of queries and/or updates per second • Data manipulation language (DML)/Query Language (QL) – Query and modify – 99.99999% Erik Zeitler - UDBL - IT - UU Schema vs data types variables – Concurrency control Efficient Data model – Set of records, graph, XML – Hardware software power users • 2 2012-01-16 3 Erik Zeitler - UDBL - IT - UU 2012-01-16 4 Key DB people • 1DL300 in a nutshell 13 LECTURES DBMS implementer – Builds system (works at Oracle, IBM, Microsoft, Uppsala University) • • Course intro – Overview of DB technology – DB terminology DB designer – Establish schema • ER-modeling • Relational model and relational algebra • ER-to-relational mapping and Normalization • SQL • Transactions, Concurrency control • Recovery techniques • Intro to storage and index structures 1DL400 • DB application developer – Programs that operate on DB • 1DL300 DB Administrator (DBA) – Operations & Maintenance – Tuning & Optimization Erik Zeitler - UDBL - IT - UU 2012-01-16 5 Erik Zeitler - UDBL - IT - UU 3 ASSIGNMENTS To be done in pairs: 1. Normalization 2. DB Design and ER modeling 3. SQL in RDBMS Queries and views JDBC API access to RDBMS 1 FINAL EXAM • Skrivsalen Mon March 5 • No books allowed 2012-01-16 6 Friendly reminders from the Student Office Personnel 1. Not admitted? Lecturers Assistants • Erik Zeitler (main teacher) • Mikael Lax 1. Swedish students: Go to www.antagning.se 1DL300 sen anmälan 2. Master students: Go to your study counsellor 3. Exchange students: Ulrika Jaresund 2. Make sure you are registered (registration deadline January 29) • phone 471 7345 • room 1306 – room 1320 • Silvia Stefanova 1. 2. 3. 4. • Lars Melander – room 1319 • phone 471 1051 • room 1316 • Anne Peters • Minpeng Zhu – room 2005 Studentportalen (all) Registered before, want to register again? Student Office it-kansli@it.uu.se (re-register) Master students: Study counsellor Exchange students: Ulrika Jaresund 3. Want to quit the course? • phone 471 3155 • room 1310 – Inform the Student Office! (it-kansli@it.uu.se) • If less than 3 weeks have passed since the course started, the course registration will be removed. After 3 weeks a "course intermission" will be reported to UPPDOK instead. 4. Don’t forget to sign up for the final exam firstname.lastname@it.uu.se Erik Zeitler - UDBL - IT - UU 2012-01-16 7 Erik Zeitler - UDBL - IT - UU 2012-01-16 8 The database market (Computer Sweden May 24, 2002) Introduction to Database Terminology Elmasri/Navathe chs 1-2 Padron-McCarthy/Risch ch 1 Erik Zeitler Department of Information Technology Uppsala University, Uppsala, Sweden Erik Zeitler - UDBL - IT - UU 2012-01-16 9 Erik Zeitler - UDBL - IT - UU 2012-01-16 10 Outline of a database system DBMS deployment plans (Gartner 2008) Erik Zeitler - UDBL - IT - UU 2012-01-16 11 Erik Zeitler - UDBL - IT - UU 2012-01-16 12 Database? Database management system? • A database (DB) is a more or less well-organized collection of related data. • A database management system (DBMS) is one (or several) program that provides functionality for users to develop, use, and maintain a database. • Thus, a DBMS is a general software system for defining, populating (constructing), manipulating and sharing databases for different types of applications. • Also supports protection (system and security) and maintenance to evolve the system. • The information in a database . . . – represents information within some sub-area of “reality” (i.e. objects, characteristics and relationships between objects) – is logically connected – has been organized for a specific group of users and applications Erik Zeitler - UDBL - IT - UU 2012-01-16 13 Erik Zeitler - UDBL - IT - UU Database system? • 2012-01-16 14 Database vs files A database system consists of . . . – the physical database (instance) – a database management system – one or several database languages (means for communicating with the database) – one or several application program(s) • A database system makes a simple and efficient manipulation of large data sets possible. • The term DB can refer to both the content and to the system (the answer to this ambiguity is governed by the context). Erik Zeitler - UDBL - IT - UU 2012-01-16 • DB in comparison to conventional file management: – – – – – – 15 data model – data abstraction meta-data – in catalog program-data and program-operation independence multiple views of data sharing data – multiuser transactions high-level language for managing data in the database Erik Zeitler - UDBL - IT - UU 2012-01-16 16 Advantages of using a database approach • • • • • • • • • • • Data model? Efficient search and access of large data sets Controlling redundancy and inconsistency Access control Persistent storage Indexes and query processing Backup and recovery Multiple user interfaces Complex relationships Integrity constraints Active behaviour Enforcing standards, reducing application development time, flexibility to evolve system, up-to-date info Erik Zeitler - UDBL - IT - UU 2012-01-16 • Every DB has a data model – “hides” the physical representation of data • A data model is a formalism that defines – a notation for describing data on an abstract level – a set of operations to manipulate data represented using the data model • Data models are used for data abstraction – Enabling definition and manipulation of data on an abstract level. 17 Erik Zeitler - UDBL - IT - UU Data models - examples • • 18 Meta-data, i.e. “data about data” Examples of representational (implementation) data models within the database field are: – – – – – 2012-01-16 • Hierarchical (IMS) Network (IDMS) Relational (ORACLE, DB2, SQL Server, InterBase, Mimer) Object-oriented (ObjectStore, Objectivity, Versant, Poet) Object-relational (Informix, Odapter, DB2) Information about which information that exists and about how/where data is stored – – – – – names and data types of data items names and sizes of files storage details of each file mapping information among schemas constraints cf. variables in a program Conceptual data model • – ER-model - Entity-Relationship model – (not an implementation model since there are no operations defined for the notation) Erik Zeitler - UDBL - IT - UU 2012-01-16 19 Meta-data is stored in a system catalog (alt. term data dictionary). Erik Zeitler - UDBL - IT - UU 2012-01-16 20 Schema and instance • Data independence To be able to separate data in the database and its description the terms • Reduces the connection between: – database instance and – database schema are used. – the actual organization of data and – how the users/application programs process data (or “sees” data.) • The schema is created when a database is defined. A database schema is not changed frequently. • Why? • The data in the database constitute an instance. Every change of data creates a new instance of the database. Erik Zeitler - UDBL - IT - UU 2012-01-16 21 – Data should be able to change without requiring a corresponding alteration of the application programs. – Different applications/users need different “views” of the same data. Erik Zeitler - UDBL - IT - UU 2012-01-16 22 Three-schema architecture Data independence - how? By introducing a multi-level architecture where each level represents one abstraction level End Endusers users • The three-schema architecture – Introduced in 1971 – a.k.a. ANSI/SPARC architecture for databases – CODASYL Data Base Task Group. Conceptual level • It consists of 3 levels: – Internal level – Conceptual level – External level • Internal level Each level introduces one abstraction layer and has a schema that describes how representations should be mapped to the next lower abstraction level. Erik Zeitler - UDBL - IT - UU 2012-01-16 view 2 External level view 1 logical physical … … … view n Conceptual schema Internal schema Database Databaseinstance instance 23 Erik Zeitler - UDBL - IT - UU 2012-01-16 24 Internal, conceptual and external schemas Logical database design • 1. Make an ER diagram 2. Translate that ER diagram to a relational DB schema ename EMPLOYEE WORKS_IN dname – Abstraction level: files, index files etc. – Is usually defined through the data definition language (DDL) of the DBMS. salary 1 N MANAGES sname 1 1 DEPARTMENT SUPPLIER 1 N dno CARRIES SUPPLIES N iname M ITEM ino date • • Schemas for the entity types in the example above EMPLOYEE(ENAME, SALARY, DEPT) saddr DEPARTMENT(DNO, DNAME, MGR) SUPPLIER(SNAME, SADDR) ITEM(INO, INAME, DNO) price ORDER(ONO, DATE, CUST) CUSTOMER(CNAME, CADDR, BALANCE) N ORDER INCLUDE quantity N PLACED_BY CUSTOMER cname balance caddr 1 Erik Zeitler - UDBL - IT - UU Conceptual schema: an abstract description of the physical database. – Constitute one, for all users, common basic model of the logical content of the database. – This abstraction level corresponds to “the real world”: object, characteristics, relationships between objects etc. – The schema is created in the DDL according to a specific data model. • M ono Internal schema: describes storage structures and access paths for the physical database. • Schemas for relationship types (M:N) SUPPLIES(SNAME, INO, PRICE) INCLUDE(ONO, INO, QUANTITY) External schema (or views): a (restricted) view over the conceptual schema – A typical DB has several users with varying needs, demands, access privileges etc. and external schemas describes different views of the conceptual database with respect to what the different user groups would like to/are allowed to se. – Some DBMS’s have a specific language for view definitions (else the DDL is used). 2012-01-16 25 Erik Zeitler - UDBL - IT - UU 2012-01-16 26 An example database (Elmasri/Navathe Figure 1.2) Views - example (Elmasri/Navathe fig 1.4) Erik Zeitler - UDBL - IT - UU 2012-01-16 27 Erik Zeitler - UDBL - IT - UU 2012-01-16 28 Possible data independence in the three-schema architecture Database languages 1. Logical data independence A generic term for a class of languages used for defining, communicating with or manipulating a database. • In conventional programming languages, declarations and program sentences is implemented in one language. • A database language includes several different languages. – The possibility to change the conceptual schema without influencing the external schemas (views). • e.g. add another field to a conceptual schema. 2. Physical data independence – – – – – The possibility to change the internal schema without influencing the conceptual schema.. • the effects of a physical reorganization of the database, such as adding an access path, is eliminated. view1 view2 … … In the DDL the database administrator define internal + conceptual schema • DB users and application programs use DML to → database is designed. Subsequent schema modifications are also made in DDL. viewn – retrieve, add, remove, or alter the data in the database – the term Query Language is usually used as synonym to DML. Internal schema 2012-01-16 29 Erik Zeitler - UDBL - IT - UU 2012-01-16 30 Physical two-tier client-server architecture Classification criteria for DBMSs • • … Conceptual schema Erik Zeitler - UDBL - IT - UU Storage Definition Language (SDL) - internal schema Data Definition Language (DDL) - conceptual schema View Definition Language (VDL) - external schema Data Manipulation Language (DML) Type of data model – hierarchical, network, relational, object-oriented, object-relational • Centralized vs. distributed DBMSs – Homogeneous vs. heterogeneous DDBMSs – Multidatabase systems • Single-user vs. multi-user systems • General-purpose vs. special-purpose DBMSs – specific applications such as airline reservation and phone directory systems. • Cost Erik Zeitler - UDBL - IT - UU 2012-01-16 31 Erik Zeitler - UDBL - IT - UU 2012-01-16 32 Logical three-tier client/server architecture DBMS architecture Erik Zeitler - UDBL - IT - UU 2012-01-16 33 Erik Zeitler - UDBL - IT - UU 2012-01-16 34