This course is a comprehensive introduction to concept, models and technologies of database systems that are now regarded as the most important infrastructure of information systems.
At first, it gives the relational database models with the relational algebra, relational calculus, and normal forms. It then explains the conceptual modeling, query languages including SQL, and the important concept of transactions including the concurrency control and recovery. Technologies for storing data, indexing, and processing queries are also treated. It introduces recent trends of databases.
By the end of this course, students will be able to
1) Understand the basic concept and models of databases
2) Design databases in normal form satisfying requirements
3) Write appropriate queries for databases
4) Handle concurrency control and recovery of transactions
5) Use techniques for storing data, indexing, and processing queirs
6) Have knowledge about recent trends of databases
Relational Model, Relational Algebra, Relational Calculus, Normal Forms, Conceptual Modeling, Query Language, SQL, Transaction, Concurrency Control, Recovery, Data Storage, Indexing, Query Processing
✔ Specialist skills | Intercultural skills | Communication skills | Critical thinking skills | ✔ Practical and/or problem-solving skills |
Standard lectures with short exercise in each class, and practices with relational databases
Course schedule | Required learning | |
---|---|---|
Class 1 | Introduction: Basic Concept of Database, Data Model, Relational Model | Understand concepts of databases |
Class 2 | Relational Model: Relational Algebra | Understand Relational Algebra |
Class 3 | Relational Model: Relational Calculus, Normal Form | Understand Relational Calculus and Normal Form |
Class 4 | ER Model, DDL, DML, Relational Completeness | Understand Conceptual Model, DDL, DML |
Class 5 | Query Examples, Aggregation Functions | Write database queries |
Class 6 | Update, Data Definition, View | Write update and database definition |
Class 7 | Transaction 1: ACID Property, Two-Phase Lock, Hierarchical Lock | Understand the concept of transactions |
Class 8 | Transaction 2: Time Stamp, Multiversioning, Recovery | Understand methods for recovery |
Class 9 | Method for storing Data: Non-volatile Storage, Page, Records, Indexing | Understand physical data store |
Class 10 | Query Processing 1: Buffer Management, Projection, Selection, Sort, | Understand query processing |
Class 11 | Query Processing 2: Nested Loop Join, Sort Merge Join, Hash Join, Query Optimization | Understand query processing |
Class 12 | Advanced SQL | Understand advanced SQL |
Class 13 | Object-orientation and databases | Understand object-orientation on databases |
Class 14 | Practices on relational databases | Understand operations of relational databases |
To enhance effective learning, students are encouraged to spend approximately 100 minutes preparing for class and another 100 minutes reviewing class content afterwards (including assignments) for each class.
They should do so by referring to textbooks and other course material.
Distribute manuscripts through T2SCHOLA
Ullman et al., A First Course in Database Systems, 3rd Edition, Pearson Education, 2014
Grading is based on intermediate assignment (50%) and final exam (50%).
None
miyazaki[at]c.titech.ac.jp
Due to the limitation of the computer lab., if the number of students exceeds the limit, the students of computer science have a priority.