Download presentation
Presentation is loading. Please wait.
1
ECE 569 Database System EngineeringSpring 2003 ECE 569 Database System Engineering Spring 2003 Yanyong Zhang www.ece.rutgers.edu/~yyzhangwww.ece.rutgers.edu/~yyzhang Course URL www.ece.rutgers.edu/~yyzhang/spring03www.ece.rutgers.edu/~yyzhang/spring03
2
ECE 569 Database System EngineeringSpring 2003 About the instructor (Yanyong Zhang) Dr./Prof. Zhang Dr./Prof. Yanyong Yanyong Office: Core 518 Office hours: TBD (usually before class) Office number: 5-0608 Email: yyzhang@ece.rutgers.eduyyzhang@ece.rutgers.edu URL: www.ece.rutgers.edu/~yyzhangwww.ece.rutgers.edu/~yyzhang Research interests: ● distributed computing ● operating systems ● distributed database
3
ECE 569 Database System EngineeringSpring 2003 Something about the background What is database? l a very large, integrated collection of data Query Transaction l A group of queries which possess the ACID (atomic, consistent, isolated, and durable) property DBMS (DataBase Management System) l a software package designed to store and manage databases
4
ECE 569 Database System EngineeringSpring 2003 About the course What will we focus on? l Transaction processing l DBMS design What will we not focus on? l Relational data model, OO data model, etc l SQL programming Goal l Understand DBMS design issues l Develop background for research in database area
5
ECE 569 Database System EngineeringSpring 2003 What should you’ve know Data structure and algorithms Operations system knowledge C, Unix Background in data model and query languages recommended
6
ECE 569 Database System EngineeringSpring 2003 What will you encounter - topics 1. Relational Data Model (2-4) 2. DBMS Design / Implementation (5-11) l a) File organization (5-6) l b) Access methods (7-9) l c) Query processing (10-11) 3. Transaction Processing l a) Transaction Models (12-13) l b) Isolation (14-20) l c) Performance (21-22) l d) B-tree Synchronization (23-24) e) Recovery (25-29)
7
ECE 569 Database System EngineeringSpring 2003 What will you encounter - projects Projects l Develop a client/server relational DBMS -Query processing / Physical data model / Data dictionary - Concurrency control / Recovery l Work in groups of at most 4. -You may choose groups but I must approve. -At least three members of each group should be strong C programmers. l Projects are difficult and time-consuming. -~10K lines of codes -Use threads and RPC -Code is difficult to debug l Projects are interesting and rewarding.
8
ECE 569 Database System EngineeringSpring 2003 Grading Policy 3 Homework assignments (15%) Project (45%) Two exams (20% each) Course URL: www.ece.rutgers.edu/~yyzhang/spring03 www.ece.rutgers.edu/~yyzhang/spring03
9
ECE 569 Database System EngineeringSpring 2003 Database Literature Journals l IEEE Transaction on Knowledge and Data Engineering l ACM Transactions on Database Systems l VLDB Journal Conferences l IEEE Data Engineering Conference l ACM SIGMDO l Very Large Database (VLDB)
10
ECE 569 Database System EngineeringSpring 2003 Time and Location Core 538 schedule l Tuesday all day l Wednesday after 6 PM l Thursday all day Part time students please let me know (access to Core, and 5 th floor)
11
ECE 569 Database System EngineeringSpring 2003 Overview A database management system (DBMS) provides efficient access to large amounts of persistent data l Data models and query languages allow efficient access while hiding complexity from users l Efficient shared access requires concurrency. Transactions provide transparency to this concurrency. Application programs are easier to write. l In many cases the data is valuable. It must be protected from the effects of failure (resiliency) and sabotage (security).
12
ECE 569 Database System EngineeringSpring 2003 Example – medical database Entities in database, the types and names of their attributes, and relationships between entities. Billed AccountMade To Room# Name Address Balance Patient Payment Amount Date Diagnosed DiseaseNameTreatment From Vital Sign Pulse Blood Time
13
ECE 569 Database System EngineeringSpring 2003 Sample applications l Admit_patient l Make_diagnosis l Record_vital_signs In relational data model we can express schema with following tables: l patient (name, address, balance_due, room#) l payments (name, amount, date) l vital_signs (name, pulse, bp, time) l diagnosis (patient_name, disease_name) l disease (disease_name, treatment)
14
ECE 569 Database System EngineeringSpring 2003 Levels of Abstractions Abstraction is used to hide complexity and allow for a separation of concerns (What vs. How). Physical Schema Conceptual Schema View 1 Specialized view of enterprise Complete model of enterprise Records, pointers, indices Subschema definition language Data definition language
15
ECE 569 Database System EngineeringSpring 2003 Examples Physical Level l Specify indices, e.g., CREATE INDEX room_index ON patient(room#); l Specify performance related characteristics of relations Conceptual Level l Define tables, specifying data types for each attribute. CR CREATE TABLE patient ( name char(30), address char(100), balance_due number(6,2), room# integer, PRIMARY KEY (name));
16
ECE 569 Database System EngineeringSpring 2003 Examples – cont’d External Level l Define views for various purposes, e.g., CREATE VIEW doctor-view-diagnosis AS SELECT name, room#, disease_name,treatment FROM patient, diagnosis, diseases WHERE name = patient_name AND diagnosis.disease_name = disease.disease_name;
17
ECE 569 Database System EngineeringSpring 2003 System Architecture DDL: Data Definition Language DML: Data Manipulation Language
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.