We may earn an affiliate commission when you visit our partners.
Jun Shan

This course teaches you how to design a relational database and how to write SQL. It covers all the important SQL statements, including This course is based on my on-campus teaching at colleges and comes with a mid-term project and a final project. There is no prerequisite for this course.

Enroll now

What's inside

Learning objectives

  • Sql
  • Entity relationship model
  • Relational database

Syllabus

Course Introduction
1.1 Course Introduction
Acknowledgement
Learn how to design a relational database using Entity-Relationship Model and how to normalize based on normal forms.
Read more
2.1 Introduction to Relational Database
2.2 Logical Design and Entity Relationship Model
2.3 Physical Design and Relational Database
2.4 Normalization
2.5 Normal Forms
2.6 Entity Relationship Diagram
SQL Introduction: CREATE and DROP
3.1 SQL Introduction
3.2 PostgreSQL Introduction
3.2.1 PostgreSQL Installation
3.3 CREATE and DROP
3.4 Naming Convention and Demo Oracle
Note on "quoted names"
3.5 Naming Convention and Demo PostgreSQL
Simple Data Handling
4.1 Simple INSERT and SELECT
4.2 Data Types
Default length of CHAR and VARCHAR
DECIMAL vs NUMERIC
4.3 NULL
Single Table SELECT Statement
5.1 Single Table SELECT Statement
5.2 Row Level Functions
5.3 Aggregation Functions
Changing Data: UPDATE, DELETE, INSERT, and ALTER
6.1 Changing Table Data
6.2 Changing Table Structure
WHERE Clause Deep Dive
7.1 WHERE Clause
7.2 WHERE Clause String
7.3 WHERE Clause NULL
7.4 WHERE Clause IN and Subquery
Mid-term Project
8.1 Mid-term Review
8.2 Mid-term Project Part I Answers
8.3 Mid-term Project Part II Answers
Aggregation and GROUP BY
9.1 GROUP BY
9.2 WHERE and HAVING in GROUP BY
Dataset Operation: UNION, INTERSECT, and MINUS
10.1 Dataset Operation
JOINing Tables
11.1 Joining Tables
11.2 Join with JOIN
11.3 Multi Table Join
11.4 SELECT Statement with JOIN and GROUP BY
11.5 Advanced Join Columns
11.6 CROSS JOIN and Join on key
11.7 Outer Join
11.8 Filtering from Another Table
11.9 Non-equi Join
View and Non Permanent Table
12.1 View
Permanent Table vs Temporary Tables
12.2 Non Permanent Tables
Stored Procedure, Cursor, and Window Functions
13.1 Stored Procedure
13.2 Cursor
13.3 Window Functions
DBMS Operations
14.1 DBMS Operations
Final Project
15.1 Final Review
15.2 Final Project Answers
15.3 Where to Go After This

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers entity relationship models and normalization, which are essential for database design and administration
Explores SQL statements, including CREATE, DROP, INSERT, SELECT, UPDATE, DELETE, and ALTER, which are fundamental for data manipulation
Requires no prerequisites, making it accessible to beginners interested in learning about relational databases and SQL
Includes a mid-term project and a final project, providing hands-on experience in applying SQL concepts to real-world scenarios
Features a section on PostgreSQL installation and usage, which is a popular open-source relational database management system
Discusses DBMS operations, stored procedures, cursors, and window functions, which are essential for database administration and optimization

Save this course

Save Introduction to Relational Database and SQL to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Introduction to Relational Database and SQL with these activities:
Review Set Theory
Reviewing set theory concepts will help you better understand relational database principles and operations like UNION, INTERSECT, and MINUS.
Browse courses on Set Theory
Show steps
  • Read a chapter on set theory from a discrete mathematics textbook.
  • Solve practice problems related to set operations.
  • Review the definitions of relations and functions.
Read 'Database Design for Mere Mortals'
Reading this book will provide a solid foundation in relational database design principles and best practices.
Show steps
  • Read the chapters on ER modeling and normalization.
  • Work through the examples provided in the book.
  • Apply the concepts learned to design a database for a simple application.
Read 'SQL for Data Analysis'
Reading this book will expand your knowledge of SQL beyond the course material, covering advanced topics and real-world applications.
Show steps
  • Read the chapters on window functions and stored procedures.
  • Try the examples provided in the book using a sample database.
  • Apply the techniques learned to solve a data analysis problem.
