CS3402 Database Systems

 

Part I

Course Duration:
One Semester

Credit Units: 3

Level: B3

Medium of Instruction: English

Pre-requisites:
CS2311 Computer Programming; or
CS2313 Computer Programming; or
CS23
31 Problem Solving and Programming; or
CS2332
Object-Oriented Programming; or
CS2362 Computer Programming for Engineers & Scientists; or
CS2363 Computer Programming; or
CS2372 Fundamentals of Programming; or 
equivalent

Pre-cursors:
Nil

Equivalent Courses:
Nil

Exclusive Courses:
Nil

Part II


Course Aims:


This course aims to provide fundamental
understanding of database design principles, implementation and management in a single-site environment.

Course Intended Learning Outcomes (CILOs):

Upon successful completion of this course, students should be able to:

No.

CILOs

Weighting
(if applicable)

1.

write SQL queries to retrieve information from a database proficiently;
 

 

2.

identify and perform the steps involved in the design of a database;
 

 

3.

implement and critique the design in a relational database management system;
 

 

4.

describe the principles of transactions and concurrency control.
 

 

Teaching and learning Activities (TLAs):
(Indicative of likely activities and tasks designed to facilitate students' achievement of the CILOs. Final details will be provided to students in their first week of attendance in this course)

Teaching pattern:

Suggested lecture/tutorial/laboratory mix: 
2 hrs. lecture; 1 hr. tutorial.

Based on the course ILOs, the teaching/learning activities of this course may include:

CILO No

TLAs

Hours/week
(if applicable)

CILO 1, 2
and 4

Lecture: The instructor will explain the course material in detail. Lectures support ILOs 1, 2, and 4.
 

 

CILO 2
and 4

Assignment: Each student is required to independently work on 2-3 assignments.  Each assignment contains several questions designed to help students consolidate the concepts/algorithms learned.  This learning method supports ILOs 2 and 4.
 

 

CILO 1

Hands-on practice: The instructor will arrange tutorials in labs where each student can practice database operations on actual database management systems (e.g., Oracle).  This learning method supports ILO 1.
 

 

CILO 2
and 3

Project: Each student is required to complete and implement a database design for a concrete application. In such a project, a student needs to draw the ER diagrams for the application, convert the diagrams to relational tables, perform the necessary normalization, and implement the final tables in a database management system.  This learning method supports ILOs 2 and 3.
 

 

Assessment Tasks/Activities:
(Indicative of likely activities and tasks designed to assess how well the students achieve the CILOs. Final details will be provided to students in their first week of attendance in this course)


The Course ILOs are assessed using the following approach:

CILO No

Type of assessment tasks/activities

Weighting
(if applicable)

Remarks

CILO 1

Write SQL queries to extract information from a database proficiently.
Coursework
: Students may be required to finish several designated SQL tasks in some lab sessions, or may be tested on SQL during in-class tests.
Exam
: Students will be given a practical scenario including a set of table schemas. They will be asked to write SQL queries to retrieve tuples satisfying various predicates. They may also be given some SQL queries, and requested to explain in English what kind of tuples are extracted by each query.
  

 

 

CILO 2

Identify and perform the steps involved in the design of a database.
Coursework
: Students’ ability of designing a database will be evaluated by the quality of her/his design in the project.
Exam
: Students will be given an un-normalized table and a set of functional dependencies, and are required to decompose the table into normalized relations in BCNF/3NF.  They may also be requested to create an ER-diagram that reasonably models a certain scenario, and to convert the diagram into relational tables.
  

 

 

CILO 3

Implement and critique the design in a relational database management system.
Coursework
: This objective will also be assessed through the project.  In particular, students are expected to capture all the integrity constraints specified in the project. Furthermore, students should be able to judge if an implementation of the design is efficient, i.e., whether it incurs low  update/query overhead or not.
  

 

 

CILO 4

Understand the principles of transactions and concurrency control.
Exam
: Students will be given several threads, and required to work out a schedule of executing the operations in these threads according to a concurrency control protocol.
  

 

 

It is worth mentioning that the types of questions in the final exam are versatile, and may include types that are not mentioned earlier. However, in any case, all questions will aim at demanding students to demonstrate that they have adequately fulfilled the above ILOs. 

Grading of Student Achievement:


Examination duration:
2 hours
Percentage of coursework, examination, etc.:
40% CW; 60% Exam
Grading pattern
: Standard (A+AA-…F)

For a student to pass the course, at least 30% of the maximum mark for the examination must be obtained.

Part III

Keyword Syllabus:


Database design methodology: entity-relationship model, functional dependency,
normalization, data definition language. Query Language: SQL, relational algebra, query by example. Data model: relational model. Database management issues: integrity, trigger, user constraint, security. Transaction management: ACID properties, concurrency control, serializability, locking protocols, deadlock. WWW applications.

Related Links
Department of Computer Science