Professional Documents
Culture Documents
Data Management
Application
Query Query
Query
Data
Example: At a Company
Query 1: Is there an employee named Nemo? Query 2: What is Nemos salary? Query 3: How many departments are there in the company? Query 4: How many employees have Salary >= 80K? Query 5: What is the name of Nemos department? Query 6: How many employees are there in the Accounts department? Employee
ID 10 20 40 52 Name Nemo Dory Gill Ray DeptID 12 156 89 34 Salary 120K 79K 76K 85K
Department
ID 12 34 89 156 Name IT Accounts HR Marketing
Answer Translates Q into best execution plan for current conditions, runs plan
DBMS
Data
Cars
Make Honda Toyota Mini Honda Model Accord Camry Cooper Accord OwnerID 12 34 89 156
Owners
ID 12 34 89 156 Name Nemo Ray Gill Dory Age 22 42 36 21
Answer Translates Q into best execution plan for current conditions, runs plan
DBMS
Keeps data safe and correct despite failures, concurrent updates, online processing, etc.
Data
DBMS is multi-user
Example
Get account balance from database; If balance > amount of withdrawal then balance = balance - amount of withdrawal; dispense cash; store new balance into database;
Homer at ATM1 withdraws $100 Marge at ATM2 withdraws $50 Initial balance = $400, final balance = ? Should be $250 no matter who goes first
read balance; $400 if balance > amount then balance = balance - amount; $3 write balance; $350
if balance > amount then balance = balance - amount; $300 write balance; $300
if balance > amount then balance = balance - amount; $300 write balance; $300 if balance > amount then balance = balance - amount; $3 write balance; $350
Recovery in DBMS
Example: balance transfer decrement the balance of account X by $100; increment the balance of account Y by $100; Scenario 1: Power goes out after the first instruction Scenario 2: DBMS buffers and updates data in memory (for efficiency); before they are written back to disk, power goes out Log updates; undo/redo during recovery
Answer Translates Q into best execution plan for current conditions, runs plan
DBMS
Keeps data safe and correct despite failures, concurrent updates, online processing, etc.
Data
Course Outline
50% of the class is about core DBMS concepts
Query execution, query optimization, transactions, recovery, etc. Textbook material
Loader
Table R Table S
Result
Input streams
Course Outline
50% of the class is about core DBMS concepts
Query execution, query optimization, transactions, recovery, etc. Textbook material
DBMS
TeraBytes PetaBytes
Data
<CD> <TITLE>Empire B.</TITLE> <ARTIST>Bob Dylan</ARTIST> <COUNTRY>USA</COUNTRY> <COMPANY>Columbia </COMPANY> <PRICE>10.90</PRICE> </CD>
Course Logistics
Recommended reference: Database Systems: The Complete Book, by H. Garcia-Molina, J. D. Ullman, and J. Widom Web site: http://www.cs.duke.edu/education/courses/fall06/cps216
Grading:
Homework Assignments 15% Project 25% Midterm 25% Final 35%