Four other activities
Expand to see all activities and additional details
Show all seven activities
SQLZoo Tutorials
Practicing SQL queries on SQLZoo will reinforce your understanding of SQL syntax and improve your problem-solving skills.
Show steps
  • Complete the SQLZoo tutorials on SELECT, WHERE, and JOIN clauses.
  • Work through the exercises on aggregation and GROUP BY.
  • Attempt the more challenging problems involving subqueries and window functions.
Create a SQL Cheat Sheet
Creating a SQL cheat sheet will help you consolidate your knowledge of SQL syntax and commands for quick reference.
Show steps
  • Compile a list of essential SQL commands and functions.
  • Organize the commands by category (e.g., SELECT, INSERT, UPDATE, DELETE).
  • Include examples of how to use each command with different options and clauses.
  • Share your cheat sheet with other students in the course.
Design a Database for a Library
Designing a database for a library will allow you to apply the concepts of ER modeling, normalization, and SQL to a real-world scenario.
Show steps
  • Create an ER diagram representing the entities and relationships in a library system.
  • Normalize the database schema to eliminate redundancy and ensure data integrity.
  • Implement the database using SQL CREATE TABLE statements.
  • Populate the database with sample data using INSERT statements.
  • Write SQL queries to retrieve information about books, patrons, and loans.
Contribute to a Database Project
Contributing to an open-source database project will provide valuable experience in working with real-world databases and collaborating with other developers.
Show steps
  • Find an open-source database project on GitHub or GitLab.
  • Review the project's documentation and code.
  • Identify a bug or feature that you can contribute to.
  • Submit a pull request with your changes.
  • Respond to feedback from the project maintainers.

Career center

