SlideShare a Scribd company logo
Chapter 1:  Introduction
Chapter 1: Introduction Part 1: Relational databases  Chapter 2: Relational Model Chapter 3: SQL  Chapter 4: Advanced SQL Chapter 5: Other Relational Languages Part 2: Database Design  Chapter 6: Database Design and the E-R Model Chapter 7: Relational Database Design Chapter 8: Application Design and Development Part 3: Object-based databases and XML  Chapter 9: Object-Based Databases Chapter 10: XML Part 4: Data storage and querying  Chapter 11: Storage and File Structure Chapter 12: Indexing and Hashing Chapter 13: Query Processing Chapter 14: Query Optimization Part 5: Transaction management  Chapter 15: Transactions Chapter 16: Concurrency control Chapter 17: Recovery System Database System Concepts Part 6: Data Mining and Information Retrieval   Chapter 18: Data Analysis and Mining   Chapter 19: Information Retreival Part 7: Database system architecture Chapter 20: Database-System Architecture Chapter 21: Parallel Databases Chapter 22: Distributed Databases Part 8: Other topics  Chapter 23: Advanced Application Development Chapter 24: Advanced Data Types and New Applications Chapter 25: Advanced Transaction Processing Part 9: Case studies  Chapter 26: PostgreSQL Chapter 27: Oracle Chapter 28: IBM DB2 Chapter 29: Microsoft SQL Server Online Appendices  Appendix A: Network Model Appendix B: Hierarchical Model Appendix C: Advanced Relational Database Model
Chapter 1: Introduction provides a general overview of the nature and purpose of database systems.  We explain  how the concept of a database system has developed,  what the common features of database systems are,  what a database system does for the user,  and how a database system interfaces with operating systems.  We also introduce an example database application:  a banking enterprise  consisting of multiple bank branches.  This example is used as a running example throughout the book. This chapter is motivational, historical, and explanatory in nature.  Overview  (Chapter 1).
Chapter 1:  Introduction 1.1  Database-System Applications 1.2  Purpose of Database Systems 1.3  View of Data 1.4  Database Languages 1.5  Relational Databases 1.6  Database Design 1.7  Object-based and Semistructured databases 1.8  Data Storage and Querying 1.9  Transaction Management 1.10 Data Mining and Analysis 1.11 Database Architecture 1.12 Database Users and Administrators 1.13 History of Database Systems
1.1 Database System Applications DBMS contains information about a particular enterprise Collection of interrelated data Set of programs to access the data  An environment that is both  convenient  and  efficient  to use Database Applications: Banking: all transactions Airlines: reservations, schedules Universities:  registration, grades Sales: customers, products, purchases Online retailers: order tracking, customized recommendations Manufacturing: production, inventory, orders, supply chain Human resources:  employee records, salaries, tax deductions Databases touch all aspects of our lives
1.2 Purpose of Database Systems In the early days, database applications were built directly on top of file systems 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 Data isolation — multiple files and formats Integrity problems Integrity constraints  (e.g. account balance > 0) become “buried” in program code rather than being stated explicitly Hard to add new constraints or change existing ones
Purpose of Database Systems (Cont.) Drawbacks of using file systems (cont.)  Atomicity of updates Failures may leave database in an inconsistent state with partial updates carried out Example: 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 Example: Two people reading a balance and updating it at the same time Security problems Hard to provide user access to some, but not all, data Database systems offer solutions to all the above problems
1.3 View of Data Physical level:  describes how a record (e.g., customer) is stored. Logical level:  describes data stored in database, and the relationships among the data. type   customer  =  record customer_id  : string;  customer_name  : string; customer _ street  : string; customer_city  : integer; end ; View level:  application programs hide details of data types.  Views can also hide information (such as an employee’s salary) for security purposes.
Level of Abstraction An architecture for a database system
Instances and Schemas Similar to types and variables in programming languages Schema  – the logical structure of the database  Example: The database consists of information about a set of customers and accounts and the relationship between them) Analogous to type information of a variable in a program Physical schema : database design at the physical level Logical schema : database design at the logical level Instance  – the actual content of the database at a particular point in time  Analogous to the value of a variable Physical Data Independence  – the ability to modify the physical schema without changing the logical schema Applications depend on the logical schema In general, the interfaces between the various levels and components should be well defined so that changes in some parts do not seriously influence others.
Data Models A collection of tools for describing  Data  Data relationships Data semantics Data constraints Relational model Entity-Relationship data model (mainly for database design)  Object-based data models (Object-oriented and Object-relational) Semistructured data model  (XML) Other older models: Network model  Hierarchical model
1.4 Database Language Data Manipulation Language (DML) Language for accessing and manipulating the data organized by the appropriate data model DML also known as query language Two classes of languages  Procedural  – user specifies what data is required and how to get those data  Declarative (nonprocedural)  – user specifies what data is required without specifying how to get those data SQL is the most widely used query language
1.4 Database Language Data Definition Language (DDL) Specification notation for defining the database schema Example: create table   account  (   account-number   char (10),   balance   integer ) DDL compiler generates a set of tables stored in a  data dictionary Data dictionary contains metadata (i.e., data about data) Database schema  Data  storage and definition  language  Specifies the storage structure and access methods used Integrity constraints Domain constraints Referential integrity ( references  constraint in SQL) Assertions Authorization
1.5 Relational Databases Relational Model Example of tabular data in the relational model Attributes
A Sample Relational Database
SQL SQL : widely used non-procedural language Example: 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’ Example: 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 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
1.6 Database Design The process of designing the general structure of the database: Logical Design –  Deciding on the database schema. Database design requires that we find a “good” collection of relation schemas. Business decision – What attributes should we record in the database? Computer Science  decision –  What relation schemas should we have and how should the attributes be distributed among the various relation schemas? Physical Design – Deciding on the physical layout of the database
The Entity-Relationship Model Models an enterprise as a collection of  entities  and  relationships Entity: a “thing” or “object” in the enterprise that is distinguishable from other objects Described by a set of  attributes Relationship: an association among several entities Represented diagrammatically by an  entity-relationship diagram:
1.7 Object-Based and Semistructured Databases Object-Relational Data Models Extend the relational data model by including object orientation and constructs to deal with added data types. Allow attributes of tuples to have complex types, including non-atomic values such as nested relations. Preserve relational foundations, in particular the declarative access to data, while extending modeling power. Provide upward compatibility with existing relational languages.
Defined by the WWW Consortium (W3C) Originally intended as a document markup language not a database language The ability to specify new tags, and to create nested tag structures made XML a great way to exchange  data , not just documents XML has become the basis for all new generation data interchange formats. A wide variety of tools is available for parsing, browsing and querying XML documents/data 1.7 Object-Based and Semistructured Databases XML: Extensible Markup Language
1.8 Data Storage and Querying Storage Management Storage manager  is a program module that provides the interface between the low-level data stored in the database and the application programs and queries submitted to the system. The storage manager is responsible to the following tasks:  Interaction with the file manager  Efficient storing, retrieving and updating of data Issues: Storage access File organization Indexing and hashing
1.8 Data Storage and Querying Query Processing 1. Parsing and translation 2. Optimization 3. Evaluation
Query Processing (Cont.) Alternative ways of evaluating a given query Equivalent expressions Different algorithms for each operation Cost difference between a good and a bad way of evaluating a query can be enormous Need to estimate the cost of operations Depends critically on statistical information about relations which the database must maintain Need to estimate statistics for intermediate results to compute cost of complex expressions
1.9 Transaction Management A  transaction  is a collection of operations that performs a single logical function in a database application 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. Concurrency-control manager  controls the interaction among the concurrent transactions, to ensure the consistency of the database.
1.10 Data Mining and Analysis The process of semiautomatically analyzing large databases to find useful patterns and rules Similar to Knowledge Discovery in AI (also called Machine Learning), but dealing with very large database Decision Support System for Business Data-Warehouse (DW) On-Line Analytical Processsing (OLAP)  Information Retrieval from unstructured textual data
1.11 Database Architecture Overall System Structure
1.11 Database Architecture The architecture of a database systems is greatly influenced by the underlying computer system on which the database is running: Centralized Client-server Parallel (multi-processor) Distributed
Figure 1.7
1.12 Database Users and Administrators Database Users Users  are differentiated by the way they expect to interact with the system Application programmers  – interact with system through DML calls Sophisticated users  – form requests in a database query language Specialized users  – write specialized database applications that do not fit into the traditional data processing framework Naïve users  – invoke one of the permanent application programs that have been written previously Examples, people accessing database over the web, bank tellers, clerical staff
1.12 Database users and Database Administrator Database Administrator Coordinates all the activities of the database system; the database administrator has a good understanding of the enterprise’s information resources and needs. Database administrator's 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
1.13 History of Database Systems 1950s and early 1960s: Data processing using magnetic tapes for storage Tapes provide only sequential access Punched cards for input Late 1960s and 1970s: Hard disks allow direct access to data Network and hierarchical data models in widespread use Ted Codd defines the relational data model Would win the ACM Turing Award for this work IBM Research begins System R prototype UC Berkeley begins Ingres prototype High-performance (for the era) transaction processing
History (cont.) 1980s: Research relational prototypes evolve into commercial systems SQL becomes industrial standard Parallel and distributed database systems Object-oriented database systems 1990s: Large decision support and data-mining applications Large multi-terabyte data warehouses Emergence of Web commerce 2000s: XML and XQuery standards Automated database administration
Ch 1: Summary (1) A database-management system(DBMS) consists of a collection of interrelated data and a collection of programs to access that data. The data describe one particular enterprise. The primary goal of a DBMS is to environment that is both convenient and efficient for people to use in retrieving and storing information. Database systems are ubiquitous today, and most people interact, either directly or indirectly, with databases many tiles every day.  Database systems are designed to store large bodies of information. The management of data involves both the definition of structures for the storage of information and provision of mechanisms for the manipulation of information.  In addition, the database system must provide for the safety of the information stored, in the face of system crashes or attempts at unauthorized access.  If data are to be shared among several users, the system must avoid possible anomalous results.
Ch 1: Summary (2) A major purpose of a database system is to provide users with an abstract view of the data.  That is, the system hides certain details of how the data are stored and maintained. Underlying the structure of a database is the data model: a collection of conceptual tools for describing data, data relationships, data semantics, and data constraints.  A data-manipulation language(DML) is a language that enables users to access or manipulate data  The overall design of the database is called the database schema. A database schema is specified by a set of definitions that are expressed using data definition language(DDL).
Ch 1: Summary (3) The relational data model is widely used to store data in databases. Other data models are the object-oriented model, the object-relational model, and semistructured data models..  The entity-relationship(E-R) data model is a widely used data model, and it provides a convenient graphical representation to view data, relationships,and constraints.  A database system has several subsystems. The storage manager subsystem provides the interface between the low level data stored in the database and the application programs and queries submitted to the system.  The query processor subsystem compiles and executes DDL and DML statements. The transaction manager subsystem is responsible for ensuring that the database remains in a consistent(correct) state despite system failures.  The transaction manager also ensures that concurrent transaction executions proceed without conflicting.
Ch 1: Summary (4) Database applications are typically broken up into front-end part that runs at client machines and a part that runs at the back-end.  In two-tier architectures, the front-end directly communicates with a database running at the back-end.  In three -tier architectures, the back end part is itself broken up into an application server and a database server. Database users can be categorized into several classes, and each class of users usually uses different type of interface to the database.
Ch 1: Bibliographical Notes (1)  We list below general purpose books, research paper collections, and Web sites on databases. Subsequent chapters provide references to material on each topic outlined in this chapter. Codd[1970] is the landmark paper that introduced the relational model. Textbooks covering database system include Abiteboul et al.[1995]. Date[2003], Elmasri and Navathe[2000], O’Neil and O’Neil[2000], Ramakrishnan and Gehrke[2000], Garcia-Molinar et al. [2001] and Ullman[1998].  Textbook coverage of transaction processing is provided by Bernstein and Newcomer[1997] and Reuter[1993]. Several books contain collections of research papers on database management. Among these are Bancilhon and Buneman[1990], Date[1986], Date[1990], Kim[1995], Zaniolo et al.[1997], and Hellerstein and Stonebreaker[2005].
Ch 1: Bibliographical Notes (2) A review of accomplishments in database management and an assessment of future research challenges appears in Silberschatz et al.[1990], Silberschatz et al.[1996], Bernstein et al.[1990] and Abiteboul et al [2003]. The home page of the ACM Special Interest Group on Management of Data (see  www.acm.org/sigmod ) provides a wealth of information about database research.  Database vendor Web sites(see the tools section below) provide details about their respective products.
Ch1: Tools There are a large number of commercial database system in use today.  The major ones include : IBM DB2( www.ibm.com/software/data ), Oracle( www.oracle.com ), Microsoft SQL server( www.microsoft.com/sql ), Informix( www.informix.com ), and Sybase( www.sybase.com ).  Some of these systems are available free for personal or noncommercial use, or for development, but are not free for actual development. There are also a number of free/public domain database systems;  widely used ones include MySQL( www.mysql.com ) and PostgresSQL( www.postgressql.org ). A more complete list of links to vendor Web sites and other information is available from the home page of this book, at  www.db-book.com
End of Chapter 1

