Académique Documents
Professionnel Documents
Culture Documents
1
Database System Concepts 1.1 Silberschatz, Korth and Sudarshan
LEANING OUTCOMES
At the end of this course you should be able to: 1. 2. 3. Explain what is a database Discuss the advantage and disadvantages of database and explain the architecture of databases Describe the different approaches to database design and list down the advantages of the relational model design Perform INF,2NF, and BCNF normalization, ER and EER modelling Design and implement well-structured relational database
RCS 201 Database Design 3
4. 5.
Assessment modality
The course will be assessed as follows:
Lectures and practicals attendance: 10marks Two individual timed tests @ 15 marks= 30 Total coursework 40%
TEXTBOOKS
1. Elmasri,Ramez & Shamkant Fundamental of Database Systems 2. Date, C.J Introduction to Database Systems REFERENCE BOOKS 1.SilberschatzKorthSudarshan Database System Concepts, Fourth Edition
What is:
A database Data A database management system (DBMS)
6
Database System Concepts 1.6 Silberschatz, Korth and Sudarshan
UoD object(s)
James
Property
Time Value
Age
Feb 2007 21
Number of Points
Feb 2007 240
7
1.7
Definition of a Database
A database is a collection of related data Essential database characteristics are: -Represents an aspect of the real world (miniworld,Universe of Discourse (UoD)),
Well structured (even has a strict regular structure), Reflects (or should reflect) current state of the UoD, Has users and applications, and Stored in a permanent (persistent) computer memory Managed by a Database Management System (DBMS)
8
Database System Concepts 1.8 Silberschatz, Korth and Sudarshan
What Is a Database?
Real World
represented in
contents and operations of a database
facts about the world in a database facts about the world in a database facts about the world in a database facts about the world in a database facts about the world in a database facts about the world in a database more facts more facts more facts more facts more facts more facts more facts more facts more facts more facts facts about the world in a database facts about the world in a database facts about the world in a database facts about the world in a database facts about the world in a database facts about the world in a database some more rather long facts about the world in the databse some more rather long facts about the world in the databse some more rather long facts about the world in the databse some more rather long facts about the world in the databse some more rather long facts about the world in the databse some more rather long facts about the world in the databse
Database
facts about the world in a database facts about the world in a database facts about the world in a database facts about the world in a database facts about the world in a database facts about the world in a database facts about the world in a database facts about the world in a database
Users
9
Database System Concepts 1.9 Silberschatz, Korth and Sudarshan
A Sample Database
Studen t LName FName StudId Smith Bond Smith Course Susan James Susan Major 131313 Comp 007007 Math 555555 Comp Hours 2+1 Dept Comp Grade StudId 007007 007007 007007 CourId C302 C301 M214 Grade A+ A A+
131313
555555 131313 555555
C301
C301 C302 C302
BC D E
SofEng C301
DisMat M214
2+0
4+1
Comp
Math
10
Database System Concepts 1.10 Silberschatz, Korth and Sudarshan
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
11
Database System Concepts 1.11 Silberschatz, Korth and Sudarshan
The DBMS is hence a general-purpose software system that facilitates the processes of defining, constructing, and manipulating databases for various applications. Defining a database involves specifying the data types, structures, and constraints for the data to be stored in the database.
Constructing the database is the process of storing the data itself on some storage medium that is controlled by the DBMS. Manipulating a database includes suchSilberschatz, Korth and Sudarshan functions 1.12
12
of a database.
13
Database System Concepts 1.13 Silberschatz, Korth and Sudarshan
Database System
DBMS
Database Description
DDL Compiler
Data Access
Query Processor
Catalog
Database
14
1.14
Store the data? (use file structure..) Query the data? (write a programme..) Update the data safely?(write more programmes..) Provide different views on the same data? Deal with crashes?
15
Database System Concepts 1.15 Silberschatz, Korth and Sudarshan
systems
Drawbacks of using file systems to store data:
of program code
Hard to add new constraints or change existing ones
16
Database System Concepts 1.16 Silberschatz, Korth and Sudarshan
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
17
Database System Concepts 1.17 Silberschatz, Korth and Sudarshan
18
Database System Concepts 1.18 Silberschatz, Korth and Sudarshan
3 Levels of Abstraction
1.Physical level describes how a record (e.g., customer) is stored. 2.Logical level: describes data stored in database, and the relationships among the data. type customer = record name : string; street : string; city : integer; end;
3. View level: application programs hide details of data types. Views can also hide information (e.g., salary) for security purposes.
19
Database System Concepts 1.19 Silberschatz, Korth and Sudarshan
View of Data
An architecture for a database system
20
Database System Concepts 1.20 Silberschatz, Korth and Sudarshan
e.g., the database consists of information about a set of customers and accounts and the relationship between them)
21
Database System Concepts 1.21 Silberschatz, Korth and Sudarshan
1.22
Data Models
Data models is a collection of tools for describing
data data relationships data semantics data constraints
Entity-Relationship model
Object-oriented model, Object-relational model semi-structured data models Older models: network model and hierarchical model
23
Database System Concepts 1.23 Silberschatz, Korth and Sudarshan
Entity-Relationship Model
24
Database System Concepts 1.24 Silberschatz, Korth and Sudarshan
Entities (objects)
E.g. customers, accounts, bank branch
25
Database System Concepts 1.25 Silberschatz, Korth and Sudarshan
Relational Model
Attributes
Alma
North Alma
A-101
A-215 A-201
Main
North
A-217
A-201
26
Database System Concepts 1.26 Silberschatz, Korth and Sudarshan
27
Database System Concepts 1.27 Silberschatz, Korth and Sudarshan
dictionary
Data dictionary contains metadata (i.e., data about data)
database schema
Data storage and definition language
language in which the storage structure and access methods
28
Database System Concepts 1.28 Silberschatz, Korth and Sudarshan
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
29
Database System Concepts 1.29 Silberschatz, Korth and Sudarshan
SQL
SQL: widely used non-procedural 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
Application program interface (e.g. ODBC/JDBC) which allow SQL queries to be sent to a database
30
Database System Concepts 1.30 Silberschatz, Korth and Sudarshan
Database Users
Users are differentiated by the way they expect to interact with
the system
Application programmers interact with system through DML
calls
Sophisticated users form requests in a database query
language
Specialized users write specialized database applications that
31
Database System Concepts 1.31 Silberschatz, Korth and Sudarshan
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 and physical organization modification
Transaction Management
A transaction is a collection of operations that
the database 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
33
Database System Concepts 1.33 Silberschatz, Korth and Sudarshan
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
34
Database System Concepts 1.34 Silberschatz, Korth and Sudarshan
DBMS Architecture
Client API
Client
Query Parser
Query Optimizer
Relational Operators
Execution Engine
Buffer Management
Disk Space Management
Disk
Database System Concepts
DB
35
1.35 Silberschatz, Korth and Sudarshan
Main Memory
Price Goes Up
Hard Disk
Reliability Goes Up
Tape/CD
36
Database System Concepts 1.36 Silberschatz, Korth and Sudarshan
37
Database System Concepts 1.37 Silberschatz, Korth and Sudarshan
Application Architectures
Two-tier architecture: E.g. client programs using ODBC/JDBC to communicate with a database Three-tier architecture: E.g. web-based applications, and applications built using middleware
38
Database System Concepts 1.38 Silberschatz, Korth and Sudarshan
Research Labs:
1) IBM Almaden Research Lab, 2) AT&T Research Labs, 3) Microsoft Research Lab, 4) Lucent Technologies.
Database Products:
1) Oracle, 2) IBM DB2, 3) MySQL, 4) Sybase, 5) MS SQL Server, 6) Informix.
39
Database System Concepts 1.39 Silberschatz, Korth and Sudarshan
Database Professionals
Database implementers
Build application that run on top of the DBMS, and are used by endusers to interact with their data. Students in ICOM 5016
Database Administrators
Create database schema Maintain and tune the DBMS engine Maintain and tune the data in the DBMS
SUMMARY
In this presentation we defined a database as a collection of related data, where data means recorded facts. A typical database represents some aspect of the real world and is used for specific purposes by one ormore groups of users. A DBMS is a generalized software package for implementing and maintaining a computerized database. The database and software together form a database system.
We identified several characteristics that distinguish the database approach from traditional file-processing applications:
41
Database System Concepts 1.41 Silberschatz, Korth and Sudarshan
Summary continue..
Existence of a catalog. Program-data independence and program-operation independence. Data abstraction. Support of multiple user views. Sharing of data among multiple transactions.
We then discussed the main categories of database users, or the "actors on the scene": Administrators. Designers. End users. System analysts and application programmers.
42
Database System Concepts 1.42 Silberschatz, Korth and Sudarshan
Summary conti...
We noted that, in addition to database users, there are several categories of support personnel, or "workers behind the scene," in a database environment: DBMS system designers and implementers. Tool developers. Operators and maintenance personnel.
We listed some additional advantages of the database approach over traditional file-processing systems:
potential for enforcing standards. Reduced application development time. Flexibility. Availability of up-to-date information to all users. Economies of scale.
43
Database System Concepts 1.43 Silberschatz, Korth and Sudarshan