This advanced computing course offers perspectives on databases, based on the storage of data as tables. The course begins with an introduction to the use of databases in information systems, with examples. Then comes a theory of relations, applied to the representation of models of data, and practical implementation in terms of the database language SQL. Next is the development of a database system and, finally, issues to do with a broader view of databases.
This course is about using databases - collections of data that may be essential to the operation of large organisations or may just be of interest to an individual. It looks in detail at relational databases, the kind of database that stores data as tables and is widely used on all computer systems.
The course will be of benefit to anyone who is concerned with or interested in the planning, design, operation or use of a database. It offers various points of view, from the broader scope of information systems to the technology of databases that use the general-purpose software known as database management systems. Our aim is to explain the concepts underlying all relational databases as well as to give you practical experience of applying the concepts in different situations.
There are five blocks of work. The first introduces the context of databases as part of an information system, which may be used by many people for different purposes and with different requirements. It then examines the kinds of software that are necessary for accessing a database, and how each database has to be specially designed to satisfy the requirements of its users.
The second block presents a theory of relations from a practical point of view, establishing the general properties of relations and demonstrating how they can be applied in the representation of models of data.
The third block is concerned with relational database management systems, and in particular with the use of the database language SQL, the recognised standard for defining and accessing a relational database.
The fourth block analyses the steps of developing and implementing a database system, and examines the tasks and techniques appropriate for each step.
The last block presents database topics that both enhance some earlier parts of the course and describe a variety of ways in which relational databases are being developed.