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, such as Object Oriented, XML and RDF 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 Algegra, Relational Calculus, Normal Forms, Conceptual Modeling, Query Language, SQL, Transaction, Concurrency Control, Recovery, Data Storage, Indexing, Query Processing, Object Oriented Database, XML Database, RDF Database
|✔ Specialist skills||Intercultural skills||Communication skills||Critical thinking skills||✔ Practical and/or problem-solving skills|
Standard lectures with short exercise in each class
|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 (SQL, QBE), Aggrgate Functions||Write database queries|
|Class 6||Update, Data Definition, View||Write update and database definition|
|Class 7||Intermediate Exam.||Confirm understanding the first half|
|Class 8||Transaction 1: ACID Property, Two-Phase Lock, Hierarchical Lock||Understand the concept of transactions|
|Class 9||Transaction 2: Time Stamp, Multiversioning, Recovery, RAID||Understand methods for recovery|
|Class 10||Method for storing Data: Non-volatile Storage, Page, Records, Indexing||Understand methods for storing data|
|Class 11||Query Processing 1: Projection, Selection, Nested Loop Join, Sort Merge Join||Understand query processing|
|Class 12||Query Processing 2: Hash Join, Division, Intersection, Union||Understand query processing|
|Class 13||Object Oriented Databases, ORDB||Understand Object Oriented Database model|
|Class 14||XML Databases, RDF Databases||Understand XML/RDF 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 OCW/OCW-i
C. J. Data, An Introduction to Database Systems, 8th Edition, Addison-Wesley
50% Intermediate Exam., 50%Final Exam., and additional points for answering to questions during lectures