relational algebra,calculas
TRANSCRIPT
-
8/14/2019 relational algebra,calculas
1/29
Silberschatz, Korth and Sudarshan1.1Database System Concepts
Chapter 1: Introduction
Purpose of Database Systems
View of Data
Data Models
Data Definition Language
Data Manipulation Language
Transaction Management
Storage Management
Database Administrator
Database Users
Overall System Structure
-
8/14/2019 relational algebra,calculas
2/29
Silberschatz, Korth and Sudarshan1.2Database System Concepts
Database Management System (DBMS)
DATABASE:Collection of interrelated data.
DATA: known facts that can be recorded and that have implicit meaning.
DBMS:Set of programs to access the data
DBMS contains information about a particular enterprise
DBMS provides an environment that is both convenientand efficientto use.
Database Applications: Banking: all transactions
Airlines: reservations, schedules
Universities: registration, grades
Sales: customers, products, purchases
Manufacturing: production, inventory, orders, supply chain
Human resources: employee records, salaries, tax deductions
Databases touch all aspects of our lives
-
8/14/2019 relational algebra,calculas
3/29
Silberschatz, Korth and Sudarshan1.3Database System Concepts
Functions of DBMS
Defining a database:
Specifying the data structures and constraints for the data to be stored inthe database.
Constructing the database:
Storing data on some storage medium
Manipulating a database:Querying (retrieving, updating)
Sharing a database :
Multiuser access
Protecting a database: System protection -> against hardware or software malfunction
Security protection -> against unauthorized access
-
8/14/2019 relational algebra,calculas
4/29
Silberschatz, Korth and Sudarshan1.4Database System Concepts
Characteristics of Database approach
Self-describing nature of a database system:
Database system consists of complete definition or description (structure of each file, the
type and storage format of each data item and various constraints on data) of thedatabase structure or constraints.
This definition is stored in DBMS catalog
The information stored in catalog is calledmeta-data.
Insulation between program and data, and data abstraction:
In traditional file processing, the structure of data files is embedded in applicationprograms, so any changes to structure of a file may require changing all programs thataccess this file.
Support of Multiple Views of the Data:
A database typically has many users, each of whom may require a different perspective
or view of the database. Sharing of Data and Multiuser Transaction Processing:
-
8/14/2019 relational algebra,calculas
5/29
Silberschatz, Korth and Sudarshan1.5Database System Concepts
Purpose of Database System
In the early days, database applications were built on top offile systems
Drawbacks of using file systems to store data:
Data redundancy and inconsistency
Multiple file formats(programs may be written in different
programming languages), duplication of information in different files. Change in one file doesntmake changes in other file.
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 partof program code
Hard to add new constraints or change existing ones
-
8/14/2019 relational algebra,calculas
6/29
Silberschatz, Korth and Sudarshan1.6Database System Concepts
Purpose of Database Systems (Cont.)
Drawbacks of using file systems (cont.)
Atomicity of updates
Failures may leave database in an inconsistent state with partialupdates carried out
E.g. transfer of funds from one account to another should eithercomplete 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
Database systems offer solutions to all the above problems
-
8/14/2019 relational algebra,calculas
7/29Silberschatz, Korth and Sudarshan1.7Database System Concepts
Levels of Abstraction/3-Schema Architecture
Physical level or internal level
describes howa record (e.g., customer) is stored.
Lowest level of abstraction.
Describes the complete details of data storage and access paths for the database.
Logical level or conceptual level : describes whatdata stored in database, and the relationships among the data.
describes the structure of the whole database for a community of users.
hides the details of physical storage structures and concentrates on describing entities,data types, relationships, user operations, and constraints.
View level:
Views can also hide information (e.g., salary) for security purposes.
describes the part of the database that a particular user group is interested in and hidesthe rest of the database from that user group
-
8/14/2019 relational algebra,calculas
8/29Silberschatz, Korth and Sudarshan1.8Database System Concepts
View of Data
An architecture for a database system
-
8/14/2019 relational algebra,calculas
9/29Silberschatz, Korth and Sudarshan1.9Database System Concepts
Instances and Schemas
Similar to types and variables in programming languages
Schemathe overall design of database
e.g., the database consists of information about a set of customers andaccounts and the relationship between them)
Physical schema: describes database design at the physical level
Logical schema: describes database design at the logical level
Instance the collection of information stored in the database at aparticular point in time
-
8/14/2019 relational algebra,calculas
10/29Silberschatz, Korth and Sudarshan1.10Database System Concepts
Data Independence
capacity to change the schema at one level of a database system withouthaving to change the schema at the next higher level.
Logical data independence
is the capacity to change the conceptual schema without having to change externalschemas or application programs.
We may change the conceptual schema to expand the database (by adding a recordtype or data item), or to reduce the database (by removing a record type or data item).
Physical data independence
is the capacity to change the internal schema without having to change the conceptual(or external) schemas.
Changes to the internal schema may be needed because some physical files had to bereorganizedfor example, by creating additional access structuresto improve theperformance of retrieval or update.
-
8/14/2019 relational algebra,calculas
11/29Silberschatz, Korth and Sudarshan1.11Database System Concepts
Database Users
Actors on the scene:
Database Administrators
Database Designers
End Users
System Analysts and Application Programmers (Software Engineers)
Actors behind the scene: DBMS system designers and implementers
Tool developers
Operators and maintenance personnel
-
8/14/2019 relational algebra,calculas
12/29Silberschatz, Korth and Sudarshan1.12Database System Concepts
DATABASE ADMINISTRATOR
Coordinates all the activities of the database system; thedatabase administrator has a good understanding of theenterprises information resources and needs.
Database administrator's duties include:
Schema definition Storage structure and access method definition
Schema modification
Granting user authority to access the database
Routine maintenance (periodic backup, upgrading disk space,
monitoring running jobs on database)
Specifying integrity constraints
Acting as liaison with users
Monitoring performance and responding to changes in requirements
-
8/14/2019 relational algebra,calculas
13/29Silberschatz, Korth and Sudarshan1.13Database System Concepts
DATABASE DESIGNERS:
responsible for identifying the data to be stored in the database and forchoosing appropriate structures to represent and store this data.
These tasks are mostly undertaken before the database is actuallyimplemented and populated with data.
It is the responsibility of database designers to communicate with all
prospective database users, in order to understand their requirements, and tocome up with a design that meets these requirements.
In many cases, the designers are on the staff of the DBA and may beassigned other staff responsibilities after the database design is completed.
Database designers typically interact with each potential group of users and
develop a view of the database that meets the data and processingrequirements of this group.
-
8/14/2019 relational algebra,calculas
14/29Silberschatz, Korth and Sudarshan1.14Database System Concepts
End users are the people whose jobs require access to the database forquerying, updating, and generating reports; the database primarily existsfor their use. There are several categories of end users:
Casual end users occasionally access the database, but they may need different information each time.
They use a sophisticated database query language to specify their requests.
Naive or parametric end users
main job function revolves around constantly querying and updating the database, using
standard types of queries and updatescalled canned transact ionsthat have beencarefully programmed and tested. The tasks that such users perform are varied:
Bank tellers check account balances and post withdrawals and deposits.
Sophisticated end users
include engineers, scientists, business analysts, and others who thoroughly familiarize
themselves with the facilities of the DBMS so as to implement their applications to meettheir complex requirements.
Stand-alone users
maintain personal databases by using ready-made program packages that provide easy-to-use menu- or graphics-based interfaces.
An example is the user of a tax package that stores a variety of personal financial datafor tax purposes.
-
8/14/2019 relational algebra,calculas
15/29Silberschatz, Korth and Sudarshan1.15Database System Concepts
System Analysts and Application Programmers (Software Engineers)
System analysts determine the requirements of end users, especially naive andparametric end users, and develop specifications for canned transactions that meet theserequirements.
Appl ica t ion programmers implement these specifications as programs; then they test,debug, document, and maintain these canned transactions.
-
8/14/2019 relational algebra,calculas
16/29Silberschatz, Korth and Sudarshan1.16Database System Concepts
Actors behind the Scene
DBMS system designers and implementers
persons who design and implement the DBMS modules and interfacesas a software package.
modules for implementing the catalog, query language, interfaceprocessors, data access, concurrency control, recovery, and security.
-
8/14/2019 relational algebra,calculas
17/29Silberschatz, Korth and Sudarshan1.17Database System Concepts
Tool developers
include persons who design and implement toolsthe software packagesthat facilitate database system design and use, and help improveperformance.
Tools are optional packages that are often purchased separately.
They include packages for database design, performance monitoring, naturallanguage or graphical interfaces, prototyping, simulation, and test datageneration.
-
8/14/2019 relational algebra,calculas
18/29Silberschatz, Korth and Sudarshan1.18Database System Concepts
Operators and maintenance personnel
are the system administration personnel who are responsible for theactual running and maintenance of the hardware and softwareenvironment for the database system.
-
8/14/2019 relational algebra,calculas
19/29Silberschatz, Korth and Sudarshan1.19Database System Concepts
Data Models
A collection of conceptual tools for describing
data
data relationships
data semantics
data constraints
Entity-Relationship model
Relational model : uses a collection of table to represent both data andrelationships.
Other models:
object-oriented model (extension of ER, with notion of encapsulation, methods,objects)
semi-structured data models (where individual data item of same type havedifferent set of attributes.) Older models: network model and hierarchical model
where the hierarchical database model structures data as a tree of records, with each record having oneparent record and many children, the network model allows each record to have multiple parent andchild records, forming a generalized graph structure.
-
8/14/2019 relational algebra,calculas
20/29Silberschatz, Korth and Sudarshan1.20Database System Concepts
Entity-Relationship Model
Example of schema in the entity-relationship model
-
8/14/2019 relational algebra,calculas
21/29Silberschatz, Korth and Sudarshan1.21Database System Concepts
Entity Relationship Model (Cont.)
E-R model of real world
Entities (objects)
E.g. customers, accounts, bank branch
Relationships between entities
E.g. Account A-101 is held by customer Johnson
Relationship set depositorassociates customers with accounts Widely used for database design
Database design in E-R model usually converted to design in therelational model (coming up next) which is used for storage andprocessing
-
8/14/2019 relational algebra,calculas
22/29Silberschatz, Korth and Sudarshan1.22Database System Concepts
Relational Model
Example of tabular data in the relational model
customer-
nameCustomer-
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
-
8/14/2019 relational algebra,calculas
23/29
Silberschatz, Korth and Sudarshan1.23Database System Concepts
A Sample Relational Database
-
8/14/2019 relational algebra,calculas
24/29
Silberschatz, Korth and Sudarshan1.24Database System Concepts
Data Definition Language (DDL)
Specification notation for defining the database schema
E.g.create tableaccount(
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 definitionlanguage
language in which the storage structure and access methodsused by the database system are specified
Usually an extension of the data definition language
Creaye, alter, drop, truncate, grant, revoke
-
8/14/2019 relational algebra,calculas
25/29
Silberschatz, Korth and Sudarshan1.25Database System Concepts
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
Proceduraluser specifies what data is required and how to getthose data
Nonproceduraluser specifies what data is required withoutspecifying how to get those data
SQL is the most widely used query language
Insert, update, delete
-
8/14/2019 relational algebra,calculas
26/29
Silberschatz, Korth and Sudarshan1.26Database System Concepts
SQL
SQL: widely used language
E.g. find the name of the customer with customer-id 192-83-7465select customer.customer-namefrom customerwhere customer.customer-id= 192-83-7465
E.g. find the balances of all accounts held by the customer with
customer-id 192-83-7465select account.balancefrom depositor, accountwhere 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 SQLqueries to be sent to a database
-
8/14/2019 relational algebra,calculas
27/29
Silberschatz, Korth and Sudarshan1.27Database System Concepts
Transaction Management
A transactionis 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) andtransaction failures.
Concurrency-control manager controls the interaction among theconcurrent transactions, to ensure the consistency of thedatabase.
-
8/14/2019 relational algebra,calculas
28/29
Silberschatz, Korth and Sudarshan1.28Database System Concepts
Storage Management
Storage manager is a program module that provides the
interface between the low-level data stored in the database andthe 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
-
8/14/2019 relational algebra,calculas
29/29
Overall System Structure