1 CS U430: Database Design Spring 2006 Panfeng (Tony) Zhou
2 Who am I? PhD student in Database research area 10 years experiences in DB application development 12 industry world projects in Finance, Education, Health Insurance, Manufacture, etc
3 What could you learn from this course? You will understand the structure of DBMS and DB language (SQL). You will learn the index methods of database. You will learn how to implement a web application from scratch.
4 Main content of the course Basic structure of DBMS Queries the database Create/Update table content/structure Design the database (ER model) Web interface for database A project that covers all contents in the course and you can implement a DBMS from scratch
5 Main content of today 1. Introduction to DBMS 2. Relational rules 3. Sample database
6 1.1 Database is everywhere Shop at supermarket (e.g., Stop&Shop, etc). Shop online (e.g., Borrow book from library. ………..
7 1.2 Structure of web DBMS Web browser Web server Databases and DBMS Structured Query Language (SQL)
8 1.3 Products for each components ComponentProducts BrowerIE, Firefox, etc Web ServerMS IIS, Apache, Resin, etc DB ServerOracle, DB2, MySQL, MS SQL, MS Access, etc Operating SystemMS Window, Linux, Sun Solaris, etc Programming language MS ASP, Java, PHP, etc.
9 1.4 What inside the database? A set of tables. Each table “is” a spread sheet. Staff_IDF_nameL_namePositionGenderDOBSalaryBranch_ID SA9MaryHoweAssistantF19-Feb B007 SG14DavidFordSupervisorM24-Mar B003 SG37AnnBeechAssistantF10-Nov B003 SG5SusanBrandManagerF3-Jun B003 SL21JohnWhiteManagerM1-Oct B005 SL41JulieLeeAssistantF13-Jun B005 Field Record Header
10 2. Relational rules for relational database Rule 1: First Normal Form Rule Rule 2: Access Row by Content Only Rule Rule 3: The Unique Row Rule Rule 4: Entity integrity Rule
First Normal Form Rule Fields cannot have multi-values attributes or have any internal structures. Staff_IDNamePositionClients 001TonyManagerAmanda 002RobbieAgent Smith Andrew
First Normal Form Rule (cont) Staff_IDNamePositionClients1 001TonyManagerAmanda 002RobbieAgentSmit h Clients2 Andrew Problems: 1.Waste space 2.Not flexible
First Normal Form Rule (cont) Staff_IDNamePositionStaff_ID 001TonyManager 002RobbieAgent Smit h Client Andrew Amanda Employees Clients
Access Row by Content Only Rule Records can only be retrieved by their content (the attribute values in each record). Implications: 1.There is no order on the records (e.g., We cannot ask for the 3 rd record in the employee table) 2. We cannot retrieve a “pointer” to a record to retrieve it later.
The Unique Row Rule Two records in a table cannot be identical in all column values at once. Staff_IDNamePosition 001TonyManager 002RobbieAgent 001TonyManager Note: Keep this row in your mind. You might spend a lot of time and effort to enforce this rule.
The Unique Row Rule (cont) Table Key: a set of attributes K with two properties: 1. K is unique for each record. 2. The subset of K is not unique for each record. Primary Key: is a table key chosen by the database designer to uniquely identify specific records in the table. Note: one table has more than one key, but only one primary key.
The Unique Row Rule (cont) Staff_IDNamePosition 001TonyManager 003RobbieAgent 002ScottAgent Employee
Entity integrity Rule The primary key cannot be empty Staff_IDNamePosition 001TonyManager 003RobbieAgent nullScottAgent nullScottAgent Note: 1.Cannot retrieve the record by primary key. 2.Cannot distinguish duplicated records.
19 3. Sample database Client Private Owner Properties For Rent Registration Staff Viewing Branch
20 3. Sample database (cont) Client table PrivateOwner table Staff table Branch table PropertyForRent table Registration table Viewing table
21 3. Sample database (cont) Load table structure Load data in table one by one 1. Client table 2. PrivateOwner table 3. Branch table 4. Staff table 5. PropertyForRent table 6. Registration table 7. Viewing table