More Related Content

PPTX
Estimating Software Maintenance Costs
PPT
Introduction to Plants - Basic Overview
PPT
14. Query Optimization in DBMS
PPT
15. Transactions in DBMS
PPTX
Chapter 12 information system development
PPT
6. Integrity and Security in DBMS
PPTX
Programming language
PPT
2. Entity Relationship Model in DBMS
Estimating Software Maintenance Costs
Introduction to Plants - Basic Overview
14. Query Optimization in DBMS
15. Transactions in DBMS
Chapter 12 information system development
6. Integrity and Security in DBMS
Programming language
2. Entity Relationship Model in DBMS

What's hot (20)

PPTX
Deductive databases
PDF
Data warehouse architecture
PPTX
Challenges of Conventional Systems.pptx
PPTX
Distributed database management system
PPTX
Data science unit1
PPTX
Design Model & User Interface Design in Software Engineering
PPT
Fundamentals of Database system
PPTX
Introduction to Database Management Systems
PPTX
Introduction to distributed database
PPTX
The Key Responsibilities of a Database Administrator
 
PPTX
Data warehousing ppt
DOCX
Big data lecture notes
PPT
Flow oriented modeling
PPTX
Software Engineering
PDF
Data warehousing
PDF
Data Warehouse Tutorial For Beginners | Data Warehouse Concepts | Data Wareho...
PPT
Data Base System Application - Unit 7
PPTX
Exploratory data analysis with Python
PPTX
Software process
Deductive databases
Data warehouse architecture
Challenges of Conventional Systems.pptx
Distributed database management system
Data science unit1
Design Model & User Interface Design in Software Engineering
Fundamentals of Database system
Introduction to Database Management Systems
Introduction to distributed database
The Key Responsibilities of a Database Administrator
 
