Академический Документы
Профессиональный Документы
Культура Документы
Introduction to Database
Management Systems
Nihan Kesim Çiçekli
email: nihan@ceng.metu.edu.tr
URL: http://www.ceng.metu.edu.tr/~nihan/ceng302
1
CENG 302
• Instructor: Nihan Kesim Çiçekli
• Office: A308
• Email: nihan@ceng.metu.edu.tr
• Lecture Hours: Tue. 10:40-11:30 (IE102);
Thu. 13:40-15:30 (IE102)
• Course Web page:
http://www.ceng.metu.edu.tr/~nihan/ceng302
• Teaching Assistant: Ali Anıl Sınacı
2
Text Books and References
1. Raghu Ramakrishnan, Database Management
Systems, McGraw Hill, 3rd edition, 2003 (text
book).
2. R. Elmasri, S.B. Navathe, Fundamentals of
Database Systems, 4th edition, Addison-Wesley,
2004.
3. A. Silberschatz, H.F. Korth, S. Sudarshan,
Database System Concepts, McGraw Hill, 4th
edition, 2002.
3
Grading
• Assignments 20 %
• Midterm 1 25 %
• Midterm 2 25 %
• Final Exam 30 %
4
Grading Policies
• Policy on missed midterm:
– no make-up exam
• Lateness policy:
– Late assignments are penalized up to 10% per
day.
• All assignments are to be your own work.
5
Course Outline
• Introduction to Relational Database Management Systems
• The Relational Data Model
• Relational Algebra
• SQL
• QBE
• Entity-Relationship Model
• Relational Database Design: Normalization
• Secondary Storage Devices
• Sequential Files
• Indexed Sequential Files
• Hashing
6
What Is a DBMS?
A very large, integrated collection of data.
Models real-world enterprise.
– Entities (e.g., students, courses)
– Relationships (e.g., Tarkan is taking CENG302)
A Database Management System (DBMS) is a
software package designed to store and manage
databases.
?
Why Study Databases??
Shift from computation to information
– at the “low end”: scramble to webspace (a mess!)
– at the “high end”: scientific applications
Datasets increasing in diversity and volume.
– Digital libraries, interactive video, Human Genome
project, EOS project
– ... need for DBMS exploding
DBMS encompasses most of CS
– OS, languages, theory, “AI”, multimedia, logic
Why Use a DBMS?
1
Example: University Database
Conceptual schema:
– Students(sid: string, name: string, login: string,
age: integer, gpa:real)
– Courses(cid: string, cname:string, credits:integer)
– Enrolled(sid:string, cid:string, grade:string)
Physical schema:
– Relations stored as unordered files.
– Index on first column of Students.
External Schema (View):
– Course_info(cid:string,enrollment:integer)
1
Instance of Students Relation
Students( sid: string, name: string, login: string,
age: integer, gpa: real )
1
Levels of Abstraction
Many external schemata, External
Schema 1
External
Schema
External
Schema 3
single conceptual(logical) 2
1
Data Independence
Applications insulated from how data is structured
and stored.
Logical data independence: Protection from
changes in logical structure of data.
Physical data independence: Protection from
changes in physical structure of data.
1
These layers
must consider
DB