Database concept & model
Download
Report
Transcript Database concept & model
Chapter 1: Introduction
Database System Concepts, 6th Ed.
©Silberschatz, Korth and Sudarshan
See www.db-book.com for conditions on re-use
Database Management System (DBMS)
DBMS contains information about a particular enterprise
Collection of interrelated data
Set of programs to access the data
An environment that is both convenient and efficient to use
Database Applications:
Banking: transactions
Airlines: reservations, schedules
Universities: registration, grades
Sales: customers, products, purchases
Online retailers: order tracking, customized recommendations
Manufacturing: production, inventory, orders, supply chain
Human resources: employee records, salaries, tax deductions
Databases can be very large.
Databases touch all aspects of our lives
Database System Concepts - 6th Edition
1.2
©Silberschatz, Korth and Sudarshan
University Database Example
Application program examples
Add new students, instructors, and courses
Register students for courses, and generate class rosters
Assign grades to students, compute grade point averages (GPA)
and generate transcripts
In the early days, database applications were built directly on top of
file systems
Database System Concepts - 6th Edition
1.3
©Silberschatz, Korth and Sudarshan
Drawbacks of using file systems to store data
Data redundancy and inconsistency
Multiple file formats, duplication of information in different files
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
“buried” in program code rather than being stated explicitly
Hard to add new constraints or change existing ones
Database System Concepts - 6th Edition
1.4
©Silberschatz, Korth and Sudarshan
Drawbacks of using file systems to store data (Cont.)
Atomicity of updates
Failures may leave database in an inconsistent state with partial updates
carried out
Example: Transfer of funds from one account to another should either
complete or not happen at all
Concurrent access by multiple users
Concurrent access needed for performance
Uncontrolled concurrent accesses can lead to inconsistencies
– Example: Two people reading a balance (say 100) and updating it by
withdrawing money (say 50 each) at the same time
Security problems
Hard to provide user access to some, but not all, data
Database systems offer solutions to all the above problems
Database System Concepts - 6th Edition
1.5
©Silberschatz, Korth and Sudarshan
Data Models
A collection of tools for describing
Data
Data relationships
Data constraints
A data model is not just a way of structuring data: it also defines a
set of operations that can be performed on the data
A database model is the theoretical foundation of a database
fundamentally determines in which manner data
can be stored
Organized
Manipulated
It defines the infrastructure offered by a particular database system.
The most popular example of a database model is the relational
model
Database System Concepts - 6th Edition
1.6
©Silberschatz, Korth and Sudarshan
Data Models
Example of database model
Relational model
Object-based data models (Object-oriented and Objectrelational)
Other older models:
Network model
Hierarchical model
Database System Concepts - 6th Edition
1.7
©Silberschatz, Korth and Sudarshan
Relational Model
collection of data items organized as a set of formallydescribed tables
data can be accessed or reassembled in many different ways
without having to reorganize the database tables
was invented by E. F. Codd at IBM in 1970
store data in 2 dimensional: rows & columns
Database System Concepts - 6th Edition
1.8
©Silberschatz, Korth and Sudarshan
A Sample Relational Database
Fields / attributes
Records / tuples
Database System Concepts - 6th Edition
1.9
©Silberschatz, Korth and Sudarshan
Object Oriented Database model
is a database management system (DBMS) that supports the
modelling and creation of data as objects
Object Oriented Databases (ODBMS) store data together with
the appropriate methods for accessing it i.e. encapsulation
An extension of RDBMS
Best used when there is complex data and/or complex data
relationships
Database System Concepts - 6th Edition
1.10
©Silberschatz, Korth and Sudarshan
Relational database of a cat
Database System Concepts - 6th Edition
Object-oriented database of a cat
1.11
©Silberschatz, Korth and Sudarshan
Object-Relational Data Models
Relational model: flat, “atomic” values
Object Relational Data Models
Extend the relational data model by including object orientation
and constructs to deal with added data types.
Allow attributes of tuples to have complex types, including nonatomic values such as nested relations.
Preserve relational foundations, in particular the declarative
access to data, while extending modeling power.
Provide upward compatibility with existing relational languages.
Database System Concepts - 6th Edition
1.12
©Silberschatz, Korth and Sudarshan
Network Database Model
a flexible way of representing objects and their relationships
Some data were more naturally modeled with more than one parent
per child.
hence, the network model permitted the modeling of many-to-many
relationships in data
Database System Concepts - 6th Edition
1.13
©Silberschatz, Korth and Sudarshan
Hierarchical data model
The hierarchical data model organizes data in a tree structure.
The structure allows representing information using
parent/child relationships:
Each parent can have many children but each child only has
one parent (also known as a 1:many ratio )
Database System Concepts - 6th Edition
1.14
©Silberschatz, Korth and Sudarshan
Database Design
The process of designing the general structure of the database:
Logical Design – Deciding on the database schema. Database design
requires that we find a “good” collection of relation schemas.
Business decision – What attributes should we record in the
database?
Computer Science decision – What relation schemas should we
have and how should the attributes be distributed among the various
relation schemas?
Physical Design – Deciding on the physical layout of the database
Database System Concepts - 6th Edition
1.15
©Silberschatz, Korth and Sudarshan
Database Design?
Is there any problem with this design?
Database System Concepts - 6th Edition
1.16
©Silberschatz, Korth and Sudarshan
Terminologies
A simple key contains a single attribute.
A composite key is a key that contains more than one attribute.
A candidate key is an attribute (or set of attributes) that uniquely
identifies a row. A candidate key must possess the following
properties:
Unique identification - For every row the value of the key must
uniquely identify that row.
Non redundancy - No attribute in the key can be discarded without
destroying the property of unique identification.
A primary key is the candidate key which is selected as the principal
unique identifier. Every relation must contain a primary key. The
primary key is usually the key selected to identify a row when the
database is physically implemented. For example, a part number is
selected instead of a part description.
Database System Concepts - 6th Edition
1.17
©Silberschatz, Korth and Sudarshan
Terminologies
A superkey is any set of attributes that uniquely identifies a row. A
superkey differs from a candidate key in that it does not require the
non redundancy property.
A foreign key is an attribute (or set of attributes) that appears
(usually) as a non key attribute in one relation and as a primary key
attribute in another relation. I say usuallybecause it is possible for a
foreign key to also be the whole or part of a primary key:
A many-to-many relationship can only be implemented by
introducing an intersection or link table which then becomes the
child in two one-to-many relationships. The intersection table
therefore has a foreign key for each of its parents, and its primary
key is a composite of both foreign keys.
A one-to-one relationship requires that the child table has no more
than one occurrence for each parent, which can only be enforced
by letting the foreign key also serve as the primary key.
Database System Concepts - 6th Edition
1.18
©Silberschatz, Korth and Sudarshan
History of Database Systems
1950s and early 1960s:
Data processing using magnetic tapes for storage
Tapes provided only sequential access
Punched cards for input
Late 1960s and 1970s:
Hard disks allowed direct access to data
Network and hierarchical data models in widespread use
Ted Codd defines the relational data model
Would win the ACM Turing Award for this work
IBM Research begins System R prototype
UC Berkeley begins Ingres prototype
High-performance (for the era) transaction processing
Database System Concepts - 6th Edition
1.19
©Silberschatz, Korth and Sudarshan
History (cont.)
1980s:
Research relational prototypes evolve into commercial systems
SQL becomes industrial standard
Parallel and distributed database systems
Object-oriented database systems
1990s:
Large decision support and data-mining applications
Large multi-terabyte data warehouses
Emergence of Web commerce
Early 2000s:
XML and XQuery standards
Automated database administration
Later 2000s:
Giant data storage systems
Google BigTable, Yahoo PNuts, Amazon, ..
Database System Concepts - 6th Edition
1.20
©Silberschatz, Korth and Sudarshan
End of Chapter 1
Database System Concepts - 6th Edition
1.21
©Silberschatz, Korth and Sudarshan