- 8
- 2 630 855
Decomplexify
United Kingdom
Приєднався 10 кві 2020
Entity Relationship Diagrams
An easy-to-follow tutorial on Entity Relationship Diagrams (ERDs). In this video, we explore how ERDs help to clarify crucial aspects of what’s going on in a database design. Using a range of examples, we go step-by-step through the process of taking a set of information requirements and turning it into an ERD.
0:00 Introduction
0:57 Extracting information requirements
2:58 Relationships
4:07 Cardinality
6:42 Basics of Chen notation
9:50 Attributes
11:04 Weak entities
13:17 Crow's foot notation
15:10 M-M / 1-M / 1-1 relationships
18:07 From ERD to relational database
20:00 Conclusion
0:00 Introduction
0:57 Extracting information requirements
2:58 Relationships
4:07 Cardinality
6:42 Basics of Chen notation
9:50 Attributes
11:04 Weak entities
13:17 Crow's foot notation
15:10 M-M / 1-M / 1-1 relationships
18:07 From ERD to relational database
20:00 Conclusion
Переглядів: 5 657
Відео
Learn SQL Joins
Переглядів 61 тис.Рік тому
An easy-to-follow SQL joins tutorial, with lots of examples. Covers the main types of SQL joins, namely: - INNER JOIN - LEFT OUTER JOIN - RIGHT OUTER JOIN - FULL OUTER JOIN - CROSS JOIN 0:00 Introduction 0:40 INNER JOINs 9:08 LEFT OUTER JOINs 13:04 RIGHT OUTER JOINs 15:36 FULL OUTER JOINs 17:10 Tailoring the matching criteria 18:40 CROSS JOINs 19:24 Joining a table to itself 21:06 Conclusion
Learn Database Denormalization
Переглядів 49 тис.2 роки тому
What is RDBMS denormalization all about? This video will help you to recognize situations in which it is appropriate to denormalize a relational database table - or avoid normalizing it in the first place. Featuring lots of examples and a focus on the design process.
Database Keys Made Easy - Primary, Foreign, Candidate, Surrogate, & Many More
Переглядів 175 тис.2 роки тому
An easy-to-follow tutorial covering the whole gamut of RDBMS keys: primary keys, candidate keys, superkeys, alternate keys, foreign keys, surrogate keys, natural keys, simple keys, composite keys, compound keys, and intelligent keys. Featuring lots of examples and a focus on the design process. 0:00 Introduction 0:53 Primary Keys 3:29 Candidate Keys 6:09 Superkeys 7:57 Alternate Keys 8:49 Forei...
Learn Boyce-Codd Normal Form (BCNF)
Переглядів 115 тис.2 роки тому
An easy-to-follow & comprehensive explanation of Boyce-Codd Normal Form (BCNF), with examples. After watching this video, you'll understand BCNF and the key concepts that enter into the BCNF definition, for example "prime attribute", "non-prime attribute", "candidate key". And you'll understand exactly how BCNF improves upon Third Normal Form (3NF). See also Decomplexify's full step-by-step dat...
The Surprise Exam Paradox, Part 2
Переглядів 5 тис.2 роки тому
The Surprise Exam Paradox (which is equivalent to the Unexpected Hanging Paradox) is a mind-boggling logical conundrum. In Part 1, we ran through our own variation of this paradox. Here in Part 2, we give an in-depth analysis of the paradox - and attempt to resolve it.
The Surprise Exam Paradox, Part 1
Переглядів 9 тис.2 роки тому
The Surprise Exam Paradox (which is equivalent to the Unexpected Hanging Paradox) is a mind-boggling logical conundrum. In this video ("Part 1"), we run through our own variation of this paradox. Have a go at solving the mystery of the Surprise Exam Paradox yourself... and stay tuned for Part 2, where we analyze the paradox in detail and present our own resolution to it!
Learn Database Normalization - 1NF, 2NF, 3NF, 4NF, 5NF
Переглядів 2,2 млн3 роки тому
An easy-to-follow database normalization tutorial, with lots of examples and a focus on the design process. Explains the "why" and "how" of normalization, and takes you step-by-step through: - First Normal Form (1NF) - Second Normal Form (2NF) - Third Normal Form (3NF), with a side note on Boyce-Codd Normal Form (BCNF) - Fourth Normal Form (4NF) - Fifth Normal Form (5NF) 0:00 What is database n...
How do we draw "Views" or query results? Suppose I'm developing a pet app that has a page where I list all my pets. What does it look like to represent that query in a diagram? I find that apps are just a bunch of queries with UI. I also spend too long over thinking the perfect DB schema for all scenarios, but ultimately it's just a list view, details view, etc. How do we represent those in a diagram that helps developing the DB schema I actually need? I hope I'm making sense. s/o from 🇿🇼 🇿🇼 🇿🇼 keep up the good work
Are you kidding me? This took my lecturer 6 months and I could not comprehend WTF he was talking about.. Bro explained normalizations without even mentioning it LOL Thank You!
if only my lecturer explained things like this instead of reading her slides things would've been easier to understand
Awesome
Wow, thank you so much... You are a hero!
Great explanation. One doubt... so now when it is in BCNF, there are 2 candidate keys right?..{ Movie_name } and {Release_year, Ranking}..as Release_month and Ranking together is not enough anymore to be a candidate key...so only Release_month is non-prime and other attributes are prime in the table....Right?
Thanks for the comment and question! Yes, that's exactly right.
beatles, very bad sample...and what about the 5th beatles.?
This video is great! the only one I understand. thank you for making this
19:10 I remember 1-3 summed up as: "The key, the whole key and nothing but the key - so help me Codd."
I work as a sysadmin on a 35 year old insurance platform. Some of the tables are more than 300 columns long. It contains 700+ hand-crafted tables and about 19000 columns in total. This video neatly describes quite a few mistakes which have been made while developing this system over the years...
Loved it! Simple and clear
Thanks.. best explainer
Clear and easy to follow. I have a question about which level is this table and why: [Product_ID, Product_name, Product_model, Product_Manufacturer_Name] Product_Manufacturer_Name can be the same for many rows. so what level is this table?
Thanks for the comment and question! The fact that Product_Manufacturer_Name can be the same for many rows tells you very little. It simply means that Product_Manufacturer_Name cannot be the key. But this is unsurprising, because your table isn't a table of Product Manufacturers (i.e. one row per Product Manufacturer), it's a table of Products (i.e. one row per Product). The key is Product_ID. To determine whether your table is in 3NF, remember that the criterion for 3NF is: every non-key attribute must be dependent on the key, the whole key, and nothing but the key. It's clear that in your table, every non-key attribute is dependent on the whole key Product_ID. The only question remaining question is: does it ever happen that one of your non-key attributes is dependent on another non-key attribute (or combination of non-key attributes)? For example, is it the case that {Product_Name, Product_Model} --> {Product_Manufacturer_Name}? If you can answer this question, then you'll know whether your table is in 3NF or not.
@@decomplexify Thank you. i appreciate your reply.
Learned this stuff 20 years ago.. I had forgotten most of it, but you took me back. Thanks! Very nice video.
the man, the myth, the legend. welcome back bro
Exactly what I was looking for!
역시 Normalization은 신 창 섭
Great Video but I am wondering why Release_Month is dependend on the release year in your example. Why can't a movie that was released in a previous year be the movie of the current year. That way there would be any dependency between releasee_year and release_month would it? Thanks for the help
Hi, thanks for the comment and question. "Ice Age: Dawn of the Dinosaurs" has a "Release_Year_And_Month" of 2009-07, meaning the film was released in July 2009. Therefore its Release_Year (meaning the year it was released) has to be 2009. Release_Year depends on Release_Year_And_Month, by definition.
Clear and well explained video - thank you 🙏
nice and good explanation. But reality often goes against NF3-5, where performance is more important than the normalized db.
Kindly bring video on Stored procedures.
Great explanation. Although, coming from big tech and big data I want to warn folks to not blindly design relational dbs like this. Sometimes speed is more important than normalization esp on read heavy tables, thus having seemingly duplicate data is okay. Second advice: do not use foreign keys, there will be a day when you will need to make a breaking schema change, and you'll thank God you just read this comment.
"Do not use foreign keys" is possibly some of the worst DB design advice I've ever heard. It pushes the responsibility onto the application for maintaining the integrity of data relationships onto the application, but maintaining the integrity of data relationships is one of the most important purposes of a DB.
I couldn't imagine a complex matter like this being explained in a such an easy, straightforward and satisfying way. I feel enlightened - literally.
Such a nice video about a subtle difference! Keep up the good work
This is a great video! You explained it in more depth, used clearer examples and were easier to follow than my professor! : ) Thank you, I am liking subscribing, commenting and sharing! Everybody should have access to these kinds of videos
welcome back
damn i feel like im gettin good at sequel . how genius of me!!
AMAZING
AMAZING
Tomorrow i was thinking of revising students about ER diagram, what a perfecting timing of this video recommendation ❤
Hey welcome back your explanations are an absolute gem and I love your all videos.... Please keep posting
something wrong with the 4NF even i read the pinned correction you should have separate out the Model - Model Id into new model table Color table and style table should depend on the Model PK
In the example, we're just examining one table - Model_Colors_And_Styles_Available - and asking whether this table is in 4NF. It isn't. The information that the Model_Colors_And_Styles_Available is communicating can instead be communicated using two tables: Model_Colors_Available and Model_Styles_Available. Both these tables are in 4NF. Your comment mentions two things: the first is about the desirability of having a Model table, and the second is about the idea of using Model IDs to represent models. Nothing in the example prevents you from having a Model table in addition to the tables mentioned. But when it comes to expressing information about the available colors and styles for each model in a normalized manner, the existence of a Model table is irrelevant. The question of whether models are identified using a string column called "Model", or using an integer column called "Model_ID", is also irrelevant from the point of view of normalization. There are plenty of good reasons to have a Model table. And there are plenty of good reasons to use simple integer surrogate keys (e.g. for identifying models). It's just that these reasons have nothing to do with the requirements of 4NF.
hey king you dropped this👑
Who tf is this video for?? If you know anything about databases this is common knowledge and if you don’t know anything about databases this video won’t mean anything to you. Waste of 30 minutes
God I love your videos thank you so much 🙏
Whenever I do exercises on normalization, I always visualize the examples in this video! One of the most useful videos I have watched!!!
Thank you for your video. It was made very nice and clear.
Before the we started our current project, I forced our desinger to watch your videos. He now drafts the DB himself and does not make up strange relations anymore hence I only have to improve on the draft. You safed me a ton of work. Thank you!
You're welcome! Glad I've been able to help your designer to do things better.
All your explainer videos are masterful and second to none. Thank you!
Missed your vids, hope to see more! 💛
Thanks to your normalization video I was able to finish up my first database class I thank you for the nature of your production.
Those normalisation vids are 🔥 🔥 🔥
Bro remembered his password, w vid as always
I started learning about database systems today wishing you upload more and voila, thanks for coming back!
Genius channel THANK YOU
How would you enforce a one to many relationship in the other direction in SQL? Ex. enforce that every Address is associated with at least one Person.
That's a little complicated. On most database platforms, you'll need to write "triggers", for example a trigger to ensure that if an attempt is made to put through a transaction that deletes the only remaining person associated with a given address, this attempt is detected and the transaction is automatically rolled back. If you are designing your database using a sophisticated data modelling tool like ERwin, the tool will be able to see (from the cardinalities you specified on the relationship in your diagram) that these triggers are needed, and will script them for you automatically.
WOOOHOO HE'S BACK
I’m just want to let you know you helped me get started as a master data manager, I’ve since been promoted to Sr analyst thank you so much.
Congratulations! That's amazing, and you are welcome - it's really gratifying to learn that my videos have played some part in this.
Your back!
omg
What of the scenario where students study beforehand and are prepared for an exam any day of the week? Whether it is a surprise or not is no longer relevant because they were told there would be a 'surprise' exam, meaning It isn't much of a surprise regardless of when it occurs.