Database System Concepts and Architecture
Basic client/server DBMS architecture
Client module Server module
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Data Models, Schemas, and Instances
Data abstraction
Suppression of details of data organization and storage Highlighting of the essential features for an improved understanding of data
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Data Models, Schemas, and Instances (cont'd.)
Data model
Collection of concepts that describe the structure of a database Provides means to achieve data abstraction Basic operations
Specify retrievals and updates on the database
Dynamic aspect or behavior of a database application
Allows the database designer to specify a set of valid operations allowed on database objects
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Categories of Data Models
High-level or conceptual data models
Close to the way many users perceive data Describe the details of how data is stored on computer storage media
Low-level or physical data models
Representational data models
Easily understood by end users Also similar to how data organized in computer storage
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Categories of Data Models (cont'd.)
Entity
Represents a real-world object or concept
Attribute
Represents some property of interest Further describes an entity
Relationship among two or more entities
Represents an association among the entities Entity-Relationship model
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Categories of Data Models (cont'd.)
Relational data model
Used most frequently in traditional commercial DBMSs
Object data model
New family of higher-level implementation data models Closer to conceptual data models
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Categories of Data Models (cont'd.)
Physical data models
Describe how data is stored as files in the computer Access path
Structure that makes the search for particular database records efficient
Index
Example of an access path Allows direct access to data using an index term or a keyword
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Schemas, Instances, and Database State
Database schema
Description of a database Displays selected aspects of schema Each object in the schema
Schema diagram
Schema construct
Database state or snapshot
Data in database at a particular moment in time
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Schemas, Instances, and Database State (cont'd.)
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Example of a database state
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Slide 2- 10
Schemas, Instances, and Database State (cont'd.)
Define a new database
Specify database schema to the DBMS Populated or loaded with the initial data Satisfies the structure and constraints specified in the schema
Initial state
Valid state
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Schemas, Instances, and Database State (cont'd.)
Schema evolution
Changes applied to schema as application requirements change
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Database Schema vs. Database State (continued)
Distinction
The database schema changes very infrequently. The database state changes every time the database is updated.
Schema is also called intension. State is also called extension.
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Slide 2- 13
Three-Schema Architecture and Data Independence
Internal level
Describes physical storage structure of the database Describes structure of the whole database for a community of users Describes part of the database that a particular user group is interested in
Conceptual level
External or view level
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Three-Schema Architecture and Data Independence (cont'd.)
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Data Independence
Capacity to change the schema at one level of a database system
Without having to change the schema at the next higher level
Types:
Logical Physical
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Data Independence
Logical Data Independence:
The capacity to change the conceptual schema without having to change the external schemas and their associated application programs.
Physical Data Independence:
Copyright 2011 Ramez Elmasri and Shamkant Navathe
The capacity to change the internal schema without having to change the conceptual schema. For example, the internal schema may be changed when certain file structures are reorganized or new indexes are created to improve database performance Slide 2- 17
DBMS Languages
Data definition language (DDL)
Defines both schemas Allows retrieval, insertion, deletion, modification
Data manipulation language (DML)
Copyright 2011 Ramez Elmasri and Shamkant Navathe
DBMS Languages (cont'd.)
High-level or nonprocedural DML
Can be used on its own to specify complex database operations concisely Set-at-a-time or set-oriented
Low-level or procedural DML
Must be embedded in a general-purpose programming language Record-at-a-time
The Impedance Mismatch
Copyright 2011 Ramez Elmasri and Shamkant Navathe
DBMS Interfaces
Menu-based interfaces for Web clients or browsing Forms-based interfaces Graphical user interfaces Natural language interfaces Speech input and output Interfaces for parametric users Interfaces for the DBA
Copyright 2011 Ramez Elmasri and Shamkant Navathe
DBMS Programming Language Interfaces
Programmer interfaces for embedding DML in a programming languages:
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Embedded Approach: e.g embedded SQL (for C, C++, etc.), SQLJ (for Java) Procedure Call Approach: e.g. JDBC for Java, ODBC for other programming languages Database Programming Language Approach: e.g. ORACLE has PL/SQL, a programming language based on SQL; language incorporates SQL and its data types as integral components Slide 2- 21
User-Friendly DBMS Interfaces
Menu-based, popular for browsing on the web Forms-based, designed for nave users Graphics-based
(Point and Click, Drag and Drop, etc.)
Natural language: requests in written English Combinations of the above:
For example, both menus and forms used extensively in Web database interfaces
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Slide 2- 22
Other DBMS Interfaces
Speech as Input and Output Web Browser as an interface Parametric interfaces, e.g., bank tellers using function keys. Interfaces for the DBA:
Creating user accounts, granting authorizations Setting system parameters Changing schemas or access paths
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Slide 2- 23
The Database System Environment
DBMS component modules
Buffer management Stored data manager DDL compiler Interactive query interface
Query compiler Query optimizer
Precompiler
Copyright 2011 Ramez Elmasri and Shamkant Navathe
The Database System Environment (cont'd.)
DBMS component modules
Runtime database processor System catalog Concurrency control system Backup and recovery system
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Database System Utilities
Loading
Load existing data files Creates a backup copy of the database
Backup
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Database System Utilities (cont'd.)
Database storage reorganization
Reorganize a set of database files into different file organizations Monitors database usage and provides statistics to the DBA
Performance monitoring
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Tools, Application Environments, and Communications Facilities
CASE Tools Data dictionary (data repository) system
Stores design decisions, usage standards, application program descriptions, and user information
Application development environments Communications software
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Centralized and Client/Server Architectures for DBMSs
Centralized DBMSs Architecture
All DBMS functionality, application program execution, and user interface processing carried out on one machine
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Basic Client/Server Architectures
Servers with specific functionalities
File server
Maintains the files of the client machines.
Printer server
Connected to various printers; all print requests by the clients are forwarded to this machine
Web servers or e-mail servers
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Basic Client/Server Architectures (cont'd.)
Client machines
Provide user with:
Appropriate interfaces to utilize these servers Local processing power to run local applications
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Basic Client/Server Architectures (cont'd.)
Client
User machine that provides user interface capabilities and local processing
Server
System containing both hardware and software Provides services to the client machines
Such as file access, printing, archiving, or database access
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Two-Tier Client/Server Architectures for DBMSs
Server handles
Query and transaction functionality related to SQL processing User interface programs and application programs
Client handles
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Two-Tier Client/Server Architectures (cont'd.)
Open Database Connectivity (ODBC)
Provides application programming interface (API) Allows client-side programs to call the DBMS
Both client and server machines must have the necessary software installed
JDBC
Allows Java client programs to access one or more DBMSs through a standard interface
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Three-Tier and n-Tier Architectures for Web Applications
Application server or Web server
Adds intermediate layer between client and the database server Runs application programs and stores business rules
N-tier
Divide the layers between the user and the stored data further into finer components
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Classification of Database Management Systems
Data model
Relational Object Hierarchical and network (legacy) Native XML DBMS
Number of users
Single-user Multiuser
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Classification of Database Management Systems (cont'd.)
Number of sites
Centralized Distributed
Homogeneous Heterogeneous
Cost
Open source Different types of licensing
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Classification of Database Management Systems (cont'd.)
Types of access path options General or special-purpose
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Classification of Database Management Systems (cont'd.)
Copyright 2011 Ramez Elmasri and Shamkant Navathe
Summary
Concepts used in database systems Main categories of data models Types of languages supported by DMBSs Interfaces provided by the DBMS DBMS classification criteria:
Data model, number of users, number of sties, access paths, cost
Copyright 2011 Ramez Elmasri and Shamkant Navathe