Data warehousing ppt
Big data lecture notes
Flow oriented modeling
Software Engineering
Data warehousing
Data Warehouse Tutorial For Beginners | Data Warehouse Concepts | Data Wareho...
Data Base System Application - Unit 7
Exploratory data analysis with Python
Software process
Ad

Viewers also liked (20)

PDF
Chapter 1 Fundamentals of Database Management System
PDF
M.sc. engg (ict) admission guide database management system 4
PPT
PPT
Normalization
PDF
IBM PowerVM Virtualization Technology on IBM POWER7 Systems
PDF
SoftwareONE Oracle Licensing Introduction 18.02.14
PPT
Fundamentals of Database ppt ch03
PPTX
Oracle database - The most common license compliance issues seen
PPT
Chapter01 introduction
PPT
Insight into Oracle licensing
PPS
Architecture of-dbms-and-data-independence
PDF
PDF
Database system architecture
PPT
Chapter 2 - Operating System Structures
PDF
Database Architecture and Basic Concepts
PPTX
file system in operating system
DOCX
Database management system
PPTX
File management
PDF
Data structures (introduction)
PPTX
Data structure and its types
Chapter 1 Fundamentals of Database Management System
M.sc. engg (ict) admission guide database management system 4
Normalization
IBM PowerVM Virtualization Technology on IBM POWER7 Systems
SoftwareONE Oracle Licensing Introduction 18.02.14
Fundamentals of Database ppt ch03
Oracle database - The most common license compliance issues seen
Chapter01 introduction
Insight into Oracle licensing
Architecture of-dbms-and-data-independence
Database system architecture
Chapter 2 - Operating System Structures
Database Architecture and Basic Concepts
file system in operating system
Database management system
File management
Data structures (introduction)
Data structure and its types
Ad

