Module Guide: Information Modelling, CS263 (10 Credits) Lectures: 5-6pm Mondays Lecture Theatre E, 3-4pm Thursdays Lecture Theatre E, plus 1 hour Laboratory Sessions on either Thursdays (4-5pm APLABB4) or Fridays (9-10am APLAB2) or (11-12am APLABB2) (see your timetable). Module runs for 12 weeks in the Autumn semester. The first 10 weeks will be lectures. Week 11 will be revision. Week 12 will be examinations. What the module is about: This module is about learning some of the theory behind databases and database management systems, and how to use them to build solutions for practical problems. In the module we learn some theory about databases and how to develop them. We also learn to use programming tools (SQL) to build databases. The course introduces the fundamental principles of information modelling for database design and discusses a number of implementation issues, ranging from classical database models, through interfaces for relational databases, threats to database systems and the principles of recovery, security, integrity and concurrency. The process of database design is treated as a modelling process involving a number of levels of abstraction. Entity relationship Analysis is the principal technique for modelling at a conceptual level, and the resulting model is then transformed into one of the classical logical data models, Hierarchic, Network or Relational. The features of the corresponding data manipulation languages are discussed, and the SQL standard for relational databases is investigated by practical work using ORACLE. Aims To examine the development of databases and database management systems. To critically investigate database analysis and development methods To provide an opportunity to use and to critically appraise database development software Objectives/Learning Outcomes: To furnish students with the fundamental skills required to design, implement and query a large-scale database, and to give them an overview of basic operational concerns. On completion of this unit, students will be able to: Demonstrate an understanding of the key principles involved in database application development. Demonstrate competence in using a software tool for developing database applications. Analyse practical problems and design databases suitable for these problem domains. Content The context of database management: The database environment Database development process Database analysis The Entity-Relationship model Database design Logical database design and the relational model Implementation SQL Client-server architectures Object oriented databases Web databases Data administration Role of data administrators, security, recovery, concurrency The Data Protection Act Week 1 2 3 Lecture A The database environment Entity-relationship model Entity-relationship model Lecture B The database environment Entity-relationship model Entity-relationship model Lab. No Lab 1 4 5 6 7 8 9 10 11 12 Logical design and the relational model SQL implementation Client server architectures Web databases Object oriented databases Distributed databases Data administration Sample exam paper and revision Examination Logical design and the relational model SQL implementation Client server architectures Web databases Object oriented databases Distributed databases Data protection act Sample exam paper and revision Examination Prerequisites: CS183: Systems Analysis and Design Pattern of Delivery: Autumn Semester 10 Credits, Lecturers: Tony Browne (A.Browne@surrey.ac.uk) and Bill Mitchell (W.Mitchell@surrey.ac.uk) Methods of Teaching/Learning: Topics will be introduced via a combination of lectures (two 1 hour lectures per week) and laboratory sessions (1 hour per week). The lectures will be used to introduce a specific topic, identify relevant reading material and provide problems and example solutions for the students to study. The laboratory sessions will involve the use of a software tool for the construction of solutions to practical problems. Methods of Assessment and Weighting: The assessment will be via a combination of coursework and written examination. 40% coursework, involving the analysis, design and implementation of a database with development packages, and the writing of a technical report describing this work. 60% unseen examination. Assessment Criteria Description and analysis of key issues in database development. Demonstration of competence in using an appropriate software tool for constructing database systems. Scope and depth of problem analysis and matching of problems to appropriate database architectures. Demonstration of competence in reporting the database development process and outcome of the database implementation carried out in the coursework. Recommended Text: Hoffer, JA, Prescott, MB & McFadden, FR, Modern Database Management, Sixth (International) Edition, Addison Wesley 2002, 0-13-042355-6. My lecture notes are based on this text, but the book contains additional useful material (case studies etc.). There is a web-site for the book at http://www.prenhall.com/hoffer, which contains some useful additional information. Note: do not bother downloading the powerpoint slides from this site, as my slides/lecture notes contain the same graphics and are much more comprehensive. Other Texts include: Benyon, D, Information and Data Modelling, Second Edition, McGraw-Hill 1997, 0-07-709241-4 HMSO: The Data Protection Act 1998 http://www.legislation.hmso.gov.uk/acts/acts1998/19980029.htm Recommended Software DB Designer (public domain software) – useful as a front-end for SQL and for drawing ER diagrams: http://www.fabforce.net/dbdesigner4/ for DBdesigner 4.0 (version 4 is stable) Oracle: http://www.oracle.com - it is possible to buy cheap versions of Oracle for personal academic use only 2