* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Slides1
Oracle Database wikipedia , lookup
Relational algebra wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Concurrency control wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Ingres (database) wikipedia , lookup
Clusterpoint wikipedia , lookup
ContactPoint wikipedia , lookup
CS U430: Database Design Spring 2006 Panfeng (Tony) Zhou 1 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 2 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. 3 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 4 Main content of today 1. Introduction to DBMS 2. Relational rules 3. Sample database 5 1.1 Database is everywhere Shop at supermarket (e.g., Stop&Shop, etc). Shop online (e.g., www.amazon.com). Borrow book from library. ……….. 6 1.2 Structure of web DBMS Web browser Web server Databases and DBMS Structured Query Language (SQL) 7 1.3 Products for each components Component Brower Web Server DB Server Operating System Products IE, Firefox, etc MS IIS, Apache, Resin, etc Oracle, DB2, MySQL, MS SQL, MS Access, etc MS Window, Linux, Sun Solaris, etc Programming language MS ASP, Java, PHP, etc. 8 1.4 What inside the database? A set of tables. Each table “is” a spread sheet. Field Header Record Staff_ID F_name L_name Position Gender DOB Salary Branch_ID SA9 Mary Howe Assistant F 19-Feb-70 9000 B007 SG14 David Ford Supervisor M 24-Mar-58 18000 B003 SG37 Ann Beech Assistant F 10-Nov-60 12000 B003 SG5 Susan Brand Manager F 3-Jun-40 24000 B003 SL21 John White Manager M 1-Oct-45 30000 B005 SL41 Julie Lee Assistant F 13-Jun-65 9000 B005 9 2. Relational rules for relational database Rule Rule Rule Rule 1: 2: 3: 4: First Normal Form Rule Access Row by Content Only Rule The Unique Row Rule Entity integrity Rule 10 2.1 First Normal Form Rule Fields cannot have multi-values attributes or have any internal structures. Staff_ID Name 001 Tony Position Clients Manager Amanda Smith 002 Robbie Agent Andrew 11 2.1 First Normal Form Rule (cont) Staff_ID Name Position 001 Tony Manager 002 Robbie Agent Clients1 Clients2 Amanda Smit h Andrew Problems: 1. Waste space 2. Not flexible 12 2.1 First Normal Form Rule (cont) Employees Clients Staff_ID Name Position Staff_ID Client 001 Tony Manager 001 Amanda 002 Robbie Agent 002 Andrew 002 Smit h 13 2.2 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 3rd record in the employee table) 2. We cannot retrieve a “pointer” to a record to retrieve it later. 14 2.3 The Unique Row Rule Two records in a table cannot be identical in all column values at once. Staff_ID Name Position 001 Tony Manager 001 Tony Manager 002 Robbie Agent Note: Keep this row in your mind. You might spend a lot of time and effort to enforce this rule. 15 2.3 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. 16 2.3 The Unique Row Rule (cont) Employee Staff_ID Name Position 001 Tony Manager 002 Scott Agent 003 Robbie Agent 17 2.4 Entity integrity Rule The primary key cannot be empty Staff_ID Name Position 001 Tony Manager null Scott Agent 003 Robbie Agent null Scott Agent Note: 1. Cannot retrieve the record by primary key. 2. Cannot distinguish duplicated records. 18 3. Sample database Client Staff Registration Branch Viewing Private Owner Properties For Rent 19 3. Sample database (cont) Client table PrivateOwner table Staff table Branch table PropertyForRent table Registration table Viewing table 20 3. Sample database (cont) 1. 2. 3. 4. 5. 6. 7. Load table structure Load data in table one by one Client table PrivateOwner table Branch table Staff table PropertyForRent table Registration table Viewing table 21