Reading: Kroenke(Chapter 1), McFadden(Chapter ... how databases are
developed from simply storing ... database management system (DBMS) is more
fully.
Teaching Scheme BIT/MMC/BCS Database Systems 1 Level : 1 Year : 2000–2001 Konstantina Lepinioti (
[email protected]) Melanie Coles (
[email protected])
Autumn Term Week Lecture 1/10 8/10
Induction Week Introduction to DBS1()
15/10
Data and Information(MC) This lecture introduces the concept of information as a business resource. It shows how organisations generate and store information on all aspects of their business and examines the importance of managing this data correctly. Databases are briefly introduced and their role in managing the data resource is outlined. You will learn how organisations generate and store data in the course of their business, how different types of data may be used by different parts of a business, and some of the characteristics of good data. Reading: Kroenke(Chapter 1), McFadden(Chapter 1), Connolly(Chapter 1), Ramakrishnan(Chapter 1) Databases and Database Management Systems(MC) This lecture provides some of the background about how databases are developed from simply storing data used by a single individual to systems which manage data for thousands of users. The concept of a database management system (DBMS) is more fully explained and the advantages and disadvantages of DBMSs are explored. You will learn about the history of data storage and the development of modern database management systems. The concept of a database management system will be introduced including the functions performed by a DBMS and its advantages and disadvantages. Reading: Kroenke(Chapter 2), McFadden(Chapter 1), Curtis(Section 7.1), Ramakrishnan(Chapter 1)
22/10
Seminar/Lab (Sem) Introduction to Access Exploring Microsoft Access envionment and looking at an existing Database (Lab) MS Access Students will create tables in Access. (Sem) Flat file Vs Database Storage Students will examine information in the two different storage mediums and discuss the advanages and disadvantages of each. (Lab) MS Access Students will customise the tables they created last week.
(Sem) DBMS Features Students will explore the DBMS features discussed in the lecture using an existing database. (Lab) MS Access Filters and importing tables
L/O
29/10
5/11
Database Design(MC) This lecture discusses the process of designing a database. It introduces the terminology to be used in the course and emphasises the different types of design that take place - conceptual design, logical design, and physical design. Some of the tools used by database designers and systems analysts are introduced - data flow diagrams, entity-relationship diagrams. You will learn about the problems caused by data redundancy and inconsistency and the importance of designing a database well. The concept of a data model will be introduced and the major stages in designing a database will be described. Reading: Kroenke(Chapter 1 and 5), McFadden(Chapter 3), Curtis(Chapter 12), Ramakrishnan(Chapter 1) Relational Data Model - Structure(KL) This lecture introduces the Relational Data Model (RDM). It will include a brief overview of the development of databases and data models over the last 40 years. The lecture will show how relational databases store data in sets of tables, called relations, and relate information between tables using foreign keys. The main components of RDM will be described and illustrated with appropriate examples. Codd’s twelve rules that determine whether a database is a relational database will also be presented. You will learn about the use of tables and links between tables to represent data in the computer. The lecture will also discuss some of the properties of the relational data model that help to guarantee good structure in the database, e.g. relations, atomic values, null values, integrity constraints. The concept of physical and logical independence will be introduced. Reading: Kroenke(Chapter 5), McFadden(Chapter 6, 9 and 10), Curtis(Section 7.6), Ramakrishnan(Chapter 2)
(Sem) Case Study Students will explore general design issues, how and where the data is stored and how information is obtained from that data. (Lab) MS Access Simple queries, defining relationships, setting referential integrity
(Sem) Relational Data Model 1 Relational Algebra (Lab) MS Access Complex Queries
12/11
19/11
26/11
Relational Data Model - Operations(KL) This lecture builds upon the previous lecture, ”Relational Data Model - Structure”. It discusses the importance of having a well-defined and correct method of manipulating relations in a relational model. A well-defined method is introduced as a set of operations that can be performed upon one or more relations. These operations allow information to be retrieved from a set of relations. A set of relational operators based on the basic operations will be defined and presented as a relational algebra. All the operators will be presented with appropriate examples. The SQL database language is introduced briefly and its use in expressing the relational operators is explained. You will learn to appreciate the importance of a well-defined high-level languages for manipulating data and understand the purpose of the relational operators. Some of the relational operators will be introduced, e.g. restriction, projection, join, union and intersection. Reading: Kroenke(Chapter 6, 9 and 10), McFadden(Chapter 8), Curtis(Section 7.6.3), Ramakrishnan(Chapter 2, 8 and 9) Database Implementation(KL) This lecture will bring together the previous lectures on database design and the relational data model to show how the relational data model is implemented in a relational database management system. The Microsoft Access database system will be used to review how relations are created and the importance of creating primary keys and foreign keys in the database. The role of indexing in database design will be introduced and methods of indexing data in MS Access will be described. Reading: Kroenke(Chapter 8, 11 and 12), McFadden(Chapter 9 and 10) Entity-Relationship Data Model - Basic Concepts(MC) This lecture introduces the Entity-Relationship (ER) data model. The ER model is used to describe the structure of the data that will be stored in the database. The ER model is designed to be easy to understand and is often used to discuss the structure of the data with users. The lecture introduces the major concepts of the ER model - entities, relationships and attributes. A method of drawing an ER model as a diagram is presented. You will learn how the ER model fits into the conceptual, logical and physical stages in database design. Reading: Kroenke(Chapter 3 and 6), Curtis(Section 12.2), McFadden(Chapter 4), Ramakrishnan(Chapter 14)
(Sem) Relational Data Model 2 Relational Algebra (Lab) MS Access Complex Queries
(Sem) Relational Data Model 3 Introduction to SQL and the mapping of relational algebra to SQL (Lab) MS Access More Complex Queries
(Sem) EntityRelationship Modelling 1 Students will work through a scenario and identify entities, relationships between entities, attributes and keys. (Lab) MS Access In class test
3/12
10/12
Entity-Relationship Data Model - Design(MC) This lecture continues on from ”Entity-Relationship Data Model - Basic Concepts”. It builds on this introduction to ER modelling by looking at the different types of relationships which can be modelled and how database constraints are represented in the model. Some of the problems that occur in ER modelling are discussed. You will learn about the different types of relationship (e.g. cardinality, degree). A complex data modelling example will be worked through. Reading: Kroenke(Chapter 3 and 6), McFadden(Chapter 4), Ramakrishnan(Chapter 14) ERD Model Review(MC) This lecture reviews ERD modelling, keys and attributes. Also this lecture discusses the relationship between the relational data model and the entityrelationship model. It describes the use of the entityrelationship model as a means to describe the environment being modelled. This is compared to the use of the relational data model as a machine independent description of how the data will stored. A method of converting an entity-relationship model into an equivalent set of relations in the relational model is explained. Reading: Kroenke(Chapter 3 and 6), McFadden(Chapter 6, p225), Ramakrishnan(Chapter 14)
(Sem) EntityRelationship Modelling 2 Students will work through a scenario and construct an ERD (Lab) MS Access Introduction to Forms
(Sem) EntityRelationship Modelling 3 Students will map the entities and relationships from the ERD model to a set of relations. (Lab) MS Access Forms
Spring Term Week Lecture
Seminar/Lab
7/1
(Sem) EntityRelationship Modelling 4 Students will continue developing ERDs (Lab) MS Access More forms
14/1
Databases Design and Systems Analyis and Desing(KL) This lecture discusses the relationship between data flow diagrams, which are introduced as a systems development tool in Systems 1, and entity-relationship data models. Reading: Eva(Chapter 9 and 12), Down(Sections 3.5 and 3.11) Update Anomalies and An Introduction to Normalisation(MC) Insert anomalies, deletion anomalies and modification anomalies will be discussed, and their effect on database processing. How normalisation can solve the problems caused by anomalies. Reading: Kroenke(Chapter 5), McFadden(Chapter 6), Curtis(Chapter 12, p415), Ramakrishnan(Chapter 15)
(Sem) Update anomalies, Normalisation Students will explore the effects of anomalies and how normalisation can solve the problems caused by anomalies. (Lab) MS Access Introduction to Reports
L/O
21/1
28/1
4/2 11/2
Normalisation Functional Dependencies(MC) A functional dependency is a relationship between attributes in a database. Knowledge of functional dependencies is important for designing databases and reducing data redundancy. This lecture formalises the notion of a functional dependency. A method of representing functional dependencies in a diagram is shown. The relationship between functional dependencies and data redundancy, discussed in previous lectures, is further explained and the process of normalisation is continued. Reading: Kroenke(Chapter 5), McFadden(Chapter 6), Curtis(Chapter 12, p415), Ramakrishnan(Chapter 15) A Database Case Study (MC) This lecture will present a case study of a database development scenario. The case study will demonstrate how a database might be designed and implemented in a business environment, drawing together the tools discussed in earlier lectures. Reading: Kroenke(Chapter 5), McFadden(Chapter 6) Project Week Physical Database Design(KL) This lecture looks at the process of constructing an efficient set of database relations, called physical database design. Physical database design occurs after the conceptual design and the logical design. This lecture looks at the knowledge required to produce a good database design. In particular it looks at the importance of identifying the size of the database and the types of updates and queries that will be made against the data. Methods of calculating the size of the database and identifying the data usage are explained. The use of different file organisations and indexing techniques to improve the database performance are outlined. The effect of using indexes in a database are explained and studied. Methods of placing indexes on a relation are explained and results of each method explained. Guidelines for selecting indexes are presented. Other physical database design techniques are outlined caching, clustering, partitioning, denormalisation. Reading: McFadden(Chapter 7), Ramakrishnan(Chapter 16)
(Sem) Normalisation (Lab) MS Access Reports
(Sem) Normalisation (Lab) MS Access Advanced forms
(Sem) Normalisation (Lab) MS Access More Advanced Forms
18/2
25/2
4/3
11/3
Files(KL) This lecture introduces the low-level components of a database management system. The concept of a file as a set of records is defined and different types of files are described. Methods of organising and processing a file are outlined and some of the characteristics of different types of files are discussed. The lecture was also describe how different types of files affect the method used to process them. A simple case study will be presented showing how different types of files are used in different parts of a system. the lecture will finish by describing the construction of a computer disc and how files are stored on discs. Reading: Hanson(Chapter 1, 3 and 9), Loomis(Chapter 14), Ramakrishnan(Chapter 3) Discs, Blocks and Buffers (KL) This lecture expands on the previous lecture by studying in detail how files are stored on discs. The concept of a block is introduced which is used to store data records from files. Methods of reading blocks from the disc into buffers are described. Some of the problems caused by storing records in blocks are discussed. Storing blocks on a disc is one of the processes that affects the performance of a database management system and it is important to do it efficiently. Reading: Hanson(Chapter 1, 3 and 9), Loomis(Chapter 14), Ramakrishnan(Chapter 3) Data Types and Pointers(KL) This lecture begins by describing how numbers and characters are represented in the computer and stored on the disc. It then introduces the concept of a pointer, which is used to point to data in the computer. Three important types of pointers are described and examples given. Finally, important methods of relating records together using pointers are described. Being able to relate one record to another, for example, an employee record might be related to salary record, is an important part of a database management system. Reading: McFadden(3rd edition only) Serial and Sequential File Organisations(KL) This lecture introduces to important types of files: (i) serial files, and (ii) sequential files. Methods of organising record in the files are described. Algorithms for searching and updating the file structures are described. Reading: McFadden(Chapter 7 (3rd edition only)), Hanson(Chapter 5), Loomis(Chapter 16), Ramakrishnan(Chapter 4), Elmasri(Sections 4.6/4.7)
(Sem) Normalisation (Lab) MS Access Introduction to Macros
(Sem) Discs and Files 1 (Lab) MS Access Macros
(Sem) Discs and Files 2 (Lab) MS Access Access and the Web
(Sem) SQL (Lab) MS Access Security
18/3
Indexed Files(KL) This lecture looks in more detail at the structure of an index - described in an earlier lecture. The components and structure of an index are described and different types of index are discussed. Methods of search for information in an index are presented and examples are used to demonstrate the fast performance that is possible using an index compared to an ordinary file. Multi-level indexes are introduced and will be expanded upon in future years. The advantages and disadvantages of indexes are provided. Reading: McFadden(Chapter 7 (3rd edition only)), Hanson(Chapter 7), Loomis(Chapter 20), Ramakrishnan(Sections 3.6 and 5.1 and Chapter 4)
(Sem) SQL (Lab) MS Access Sharing data databases
and
Summer Term Week Lecture
Seminar/Lab
15/4
(Sem) SQL
22/4
29/4
Direct Access and Hashing (KL) This lecture introduces an alternative to index sequential files described in the previous lecture, called hashing. The concept of hashing is explained and different methods of performing hashing are described. Examples are used to illustrate some of the problems that can occur with hashing and solutions to these problems are discussed. The use of hashing is compared to indexing and the advantages and disadvantages of each are discussed. Reading: McFadden(Chapter 7 (3rd edition only)), Hanson(Chapter 6), Loomis(Chapter 19), Ramakrishnan(Sections 6.1) Revision(MC)
Revision(KL)
L/O
(Lab) MS Access Revision
(Sem) Revision (Lab) MS Access Revision (Sem) Revision (Lab) MS Access Revision
Reading Core • McFadden, F. R. and Hoffer, J. A., Modern Database Management, Addison-Wesley, 2000. This is a general text covering much of the course. • Kroenke, D., Database Processing : Fundamentals, Design and Implementation, Prentice Hall, 2000.
Recommended • Ramakrishnan, R., Database Management Systems, McGraw-Hill, 1998. This is a more advanced text covering most of the topics. It is recommended for weeks 17-22 and will be useful in future years. • Curtis, G., Business Information Systems : Analysis, Design and Practice, Addison-Wesley, 1995.
Other • Hanson, O., Design of Computer Data Files, Pitman, 1988. • Loomis, M., Data Management and File Processing, , . • Elmasri and Navathe, Fundamentals of Database Design, McGraw-Hill, 1999. • Down, E.; Clare, P. and Coe, I., Structured Systems Analysis and Design Method : Application and Context, Prentice Hall, 1992. • Eva, M., SSADM Version 4 : A User’s Guide, McGraw-Hill, 1994.
Learning Outcomes (L/O) 1. Understanding of data and database management systems. 2. Entity-relationship modelling. 3. Normalisation to third normal form. 4. Database and application sizing. 5. Use of Microsoft Access including creating databases, querying, forms, and reports. 6. Understanding of database implementation issues including file structures, indexing and performance issues. 7. Use of relational algebra and SQL.