Introduction Traditional database applications: The information
is stored and accessed is either textual or numeric. New
applications: Multimedia databases: store pictures, video,
Geographic information systems (CIS) can store and analyze maps,
weather data, Data warehouses is used in many companies to extract
and analyze information. Real-time & active database is used in
controlling industrial and manufacturing processes.
Slide 3
Database: A collection of related data. Data: Known facts that
can be recorded and have an implicit meaning. Example: Names,
telephone numbers, addresses, Mini-world: Some part of the real
world about which data is stored in a database. Example: Student
grades and transcripts at a university. Basic Definitions
Slide 4
Database Management System (DBMS): A software package/ system
to facilitate the creation and maintenance of a computerized
database. Database System: The DBMS software together with the data
itself.
Slide 5
Example of a Database
Slide 6
Mini-world for the example: Part of a UNIVERSITY environment.
Some mini-world entities: - STUDENTs - COURSEs - SECTIONs (of
COURSEs) - (academic) DEPARTMENTs - INSTRUCTORs
Slide 7
Example of a Database 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
Slide 8
Example of a Database
Slide 9
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. Protection or Security measures to
prevent unauthorized access.
Slide 10
Main Characteristics of the Database Approach File Processing
systems: Drawbacks of using file systems Data redundancy and
inconsistency (mu thun) Difficulty in accessing data Integrity
problems Security problems Concurrent access by multiple users
Slide 11
Main Characteristics of the Database Approach 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.
Slide 12
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. Sharing of
Data & Multi-user Transaction processing: allowing a set of
concurrent users to retrieve and to update the database.
Slide 13
Database Users Actors on the scene: Users may be divided into
those who actually use and control the content called Actors on the
Scene. Database administrators(DBAs): Responsible for managing the
database system, authorizing access, coordinating & monitoring
uses. Database designers: Responsible for designing the database,
identifying the data to be stored, choosing the structures to
represent and store this data.
Slide 14
Database Users End Users: The persons that use the database for
querying, updating, generating, reports, etc. Casual end users:
Occasional users.(middle- or high-level managers). Parametric end
users: They use pre- programmed canned transactions to interact
continuously with the database. Sophisticated end users: Use full
DBMS capabilities for implementing complex applications.
Slide 15
Database Users Stand-alone users (personal databases) System
Analysts/Application programmers: Design and implement canned
transactions for parametric users.
Slide 16
Workers behind the scene DBMS designers and implementers:
Design and implement the DBMS software package itself. Tool
developers: Design and implement tools that facilitate the use of
the DBMS software. Tools include design tools, performance tools,
special interfaces. Operators and maintenance personnel: Work on
running and maintaining the hardware and software environment for
the database system
Slide 17
Advantages of Using the Database Approach Controlling
redundancy in data storage and in development and maintenance
efforts. Sharing of data among multiple users.
Slide 18
Advantages of Using the Database Approach Restricting
unauthorized access to data. Providing persistent storage for
program Objects. Providing Storage Structures for efficient Query
Processing Providing backup and recovery services. Providing
multiple interfaces to different classes of users. Representing
complex relationships among data. Enforcing integrity constraints
on the database. Drawing Inferences and Actions using rules
Slide 19
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.
Slide 20
Chapter 2 Database System Concepts and Architecture
Slide 21
Data Models A set of concepts to describe the structure of a
database, and certain constraints. A set of basic operations:
retrievals and updates on the database. The dynamic aspect or
behavior : allows the database designer to specify a set of valid
user- defined operations.
Slide 22
Categories of data models High-level (conceptual data model):
Provide concepts the way many users perceive data. Entity: real
world object or concept to be represented in database. Attribute:
some property of the entity. Relationship: represents and
interaction among entities. Low-level (Physical data models):
Provide concepts that describe details of how data is stored in the
computer.
Slide 23
Categories of data models Representational (Implementation data
models): Provide concepts that fall between the above two,
balancing user views with some computer storage details. Include:
Relational Data model Network model Hierarchical model
Slide 24
Schemas Is the description of the database (not database
itself) Specified during database design Not expected to change
frequently A displayed schema is called a schema diagram Schema
diagram represents only some aspects of a schema (name of record
type, data element and some type of constraint) Example: Each
object in the schema-such as STUDENT or COURSE-is a schema
construct.
Slide 25
Schemas
Slide 26
Schemas versus Instances Database schema: description of the
data (meta- data). Includes descriptions of the database structure
and the constraints. Database Instance: The actual data stored in a
database at a particular moment in time. Also called database state
(or occurrence). Difference between schema and state: At design
time, schema is defined and state is the empty state. State changes
each time data is inserted or updated, schema remains the
same.
Slide 27
Three-Schema Architecture Internal schema at the internal level
to describe physical storage structures and access paths. Typically
uses a physical data model. Conceptual schema at the conceptual
level to describe the structure and constraints for the whole
database for a community of users. Uses a conceptual or an
implementation data model. External schemas at the external level
to describe the various user views. Usually uses the same data
model as the conceptual level.
Slide 28
Slide 29
Three-Schema Architecture 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.
Slide 30
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
Slide 31
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.
Slide 32
DBMS Languages Data Definition Language (DDL): Used by the DBA
and database designers to specify the conceptual schema of a
database. Data Manipulation Language (DML): Used to specify
database retrievals and updates. High Level or Non-procedural
Languages: 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.
Slide 33
Centralized Architectures Centralized DBMS: combines everything
into single system including: DBMS software, hardware, application
programs and user interface processing software.
Slide 34
Client-Server Architectures The client-server architecture: was
developed to deal with computing environments in which a large
number of workstations, file servers, printers, database servers,
Web servers, and other equipment are connected via a network.
Slide 35
Client-Server Architectures Clients: Provide appropriate
interfaces and a client- version of the system to access the server
resources. Clients maybe PCs or Workstations with disks with only
the client software installed. Connected to the servers via some
form of a network (LAN, wireless network, etc.) DBMS Server:
Provides database query and transaction services to the clients
Sometimes called query and transaction servers
Slide 36
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: in some
DBMSs, more functionality is transferred to clients including data
dictionary functions, optimization and recovery across multiple
servers, In such situations the server may be called the Data
Server.
Slide 37
Two Tier Client-Server Architecture
Slide 38
Three Tier Client-Server Architecture Web applications use an
architecture three-tier architecture. An intermediate layer between
the client and the database server, Application Server or Web
Server
Slide 39
Three Tier Client-Server Architecture 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.
Slide 40
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)
Slide 41
Classification of DBMSs Distributed Database Systems have now
come to be known as client server based database systems because
they do not support a totally distributed environment, but rather a
set of database servers supporting a set of clients.