
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Explore file based systems and their historical use, define what a database is, and identify the different types of databases and emerging technologies.
Explore how file-based data management evolved into modern databases, reducing data redundancy, inconsistency, and isolation, while enabling secure, concurrent access via database management software.
In this lesson, you will learn about databases.
In this lesson, you will learn about the different types of databases.
In this lesson, you will learn about emerging technologies in databases.
Explore how file system databases function and their modern usefulness, preview emerging technologies, and introduce the upcoming topic of entity relationship diagrams.
Explore the fundamentals of erd diagrams, including conceptual modeling, entities, attributes, relationships, cardinality, and participation, to design robust databases.
In this lesson, you will learn about ERD diagrams.
In this lesson, you will learn about conceptual modelling.
In this lesson, you will learn about entities.
In this lesson, you will understand what attributes are and how to identify them.
In this lesson, you will learn about the different types of database relationships.
Choose the relational data model from four options and master converting an ERD to relational notation, understand relational keys, integrity rules, and how to convert relationships.
In this lesson, students will understand the relational model.
Students will learn how to convert ERD to relation notation.
Students will learn how to convert ERD to relation notation.
After completing this lesson, students will understand the different relational keys.
Explore first normal form by examining atomic values, single data types, and primary-key dependencies; convert unnormalized tables by separating multi-valued columns into separate rows and entities, such as emails.
Learn how second normal form eliminates partial dependencies and relates to first normal form, shown with an inventory example.
Learn how to achieve third normal form by eliminating transitive dependencies and ensuring no non-key attribute determines another, splitting tables into separate entities with primary and foreign keys.
The Boyce-Codd Normal Form (BCNF) is a higher level of database normalization used in database design to reduce redundancy and improve data integrity. It's an extension of the third normal form (3NF), addressing certain types of anomalies that 3NF doesn't cover.
In BCNF, for every non-trivial functional dependency X→Y, where X is a superkey, Y is a prime attribute, meaning it's part of a candidate key.
To achieve BCNF, a relation (table) must satisfy the following conditions:
It should already be in 3NF.
For every functional dependency X→Y, X must be a superkey.
The primary difference between BCNF and 3NF lies in how they handle certain types of functional dependencies. While 3NF deals with transitive dependencies, BCNF takes it a step further by eliminating dependencies where the determinant (the attribute that determines another attribute) isn't a superkey.
Designing a database to conform to BCNF ensures data integrity and minimizes anomalies when inserting, updating, or deleting records.
Discover SQL essentials for designing and implementing a database, learn the different SQL statement types, and identify data types.
Discover SQL, a declarative language for interacting with relational databases. Write queries to retrieve, insert, update, and delete data, and create or modify tables, views, and constraints.
Explore the three core SQL statement categories: DDL, DML, and DCL. Learn how commands create, alter, drop, insert, update, delete, select, grant, and revoke shape database structure, data, and permissions.
Understand how column data types define allowable values, including integer, decimal, varchar, char, and date, and why first normalization may store different types in the same column.
Set up cloud and local laptop environments to follow along with MySQL, Postgres, or Oracle, and install SQL Server Management Tools, MySQL Workbench, and SQL Developer to connect via SQL.
Install SQL Server Management Studio and Azure Data Studio from Microsoft to manage SQL Server and Azure databases, and use Azure Data Studio for Postgres and Oracle on Mac.
Download and install pgadmin for Windows, selecting version 7.4, run the executable, accept terms, and launch pgadmin from the Start menu.
Download and install SQL Developer for Oracle from Oracle.com, selecting Windows 64-bit JDK 11 and accepting the license. Open the extracted app and prepare a database connection with plus icon.
Create an AWS free tier account and set up an Amazon RDS relational database, choosing MySQL, PostgreSQL, MariaDB, or SQL Server, enable public access, and configure security group rules.
Learn to set up a free AWS account and create a Microsoft SQL Server database with RDS, including configuring public access, security groups, and connecting via Azure Data Studio.
Connect Azure Data Studio to your local SQL server. Install extensions for Oracle, MySQL, and Postgres, customize the workspace, and prep for building your database and ERD.
This lecture moves from theory to practice by implementing a simple ERD, creating a car rental database in Azure Data Studio, and switching databases with the use statement.
Learn to use the create table statement to build tables with primary keys (including composite keys), not null constraints, and foreign keys that enforce referential integrity.
Explore the drop statement in SQL, learn how to drop tables and databases, and handle dependencies and foreign key constraints when deleting objects in a sample car rental database.
Master insert statements by exploring full and partial inserts, handling not null constraints, and inserting records. Learn to insert from one table to another and create backups with select into.
Explore the select statement syntax, including selecting all or specific columns, filtering with where, sorting with order by, and creating views as a security mechanism.
Learn to create generated columns by calculating age from date of birth with date functions and aliasing as age, and format sales price using cast and convert.
Explore aggregations using sum, average, count, min, and max on the car table. Learn how to alias results, group data by make, and apply having to filter aggregates.
Learn how to use join statements to query multiple tables with inner joins, including syntax, joining on common fields, aliases, and filtering with where clauses.
Learn how to use the update statement to modify existing data, apply where clauses to target records, and update single or multiple columns, including by primary key.
Learn how to use the delete statement to remove rows by primary key or criteria, or to delete all records, with examples of single and bulk deletions.
In today's data-driven world, effective database design is a critical skill for professionals across a range of disciplines, including software development, data analysis, business intelligence, and more. The "Database Design and Management" course is designed to provide students with a comprehensive understanding of the principles, methodologies, and best practices of creating and managing databases.
Course Objectives:
By the end of this course, students will:
Understand Database Fundamentals: Gain a solid grasp of what databases are, why they are essential, and the various types of databases in use today.
Master Data Modeling: Learn how to design databases using Entity-Relationship Diagrams (ERDs) and translate real-world scenarios into structured data models.
Normalization and Optimization: Explore the art of normalizing data to minimize redundancy and optimize database performance.
SQL Proficiency: Acquire proficiency in Structured Query Language (SQL) to interact with and manipulate data in relational databases.
Real-World Application: Apply database design principles to practical, real-world scenarios and projects, gaining hands-on experience.
This course is ideal for:
Computer science students seeking a strong foundation in database design.
IT professionals, including database administrators and developers, looking to enhance their skills.
Data analysts and scientists who require a deeper understanding of database systems.
Business professionals interested in using data for decision-making.
Anyone looking to leverage the power of databases in their careers or projects.
Prerequisites:
Basic computer literacy and familiarity with data concepts are recommended but not required. No prior database design experience is necessary.