Back to Module List

CMPC2B08 - DATABASE SYSTEMS

Module Code:
CMPC2B08
Department:
Computing Sciences
Credit Value:
20
Level:
2
Organiser:
Dr. Beatriz De La Iglesia
This module covers most aspects of databases, database manipulation and database management systems. The module is mainly based on the relational model, although other models are also discussed. The students will explore the tools and methods for database design as well as the programming of database applications. Part of the practical experience gained will be acquired using a modern commercial relational database management system. Students will also gain programming experience using SQL, and using the Java JDBC interface. A high level language programming module is a pre-requisite.

Where necessary, lectures will be given using a data projector to allow example programs to be demonstrated. Example programs and course notes are distributed via Blackboard; accessible to all students registered for the module.

Laboratory work will take place during time-tabled laboratory periods using MS Windows-based networked personal computers and an PostgresSQL database server. CMP teaching laboratories are available to CMP students during term time outside time-tabled teaching hours. General computing resources are located elsewhere on campus (e.g. the library).


Main course text:

Connolly, T.M. and Begg,C.E., Database Systems(5th edition), Addison-Wesley,  ISBN: 0321-21025-5.
 

Possible alternative purchases:

Van Der Lans,R., An Introduction to SQL, Addison-Wesley


Submission:

Written coursework should be submitted by following the standard CMP practice. Students are advised to refer to the Guidelines and Hints on Written Work in CMP.

Deadlines:

If coursework is handed in after the deadline day or an agreed extension:
 

 

Work submitted Marks deducted
After 15:00 on the due date and before 15:00 on the day following the due date 10 marks
After 15:00 on the second day after the due date and before 15:00 on the third day after the due date 20 marks
After 15:00 on the third day after the due date and before 15:00 on the 20th day after the due date.  All the marks the work merits if submitted on time (ie no marks awarded) 
After 20 working days Work will not be marked and a mark of zero will be entered


Saturdays and Sundays will NOT be taken into account for the purposes of calculation of marks deducted.

All extension requests will be managed through the LTS Hub. A request for an extension to a deadline for the submission of work for assessment should be submitted by the student to the appropriate Learning and Teaching Service Hub, prior to the deadline, on a University Extension Request Form accompanied by appropriate evidence. Extension requests will be considered by the appropriate Learning and Teaching Service Manager in those instances where (a) acceptable extenuating circumstances exist and (b) the request is submitted before the deadline. All other cases will be considered by a Coursework Coordinator in CMP.

For more details, including how to apply for an extension due to extenuating circumstances download Submission for Work Assessment (PDF, 39KB)
 

Plagiarism:

Plagiarism is the copying or close paraphrasing of published or unpublished work, including    the work of another student; without due acknowledgement. Plagiarism is regarded a serious offence by the University, and all cases will be investigated. Possible consequences of plagiarism include deduction of marks and disciplinary action, as detailed by UEA's Policy on Plagiarism and Collusion.


Module specific:

  • To introduce to concepts of databases, database manipulation and database management systems.
  • To consider the relational model of data, relational algebra and their relevance to practical database management.
  • To consider the process of designing a database including an appreciation of entity relationship modelling, enhanced ER modelling and the nature & role of relational normalisation.
  • To introduce physical database design, file organisation and indexing techniques, and appreciate the query planning & optimisation.
  • To consider need for database query languages, the role & structure of SQL and the use of SQL in a host language (Java).
  • To introduce the concept distributed databases including the need to modify the database design process and to extended the functionality of DBMSs. implementations.
  • To introduce transactions in the context of concurrency control and recovery.

Transferable skills:

  • To study appropriate written and electronic resources and extract relevant information.
  • To gain further experience in a broad range of IT skills, including client-server database systems, interactive query languages and program development.
  • To develop a methodical approach to design problems through top-down and bottom-up design techniques.
  • To develop a methodical approach to problem solving, program design and testing using step-wise refinement and object oriented techniques

On completion of this module students should be able to:

  • Describe the main characteristics of the database approach to data management, a database, data manipulation tasks and database management systems.
  • Describe the process of database design using enhanced entity relationship (EER) modelling and relational normalisation.
  • Design simple databases using EER techniques and to check designs using normalisation rules.
  • Summarise the relative advantages of different file organisations and file access methods and choose a suitable organisation for a particular type of database query.
  • Write interactive SQL queries for defining and manipulating databases.
  • Write Java programs using the JDBC API to implement SQL queries.
  • Write a simple database application program using a database server.
  • Summarise the differences between centralised and distributed database design and DBMSs.

This module is delivered as a programme of lectures, supported by workshops and laboratory classes. Reading, workshop preparation and lab preparation time is required in addition to formal contact hours.

Total Hours: 48 hours

Lectures: 22 hours

  1. Introduction, database environment
  2. Relational model, relational algebra
  3. Enhanced entity relationship modelling
  4. Simple SQL
  5. Advanced SQL
  6. Further SQL 
  7. Normalisation.
  8. Transaction Processing
  9. File organisations in DBMSs
  10. Query planning and processing
  11. Distributed design and DBMSs

Workshops: 10 hours

  1. Orientation in Databases
  2. Relations
  3. Relational algebra
  4. ER design part 1
  5. ER design part 2
  6. SQL I
  7. SQL II
  8. Normalisation
  9. Physical design
  10. Query processing

Laboratory Work: 16 hours

  1. VIsio
  2. Simple SQL
  3. More SQL
  4. Simple use of JDBC
  5. Further use of JDBC
  6. Application use of JDBC
  7. Application development clinic
  8. Application testing clinic

This module is assessed by two pieces of coursework and an exam. The coursework will consist of a database design exercise and a database programming exercise involving JDBC and the IBM DB2 database.

  • Part 1: Design Exercise (10%)
  • Part 2: Programming Exercise (30%)