• Course Introduction

        Though we may not recognize them in our everyday activities, databases are everywhere. They are hidden behind your online banking profile, airline reservation systems, medical records, and even employment records. This course will provide students with a general overview of databases, introducing you to database history, modern database systems, the different models used to design a database, and Structured Query Language (SQL), which is the standard language used to access and manipulate databases. Many of the principles of database systems carry to other areas in computer science, especially operating systems. Databases are often thought of as one of the core computer science topics, since many other areas in the discipline have been derived from this area.

      • Unit 1: Introduction to Modern Database Systems

        Different databases serve different purposes; each one is dependent upon both deployment environment and different types of user interactions. In this unit, we will ask a number of questions pertaining to databases: What are some database environments and user types? How can the database management system ensure control over data integrity, avoid data redundancy, and secure data, while at the same allowing interactions with different user types? In answering these questions, we will identify and determine the characteristics of databases, their many deployment environments, and the different categories of users that interact with them.

        Completing this unit should take you approximately 5 hours.

      • Unit 2: Database Architecture and Date Languages

        In order to properly create and then manage a database, we need to have a thorough understanding of the data it holds. Because data can be seen from different levels, we will introduce different data models and learn how to apply them in order to describe the structure of the database, thereby providing a "view" of the database for the different types of users introduced in the previous section. This unit explains database architecture and design using the ANSI/SPARC three-schema architecture.

        Completing this unit should take you approximately 4 hours.

      • Unit 3: The History of Databases

        Databases have existed for centuries: the maintenance of records and data has evolved from engravings to cards to digital storage. The history of databases gives us a view of the evolution of database models and the problems of each model. Each subsequent model was motivated by the limitations of previous models, the availability of new technology, the need to store and retrieve new types of data, or by the need to handle new volumes of data that exceeded the capabilities of current models. In this unit, we will present the four different models of representing data, discussing the different limits of each.

        Completing this unit should take you approximately 3 hours.

      • Unit 4: The Entity-Relationship Model

        Databases often hold a great amount of data. In order to build a database, we need to understand which entities should hold data and identify the connections that may exist between entities. In this unit, we will learn about the Entity-Relationship model, which will allow us to create a graphical view of the different elements of a database as well as the relationships between them. We will also learn the drawing conventions of the E-R model using a part-to-whole approach, beginning with those conventions used to represent a single entity, and concluding with conventions used to represent all relations in a database.

        Completing this unit should take you approximately 9 hours.

      • Unit 5: The Relational Database Model

        The relational database model provides us with a way to understand how data can be perceived. While the E-R model represents the relations between elements of a database, it does not provide a conceptual view of its data. We will use the relational model to solve that problem. The relational model looks at entities as tables and allows operations to be performed on them. In this unit, we will learn how to map ER models into relations.

        Completing this unit should take you approximately 12 hours.

      • Unit 6: Relational Algebra

        We have seen that database entities can be viewed as logical tables. While this is useful in its own way, we can learn more from the data if we can perform operations on the tables within a database, as data from one table may not be meaningful without the data from another table. In this unit, we will introduce relation algebra, the mathematical notation used to represent how data retrievals and updates are performed on tables in a database. Understanding relational algebra will serve as a prelude to using the Structure Query Language (SQL).

        Completing this unit should take you approximately 5 hours.

      • Unit 7: Intro to Data Normalization

        In this course, we have learned that entities in a database can be thought of as logical tables. We will now learn that data in a table must be stored in a normalized way. We will first identify the properties of a normalized table, learning about the process of normalization and its importance to the structure of a database. We will then study the four major steps of normalization and discuss the database anomalies that can result in the absence of normalization.

        Completing this unit should take you approximately 17 hours.

      • Unit 8: Introduction to SQL

        Structured Query Language (SQL) is the main data definition language used for the creation and maintenance of databases. In this unit, we will look at basic SQL syntax, including some data definition and data manipulation language commands.

        Completing this unit should take you approximately 14 hours.

      • Unit 9: Basic Select Statements

        In Unit 8, we introduced the select statement. In this unit, we will learn to build queries using one table. We will take a look at the basic syntax of the select statement along with some basic expressions and the where clause.

        Completing this unit should take you approximately 14 hours.

      • Unit 10: The Join Statement

        Programmers frequently join data from a number of different tables in order to obtain more information. They also--perhaps even more frequently--build queries to obtain information from more than one table in order to generate better information. In this section, we will learn about SQL Joins, which allow us to create complex queries, combine data from different tables, and obtain a new result set that can provide us with a better understanding of the data and maximize database flexibility.

        Completing this unit should take you approximately 23 hours.