Presentation is loading. Please wait.

Presentation is loading. Please wait.

©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction n Why Database Systems? n Data Models n Data Definition Language.

Similar presentations


Presentation on theme: "©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction n Why Database Systems? n Data Models n Data Definition Language."— Presentation transcript:

1 ©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction n Why Database Systems? n Data Models n Data Definition Language n Data Manipulation Language n Transaction Management n Storage Management

2 ©Silberschatz, Korth and Sudarshan1.2Database System Concepts Database Management System (DBMS) n Collection of interrelated Information n Set of programs to access the data n DBMS contains information about a particular enterprise n DBMS provides an environment that is both convenient and efficient to use and data is kept safely n Applications: H Banking: all transactions H Airlines: reservations, schedules H Universities: registration, grades H Sales: customers, products, purchases H Manufacturing: production, inventory, orders, supply chain H Human resources: employee records, salaries, tax deductions n Information management is the focus of all applications

3 ©Silberschatz, Korth and Sudarshan1.3Database System Concepts Information vs Computation n Computational focus: Algorithms, Procedural Languages, Data Structures n Informational focus: Data Models, Data Definition Languages, Declarative Query Languages  Advanced computational technology to support these inside the Database Management System is largely hidden from users n Databases produced this paradigm shift in the `70s with the relational model.  An incredible commercial success n The internet has reinforced the shift from a computational to an informational focus n Boundaries between web and DBs are getting blurred. Eg. XML schema and Xquery are the data-definition and query languages for the web.

4 ©Silberschatz, Korth and Sudarshan1.4Database System Concepts Conceptual: Data Model The entity-relationship data model (E-R: model) A nice conceptual schemas for software specification: generalized in UML (Universal Modeling Language) But we want to see the data too …

5 ©Silberschatz, Korth and Sudarshan1.5Database System Concepts Relational Model n Relational schema and data in the same table customer- name Customer- id customer- street customer- city account- number Johnson Smith Johnson Jones Smith 192-83-7465 019-28-3746 192-83-7465 321-12-3123 019-28-3746 Alma North Alma Main North Palo Alto Rye Palo Alto Harrison Rye A-101 A-215 A-201 A-217 A-201 Attributes

6 ©Silberschatz, Korth and Sudarshan1.6Database System Concepts A Sample Relational Database

7 ©Silberschatz, Korth and Sudarshan1.7Database System Concepts Data Definition Language (DDL) n Specification notation for defining the database schema—start with record types.  E.g. create table account ( account-number char(10), balance integer) n DDL compiler generates a set of tables n Data dictionary contains metadata (i.e., schema, indexes, users, authorization, …, the database of the DBMS)

8 ©Silberschatz, Korth and Sudarshan1.8Database System Concepts Data Manipulation Language (DML) n Language for accessing and manipulating the data organized by the appropriate data model  DML also known as `Query Language’ n SQL is the standard query language  Standards are important because it allows different DBs to cooperate, applications to migrate n Relational Algebra: an operator-based language. Equivalent to SQL and closer to implementation.

9 ©Silberschatz, Korth and Sudarshan1.9Database System Concepts SQL n SQL: widely used non-procedural language  E.g. find the name of the customer with customer-id 192-83-7465 select customer.customer-name from customer where customer.customer-id = ‘192-83-7465’  E.g. find the balances of all accounts held by the customer with customer-id 192-83-7465 select account.balance from depositor, account where depositor.customer-id = ‘192-83-7465’ and depositor.account-number = account.account-number n Application programs generally access databases through one of  Language extensions to allow embedded SQL  Application program interface (e.g. ODBC/JDBC) which allow SQL queries to be sent to a database

10 ©Silberschatz, Korth and Sudarshan1.10Database System Concepts Database Users n Users are differentiated by the way they expect to interact with the system n Application programmers – interact with system through DML calls n Sophisticated users – pose queries in a database query language n Specialized users – write specialized database applications that do not fit into the traditional data processing framework n Naïve users – invoke one of the permanent application programs that have been written previously  E.g. people accessing database over the web, bank tellers, clerical staff

11 ©Silberschatz, Korth and Sudarshan1.11Database System Concepts Database Management Systems: Enabling Technology n The storage manager:  efficient storing, retrieving and updating of data  Support for indexes and access methods n Query Compiler and Optimizer n Authorization and security n Integrity constraint enforcement n Transaction Management and Concurrency control n Recovery

12 ©Silberschatz, Korth and Sudarshan1.12Database System Concepts Transaction Management n A transaction is a collection of operations that performs a single logical function in a database application n Transaction-management component ensures that the database remains in a consistent (correct) state despite system failures (e.g., power failures and operating system crashes) and transaction failures. n Concurrency-control manager controls the interaction among the concurrent transactions, to ensure the consistency of the database.

13 ©Silberschatz, Korth and Sudarshan1.13Database System Concepts Overall System Structure

14 ©Silberschatz, Korth and Sudarshan1.14Database System Concepts Database Administrator n Coordinates all the activities of the database system; the database administrator has a good understanding of the enterprise’s information resources and needs. n Database administrator duties include  Schema definition  Storage structure and access method definition  Schema and physical organization modification  Granting user authority to access the database  Specifying integrity constraints  Acting as liaison with users  Monitoring performance and responding to changes in requirements

15 ©Silberschatz, Korth and Sudarshan1.15Database System Concepts Who needs DBMSs? n In the early days, database applications were built on top of file systems n Drawbacks of using file systems to store data:  Data redundancy and inconsistency  Multiple file formats, duplication of information in different files  Difficulty in accessing data  Need to write a new program to carry out each new task  No Data Integration— multiple files and formats  Integrity problems  Integrity constraints (e.g. account balance > 0) become part of program code  Hard to add new constraints or change existing ones

16 ©Silberschatz, Korth and Sudarshan1.16Database System Concepts Who need DBMSs? (cont.)  Atomicity of updates  Failures may leave database in an inconsistent state with partial updates carried out  E.g. transfer of funds from one account to another should either complete or not happen at all  Concurrent access by multiple users  Concurrent accessed needed for performance  Uncontrolled concurrent accesses can lead to inconsistencies –E.g. two people reading a balance and updating it at the same time  Security problems n Database systems offer solutions to all the above problems n Also data independence: physical and logical.


Download ppt "©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction n Why Database Systems? n Data Models n Data Definition Language."

Similar presentations


Ads by Google