Presentation is loading. Please wait.

Presentation is loading. Please wait.

Database system concepts and architecture Sept. 2012Yangjun Chen ACS-39021 Outline: Concepts and Architecture (Chapter 2 – 3 rd, 4 th, 5 th, and 6 th ed.)

Similar presentations


Presentation on theme: "Database system concepts and architecture Sept. 2012Yangjun Chen ACS-39021 Outline: Concepts and Architecture (Chapter 2 – 3 rd, 4 th, 5 th, and 6 th ed.)"— Presentation transcript:

1 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-39021 Outline: Concepts and Architecture (Chapter 2 – 3 rd, 4 th, 5 th, and 6 th ed.) Database schema Working process with a database system Database system architecture Data independence concept Database language Database application Interfaces Database environment

2 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-39022 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

3 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-39023 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

4 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-39024 University database schema: Course Cnamestring(20) CNo string(20) CrHrsinteger Dept.String(20) grades StNointeger SIdinteger GradeString(20) Student Namestring(20) StNointeger Classinteger MajorString(20) Section SIDinteger CNostring(20) Semesterinteger Yrinteger Instructorstring(20)

5 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-39025 Schema evolution: Course Cnamestring(20) CNostring(20) CrHrsinteger Dept.String(20) Student Namestring(20) StNointeger Classinteger MajorString(20) Prerequisite CNostring(20) Pre-CNostring(20) …... new table added

6 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-39026 Database evolution: Course Cnamestring(20) Cnostring(20) CrHrsinteger Dept.String(20) Student Namestring(20) StNointeger Classinteger MajorString(20) Ageinteger Sexstring(20) …... new attributes added

7 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-39027 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

8 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-39028 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

9 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-39029 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

10 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-390210 Three-schema architecture External view External view Conceptual schema Internal schema Physical storage structures and details Describes the whole database for all users A specific user or groups view of the database

11 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-390211 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

12 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-390212 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

13 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-390213 DDL - Examples: Create schema: Create schema COMPANY authorization JSMITH; Create table: Create table EMPLOYEE (FNAMEVARCHAR(15)NOT NULL, MINITCHAR, LNAMEVARCHAR(15)NOT NULL, SSNCHAR(9)NOT NULL, BDATEDATE, ADDRESSVARCHAR(30), SEXCHAR, SALARYDECIMAL(10, 2), SUPERSSNCHAR(9), DNOINTNOT NULL, PRIMARY KEY(SSN), FOREIGN KEY(SUPERSSN) REFERENCES EMPLOYEE(SSN), FOREIGN KEY(DNO) REFERENCES DEPARTMENT(DNUMBER));

14 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-390214 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

15 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-390215 DML - Examples: Insert Update Delete INSERT INTO employee ( fname, lname, ssn, dno ) VALUES ( "Joe", "Smith", 909, 1); UPDATE employee SET salary = 100000 WHERE ssn = 909; DELETE FROM employee WHERE ssn = 909; Query: Select salary from employee;

16 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-390216 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

17 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-390217 EXEC SQL DECLARE C1 CURSOR FOR SELECT 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 applications If an application program that accesses the database embeds DML commands within it, then we have a host language and a data sublanguage.

18 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-390218 DBMS interfaces menu-based forms-based GUI – Graphic User Interface natural language for parametric users for dba

19 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-390219 Example of a menu-based interface: from MS Access

20 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-390220 Example of a GUI from StarTracker

21 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-390221 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.

22 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-390222 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.

23 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-390223 A DDL statement: Create table EMPLOYEE (FNAMEVARCHAR(15)NOT NULL, MINITCHAR, LNAMEVARCHAR(15)NOT NULL, SSNCHAR(9)NOT NULL, BDATEDATE, ADDRESSVARCHAR(30), SEXCHAR, SALARYDECIMAL(10, 2), SUPERSSNCHAR(9), DNOINTNOT NULL, PRIMARY KEY(SSN), FOREIGN KEY(SUPERSSN) REFERENCES EMPLOYEE(SSN), FOREIGN KEY(DNO) REFERENCES DEPARTMENT(DNUMBER));

24 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-390224 REL_NAME ATTR_NAME ATTR_TYPE MEMBER_OF_PK MEMBER_OF_FK FK_RELATION EMPLOYEEFNAME VSTR15 no EMPLOYEESUPERSSN STR9 noyesEMPLOYEE DNO INTEGER noyesDEPARTMENT... REL_AND_ATTR_CATALOG Meta data in System Catalog:

25 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-390225 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.

26 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-390226 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.

27 Database system concepts and architecture Sept. 2012Yangjun Chen ACS-390227 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,...

28 Database system concepts and architecture employee department project dependent With attributes, etc: works for manages works on dependents of controls supervision bdate ssn name lname minit fname sex address salary birthdatenamesex relationship name numberlocation name numberlocation number of employees startdate hours 1 1 1 N supervisor supervisee M N 1 1 N N degree 1 N

29 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

30 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


Download ppt "Database system concepts and architecture Sept. 2012Yangjun Chen ACS-39021 Outline: Concepts and Architecture (Chapter 2 – 3 rd, 4 th, 5 th, and 6 th ed.)"

Similar presentations


Ads by Google