- Context
This course was taught to second-year undergraduates on the University of York Computer Science Department's main computing B.Sc. degrees. I taught it six times between 1990 and 1994. It would need considerable updating before it could be used again.
- Student weekly workload
Weeks 1-9: 2 * 50 min lectures, 4 hrs private study
- Prerequisites
To tackle this course, students need to know:
- some discrete maths: set theory, relations
- some procedural programming, including file handling
- Assessment
Unseen half-paper (1.5 hrs): one short answer question (choosing 7 out of 10 parts, worth 10 marks), and choosing 2 from 4 long questions (each worth 20 marks).
- Description
Every information system needs some form of data repository. The advantages of using database technology to provide this repository in computerised information systems have long been recognised. Databases can now be found in information systems for application areas as diverse as business data processing, scientific data analysis and engineering project support.
This course investigates the concepts common to the use of databases in all these areas. Roughly equal weight is given to database technology, to database theory and to the process of database design.
- Aims
- Students should become proficient in designing database systems for business applications.
- Students should become proficient in using and writing programs for interrogating commercial relational database technology.
- Content
- (L1-2) Introduction to databases and database design.
- (L3-4) Conceptual data modelling.
- (L5) The relational data model.
- (L6-7) Logical data modelling.
- (L8) The architecture of a relational database system.
- (L9) Database implementation.
- (L10) Relational algebra.
- (L11) SQL.
- (L12) The external level.
- (L13-14) The internal level.
- (L15) The implementation of relational algebra.
- (L16) Query optimisation.
- (L17-18) The effect of application design.
- Teaching material
- Syllabus and reading list (14k).
- Lecture notes including exercises (287k).
- Exercise answers (67k). (I used to have student answers to exercises submitted on a weekly basis for marking. Some of the exercises involve use of a relational database system.)
- Recommended books
- *** R.P. Whittington, 'Database Systems Engineering', Oxford University Press (1988)
- ** C.J. Date, 'An Introduction to Database Systems', Addison-Wesley, (5th edition, 1992)
- ** R.Elmasri and S.B.Navathe, 'Fundamentals of Database Systems,', Benjamin/Cummings (2nd edition, 1994)
- ** D.E.Avison, 'Information Systems Development: A Database Approach', Blackwell (2nd edition, 1992)
- ++ F.R. McFadden and J.A. Hoffer, 'Database Management', Benjamin/Cummings (4th edition, 1994)
- ++ H.F.Korth and A.Silberschatz, 'Database System Concepts', McGraw-Hill (2nd edition, 1991)