* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Introduction to Database Systems
Oracle Database wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Concurrency control wikipedia , lookup
Clusterpoint wikipedia , lookup
Introduction to Database Systems Chapter 1 Instructor: Mirsad Hadzikadic Database Management Systems Ramakrishnan & Gehrke 1 http://www.sigmod.org/record/issues/0606/index.html Database Management Systems Ramakrishnan & Gehrke 2 History 60s C. Bachman GE, network data model, CODASYL Late 60s IBM IMS, hierarchical data model, SABRE, AA-IBM 70 Edgar Codd, IBM, relational model 80s SQL, IBM, System R project, concurrent transactions management, J. Gray Late 80-90s DB2, Oracle, Informix, Sybase ERP, MRP Baan, Oracle, PeopleSoft, SAP, Siebel Common tasks – inventory, HR, financial analysis 90s DW, Internet Object-oriented, object-relational DBs Turing award and Turing test? Database Management Systems Ramakrishnan & Gehrke 3 Why Study Databases? Data everywhere Shift from computation to information – At the “low end:” scramble to Web space – At the “high end:” scientific applications Datasets increasing in diversity and volume – Digital libraries, interactive video, Human Genome project, EOS project – ... need for DBMS exploding DBMS encompasses most of CS – OS, languages, theory, “A”I, multimedia, logic Database Management Systems Ramakrishnan & Gehrke 4 What Is a DBMS? Files vs. Database A very large, integrated collection of data. Models real-world enterprise – Entities (e.g., students, courses) – Relationships (e.g., Madonna is taking ITCS 6160) A Database Management System (DBMS) is a software package designed to maintain and utilize databases Database Management Systems Ramakrishnan & Gehrke 5 Why Use a DBMS? Data independence and efficient access Data integrity and security Uniform data administration Concurrent access, recovery from crashes Reduced application development time When not to use a DB? Database Management Systems Ramakrishnan & Gehrke 6 Data Models A data model is a collection of concepts for describing data A schema is a description of a particular collection of data, using the given data model The relational model of data is the most widely used model today – Main concept: relation, basically a table with rows and columns – Every relation has a schema, which describes the columns, or fields Database Management Systems Ramakrishnan & Gehrke 7 Levels of Abstraction Many (external) views, single conceptual (logical) schema and physical schema. View 1 – Views describe how users see the data – Conceptual schema defines logical structure – Physical schema describes the files and indexes used View 2 View 3 Conceptual Schema Physical Schema Views and Schemas are defined using DDL; data is modified/queried using DML Database Management Systems Ramakrishnan & Gehrke 8 Example: University Database Conceptual schema: – Students(sid: string, name: string, login: string, age: integer, gpa:real) – Courses(cid: string, cname:string, credits:integer) – Enrolled(sid:string, cid:string, grade:string) Physical schema: – Relations stored as unordered files – Index on first column of Students External Schema (View): – Course_info(cid:string, enrollment:integer) Database Management Systems Ramakrishnan & Gehrke 9 Data Independence Applications insulated from how data is structured and stored Logical data independence: Protection from changes in logical structure of data Physical data independence: Protection from changes in physical structure of data One of the most important benefits of using a DBMS! Database Management Systems Ramakrishnan & Gehrke 10 These layers must consider concurrency control and recovery Structure of a DBMS A typical DBMS has a Query Optimization layered architecture and Execution The figure does not Relational Operators show the concurrency Files and Access Methods control and recovery components Buffer Management This is one of several Disk Space Management possible architectures; each system has its own variations DB Database Management Systems Ramakrishnan & Gehrke 11 Transaction Management: ACID properties Atomicity: All actions in the Xact happen, or none happen Consistency: If each Xact is consistent, and the DB starts consistent, it ends up consistent Isolation: Execution of one Xact is isolated from that of other Xacts Durability: The Recovery Manager guarantees Atomicity & Durability If a Xact commits, its effects persist Database Management Systems Ramakrishnan & Gehrke 12 Motivation of concurrency control Consistency Isolation Example – – – – Two parallel transactions T1 and T2 Serial execution Execution with interleaving actions Example Database Management Systems Ramakrishnan & Gehrke 13 Motivation of recovery management Atomicity: – Transactions may abort (“Rollback”) Durability: – What if DBMS stops running? (Causes?) Desired Behavior after system restarts: – T1, T2 & T3 should be durable – T4 & T5 should be aborted (effects not seen) Database Management Systems T1 T2 T3 T4 T5 Ramakrishnan & Gehrke crash! 14 Databases make these folks happy ... End users and DBMS vendors DB application programmers – E.g. smart webmasters Database administrator (DBA) – – – – Designs logical /physical schemas Handles security and authorization Data availability, crash recovery Database tuning as needs evolve Must understand how a DBMS works! Database Management Systems Ramakrishnan & Gehrke 15 Summary DBMS is used to maintain, query large datasets Benefits include recovery from system crashes, concurrent access, quick application development, data integrity and security Levels of abstraction give data independence A DBMS typically has a layered architecture DBAs hold responsible jobs and are well-paid! DBMS R&D is one of the broadest, most exciting areas in CS Database Management Systems Ramakrishnan & Gehrke 16