CSC310: Database Design 6 credits (40-10-10)

Objectives

To explore how information (data) may be stored for easy updates and retrieval, the applications of database management systems, such as in business as well as the use of a relational database, and various techniques for obtaining and analysing data in order to build a database system.

Contents

Applications of database management systems. Importance and requirements of database management systems. Roles of database workers. DBMS concepts: Data and information, databases and database management systems, file processing vs database approach, ACID properties. DBMS architecture. Conceptual data modelling: ER Modelling – entities, attributes relationships and constraints on relationships, weak entities, subclasses, ER design techniques, alternative ER notations; UML database modelling – class and class diagrams, associations, multiplicity, subclasses, aggregation. Relational model: definitions; translating from conceptual to relational model. Functional dependencies: explained, keys of a relation, normalisation (up to BCNF). Relational algebra: core relational algebra, relational algebra based on bags, extended relational algebra operators (to model SQL). Use of a CASE tool for ER and UML modelling; mention forward and reverse engineering. SQL: role of SQL, SQL standards, queries (Select-From-Where statements, subqueries), grouping and aggregation, database modification, defining a database schema, views, stored procedures, triggers. Mention of and comparison of other models of databases. Introduction to data warehousing