CENG 302
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.
7
?
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
8
Why Use a DBMS?
Data independence and efficient access.
Reduced application development time.
Data integrity and security.
Uniform data administration.
Concurrent access, recovery from crashes.
9
Data Models
A data model is a collection of concepts for
describing data.
A schema is a description of a particular
collection of data, using the given data model.
The relational model of data is the most widely
used model today.
– Main concept: relation, basically a table with rows and
columns.
– Every relation has a schema, which describes the
columns, or fields.
10
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)
11
Instance of Students Relation
Students( sid: string, name: string, login: string,
age: integer, gpa: real )
sid name login age gpa
53666 Jones jones@cs 18 3.4
53688 Smith smith@ee 18 3.2
53650 Smith smith@math 19 3.8
12
Levels of Abstraction
External External External
Many external schemata, Schema 1 Schema Schema 3
single conceptual(logical) 2
schema and physical
schema. Conceptual Schema
– External schemata describe
how users see the data.
Physical Schema
– Conceptual schema defines
logical structure
– Physical schema describes the
files and indexes used.
Schemas are defined using DDL; data is modified/queried using DML.
13
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.
One of the most important benefits of using a DBMS!
14
These layers
must
consider
Structure of a DBMS concurrency
control and
recovery
A typical DBMS has a Query Optimization
layered architecture. and Execution
This is one of several Relational Operators
possible architectures;
each system has its own Files and Access Methods
variations. Buffer Management
Disk Space Management
DB
15