MSIA 413: Introduction to Databases & Information Retrieval

Quarter Offered

Fall ; Nikos Hardavellas


The main goal of this course is to expose the students to the fundamentals of the Data Management and Database Systems in general and, more specifically, to Database Design and Querying, providing a balance between the breadth and the depth.

It will introduce several abstractions and concepts that are relevant for a domain-expert to know about databases (e.g., their role in enterprise-systems, their capabilities/use, their potential in decision-making and data mining, optimization, etc.). Lastly, the course will discuss “alternative perceptions” of data – namely, information retrieval and non-traditional databases (e.g., graph databases, the paradigm of NoSQL).  Due to the timing (and other) constraints, we cannot explore all of these at the same level of detail. The rationale for the selection of the topics is that, once the course has been completed, the students should feel comfortable discussing certain system-oriented aspects of the overall database management with the folks that are in charge of the actual implementation/system-maintenance/support details.

Some parts of the course (e.g., ER-design; Database Design from ER models; the Quality of the Database Design; Database Querying and SQL; Triggers and databases with reactive capabilities) will be allocated larger portions of the class and will have dedicated projects allocated to them. The motivation for this is two-fold: (1) Given the background of the targeted audience, these parts of the overall database theory, practice and systems-aspect can be tackled at a greater depth; (2) These parts of the overall database design/querying are the ones that have closest “ties” with multiple application domains.

Hence, after completing the course – in addition to the capabilities to comfortably design and query databases, along with exploiting their potential in the overall business process management (e.g. using data mining tools) – the students should have a solid understanding of some aspects of the data management that will enable them to communicate with many of the other kinds of professionals involved in the database issues (e.g., DB administrators; DB application-programmers) in an “almost peer-to-peer” manner.