Professional Documents
Culture Documents
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
1.1
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
1.2
Functions of DBMS
Defining a database: Specifying the data structures and constraints for the data to be stored in the 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
1.3
This definition is stored in DBMS catalog The information stored in catalog is called meta-data.
A database typically has many users, each of whom may require a different perspective or view of the database.
1.4
file systems
Drawbacks of using file systems to store data:
file formats(programs may be written in different programming languages), duplication of information in different files.
of program code
Hard to add new constraints or change existing ones
1.5
Atomicity of updates
Failures may leave database in an inconsistent state with partial
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
1.6
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 hides the rest of the database from that user group
1.7
View of Data
An architecture for a database system
1.8
e.g., the database consists of information about a set of customers and accounts 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 a
1.9
Data Independence
capacity to change the schema at one level of a database system without
We may change the conceptual schema to expand the database (by adding a record type or data item), or to reduce the database (by removing a record type or data item).
1.10
Database Users
Actors on the scene:
Database Administrators Database Designers
End Users
System Analysts and Application Programmers (Software Engineers)
1.11
DATABASE ADMINISTRATOR
Coordinates all the activities of the database system; the
database administrator has a good understanding of the enterprises 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
Database System Concepts 1.12 Silberschatz, Korth and Sudarshan
DATABASE DESIGNERS:
responsible for identifying the data to be stored in the database and for
prospective database users, in order to understand their requirements, and to come up with a design that meets these requirements.
In many cases, the designers are on the staff of the DBA and may be
Database designers typically interact with each potential group of users and develop a view of the database that meets the data and processing requirements of this group.
1.13
END USERS End users are the people whose jobs require access to the database for querying, updating, and generating reports; the database primarily exists for 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.
Stand-alone users
maintain personal databases by using ready-made program packages that provide easyto-use menu- or graphics-based interfaces.
An example is the user of a tax package that stores a variety of personal financial data for tax purposes.
Database System Concepts 1.14 Silberschatz, Korth and Sudarshan
1.15
persons who design and implement the DBMS modules and interfaces as a software package. modules for implementing the catalog, query language, interface processors, data access, concurrency control, recovery, and security.
1.16
Tool developers
include persons who design and implement toolsthe software packages that facilitate database system design and use, and help improve performance. Tools are optional packages that are often purchased separately. They include packages for database design, performance monitoring, natural language or graphical interfaces, prototyping, simulation, and test data generation.
1.17
are the system administration personnel who are responsible for the actual running and maintenance of the hardware and software environment for the database system.
1.18
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 and relationships. 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 have different 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 one parent record and many children, the network model allows each record to have multiple parent and child records, forming a generalized graph structure.
Database System Concepts 1.19 Silberschatz, Korth and Sudarshan
Entity-Relationship Model
1.20
Entities (objects)
E.g. customers, accounts, bank branch
Database design in E-R model usually converted to design in the relational model (coming up next) which is used for storage and processing
1.21
Relational Model
Attributes
Palo Alto
Harrison Rye
321-12-3123
019-28-3746
1.22
1.23
dictionary
Data dictionary contains metadata (i.e., data about data)
1.24
Procedural user specifies what data is required and how to get those data
Nonprocedural user specifies what data is required without specifying how to get those data
SQL is the most widely used query language Insert, update, delete
1.25
SQL
SQL: widely used language
E.g. 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 E.g. 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.26
Transaction Management
A transaction is a collection of operations that performs a single
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
1.27
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
1.28
1.29