BIE-DBS – Database Systems

Annotation

Students are introduced to the database engine architecture and typical user roles. They are briefly introduced to various database models. They learn to design small databases (including integrity constraints) using a conceptual model and implement them in a relational database engine. They get a hands-on experience with the SQL language, as well as with its theoretical foundation – the relational database model. They learn the principles of normalizing a relational database schema. They understand the fundamental concepts of transaction processing, controlling parallel user access to a single data source, as well as recovering a database engine from a failure. They are briefly introduced to special ways of storing data in relational databases with respect to speed of access to large quantities of data. This introductory-level module does not cover: Administration of database systems, debugging and optimizing database applications, distributed database systems, data stores.

Lectures Program

  1. Bulk data processing concepts. DBMS architecture. Functions of individual components.
  2. Data abstraction. Conceptual, database and physical level data model.
  3. Conceptual data model. Basic constructs, integrity constraints.
  4. Overview of database models - network, relational, object-relational and object-oriented model.
  5. Relational data model. Relations, attributes, domains, relational database schema, DDL SQL.
  6. Expressing integrity constraints through functional dependencies. Normal forms of relations.
  7. Database query languages. Relational algebra, SQL.
  8. [2] SQL: DDL, DCL, DML, TCL.
  9. Relational schema design. Normalization using decomposition. Decomposition quality criteria.
  10. Relational database schema design using a direct transformation from a conceptual schema.
  11. Transactions, error recovery, concurrency control, data security and integrity.
  12. Physical data model, tables as heaps, Rowid direct access, B* tree type index, bitmap index, indexed cluster, hashed cluster.

Labs Program

  1. Seminar: Introduction, project assignment.
  2. Computer lab: Introduction to the environment and the tools.
  3. Seminar: Conceptual data modeling.
  4. Computer lab: SQL communication with a database engine, working with a conceptual modeler.
  5. Seminar: Conceptual data modeling, relational algebra as a query language.
  6. Computer lab: Working on projects, consultations.
  7. Seminar: Relational algebra as a query language.
  8. Computer lab: Working on projects, consultations.
  9. Seminar: SQL.
  10. Computer lab: Working on projects, consultations, project checkpoint.
  11. Seminar: SQL.
  12. Computer lab: Working on projects, presentations.
  13. Seminar: Normalization of a schema, functional dependencies.


Last modified: 7.9.2010, 11:03