• Home
  • About
  • Mobile
  • Open Content
  • Search

Module Overview


  • Description
  • Facilitators
  • Weblinks
  • Timetable
CS2102/CS2102S 

DATABASE SYSTEMS
   2008/2009, Semester 1
   School of Computing (Computer Science)
Modular Credits: CS2102 ( -- ) / CS2102S ( -- )
  Tags: --

Synopsis

TopThis course provides and initial yet robust coverage of the fundamental topics pertaining to the design and implementation of database application and to the management of data with database management systems. The course covers both practical and theoretical aspects. The focus is on relational database technology. The course covers both practical and theoretical aspects. The focus is on relational database technology.

Learning Outcomes

TopThis second year introductory course introduces the fundamental concepts and techniques necessary for the understanding and practice of the design and implementation of database applications and of the management of data with database management systems. The course covers both practical and theoretical aspects in order to provide immediate and long term learning benefits. The focus is on relational database technology. Students are expected to acquire practical skills for the design and implementation of database applications. In particular, they should master entity-relationship design, normalization, and SQL data definition and manipulation. Students are expected to acquire a deep understanding of the basic concepts underlying the design and querying of relational database applications with database management systems. In particular they should understand the theory of query languages, integrity constraints and normalization. On completion of this course, students should be able to understand state-of-art database technology, to easily follow technological developments, to understand and learn independently proprietary aspects of commercial database management systems, to integrate a database application development and management team and to actively contribute as designers or programmers. The emphasis is put on conceptual understanding of design and programming with a focus on the software engineering benefits of good design and elegant programming. Issues related to performance and performance tuning are addressed as digressions when appropriate but are generally left for study in subsequent modules (such as CS5226) as they require deeper understanding of the architecture, the algorithms and the data structures at the core of the database management system (as studied in CS3223). at the core of the database management system (as studied in CS3223).

Syllabus

Top

The introduction lectures tries and identifies the specific requirements of a database application. These requirements (e.g., management of large and homogeneous collections of structured data) motivate the rest of the syllabus, while their initial discussion in class allows to introduce the basic concepts and to give the elementary definitions (e.g., hierarchy of storage, transaction).

Design is covered in a series of lectures that present and discuss data models in general, logical modeling with the relational data model, conceptual modeling with the entity-relationship model and as normalization with functional dependencies (second, third and Boyce-Codd normal forms). In these lectures and in the associated assignments and tutorials, the importance of physical and knowledge independence is emphasized. The importance of integrity constraints is underlined both in practice (SQL data definition language) and in theory (functional dependencies theory and normalization).

A primer in SQL programming is given as soon as the semester’s schedule allows. Then a series of lectures iteratively deepen the knowledge and understanding of SQL queries by studying not only SQL data manipulation advanced constructs but also the theoretical query languages domain relational calculus, t-uple relational calculus and algebra (thus highlighting the spectrum of choices for writing queries in SQL).

Transactions, stored procedures, triggers as well as the connectivity of SQL with programming language are also studied for the effective implementation of applications.

Plan:

Introduction

Relational Model

The Relational Model

Integrity Constraints

Relational Calculus

Logic and Calculus

T-uple Relational Calculus (TRC)

Domain Relational Calculus (DRC)

Relational Algebra

SQL

Data Definition Language

Data Manipulation Language

Updates

Simple Queries

Aggregate Queries

Nested Queries

SQL and Programming Languages

Procedural SQL

Database connectivity

Embedded SQL

Entity-Relationship Model

Entities and Relationships

Constraints

Mapping from ER diagrams to Relational Schema

Normalisation

Anomalies and Decomposition

Functional Dependencies

Normalisation

Schedule

TopConsult the lesson plan for a detailed schedule for this semester.

Teaching Modes

Top

As a core module, this unit deploys conventional strategies for teaching and learning. It consists of lectures and tutorials.

Tutorials on practical topics are conducted in the laboratory in order to allow students to immediately verify their answer and experiment with a database management system. All tutorials are designed to require students' active participation.

All efforts are made to maintain a lively and interactive learning and teaching environment.

This is, in particular achieved by leveraging the available information and communication technologies. We make extensive use of NUS Integrated Virtual Learning Environment (IVLE). For instance we use online discussion forums for both administrative and technical discussions. We use the Gradiance online assignment for flexible and rigorous online continuous assessment.

Practical Work

TopPractical work takes the form of three tutorial in the laboratory and one group project. SQL tutorials are conducted in the laboratory as early as weeks 3, 4 and 5 in order to give an early practical knowledge of SQL programming and to motivate the rest of the material studied. The project is done in teams of 4 to 5 students. The project consists in building a Web-database application, generally a variation on the theme of the online catalog. The objective of the project is to apply the concepts and techniques learned in class for the design and programming of a database application. The evaluation of the project considers the scope of concepts and techniques used and their relevance. For instance, students should try and appropriately use the simple and advanced SQL constructs that have beenl earned: simple queries, aggregate queries, integrity constraints, views, etc.

Assessment

Top

Final Exam

60%

Home assignments

10%

Midterm

20%

Project

10%

Prerequisites

Top

Prerequisites: (CS1102 or CS1102C or CS1102S) and (CS1231 or MA1100)

Preclusions: CS2102S, IT2002

Contact

  • IVLE Webmaster

Social Media

Latest Alerts

  • IVLE scheduled maintenance every Tuesday 0300 hrs - 0700 hrs

Centre for Instructional Technology

Legal  |  Acceptable Use Policy

Copyright © 2015, National University of Singapore. All rights reserved.