Loved by learners at thousands of companies
A good database design is crucial for a high-performance application. Just like you wouldn't start building a house without the benefit of a blueprint, you need to think about how your data will be stored beforehand. Taking the time to design a database saves time and frustration later on, and a well-designed database ensures ease of access and retrieval of information. While choosing a design, a lot of considerations have to be accounted for. In this course, you'll learn how to process, store, and organize data in an efficient way. You'll see how to structure data through normalization and present your data with views. Finally, you'll learn how to manage your database and all of this will be done on a variety of datasets from book sales, car rentals, to music reviews.
Processing, Storing, and Organizing DataFree
Start your journey into database design by learning about the two approaches to data processing, OLTP and OLAP. In this first chapter, you'll also get familiar with the different forms data can be stored in and learn the basics of data modeling.
Database Schemas and Normalization
In this chapter, you will take your data modeling skills to the next level. You'll learn to implement star and snowflake schemas, recognize the importance of normalization and see how to normalize databases to different extents.Star and snowflake schema50 xpRunning from star to snowflake50 xpAdding foreign keys100 xpExtending the book dimension100 xpNormalized and denormalized databases50 xpQuerying the star schema100 xpQuerying the snowflake schema100 xpUpdating countries100 xpExtending the snowflake schema100 xpNormal forms50 xpConverting to 1NF100 xpConverting to 2NF100 xpConverting to 3NF100 xp
Get ready to work with views! In this chapter, you will learn how to create and query views. On top of that, you'll master more advanced capabilities to manage them and end by identifying the difference between materialized and non-materialized views.Database views50 xpTables vs. views100 xpViewing views100 xpCreating and querying a view100 xpManaging views50 xpCreating a view from other views100 xpGranting and revoking access100 xpUpdatable views50 xpRedefining a view100 xpMaterialized views50 xpMaterialized versus non-materialized100 xpCreating and refreshing a materialized view100 xpManaging materialized views50 xp
This final chapter ends with some database management-related topics. You will learn how to grant database access based on user roles, how to partition tables into smaller pieces, what to keep in mind when integrating data, and which DBMS fits your business needs best.Database roles and access control50 xpCreate a role100 xpGRANT privileges and ALTER attributes100 xpAdd a user role to a group role100 xpTable partitioning50 xpReasons to partition50 xpPartitioning and normalization100 xpCreating vertical partitions100 xpCreating horizontal partitions100 xpData integration50 xpData integration do's and dont's100 xpAnalyzing a data integration plan50 xpPicking a Database Management System (DBMS)50 xpSQL versus NoSQL50 xpChoosing the right DBMS100 xp
In the following tracksData EngineerSQL for Database AdministratorsSQL Server DeveloperSQL Server for Database Administrators
PrerequisitesIntroduction to Relational Databases in SQL
Lis SulmontSee More
Content Program Manager at Duolingo
Lis holds a Master's degree in Computer Science from McGill University with a focus on computer science education research and applied machine learning. She's passionate about teaching all things related to data and improving the accessibility of these topics.
Don’t just take our word for it
- Samuel N.about 1 month
this is a basic course everyone should do
- Christian T.about 1 month
Most of, if not everything you need to know from the start is included. Thanks
- Martin M.about 1 month
All topics are teach clearly and simple.
- Ousmane C.about 2 months
This course truly exceeded my expectations and I can confidently say it was a top-notch learning experience. The course content on data modeling was exceptionally comprehensive, presented in a well-structured and progressive manner. I genuinely appreciate how the course was designed to gradually build upon concepts, ensuring a smooth and effective learning journey. The clarity of explanations and practical examples provided throughout the course significantly contributed to my understanding of data modeling principles and techniques. I am grateful for the valuable insights and skills I have gained from this course. It has undoubtedly enhanced my proficiency in data modeling, and I now feel more confident in applying these concepts in real-world scenarios. A big thank you to the instructors for their dedication and expertise in creating such an impactful learning resource. Thanks a lot !!!
- Vicky D.2 months
At the end of course, I finally understand - the difference between OLAP and OLTP - Which type of data source to choose based on applications goals - How to use views and manage users and roles