Learners who complete Introduction to Relational Database and SQL will develop knowledge and skills that may be useful to these careers:
Database Administrator
A database administrator is the guardian of an organization's data, ensuring its availability, security, and performance. They design, implement, and maintain database systems. This course helps build a foundation in database design using the Entity Relationship Model and normalization techniques. The course will also help the learner develop skill in structured query language, which is vital for a database administrator for daily tasks. This includes writing SQL statements, handling data, changing data structure, and joining tables. A database administrator should take this course to strengthen their understanding of relational databases, which is a fundamental component of managing data.
Data Analyst
Data analysts extract insights from data to inform business decisions, requiring a strong grasp of database management and query languages. This course helps a data analyst learn how to effectively work with data stored in relational databases using the skills of writing SQL queries. This includes selecting, filtering, and aggregating data. The course covers essential aspects of SQL such as joins, group by, and where clauses, which a data analyst uses frequently to query relational databases. This course may be particularly useful as it teaches how to operate with a database management system, including creating and dropping tables which may be neccessary for a data analyst. A data analyst should take this course because it provides practical skills in retrieving and manipulating data for analysis.
Data Engineer
A data engineer builds and maintains the infrastructure for data, including how the data is stored and accessed. This course helps a data engineer understand database design using the Entity Relationship Model and normalization. This course also helps in understanding the structure of relational databases and how to write SQL for tasks like creating tables, inserting, updating, and deleting data. The course covers how to join tables, which is vital when working with multiple data sources. A data engineer should take this course as it directly covers how to work with the tools they use to create and modify data pipelines.
Business Intelligence Analyst
A business intelligence analyst translates raw data into actionable insights for business stakeholders. They rely heavily on knowledge of databases and query languages such as SQL. This course helps a business intelligence analyst gain the skills to work with relational databases and to write SQL queries. This course will help them learn how to use SQL to extract, aggregate, and join data to provide insights. The course offers practice in creating tables, inserting data, and filtering records, all of which are essential for a business intelligence analyst. A business intelligence analyst would benefit from this course because it provides a practical foundation in SQL, a core skill needed for this role.
Software Developer
A software developer builds applications and systems, often requiring interaction with databases. This course gives a software developer skills in relational database design and SQL query writing, allowing them to work with databases more competently. This includes designing databases with the Entity Relationship Model, understanding normalization, and writing complex SQL queries to retrieve and manipulate data. This course may be useful as it covers creating and joining tables, essential for building data driven applications. A software developer who wants to work with databases should take this course due to its strong focus on database fundamentals.
Backend Developer
A backend developer develops the server side logic and databases for applications, requiring a deep understanding of database technologies. This course helps a backend developer learn how to construct and manage relational databases using the Entity Relationship Model and SQL. This includes creating tables, inserting records, and writing complex queries. This course may be useful by providing hands on experience in using SQL to perform database operations. A backend developer seeking a foundation in database management should take this course as it focuses on the practical aspects of database interaction using SQL.
Data Scientist
A data scientist uses data analysis and machine learning to solve complex problems, often needing to interact with databases. This course may be useful to a data scientist by providing a foundation in relational databases and SQL. This includes understanding database design and writing various SQL queries. This course could help a data scientist learn querying data from relational databases to extract data for analysis. A data scientist should consider taking this course if they need to strengthen their knowledge of relational databases and acquire necessary SQL skills.
Systems Analyst
A systems analyst evaluates and improves computer systems, often working with databases. This course may be helpful for a systems analyst by providing a comprehensive understanding of relational database design and operation. The course allows them to understand how data is structured and accessed through SQL. They may find the course useful for learning to read and write queries for database interactions. A systems analyst who works with data intensive systems should consider taking this course as it provides a foundational understanding of database fundamentals.
Database Architect
A database architect designs and manages the structure of data infrastructure within an organization. This course may be helpful to a database architect by teaching the core concepts of relational database design using the Entity Relationship Model and SQL, which are the foundational components of database architecture. They may find this course useful for learning design and normalization techniques. A database architect who wants to review their foundation in relational database design should take this course to enhance their ability to design effective database systems.
Report Writer
A report writer creates reports from data, often requiring a skill in extracting and presenting information from databases. This course may be useful to a report writer by providing a foundation in SQL, enabling them to write queries to extract data from databases. This includes selecting and filtering data and creating aggregates. They may find this course helpful for understanding how to write SQL necessary for various report requirements. A report writer should consider taking this course to enhance their SQL skills for data extraction and reporting.
Technical Support Specialist
A technical support specialist provides technical assistance to end users, which may involve working with databases. This course may be helpful for a technical support specialist by providing a basic understanding of how databases work and how SQL is used to manage data. They may find this course useful for diagnosing database related issues and understanding user requests. A technical support specialist should consider taking this course if database management is a needed skill.
IT Manager
An IT manager oversees an organization's technology infrastructure, which often includes database systems. This course may be useful for an IT Manager to gain familiarity with relational database management and SQL. This includes understanding how database designs are made and how data is stored, managed, and queried. This course may be helpful so they are better equipped to manage database teams and related projects. An IT manager should consider taking this course if they need a better understanding of database fundamentals.
Quality Assurance Analyst
A quality assurance analyst tests software and systems to ensure they meet standards, which may include verifying database interactions. This course may be helpful for a quality assurance analyst by providing an overview of how databases function and how to extract data using SQL. They may find this course useful for generating test cases, validating data integrity, and checking data accuracy. A quality assurance analyst who works with applications that use databases should consider this course as it may enhance their understanding of the underlying data structure.
Project Manager
A project manager oversees and coordinates software development projects, which often involve databases. This course may be helpful to a project manager in understanding relational databases and SQL, enhancing their ability to manage database related tasks. This includes understanding the design and structure of relational databases, which can help manage technical teams and set project timelines. A project manager who works with database driven projects may find this course useful for managing project stakeholders.
Bioinformatician
A bioinformatician uses computational and statistical methods to analyze biological data, often using databases. This course may be useful for a bioinformatician by providing a foundation in SQL and database design. This course may be helpful to learn how to handle large datasets stored in relational databases, which is how biological information is often stored and managed. A bioinformatician who works with relational databases may find this course useful in enhancing their ability to manage and query data.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Introduction to Relational Database and SQL.
Provides a comprehensive guide to advanced SQL techniques, including window functions, stored procedures, and optimization strategies. It goes beyond the basics covered in the course and offers practical examples for real-world data analysis scenarios. This book is particularly useful for students who want to deepen their understanding of SQL and apply it to complex data problems. It serves as a valuable reference for advanced SQL concepts.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser