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