Download Data Models

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

IMDb wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Concurrency control wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Database wikipedia , lookup

Relational model wikipedia , lookup

Clusterpoint wikipedia , lookup

Database model wikipedia , lookup

Transcript
Chapter 1: Introduction








BD05/06
Purpose of database systems
Data abstraction levels
Data models
SQL :Data Definition Language and Data
Manipulation Language
Transaction management
Database users
DBMS structure
Typical database architectures
Database management systems
(DBMS)

Collection of interrelated data and a set of programs
to access the data
 DBMS contains relevant information about a
particular enterprise
 DBMS provides an environment that is both
convenient and efficient to 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
BD05/06
DBMS vs File Systems (1)
 In
the early days, database applications were
built on top of file systems
 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 part of program
code; Hard to add new constraints or change
existing ones
BD05/06

DBMS vs File Systems (2)
 Drawbacks

of using file systems (cont.)
Atomicity of updates
• Failures may leave database in an inconsistent
state with partial updates carried out


E.g. 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


E.g. two people reading a balance and updating it at the
same time
Security problems
…. DBMS offer solutions to all the above
BD05/06
problems!
Why use a DBMS?

Data independence and efficient access

Reduced application development time.

Data integrity and security.

Uniform data administration.

Concurrent access, recovery from crashes.
BD05/06
Levels of data abstraction (1)
Physical level: describes how data are
stored.
Logical level: describes data stored in the
database, and the relationships among the
data.
View level: application programs hide details
of data types. Views can also hide
information (e.g., salary) for security
purposes.
BD05/06
Levels of data abstraction (2)
BD05/06
Data Models
 A collection




of conceptual tools for describing:
data
data relationships
data semantics
data constraints
Ex:



Entity-Relationship model, UML class diagram
Relational model
Other models:
• semi-structured data models (XML used to represent sstr.
data)
• older models: network model and hierarchical model
BD05/06
Entity-Relationship Model
Example of schema in the entity-relationship
model
BD05/06
A Sample Relational Database
BD05/06
Data Independence
 Applications
insulated from how data is
structured and stored.
Logical data independence: Protection from
changes in the logical structure of data.
CustomerPublic(customer-id, customer-name)
CustomerPrivate(customer-id, salary)
Physical data independence: Protection from
changes in the physical structure of data.
 One of the most important benefits of using a DBMS!
BD05/06
Instances and Schemas
Schema: the logical structure of the database, a
description of a particular collection of data, using
a given data model



Analogous to type information of a variable in a
program
Physical schema: database design at the physical level
Logical schema: database design at the logical level
Instance: the actual content of the database at a
particular point in time

BD05/06
Analogous to the value of a variable
Levels of data abstraction (recap)
BD05/06
Example
External schema (View):
CustomerPublic (customer-id, customer-name)
Logical schema:
Customer(customer-id, customer-name, customer-street,
customer-age)
Account(account-number, balance)
Depositor(account-number, customer-id)
Physical schema:


Relations stored as unordered files.
Index on first column of Customer.
BD05/06
SQL: Structured Query Language
 A DBMS


provides:
a Data Definition Language (DDL)
a Data Manipulation Language (DML)
as part of a single DB language: SQL
 Most
widely used declarative query language
• Procedural – user specifies what data is required and
how to get those data
• Declarative – user specifies what data is required
without specifying how to get those data
BD05/06
SQL: Data Definition Language
(DDL)
 DDL:
Specification notation for defining the
database
• Ex:
create table account( 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)
Ex: Database schema, consistency constraints,
access methods
BD05/06

SQL: Data Manipulation
Language (DML)
 Language
for accessing and manipulating
data
 Ex: 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’
BD05/06
Transaction Management
 A transaction
is a collection of operations that
performs a single logical function in a
database application

Ex: funds transfer includes withdraw from account
A and deposit into account B
 Transaction
management component ensures
that the database remains in a consistent
(correct) state despite system failures (e.g.,
power failures and operating system crashes)
and transaction failures.
BD05/06
Database Users (1)
 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
Naïve/End users: invoke one of the permanent
application programs that have been written
previously
• E.g. people accessing database over the web,
bank tellers, clerical staff
BD05/06
Database Users (2)

Application programmers Coordinates all the activities
of the database system; has a good understanding of
the enterprise’s information resources and needs.
Duties include:
• Schema definition
• Storage structure and access method definition
• Schema and physical organization modification
• Granting user authority to access the database
• Specifying integrity constraints
• Acting as liaison with users
• Monitoring performance, tuning the system and responding
to changes in requirements
BD05/06
Overall DBMS Structure
BD05/06
Database applications
 Application
programs generally access
databases through one of:


BD05/06
Language (C, C++, Java, etc) extensions to
allow embedded SQL
Application program interface (e.g.
ODBC/JDBC) which allow SQL queries to be
sent to a database
Typical 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”
BD05/06