Welcome to COMP S359 Relational databases: theory and practice. We hope that you will find the course interesting and rewarding, and that you will acquire useful knowledge and skills as a result of your study. This course is about using databases — collections of data that can be vital to the operation of organizations. It focuses in detail on relational databases — the kind of database that is based on storing data as tables, and that is now widely used on all computer systems. It offers a number of perspectives varying from the broader scope of data processing systems to the technology of databases based on the general-purpose software known as database management systems.
Aims
The aim of this course is to provide you with an understanding of relational databases. The underlying theme of this course is that databases are everywhere. The course will introduce the need for database management systems, including an account of the facilities needed to store and access large collections of data in a shared user environment. The account will consider the different requirements of the users, but the common requirements for the underlying data. These will emphasize the concept of data being used for specific purposes leading to emphasis on the correctness of the data for that purpose.Underpinning topics, such as data modelling and database architecture, will be introduced so that further development of these ideas can take place as the course progresses.
Assumed knowledge
The course is designed on the assumption that you have studied a second-level computing course.
Personal computer
You will need a computer that complies with the recommended computer specifications for this course as detailed in the course supplement.
The course materials
Here is a summary of the components of the whole course. Some of these components will be available on the OLE only.
- Course guide
- Course texts
- Database cards
- Software guide
- Assignments
- Specimen examination paper and solutions
- Stop presses
Structure
The course is organized as four blocks, each bound as a single course text. A complete list of the titles of the blocks is given below.
- Block 1 Databases in context
- Block 2 Introducing relational theory
- Block 3 The database language SQL
- Block 4 Database life cycle
Content
Block 1: The purpose of Block 1 is to set the scene for, and give context to, database theory and practice, which is the focus of COMP S359.The first three sections of the block place relational database theory and practice in historical context, highlight the importance of good data management practices to business, and consider aspects of database technologies. The final sections of the block introduce the foundations for the development process for relational databases taught in the rest of the course.
Block 2: This block is concerned with the relational representation of data, that is, with representing data by relations (depicted as tables), and with representing the constraints on the data by the declarations and expressions of relational algebra. Relational representations often take the conceptual data model, discussed in Section 5 of Block 1, as a starting point, and are themselves used as starting points for the implementation of relational databases.
Block 3: This block introduces SQL, i.e. Structured Query Language, which is the standard language for data management tasks. First, we introduce you to SQL's facilities for retrieving data from a database using increasingly complex queries. Then we look at how to use SQL to define and populate tables, define constraints on the data, and modify the data held in a database. Finally, we look at some of the programming structures that can be used to embed SQL in application processes.
Block 4: This block is concerned with the database life cycle, which describes the stages a database goes through, from the time the need for a database is established until it is withdrawn from use. The database life cycle has two main phases: database development, and maintenance. Database development concerns the building and installation of a new database that satisfies the information requirements of an enterprise; database maintenance ensures that the database continues to satisfy those requirements after it has been installed, and considers how a database can be adapted to meet new and changing requirements.
Software
The course uses Oracle and PostgreSQL. To install and use this software, please read the Software Guide and follow the installation and set-up instructions. The guide also provides instructions for PHP and Apache, which will be used in Block 3. You should install this software before you start the course to avoid interrupting your studies later.
This course is concerned with teaching principles of relational databases and generic, transferable skills in SQL and database development so that you can export your knowledge to the software of any vendor. Consequently, wherever possible, the course team has tried to avoid vendor-specific features of the DBMS or SQL implementation.