Similar to Database Systems Concepts, 5th Ed (20)

PPT
Unit01 dbms
PPTX
Lecture 1 to 3intro to normalization in database
PDF
database introductoin optimization1-app6891.pdf
PPTX
Introduction to Database
PPT
Dbms unit01
PPTX
DIGITAL CONTENT for the help of students.pptx
PPTX
Database Management System, Lecture-1
PPT
PPT
1. Introduction to DBMS
PPT
PPT
Ch1
 
PPT
Ch1- Introduction to dbms
PPT
DBMS - Introduction
PPT
21UCAC 41 Database Management System.ppt
PPT
Dbms 1
PPT
dbms notes.ppt
PPTX
Dbms
PPTX
DBMS-Unit-1.pptx
Unit01 dbms
Lecture 1 to 3intro to normalization in database
database introductoin optimization1-app6891.pdf
Introduction to Database
Dbms unit01
DIGITAL CONTENT for the help of students.pptx
Database Management System, Lecture-1
1. Introduction to DBMS
Ch1
 
Ch1- Introduction to dbms
DBMS - Introduction
21UCAC 41 Database Management System.ppt
Dbms 1
dbms notes.ppt
Dbms
DBMS-Unit-1.pptx

Recently uploaded (20)

PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PPTX
Lesson notes of climatology university.
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
RMMM.pdf make it easy to upload and study
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
01-Introduction-to-Information-Management.pdf
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
Insiders guide to clinical Medicine.pdf
PDF
Sports Quiz easy sports quiz sports quiz
PDF
Complications of Minimal Access Surgery at WLH
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Supply Chain Operations Speaking Notes -ICLT Program
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Lesson notes of climatology university.
Microbial diseases, their pathogenesis and prophylaxis
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
Final Presentation General Medicine 03-08-2024.pptx
RMMM.pdf make it easy to upload and study
102 student loan defaulters named and shamed – Is someone you know on the list?
2.FourierTransform-ShortQuestionswithAnswers.pdf
Anesthesia in Laparoscopic Surgery in India
01-Introduction-to-Information-Management.pdf
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Module 4: Burden of Disease Tutorial Slides S2 2025
Renaissance Architecture: A Journey from Faith to Humanism
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Insiders guide to clinical Medicine.pdf
Sports Quiz easy sports quiz sports quiz
Complications of Minimal Access Surgery at WLH
FourierSeries-QuestionsWithAnswers(Part-A).pdf

