Database
Management
Systems
Instructor: Yrd. Doç. Dr. Cengiz Örencik
E-mail: cengizorencik@beykent.edu.tr
Course material
http://myweb.sabanciuniv.edu/cengizo/cour
ses
◦ all the notes will be shared there
Not required
You may use any database book
Database Management Systems – 3rd Edition
◦ Ramakrishnan and Gehrke
Midterm
Inclass quizzes (2)
Final
Hws
40%
10%
50%
◦ Self study
◦ Not to be graded
4
Managing data
Introduction to Database design
◦ Entities, attributes, relationships, etc.
◦ ER model
Relational Model
◦ Representing data
◦ Create, modify, query…
Relational Algebra vs. SQL
Storage and Indexing
Transaction Management
◦ Concurrency control
◦ Crash recovery
5
Database Management System (DBMS)
provides….
… efficient, reliable, convenient, and safe
multi-user storage of and access to massive
amounts of persistent data.
Massive – terrabytes/day
Persistent
Safe – hard/software failure, power cut
Multi-user
Convenient
Efficient
Reliable
A Database Management System (DBMS) is a
software package designed to store and manage
databases
We will not consider:
Database applications may be programmed via
“frameworks”
◦ Environments that help to develop program
◦ Ruby on rails, Django…
DBMS may run in conjunction with “middleware”
◦ Web servers that interact with database
Data-intensive applications may not use DBMS at
all
◦ Store everything on files
Data independence
Efficient access
Data integrity and security
Uniform data administration
Reduced application development time
◦ Application programs don’t need details of data representation
and storage
◦ A variety of techniques
◦ Enforce constraints, access control…
◦ How different groups of users use it
◦ Organized to minimize redundancy
◦ DBMS support most common important functions
Concurrent access, recovery from crashes
◦ Multiple users use it without conflict
◦ Protect from effects of system failures
Data described as a set of records
Example: Student information in a university
Students(sid: integer, name: string, mail:
string, age: integer, gpa: real)
Sid
Name
Mail
Age
Gpa
53666
Jone
jone@cs
20
3.2
53680
Smith
smith@cs
21
2.9
53442
Smith
smith@math
19
3.85
53123
Alice
alice@ee
21
3.5
Relation student
Each column attributes
Each row is a record that describes a student
Integrity constraints
◦ Sid must be unique
What is the name of the student with sid
53680?
How many students are enrolled to DBMS
course?
What fraction of students of DBMS course get
a grade better than BB?
DBMS implementer
Database designer
Database application developer
Database administrator
◦ Builds the system
◦ Works for IBM or Oracle
◦ Interact users
◦ Establishes the schema - relations
◦ How to structure – how to store
◦ Builds the programs that operate on the database
◦ Use tools DBMS provides
◦ Usually not computer professionals
◦ loads the data, keep it running
DBMS used to maintain, query large datasets
Benefits include recovery from system
crashes, concurrent access, quick application
development, data integrity and security
DBAs hold responsible jobs
and are well paid
Whether you know it or not, you’re using a
database every hour