• Course Introduction

        • Time: 42 hours
        • Free Certificate
        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 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.

        • Course Syllabus

          First, read the course syllabus. Then, enroll in the course by clicking "Enroll me". Click Unit 1 to read its introduction and learning outcomes. You will then see the learning materials and instructions on how to use them.

        • 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. An E-R model is a model of a database's requirements. If we view database development from the perspective of a software life-cycle model, E-R modeling corresponds to requirements analysis. In database terms, this is called conceptual modeling.

          Completing this unit should take you approximately 5 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 logical 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.

          From a life-cycle perspective, the relational model corresponds to high-level design, and adds detail to the conceptual design. The database development evolves from requirements (specified in a conceptual model), to high-level database design (specified in a logical model), to an implementation model (specified in a detailed design and physical model). An E-R model is a particular modeling method for requirements, while a relational model is a method for database design.

          Completing this unit should take you approximately 4 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 relational 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).

          One of the overall themes of computer science is commonality: common components are useful for building many kinds of applications. A database is one of these components, and its usefulness is due to its effectiveness and efficiency in creating, storing, and operating on all types of data. Relational algebra covers basic operations and composing them to form complex queries. Relational algebra is a mathematical system, or model, that formally specifies queries of a relational database, and is implemented as a formal language, SQL. A query against a database can be expressed as a SQL statement in more than one way, each having the same semantics. Relational algebra enables optimization of SQL queries, and allows you to structure queries in such a way that they execute more efficiently.

          Completing this unit should take you approximately 5 hours.

        • Unit 7: Introduction to Data Normalization

          In this course, we have learned that entities in a database can be thought of as logical tables. Data in a table must be stored in a normalized way. First, we will 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. Data normalization is the process of writing the data so that data redundancy is reduced and data integrity is increased.

          Completing this unit should take you approximately 4 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. When developing or using a database, we have to consider how the data should be organized so that it is stored and accessed efficiently, and how needed information can be found. If the data is for a specific application, the solutions would be based on knowledge of the application domain. However, a database is a common system used for many applications, and thus many solutions need to be generic. Relational algebra, relational calculus, and normalization help address these problems.

          The evolution from a specific solution to a general solution is similar to the evolution from a special-purpose to a general-purpose computer, which was accomplished by the development of programming languages. In a similar manner, database languages implement the creation of databases and access of information for many applications, which allows us to use databases as a common component for many applications and types of systems.

          Completing this unit should take you approximately 5 hours.

        • Unit 9: Basic Select Statements

          The Select statement or command is used to find and extract data from specified tables and which satisfy specified conditions.

          Completing this unit should take you approximately 3 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 4 hours.

        • Study Guide

          This study guide will help you get ready for the final exam. It discusses the key topics in each unit, walks through the learning outcomes, and lists important vocabulary. It is not meant to replace the course materials!

        • Course Feedback Survey

          Please take a few minutes to give us feedback about this course. We appreciate your feedback, whether you completed the whole course or even just a few resources. Your feedback will help us make our courses better, and we use your feedback each time we make updates to our courses.

          If you come across any urgent problems, email contact@saylor.org.

        • Certificate Final Exam

          Take this exam if you want to earn a free Course Completion Certificate.

          To receive a free Course Completion Certificate, you will need to earn a grade of 70% or higher on this final exam. Your grade for the exam will be calculated as soon as you complete it. If you do not pass the exam on your first try, you can take it again as many times as you want, with a 7-day waiting period between each attempt.

          Once you pass this final exam, you will be awarded a free Course Completion Certificate.