DATABASE MANAGEMENT
SYSTEMS (CO-312)
Introduction
Database: A collection of related data.
Data: Known facts that can be recorded and have an implicit meaning.
Mini-world: Some part of the real world about which data is stored in a database. For example, student grades and transcripts at a university.
Database Management System (DBMS): A software package/ system to facilitate the creation and
maintenance of a computerized database.
Introduction to Database Systems
Example of a Database
(with a Conceptual Data Model)
Mini-world for the example: Part of a UNIVERSITY environment.
Some mini-world entities:
STUDENTs
COURSEs
SECTIONs (of COURSEs)
(academic) DEPARTMENTs
INSTRUCTORs
The above could be expressed in the ENTITY-
RELATIONSHIP data model.
Example of a Database
(with a Conceptual Data Model)
• Some mini-world relationships:
• SECTIONs are of specific COURSEs
• STUDENTs take SECTIONs
• COURSEs have prerequisite COURSEs
• INSTRUCTORs teach SECTIONs
• COURSEs are offered by DEPARTMENTs
• STUDENTs major in DEPARTMENTs
The above could be expressed in the ENTITY-
RELATIONSHIP data model.
Database System
•
Computerized record-keeping system
•
Supports operations
• Add or delete files to the database
• Insert, retrieve, remove, or change data in database
•
Components
• Data, hardware, software, users
Introduction to Database Systems
Database System - Data
•
May support single or many users
•
Many users in organizations
• Data is integrated
• Data is shared
•
Different users will require different views
Introduction to Database Systems
Database System - Hardware
•
Data is stored on Disk
• Direct access to subset portions
• Rapid I/O
•
Data operated on in main memory
Introduction to Database Systems
Database System - Software
•
Database manager
•
Database server
•
Database management system (DBMS)
•
DBMS provided by specific vendor
Introduction to Database Systems
Database System - Software
• DBMS is not ( but may come with)
• Application Development Tools
• Application Software
• TP Monitor
• Report Writer
• System utilities
Introduction to Database Systems
Typical DBMS Functionality
•
Define a database : in terms of data types, structures and constraints
•
Construct or Load the Database on a secondary storage medium
•
Manipulating the database : querying, generating reports, insertions, deletions and modifications to its content
•
Concurrent Processing and Sharing by a set of users and programs – yet, keeping all data valid and consistent
Introduction to Database Systems
Typical DBMS Functionality
Other features:
• Protection or Security measures to prevent unauthorized access
• “Active” processing to take internal actions on data
• Presentation and Visualization of data
Introduction to Database Systems
Database System - Users
•
Application programmers
•
End users
•
Database Administrators
Introduction to Database Systems
Database Users
• Database administrators:responsible for authorizing access to the database, for co-ordinating and monitoring its use, acquiring software, and hardware resources,
controlling its use and monitoring efficiency of operations.
• Database Designers: responsible to define the content, the structure, the constraints, and functions or transactions
against the database. They must communicate with the end- users and understand their needs.
• End-users:they use the data for queries, reports and some of them actually update the database content.
Categories of End-users
• Casual : access database occasionally when needed
• Naïve or Parametric : they make up a large section of the end-user population.
They use previously well-defined functions in the form of “canned
transactions” against the database.
Examples are bank-tellers or reservation
clerks who do this activity for an entire
shift of operations.
Categories of End-users
Sophisticated : these include business analysts, scientists, engineers, others thoroughly familiar with the system
capabilities. Many use tools in the form of
software packages that work closely with the stored database.
Stand-alone : mostly maintain personal databases using ready-to-use packaged
applications. An example is a tax program user
that creates his or her own internal database.
Main Characteristics of the Database Approach
Self-describing nature of a database system: A DBMS catalog stores the description of the
database. The description is called meta-data).
This allows the DBMS software to work with different databases.
Insulation between programs and data: Called program-data independence. Allows
changing data storage structures and
operations without having to change the DBMS
access programs.
Main Characteristics of the Database Approach
• Data Abstraction: A data model is used to hide storage details and present the users with a conceptual view of the database.
• Support of multiple views of the data: Each user may see a different view of the
database, which describes only the data
of interest to that user.
Main Characteristics of the Database Approach
Sharing of data and multiuser transaction processing : allowing a set of concurrent
users to retrieve and to update the database.
Concurrency control within the DBMS
guarantees that each transaction is correctly executed or completely aborted. OLTP (Online Transaction Processing) is a major part of
database applications.
Advantages of Database Approach
•
Shared data
•
Reduced redundancy
•
Reduced inconsistent data
•
Transaction support
•
Support for data integrity
•
Security enforcement
•
Support for standards
•
Conflicting requirements can be met
Introduction to Database Systems
Historical Development of Database Technology
Early Database Applications: The
Hierarchical and Network Models were introduced in mid 1960’s and dominated
during the seventies. A bulk of the worldwide database processing still occurs using these models.
Relational Model based Systems: The
model that was originally introduced in 1970
was heavily researched and experimented
with in IBM and the universities. Relational
DBMS Products emerged in the 1980’s.
Historical Development of Database Technology
Object-oriented applications: OODBMSs were introduced in late 1980’s and early
1990’s to cater to the need of complex data processing in CAD and other applications.
Their use has not taken off much.
Data on the Web and E-commerce
Applications: Web contains data in HTML (Hypertext markup language) with links
among pages. This has given rise to a new
set of applications and E-commerce is using
new standards like XML (eXtended Markup
Language).
Extending Database Capabilities
• New functionality is being added to DBMSs in the following areas:
• Scientific Applications
• Image Storage and Management
• Audio and Video data management
• Data Mining
• Spatial data management
• Time Series and Historical Data Management
When not to use a DBMS
Main inhibitors (costs) of using a DBMS:
High initial investment and possible need for additional hardware.
Overhead for providing generality, security, concurrency control, recovery, and integrity functions.
When a DBMS may be unnecessary:
If the database and applications are simple, well defined, and not expected to change.
If there are stringent real-time requirements that may not be met because of DBMS overhead.
If access to data by multiple users is not required.
When not to use a DBMS
•
When no DBMS may suffice:
• If the database system is not able to handle the complexity of data because of modeling limitations
• If the database users need special operations not supported by the DBMS.
Data Models
• Data Model: A set of concepts to describe the structure of a database, and certain constraints that the database should obey.
• Data Model Operations: Operations for
specifying database retrievals and updates by referring to the concepts of the data model.
Operations on the data model may include basic
operations and user-defined operations.
Categories of data models
Conceptual (high-level, semantic) data
models: Provide concepts that are close to the way many users perceive data. (Also called
entity-based or object-based data models.)
Physical (low-level, internal) data models:
Provide concepts that describe details of how data is stored in the computer.
Implementation (representational) data
models: Provide concepts that fall between the above two, balancing user views with some
computer storage details.
Schemas versus Instances
•
Database Schema: The description of a
database. Includes descriptions of the database structure and the constraints that should hold on the database.
•
Schema Diagram: A diagrammatic display of (some aspects of) a database schema.
•
Schema Construct: A component of the schema or an object within the schema, e.g., STUDENT, COURSE.
•
Database Instance: The actual data stored in a
database at a particular moment in time. Also
called database state (or occurrence).
Database Schema Vs. Database State
•
Database State: Refers to the content of a database at a moment in time.
•
Initial Database State: Refers to the database when it is loaded
•
Valid State: A state that satisfies the structure and constraints of the database.
•
Distinction
• The database schema changes very infrequently. The database state changes every time the database is updated.
• Schema is also called intension, whereas state is called extension.
Three-Schema Architecture
• Defines DBMS schemas at three levels:
• Internal schemaat the internal level to describe physical storage structures and access paths. Typically uses a physical data model.
• Conceptual schemaat the conceptual level to describe the
structure and constraints for the whole database for a community of users. Uses a conceptualor an implementation data model.
• External schemasat the external level to describe the various user views. Usually uses the same data model as the conceptual level.
Three-Schema Architecture
Introduction to Database Systems
External Level
•
May support single or groups of users
• Data can be integrated
• Data can be shared
•
Different users will require different views
Introduction to Database Systems
Conceptual Level
•
Global logical representation
•
Shared by all users
•
Underlying meaning of the data
•
Foundation for database design
•
Defined by conceptual schema
•
Implemented via conceptual DDL
Introduction to Database Systems
Internal Level
•
Physical layer
• Blocks, pages, I/O
•
Described by internal schema, DDL
•
Hardware dependent
•
Includes structures such as hash, heap, B-tree
•
Includes pointers
Introduction to Database Systems
Mappings
Mappings among schema levels are needed to
transform requests and data. Programs refer to an external schema, and are mapped by the DBMS to the internal schema for execution.
Conceptual/internal
Implementation of logical design
External/conceptual
Overlapping subsets of views
External/external
Views mapped to views
Introduction to Database Systems
Data Independence
•
Logical Data Independence: The capacity to change the conceptual schema without having to change the external schemas and their application programs.
•
Physical Data Independence: The capacity to change the internal schema without having to change the
conceptual schema.
Data Independence
When a schema at a lower level is changed, only the mappings between this schema and higher-level schemas need to be changed in a DBMS that fully
supports data independence. The higher-level schemas themselves are unchanged . Hence, the application
programs need not be changed since they refer to the
external schemas.
DBMS Languages
• Data Definition Language (DDL): Used by the DBA and database designers to specify the
conceptual schema of a database. In many
DBMSs, the DDL is also used to define internal and external schemas (views). In some DBMSs, separate storage definition language (SDL)
and view definition language (VDL) are used to
define internal and external schemas.
DBMS Languages
•
Data Manipulation Language (DML): Used to specify database retrievals and updates.
• DML commands (data sublanguage) can be embedded in a
general-purpose programming language (host language), such as COBOL, C or an Assembly Language.
• Alternatively, stand-aloneDML commands can be applied directly (query language).
DBMS Languages
•
High Level or Non-procedural Languages: e.g., SQL, are set-oriented and specify what data to retrieve than how to retrieve. Also called declarative languages.
•
Low Level or Procedural Languages: record-at-a-time;
they specify how to retrieve data and include constructs
such as looping.
DBMS Component Modules
•
DDL processor / compiler
•
DML processor / compiler
•
Handle scheduled and ad hoc queries
•
Optimizer and run-time manager
•
Security and integrity
•
Recovery and concurrency
•
Data dictionary
•
Performance tuning utilities
Introduction to Database Systems
Component diagram of DBMS
Introduction to Database Systems
Database System Utilities
• To perform certain functions such as:
• Loading data stored in files into a database. Includes data conversion tools.
• Backing up the database periodically on tape.
• Reorganizing database file structures.
• Report generation utilities.
• Performance monitoring utilities.
• Other functions, such as sorting, user monitoring, data compression, etc.
•
External tool support: query, reports, graphics,
spreadsheets, statistics
Classification of DBMSs
•
Based on the data model used:
• Traditional: Relational, Network, Hierarchical.
• Emerging: Object-oriented, Object-relational.
•
Other classifications:
• Single-user (typically used with micro- computers) vs. multi-user (most DBMSs).
• Centralized (uses a single computer with one database) vs.
distributed (uses multiple computers, multiple databases)
Variations of Distributed Environments:
•
Homogeneous DDBMS
•
Heterogeneous DDBMS
•
Federated or Multidatabase Systems-middleware
software to access several autonomous preexisting
databases stored under heterogeneousDBMSs
Centralized and Client-Server Architectures
•
Centralized DBMS: combines everything into single
system including- DBMS software, hardware, application programs and user interface processing software.
•
Basic Client-Server Architectures
• Client provide appropriate interfaces to access and utilize the server resources
• DBMS Server Provides database query and transaction services to the clients (sometimes called query and transaction servers)
• Clients connected to the servers via some form of a network.
Two Tier Client-Server Architecture
•
User Interface Programs and Application Programs run on the client side
•
Interface called ODBC (Open Database Connectivity ) provides an Application program interface (API) allow client side programs to call the DBMS. Most DBMS vendors provide ODBC drivers.
•
A client program may connect to several DBMSs.
•
Other variations of clients are possible: e.g., in some DBMSs, more functionality is transferred to clients including data
dictionary functions, optimization and recovery across multiple
servers, etc. In such situations the server may be called the
Data Server.
Two Tier Client-Server Architecture
Introduction to Database Systems
Three Tier Client-Server Architecture
•
Common for Web applications
•
Intermediate Layer called Application Server or Web Server:
•
stores the web connectivity software and the rules and
business logic (constraints) part of the application used to access the right amount of data from the database server
•
acts like a conduit for sending partially processed data between the database server and the client.
•
Additional Features- Security:
•
encrypt the data at the server before transmission
•
decrypt data at the client
Three Tier Client-Server Architecture
Introduction to Database Systems
Database Administrator
•
Participates in conceptual database design
•
Determines how to implement conceptual schema
•
Teach users, and help them report
•
Implement security and integrity
•
Implement unload/reload utilities
•
Monitor and tune database performance
Introduction to Database Systems