1 / 27

Teaching and Learning Databases

Teaching and Learning Databases. Dr. St é phane Bressan National University of Singapore. Why Databases?. Persistence. How can data survive the process that created them, and be reused by other processes?. Persistence. Main Memory is volatile

chaeli
Télécharger la présentation

Teaching and Learning Databases

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Teaching and Learning Databases Dr. Stéphane Bressan National University of Singapore iiWAS2002, Bandung, Indonesia

  2. Why Databases? iiWAS2002, Bandung, Indonesia

  3. Persistence • How can data survive the process that created them, and be reused by other processes?

  4. Persistence • Main Memory is volatile • Secondary or tertiary memory is persistent

  5. Persistence Cache Main memory Flash memory Magnetic Disk Optical Disk Magnetic Tape Primary Volatile Secondary Persistent Tertiary Persistent

  6. Large Amounts of Data • How to manage large amounts of data? • Issues: • Cost • Addressing • Speed

  7. Large Amounts of Data CAPACITY per DOLLAR Cache Main memory Flash memory Magnetic Disk Optical Disk Magnetic Tape 32 bits/64bits SPEED

  8. Large Amounts of Data • When data is to be stored on secondary or tertiary storage, then we need to devise efficient algorithms taking into account the dominant cost of Input/Output operations (I/Os) • Such algorithms are called external algorithms (e.g. sort)

  9. Homogeneous Data (The Good News!) • Collections of similar objects • We can predict access patterns • We can devise indexing and access methods for efficient storage, update, and retrieval

  10. (Collections of) Structured Data • We can invent data models and design applications around the data by defining the application schema • record(last name: Smith, first name: Michael, ss#: 67534132) • difficult for multimedia data (text, video, sound, etc)

  11. (Collections of) Structured Data • We can invent specialised languages for data definition and manipulation (COBOL, SQL) • CREATE TABLE employee (first_name char(32), last_name CHAR(32)) • SELECT last_name FROM employee WHERE first_name = ‘Michael’

  12. Concurrent and Distributed Access • How can data be shared by users and processes that are possibly distributed over a network?

  13. A Remark on Consistent States and Transactions • A Consistent State of the database is a state which complies with the business rules as usually defined by Integrity constraints • Example: “students who have not passed cs2102 cannot take cs3223”

  14. A Remark on Consistent States and Transactions • A Transaction is a logical unit of work carried out by a user or an application for which we wish to ensure isolation and consistency

  15. Concurrent Access • Concurrency Control: ACID • Isolation: Transactions can be understood independently from each other • Consistency: If individual transactions would leave the application in a consistent state, a concurrent execution should do the same

  16. Sensitive Data: Integrity • How to guarantee and maintain the integrity of the data in spite of possible application, system, or media failures?

  17. Sensitive Data: Integrity • The DBMS manages the recovery after failure guaranteeing durability and atomicity of the transactions

  18. Sensitive Data: Integrity • Recovery: ACID • Atomicity: all actions in a transaction happen or none happen • Durability: effects of successful transactions last

  19. Sensitive Data: Security • How to control the Access to the data?

  20. Definitions • DCL: Database Control Language. It include statements to administer access privileges and transactions properties

  21. In Summary • How to manage large amounts of persistent, homogeneous, and structureddata that are shared among distributed users and processes and whose integrity must be maintained and whose security must be controlled?

  22. Database Application • A database application is a collection of data and the programs that allow the manipulation of these data • A database application is usually implemented using a DataBase Management System (DBMS)

  23. Database Application: Examples • ATM banking • University data managemen (Oracle) • Airline reservations (Amadeus, Sabre) • My address book (Microsoft Access) • The e-shop around the corner (MSQL)

  24. DataBase Management System • A DBMS is a collection of software that facilitates the implementation and management of database applications

  25. DataBase Management System • Examples of Relational DBMS: • Access, Paradox, dBase, FoxPro, Clipper • SQL Server, MySQL • DB2, Oracle, Sybase, Informix

  26. DBMS (simplified) Architecture Data Control Language Statement Data Definition Language Statement Data Manipulation Language Statements Query Optimizer Query Evaluation Engine File and Access Methods Manager Recovery Manager Concurrency Control Manager Buffer Manager Storage manager I/O Manager

  27. Introduction to Database Systems McGrawHill Asian Customized Edition ISBN 007-122664-8 iiWAS2002, Bandung, Indonesia

More Related