lect(1) Introduction to Database Systems (1).pptx

Full Transcript

Database Management Systems Introduction to Database Systems What is a DBMS? A very large , integrated collection of data. Models real-world enterprise. − Entities (e.g., students , courses) − Relationships (e.g., Madonna is taking CS564) A Database Management System (DBMS) is...

Database Management Systems Introduction to Database Systems What is a DBMS? A very large , integrated collection of data. Models real-world enterprise. − Entities (e.g., students , courses) − Relationships (e.g., Madonna is taking CS564) A Database Management System (DBMS) is a software package designed to store and manage databases. Why Use a DBMS? Data Independence and efficient access. Reduced application development time. Data integrity and security. Uniform data administration. Concurrent access , recovery from crashes. Why study Databases? Datasets increasing in diversity and volume. − Digital libraries, interactive video, Human Genome project DBMS encompasses most of CS − OS, languages, theory , multimedia, logic Data Models  A data model is a collection of concepts for describing data. A schema is a description of particular collection of data, using the a given data model. Data Models (Cont)  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. Levels of Abstraction  Many views, single conceptual(logical) schema and physical schema. − Views describe how users see the data. − Conceptual schema defines logical structure − Physical schema describes the files and indexes used.  Schemas are defined using DDL, data is modified using DML. Levels of Abstraction (cont) Schemas are defined using DDL, data is modified using DML. Example: university Database Conceptual schema: − Student(sid : string, name: string, login : string, age : integer) Physical schema: − Relations stored as unordered files. − Index on first column of Students. External schema(View): − Course_info(cid:string,enrollment:integer) 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! Concurrency Control  concurrent execution of user programs is essential for good DBMS performance. Interleaving actions of different user programs can lead to inconsistency DBMS ensures such problems don’t arise Transaction: An Execution of a DB program Key concept is transaction, which is an atomic sequence of database actions (reads / writes).  Each transaction , executed completely, must leave the DB in a consistent state if DB is consistent when the transaction begins. − Users can specify some simple integrity constraints and the DBMS will enforce these constraints. Scheduling Concurrent Transactions  DBMS ensures that execution of {T1,…, Tn} is equivalent to some serial execution T1’ ….Tn’. − (Strict 2PL locking protocol) − Deadlock! Ensuring Atomicity DBMS ensures atomicity (all-or-nothing property) even if system crashes in the middle of a Xact. Idea: keep a log (history) of all actions carried out by the DBMS while executing a set of Xact: − (WAL protocol ) − After a crash , the effects of partially executed Xacts are undone using the log. The Log The following actions are recorded in the log: Ti writes an object : the old value and new value. Ti commits/aborts: a log record indicating this action. Log records chained together by Xact id, so it’s easy to undo a specific Xact. Log is often duplexed and archived on “stable” storage. Database Administrator (DBA) Design logical/ physical schemas Handles security and authorization Data availability, crash recovery Database tuning as needs evolve Must understand how a DBMS works! Structure of a DBMS  Atypical DBMS has a layered architecture.  This is one of several possible architectures; each system has its own variations. Summary DBMS used to maintain, query large datasets. Benefits include recovery from crashes, concurrent access, quick application development, data integrity and security. DBMS is one of the broadest, most exciting areas in CS.

Use Quizgecko on...
Browser
Browser