Database design is the most important task performed by application developers because the resulting database and all applications that access it are based on this design. Therefore, if the data for the application is modeled incorrectly and the resulting database poorly designed, poor and difficult to use applications will result.
Learn how to design databases in six easy steps
Learn how to create sturdy, reliable and accurate data models for your databases
A database is the backbone of any application, and therefore it must be sturdy, reliable, and accurate. Having a well-designed database is the key to having your database meet these criteria, and the six-step technique taught by this course ensures that the data model upon which your database is built is sturdy, reliable, and accurate.
The six steps outlined in this course are simple, easy to follow, and precise. It teaches you how to quickly and accurately model the data that your application will use, and shows you how to do so in the shortest possible time. Extensive knowledge of database theory is not required and the theory is kept to a minimum.
Video lectures are used to present the material, and case studies are incorporated into the lectures thus reinforcing the steps of the database design technique taught by this course. There is also a lot of supplemental material that you can download and read, which explains each of the steps in further detail.
This lectures covers relational database design; the relational database design process; and relational database design in six easy steps.
At the end of the lecture you will be able to describe relational database design and explain the relational database design process. You will also understand how six-step relational database design fits into the relational database design process.
Relational databases and relational database design
In this lecture, we will cover the first step of the six-step relational database design process, which is divided into three sub-steps: Step 1-1: Discover the entities; Step 1-2: Assign attributes to each entity discovered; and Step 1-3: Select identifiers, keys and primary keys from the attributes of each entity discovered.
At the end of the lecture you would be able to discover the entities in the problem domain, assign attributes to each entity discovered, and select identifiers and keys for each entity from the attributes of that entity. You will also learn definitions for the terms entity, attribute, identifier, key and primary key.
Step 1: Discover entities and assign attributes
In this lecture, we will cover the second step of the six-step relational database design process, which is divided into two sub-steps: Step 2-1: Build the Matrix; Step 2-2: Fill in the Matrix.
At the end of the lecture you would be able to find all of the relationships that exist between any pair of entities in the database. You will also learn how to use an Entity-Entity Matrix to find these relationships, and definitions for the terms relationship, unary relationship and binary relationship.
Step 2: Derive unary and binary relationships
In this lecture, we will cover the third step of the six-step relational database design process, which has only one sub-step: Step 3-1: Create simplified Entity-Relationship Diagram.
At the end of the lecture you would be able to use the information gathered in the previous two steps to construct a simplified E-R diagram using the notation presented in this lecture series. This simplified diagram only contains information about the entities and the relationships that exist between the entities. It does not contain information about the Optionality and Cardinality of the relationships.
Step 3: Create simplified Entity-Relationship Diagram
In this lecture, we will cover the fourth step of the six-step relational database design process, which has only one sub-step: Step 4-1: List assertions using the simplified E-R Diagram.
At the end of the lecture you would be able to use the simplified E-R diagram created in Step 3 of the six-step process to create a list of assertions for the database that is being designed. These assertions give definitive information about the entities in the database and their relationship with each other.
Step 4: List assertions for all relationships
In this lecture, we will cover the fifth step of the six-step relational database design process, which has only one sub-step: Step 5-1: Use assertions and the simplifed E-R diagram to create detailed E-R diagram.
At the end of the lecture you would be able to combine the assertions listed in Step 4 of the six-step process with the simplified E-R diagram created in Step 3 of the six-step process to create a detailed E-R diagram. This detailed E-R diagram contains information about optionalities and cardinalities.
Step 5: Create detailed Entity-Relationship diagram using assertions
In this lecture, we will cover the last step of the six-step relational database design process, which is divided into four sub-steps: Step 6-1: Many-to-many relationships; Step 6-2: One-to-many relationships; Step 6-3: One-to-one relationships; and Step 6-4: Combine results to create R-M Diagram.
At the end of the lecture you would be able to convert the detailed E-R diagram created in Step 5 of the six-step process into a Crow's Foot R-M diagram. This diagram can then be implemented on any relational database management system.
Step 6: Transform the detailed E-R Diagram into an implementable R-M Diagram
A summary of the six-step relational database design process.
Fidel A. Captain has over fifteen years of experience designing, implementing, and maintaining databases, and over ten years of experience as a lecturer.
He has worked as a systems analyst and systems engineer with the Ministry of Finance in Guyana, as a computer studies lecturer at the H. Lavity Stoutt Community College in the British Virgin Islands, and as a freelance consultant.
Captain has developed several database-based applications that include an online bill- payment system, a logistics and cargo-tracking system, a student-tracking and evaluation system, and a freight and duty calculation system.
He currently lectures at the H. Lavity Stoutt Community College in the British Virgin Islands in areas such as database design and development, website design and development, and Java programming.
Captain is a Queen’s College Guyana Scholar, who received his Bachelor’s of Engineering degree from the University of Manchester Institute of Science and Technology (UMIST) in Computer Systems Engineering and his Master’s in Information Technology from Capella University. He is also a certified MySQL developer and administrator.