Database Systems Concepts, 5th Ed

  • 1. Chapter 1: Introduction
  • 2. Chapter 1: Introduction Part 1: Relational databases Chapter 2: Relational Model Chapter 3: SQL Chapter 4: Advanced SQL Chapter 5: Other Relational Languages Part 2: Database Design Chapter 6: Database Design and the E-R Model Chapter 7: Relational Database Design Chapter 8: Application Design and Development Part 3: Object-based databases and XML Chapter 9: Object-Based Databases Chapter 10: XML Part 4: Data storage and querying Chapter 11: Storage and File Structure Chapter 12: Indexing and Hashing Chapter 13: Query Processing Chapter 14: Query Optimization Part 5: Transaction management Chapter 15: Transactions Chapter 16: Concurrency control Chapter 17: Recovery System Database System Concepts Part 6: Data Mining and Information Retrieval Chapter 18: Data Analysis and Mining Chapter 19: Information Retreival Part 7: Database system architecture Chapter 20: Database-System Architecture Chapter 21: Parallel Databases Chapter 22: Distributed Databases Part 8: Other topics Chapter 23: Advanced Application Development Chapter 24: Advanced Data Types and New Applications Chapter 25: Advanced Transaction Processing Part 9: Case studies Chapter 26: PostgreSQL Chapter 27: Oracle Chapter 28: IBM DB2 Chapter 29: Microsoft SQL Server Online Appendices Appendix A: Network Model Appendix B: Hierarchical Model Appendix C: Advanced Relational Database Model
  • 3. Chapter 1: Introduction provides a general overview of the nature and purpose of database systems. We explain how the concept of a database system has developed, what the common features of database systems are, what a database system does for the user, and how a database system interfaces with operating systems. We also introduce an example database application: a banking enterprise consisting of multiple bank branches. This example is used as a running example throughout the book. This chapter is motivational, historical, and explanatory in nature. Overview (Chapter 1).
  • 4. Chapter 1: Introduction 1.1 Database-System Applications 1.2 Purpose of Database Systems 1.3 View of Data 1.4 Database Languages 1.5 Relational Databases 1.6 Database Design 1.7 Object-based and Semistructured databases 1.8 Data Storage and Querying 1.9 Transaction Management 1.10 Data Mining and Analysis 1.11 Database Architecture 1.12 Database Users and Administrators 1.13 History of Database Systems
  • 5. 1.1 Database System Applications DBMS contains information about a particular enterprise Collection of interrelated data Set of programs to access the data An environment that is both convenient and efficient to use Database Applications: Banking: all transactions Airlines: reservations, schedules Universities: registration, grades Sales: customers, products, purchases Online retailers: order tracking, customized recommendations Manufacturing: production, inventory, orders, supply chain Human resources: employee records, salaries, tax deductions Databases touch all aspects of our lives
  • 6. 1.2 Purpose of Database Systems In the early days, database applications were built directly on top of file systems 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 Data isolation — multiple files and formats Integrity problems Integrity constraints (e.g. account balance > 0) become “buried” in program code rather than being stated explicitly Hard to add new constraints or change existing ones
  • 7. Purpose of Database Systems (Cont.) Drawbacks of using file systems (cont.) Atomicity of updates Failures may leave database in an inconsistent state with partial updates carried out Example: 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 Example: Two people reading a balance and updating it at the same time Security problems Hard to provide user access to some, but not all, data Database systems offer solutions to all the above problems
  • 8. 1.3 View of Data Physical level: describes how a record (e.g., customer) is stored. Logical level: describes data stored in database, and the relationships among the data. type customer = record customer_id : string; customer_name : string; customer _ street : string; customer_city : integer; end ; View level: application programs hide details of data types. Views can also hide information (such as an employee’s salary) for security purposes.
  • 9. Level of Abstraction An architecture for a database system
  • 10. Instances and Schemas Similar to types and variables in programming languages Schema – the logical structure of the database Example: The database consists of information about a set of customers and accounts and the relationship between them) Analogous to type information of a variable in a program Physical schema : database design at the physical level Logical schema : database design at the logical level Instance – the actual content of the database at a particular point in time Analogous to the value of a variable Physical Data Independence – the ability to modify the physical schema without changing the logical schema Applications depend on the logical schema In general, the interfaces between the various levels and components should be well defined so that changes in some parts do not seriously influence others.
  • 11. Data Models A collection of tools for describing Data Data relationships Data semantics Data constraints Relational model Entity-Relationship data model (mainly for database design) Object-based data models (Object-oriented and Object-relational) Semistructured data model (XML) Other older models: Network model Hierarchical model
  • 12. 1.4 Database Language Data Manipulation Language (DML) Language for accessing and manipulating the data organized by the appropriate data model DML also known as query language Two classes of languages Procedural – user specifies what data is required and how to get those data Declarative (nonprocedural) – user specifies what data is required without specifying how to get those data SQL is the most widely used query language
  • 13. 1.4 Database Language Data Definition Language (DDL) Specification notation for defining the database schema Example: create table account ( account-number char (10), balance integer ) DDL compiler generates a set of tables stored in a data dictionary Data dictionary contains metadata (i.e., data about data) Database schema Data storage and definition language Specifies the storage structure and access methods used Integrity constraints Domain constraints Referential integrity ( references constraint in SQL) Assertions Authorization
  • 14. 1.5 Relational Databases Relational Model Example of tabular data in the relational model Attributes
  • 16. SQL SQL : widely used non-procedural language Example: 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’ Example: 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 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
  • 17. 1.6 Database Design The process of designing the general structure of the database: Logical Design – Deciding on the database schema. Database design requires that we find a “good” collection of relation schemas. Business decision – What attributes should we record in the database? Computer Science decision – What relation schemas should we have and how should the attributes be distributed among the various relation schemas? Physical Design – Deciding on the physical layout of the database
  • 18. The Entity-Relationship Model Models an enterprise as a collection of entities and relationships Entity: a “thing” or “object” in the enterprise that is distinguishable from other objects Described by a set of attributes Relationship: an association among several entities Represented diagrammatically by an entity-relationship diagram:
  • 19. 1.7 Object-Based and Semistructured Databases Object-Relational Data Models Extend the relational data model by including object orientation and constructs to deal with added data types. Allow attributes of tuples to have complex types, including non-atomic values such as nested relations. Preserve relational foundations, in particular the declarative access to data, while extending modeling power. Provide upward compatibility with existing relational languages.
  • 20. Defined by the WWW Consortium (W3C) Originally intended as a document markup language not a database language The ability to specify new tags, and to create nested tag structures made XML a great way to exchange data , not just documents XML has become the basis for all new generation data interchange formats. A wide variety of tools is available for parsing, browsing and querying XML documents/data 1.7 Object-Based and Semistructured Databases XML: Extensible Markup Language
  • 21. 1.8 Data Storage and Querying Storage Management Storage manager is a program module that provides the interface between the low-level data stored in the database and the application programs and queries submitted to the system. The storage manager is responsible to the following tasks: Interaction with the file manager Efficient storing, retrieving and updating of data Issues: Storage access File organization Indexing and hashing
  • 22. 1.8 Data Storage and Querying Query Processing 1. Parsing and translation 2. Optimization 3. Evaluation
  • 23. Query Processing (Cont.) Alternative ways of evaluating a given query Equivalent expressions Different algorithms for each operation Cost difference between a good and a bad way of evaluating a query can be enormous Need to estimate the cost of operations Depends critically on statistical information about relations which the database must maintain Need to estimate statistics for intermediate results to compute cost of complex expressions
  • 24. 1.9 Transaction Management A transaction is a collection of operations that performs a single logical function in a database application 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. Concurrency-control manager controls the interaction among the concurrent transactions, to ensure the consistency of the database.
  • 25. 1.10 Data Mining and Analysis The process of semiautomatically analyzing large databases to find useful patterns and rules Similar to Knowledge Discovery in AI (also called Machine Learning), but dealing with very large database Decision Support System for Business Data-Warehouse (DW) On-Line Analytical Processsing (OLAP) Information Retrieval from unstructured textual data
  • 26. 1.11 Database Architecture Overall System Structure
  • 27. 1.11 Database Architecture The architecture of a database systems is greatly influenced by the underlying computer system on which the database is running: Centralized Client-server Parallel (multi-processor) Distributed
  • 29. 1.12 Database Users and Administrators Database Users Users are differentiated by the way they expect to interact with the system Application programmers – interact with system through DML calls Sophisticated users – form requests in a database query language Specialized users – write specialized database applications that do not fit into the traditional data processing framework Naïve users – invoke one of the permanent application programs that have been written previously Examples, people accessing database over the web, bank tellers, clerical staff
  • 30. 1.12 Database users and Database Administrator Database Administrator Coordinates all the activities of the database system; the database administrator has a good understanding of the enterprise’s information resources and needs. Database administrator's 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
  • 31. 1.13 History of Database Systems 1950s and early 1960s: Data processing using magnetic tapes for storage Tapes provide only sequential access Punched cards for input Late 1960s and 1970s: Hard disks allow direct access to data Network and hierarchical data models in widespread use Ted Codd defines the relational data model Would win the ACM Turing Award for this work IBM Research begins System R prototype UC Berkeley begins Ingres prototype High-performance (for the era) transaction processing
  • 32. History (cont.) 1980s: Research relational prototypes evolve into commercial systems SQL becomes industrial standard Parallel and distributed database systems Object-oriented database systems 1990s: Large decision support and data-mining applications Large multi-terabyte data warehouses Emergence of Web commerce 2000s: XML and XQuery standards Automated database administration
  • 33. Ch 1: Summary (1) A database-management system(DBMS) consists of a collection of interrelated data and a collection of programs to access that data. The data describe one particular enterprise. The primary goal of a DBMS is to environment that is both convenient and efficient for people to use in retrieving and storing information. Database systems are ubiquitous today, and most people interact, either directly or indirectly, with databases many tiles every day. Database systems are designed to store large bodies of information. The management of data involves both the definition of structures for the storage of information and provision of mechanisms for the manipulation of information. In addition, the database system must provide for the safety of the information stored, in the face of system crashes or attempts at unauthorized access. If data are to be shared among several users, the system must avoid possible anomalous results.
  • 34. Ch 1: Summary (2) A major purpose of a database system is to provide users with an abstract view of the data. That is, the system hides certain details of how the data are stored and maintained. Underlying the structure of a database is the data model: a collection of conceptual tools for describing data, data relationships, data semantics, and data constraints. A data-manipulation language(DML) is a language that enables users to access or manipulate data The overall design of the database is called the database schema. A database schema is specified by a set of definitions that are expressed using data definition language(DDL).
  • 35. Ch 1: Summary (3) The relational data model is widely used to store data in databases. Other data models are the object-oriented model, the object-relational model, and semistructured data models.. The entity-relationship(E-R) data model is a widely used data model, and it provides a convenient graphical representation to view data, relationships,and constraints. A database system has several subsystems. The storage manager subsystem provides the interface between the low level data stored in the database and the application programs and queries submitted to the system. The query processor subsystem compiles and executes DDL and DML statements. The transaction manager subsystem is responsible for ensuring that the database remains in a consistent(correct) state despite system failures. The transaction manager also ensures that concurrent transaction executions proceed without conflicting.
  • 36. Ch 1: Summary (4) Database applications are typically broken up into front-end part that runs at client machines and a part that runs at the back-end. In two-tier architectures, the front-end directly communicates with a database running at the back-end. In three -tier architectures, the back end part is itself broken up into an application server and a database server. Database users can be categorized into several classes, and each class of users usually uses different type of interface to the database.
  • 37. Ch 1: Bibliographical Notes (1) We list below general purpose books, research paper collections, and Web sites on databases. Subsequent chapters provide references to material on each topic outlined in this chapter. Codd[1970] is the landmark paper that introduced the relational model. Textbooks covering database system include Abiteboul et al.[1995]. Date[2003], Elmasri and Navathe[2000], O’Neil and O’Neil[2000], Ramakrishnan and Gehrke[2000], Garcia-Molinar et al. [2001] and Ullman[1998]. Textbook coverage of transaction processing is provided by Bernstein and Newcomer[1997] and Reuter[1993]. Several books contain collections of research papers on database management. Among these are Bancilhon and Buneman[1990], Date[1986], Date[1990], Kim[1995], Zaniolo et al.[1997], and Hellerstein and Stonebreaker[2005].
  • 38. Ch 1: Bibliographical Notes (2) A review of accomplishments in database management and an assessment of future research challenges appears in Silberschatz et al.[1990], Silberschatz et al.[1996], Bernstein et al.[1990] and Abiteboul et al [2003]. The home page of the ACM Special Interest Group on Management of Data (see www.acm.org/sigmod ) provides a wealth of information about database research. Database vendor Web sites(see the tools section below) provide details about their respective products.
  • 39. Ch1: Tools There are a large number of commercial database system in use today. The major ones include : IBM DB2( www.ibm.com/software/data ), Oracle( www.oracle.com ), Microsoft SQL server( www.microsoft.com/sql ), Informix( www.informix.com ), and Sybase( www.sybase.com ). Some of these systems are available free for personal or noncommercial use, or for development, but are not free for actual development. There are also a number of free/public domain database systems; widely used ones include MySQL( www.mysql.com ) and PostgresSQL( www.postgressql.org ). A more complete list of links to vendor Web sites and other information is available from the home page of this book, at www.db-book.com