Introduction to Database Management (6 ECTS)

Course Code: 
6245
Semester: 
6th
Elective Courses
Διδάσκων: 

KONSTANTINOS PANOUSIS

Databases began as a simple application in early 70s and grew to one of the most important fields in computer industry, touching hundreds of ΙΤ applications. This outcome was somehow expected, since the focus of database research is the description, storage and usage of data. To describe a database application, we need a data model, such as the entity-relationship or the relational model. To retrieve and make use of the stored data, we need a generic query language, such as SQL. Finally, there are numerous ways to store data, depending on how this will be used. The goal of this course is to educate students on how to design properly, build efficiently and use a database intelligently. Furthermore, it should make apparent the various trade-offs that exist in designing, building and using such an application. The aim of this course is for the students to be able to correctly design and implement a database application, to know how to set simple and complex questions in the database and to define those structures that lead to optimal system performance.

The course contents include:

  • Introduction: Purpose, data models, database languages, users, transactions, architecture.
  • Entity-Relationship Model: Entities, relationships, attributes, keys, mapping cardinalities, weak entities, E-R diagrams, mapping to tables, examples.
  • Relational Model: Relations, relational schema, relational algebra.
  • The SQL Language: Basic structure, nested subqueries, aggregation, views, update, procedural and embedded SQL, triggers.
  • Relational Design: Integrity constraints, functional dependencies, decomposition, normalization.
  • Storing and Indexing: File organization, indexing, hashing, trees.
  • Special Topics (if there is time): Data warehousing, OLAP, data mining, data streams, OO DBs.

Recommended Reading

  • «Συστήματα Διαχείρισης Βάσεων Δεδομένων», Τόμος Α΄ & Β΄, R. Ramakrishnan & J. Gehrke, Εκδόσεις Τζιόλα, 2002.
  • «Θεμελιώδεις Αρχές Συστημάτων Βάσεων Δεδομένων», Τόμος Α' & Β', R. Elmasri S. B. Navathe (μεταφραστική επιμέλεια Μ. Χατζόπουλος), Εκδόσεις Δίαυλος, 2001.

The courses outline can be found here.