Database system concepts and architecture Sept. 2012Yangjun Chen ACS-39021 Outline: Concepts and...
-
date post
19-Dec-2015 -
Category
Documents
-
view
215 -
download
0
Transcript of Database system concepts and architecture Sept. 2012Yangjun Chen ACS-39021 Outline: Concepts and...
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 1
Outline: Concepts and Architecture(Chapter 2 – 3rd, 4th, 5th, and 6th ed.)
• Database schema
• Working process with a database system
• Database system architecture
• Data independence concept
• Database language
• Database application
• Interfaces
• Database environment
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 2
Schema: a description of a database -- meta data
• the intension of the database
Schema evolution: if the database definition changes, we say it evolves.
Database State: the data in the database at a particular point in time
• the extension of the schema
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 3
Sample database
Student Name StNo Class Major
Smith 17 1 CS
Brown 8 2 CS
Course CName CNo CrHrs Dept
Database 8803 3 CS
C 2606 3 CS
Section SId CNo Semester Yr Instructor
32 8803 Spring 2000 Smith
25 8803 Winter 2000 Smith
43 2606 Spring 2000 Jones
Grades StNo SId Grade
17 25 A
17 43 B
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 4
University database schema:
Course
Cnamestring(20)
CNo string(20)
CrHrs integer
Dept.String(20)
gradesStNo integer
SId integer
GradeString(20)
Student
Name string(20)
StNo integer
Class integer
Major String(20)
SectionSID integer
CNo string(20)
Semester integer
Yr integer
Instructor string(20)
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 5
Schema evolution:
Course
Cnamestring(20)
CNostring(20)
CrHrs integer
Dept.String(20)
Student
Name string(20)
StNo integer
Class integer
Major String(20)
PrerequisiteCNo string(20)
Pre-CNo string(20)… ...
new table added
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 6
Database evolution:
Course
Cnamestring(20)
Cnostring(20)
CrHrs integer
Dept.String(20)
Student
Name string(20)
StNo integer
Class integer
Major String(20)
Age integer
Sex string(20)
… ...
new attributes added
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 7
Sample database
Student Name StNo Class Major
Smith 17 1 CS
Brown 8 2 CS
Course CName CNo CrHrs Dept
Database 8803 3 CS
C 2606 3 CS
Section SId CNo Semester Yr Instructor
32 8803 Spring 2000 Smith
25 8803 Winter 2000 Smith
43 2606 Spring 2000 Jones
Grades StNo Sid Grade
17 25 A
17 43 B
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 8
Database state changed:
Student Name StNo Class Major
Smith 17 1 CS
Brown 8 2 CS
Course CName CNo CrHrs Dept
Database 8803 3 CS
C 2606 3 CS
Section SId CNo Semester Yr Instructor
32 8803 Spring 2000 Smith
25 8803 Winter 2000 Smith
Grades StNo Sid Grade
17 25 A
17 43 B
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 9
Definition
Manipulation
Construction
We define the database
database state is the empty state with no data
initial state when database is populated (loaded)
current state changes with each insert, delete, update
hopefully, the database goes from one correct/valid state to another
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 10
Three-schema architecture
Externalview
Externalview
Conceptualschema
Internalschema
Physical storage structures and details
Describes the whole database for all users
A specific user or groups view of the database
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 11
Data independence
Ability to change the database at one level with no impact to the next higher level
• physical data independence - the ability to change the physical schema without affecting the conceptual schema
• typical example: add a new index
• logical data independence - the ability to change the conceptual schema without affecting existing external views or application programs
• typical example: add an attribute
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 12
DBMS Languages
Data definition language (DDL): used to define the data schema. Ideally one schema definition language per level
• in practice there might be one for all levels
• SQL provides DDL capabilities for the conceptual and external levels
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 13
DDL - Examples:
• Create schema: Create schema COMPANY authorization JSMITH;
• Create table: Create table EMPLOYEE
(FNAME VARCHAR(15) NOT NULL, MINIT CHAR, LNAME VARCHAR(15) NOT NULL, SSN CHAR(9) NOT NULL, BDATE DATE, ADDRESS VARCHAR(30), SEX CHAR, SALARY DECIMAL(10, 2), SUPERSSN CHAR(9), DNO INT NOT NULL,
PRIMARY KEY(SSN),FOREIGN KEY(SUPERSSN) REFERENCES EMPLOYEE(SSN),FOREIGN KEY(DNO) REFERENCES DEPARTMENT(DNUMBER));
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 14
DBMS Languages
Data Manipulation language (DML): Used to manipulate data.
• typical systems provide a general purpose language for inserting, updating, deleting, and retrieving data
• two distinctions: set-oriented and row-at-a-time
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 15
DML - Examples:
• Insert• Update• Delete
INSERT INTO employee ( fname, lname, ssn, dno )VALUES ( "Joe", "Smith", 909, 1);
UPDATE employee SET salary = 100000WHERE ssn = 909;
DELETE FROM employee WHERE ssn = 909;
Query: Select salary from employee;
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 16
Set-oriented operations
• select Name, StNo from student where Name like “M%”
• EXEC SQL DELETE FROM authors WHERE au_lname = 'White'
Record-at-a-time
• procedural - need loops, etc
• navigate through data obtaining 1 record at a time
• note that SQL does permit this via cursors
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 17
EXEC SQL DECLARE C1 CURSOR FORSELECT au_fname, au_lname FROM authors FOR BROWSE;EXEC SQL OPEN C1;while (SQLCODE == 0){
EXEC SQL FETCH C1 INTO :fname, :lname;print (“the author name is:”, fname, laname);
}
Database applicationsIf an application program that accesses the database embeds DML commands within it, then we have a host language and a data sublanguage.
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 18
DBMS interfaces
• menu-based
• forms-based
• GUI – Graphic User Interface
• natural language
• for parametric users
• for dba
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 19
Example of a menu-based interface: from MS Access
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 20
Example of a GUI from StarTracker
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 21
Example of a natural language interface: (from MS SS7)
English Query translates a natural-language question about data in the database to a set of SQL SELECT statements that can then be executed against the SQL Server database to get the answer.
For example, given a car sales database, an application can send English Query a string containing the question, “How many blue Fords were sold in 2011?”
English Query returns to the application an SQL statement such as:
SELECT COUNT(*) FROM CarSales
WHERE Make = 'Ford’ AND Color = 'Blue'
AND DATEPART(yyyy, SalesDate) = ’2011'
The application can then execute the SQL statement against the SQL Server database to get a number. It can return to the user.
Note the comment: English Query works best with a normalized database.
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 22
DBMS environment
see figure 2.3• stored data manager
A module to control access to DBMS information that is stored on disk, whether it is part of the database or the catalog.
• DDL compiler
A module to process schema definition, specified in the DDL, and store description of the schema (meta-data) in the DBMS catalog.
• DML compiler
It translates the DML commands into object code for database access.• run-time database processor
It handles database access at run time; it receives retrieval or update operations and carries them out on the database.
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 23
A DDL statement: Create table EMPLOYEE
(FNAME VARCHAR(15) NOT NULL, MINIT CHAR, LNAME VARCHAR(15) NOT NULL, SSN CHAR(9) NOT NULL, BDATE DATE, ADDRESS VARCHAR(30), SEX CHAR, SALARY DECIMAL(10, 2), SUPERSSN CHAR(9), DNO INT NOT NULL,
PRIMARY KEY(SSN),FOREIGN KEY(SUPERSSN) REFERENCES EMPLOYEE(SSN),FOREIGN KEY(DNO) REFERENCES DEPARTMENT(DNUMBER));
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 24
REL_NAME ATTR_NAME ATTR_TYPE MEMBER_OF_PK MEMBER_OF_FK FK_RELATION
EMPLOYEE FNAME VSTR15 no no
EMPLOYEE SUPERSSN STR9 no yes EMPLOYEE
EMPLOYEE DNO INTEGER no yes DEPARTMENT
... ...
... ...
REL_AND_ATTR_CATALOG
Meta data in System Catalog:
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 25
DBMS environment
• query compiler
It handles high-level queries that are entered interactively. It parses, analyzes, and compiles or interprets a query by creating database access code, and then generates calls to the rum-time processor for executing the code.
• pre-compiler
It extracts DML commands from an application program which is written in host programming language like C, Pascal, etc.
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 26
DBMS utilities• loading
loading existing files - such as text files or sequential files - into the database.
• Backup
creating a backup copy of the database, usually by dumping the entire database into tape.
• file reorganization
reorganizing a database file into a different file organization to get a better performance.
• performance monitoring
monitoring database usage and providing statistics to the DBA.
Database system concepts and architecture
Sept. 2012 Yangjun Chen ACS-3902 27
Classifying DBMSs
data model:
Relational /object-oriented/hierarchical/network/object-relational
users: single-user/multi-user
location: distributed/centralized
cooperation: homogeneous/heterogeneous
OLTP: on-line transaction processing
• Used to run the day-to-day operations of a business
• event-oriented: take an order, make a reservation, payment for goods, withdraw cash, ...
Database system concepts and architecture
employee
department
project
dependent
With attributes, etc:
works for
manages
works on
dependents of
controls
supervision
bdate
ssn
name
lnameminitfname
sex address salary
birthdatename sex relationship
name number location
name number location
number ofemployeesstartdate
hours
1
1
1
N
supervisor
supervisee M
N
11
NNdegree
1 N
Database system concepts and architecture
ER-to-Relational mapping
1. Create a relation for each strong entity type
2. Create a relation for each weak entity type• include primary key of owner (an FK - foreign key)• owner’s PK + partial key becomes PK
3. For each binary 1:1 relationship choose an entity and include the other’s PK in it as an FK. Include any attributes of the relationship
4. For each binary 1:n relationship, choose the n-side entity and include an FK w.r.t the other entity. Include any attributes of the relationship
Database system concepts and architecture
5. For each binary M:N relationship, create a relation for the relationship• include PKs of both participating entities and any
attributes of the relationship• PK is the concatenation of the participating entity PKs
6. For each multivalued attribute create a new relation• include the PK attributes of the entity type• PK is the PK of the entity type and the multivalued
attribute
7. For each n-ary relationship, create a relation for the relationship• include PKs of all participating entities and any attributes
of the relationship• PK may be the concatenation of the participating entity
PKs