In so many courses, they use ridiculous language almost to make the information as indigestible as possible. Thank you so much for making an effort to convey a cohesive idea. Academia should learn a thing or two from you.
Need advice for normalisation of a database for purchases in a book store How would I normalise a table in 1nf 2nf and 3nf that has details for a customers purchase of different books-including Author, title, purchase date, price. There is 7 different books, with all the information above for each of the books Also for the purchaser there is contact information such as name and address. Can someone please explain this properly or give me an example. Thanks!
Stopping the video at 5:14 to make this comment. You put the first table into 1NF, but then to move on, you switched to a completely different example. From a viewer's perspective, it would have been more helpful in creating understanding to have the same example follow through all the forms of normalization. I'm not ungrateful... I truly appreciate this video! It's just a suggestion. :-)
@@studious_viewer I believe that Tracy means to say that he should have chosen a single example that was unstructured which could then move all the way to total normalization. I think that this would actually be better done as a "part 2" so that each transition can be viewed both in a vacuum, but also as a complete series of transformations.
Simple explanation and examples. What a textbook can't do in ten pages is done in under 12 minutes. Thank you for taking the time in making this video, please keep up the great work!
Nobody made it simple to understand like you, millions thumbs up for you, but there is no transitivity seen between the non prime attributes in 3NF. Thanks
This is so much easier to understand than in my university course. My lecturer spends 2 ours on a topic overcomplicating it and throwing in fancy terminology. This is clear and concise and easily coneys the topic. Thanks :)
This was 2 50-minute lectures in my Database class, and it still didn't make sense. This is a 11 minute video which clearly explains what each form is and how to make a database comply to a form. Thank you.
From all the tutorials i've watched regarding this topic, this is the only one that made me understand completely the 3 Normal Forms. Thank you so much ♥
So easy to understand. I spent way too long being confused by a text book and you helped me grasp the concept in a fraction of the time I spent reading. Plus...your voice is nice to listen to.
This is such a clear and concise breakdown. Was trying to learn about DB normalisation from a textbook and it was so boring. Thank you very much for making this video.
Pretty neat, Spent hours trying to understand the material provided by the university, even failed a test. just watched this video and now understand 1NF, 2NF and 3NF.
Thanks, I already knew how to do db normalisation (I can do it without thinking), but I need to "show my workings" for an assignment and I tend to get lost in the rules of the normal forms, this explanation is a big help! -your mention about splitting first name, last name is interesting, as I've seen people advocate for either approach (splitting, or leaving the full name). I think the best wisdom on the matter is, it depends on whether one needs to access the first name and last name separately or not. If no need, they can remain joined.
It would have been much better if you have used one (unstructured) example through out the video, and made use of keys on the 3NF because one person could be a winner more than once in different years of course or names be the same (highly unlikely but possible). Besides that, great tutorial, you made it much easier. Thank you.
I agree that using the same dataset from start to finish might have had its own benefits. However, from the example you cited, even if the same person with the same name won all tournaments in the same year or multiple years, does it distort the 3NF? Won't every record or row still be unique as tournament names and years do the distinguishing?
Thank you for this explanation! I'm retaking a databases course, and the first time around, I had trouble understanding normal forms in lecture or from the verbose section in the textbook. This video, however, is very easy to understand
Thank you so much. I think you illustrate it much better than my professor. I think my professor simply wasted my time. From now on, I decide not to attend her lectures any more, but listen to your lecture instead.
4 years later... tomorrow I am going to have a meeting with a colleague from Data Science who disrespected 1NF. I don't know who or how is listening to me, but I didn't know anything about this and TH-cam suggested this video in the New for me section of the Home. I feel like having buffed up with a side quest before having to beat a boss.
Your tutorial is a gem, mate!! It's really simple, the examples are great, and (not to be racist but I feel every European that has recently started messing with programming) you speak in fluent, understandable English. I'm having such a hard time to understand Indians trying to explain anything in English, which is such a pity if you consider how great some of their tutorials are
Thank you for this very helpful video! One comment for the last example (2NF -> 3NF): Winner contains both the winners first name and last name. Therefore it is not in 1NF because the values are divisable. If we want to be correct, we need to split up the names in first_name and last_name
Does a first name and last name need to be separate in order to achieve atomicity and therefore 1NF? The answer is... it depends on what you are going to do with the data. If you are going to search, sort or filter using fn/sn separately then it needs to be separate and therefore it is not in 1NF, if you are only ever going to use that data in a single combined manner then it is indeed in 1NF.
Very helpful with the diagrams as well, the resource which i'm currently learning this from, does not have diagrams and i believe the author of the textbook purposely makes it difficult to understand. Thank you very much.
Thank you for this great tutorial, which makes some difficult concepts easy to understand. My only little contribution is to wonder why you did not use some raw data from the beginning and showed through 1st - 3rd Normal Form how to transfer such data. Most people start their database life via Excel, and as you're aware they pick up some terrible habits very quickly. Thank you, it gave me that Eureka realisation moment I'd been searching for.
Could (perhaps should) have "Tournament", "Year", and "Winner ID" in the left-hand table, and the right-hand table would have attributes "Winner ID", "LName", "FName", and "DOB". Because this is a many-to-many relationship there should actually be three tables: (1) Tournaments, (2) Winners, and the middle table (3) TournamentID/WinnerID/Year. Some of this depends on the architect's judgment, like "How big is this likely to get?" If it will remain a small database of dozens or maybe a couple hundred records, some corner-cutting can be justified.
9:54 In this table the 'Winner' has a first and second name together as a composite. Does this mean it is not yet first normal form as that would require these data to be in different columns? Also, should the 3rd normal form tables have a unique key? What if there were two 'Bob Albertson's who were both born on 28 September 1968?
when you build the database you can set that field as "date" and have different formats (ex. 10/24/2022 or Oct 24 2022) so that example is not divisible and it is in 1st normal form
You only have to split them if you suspect your logical model needs it to be split. For example, a phone number could be split for area codes, but your database model does not care about area codes. So there is no need to split phone numbers into multiple columns.
I was thinking that, too. Instead of using the winner's name in the Tournament Winners table, I would just have a table of winners with columns: [ ID, First Name, Last Name, DOB ] Then I'd use the ID in the Tournament Winners Winner column because the current model fails the moment two winners have the same name.
Thanks, that's a brilliant explanation. You should write a book, because that is better than the books I've read. I see you do a lot of hobbyist videos. Perhaps you should do some more aimed at professionals. I'd definitely watch them. Especially about databases.
I think that this would actually be better done as a "part 2" so that each transition can be viewed both in a vacuum, but also as a complete series of transformations. Definitely something worth considering.
Thank you very much , u r the first one conveying the ideas clearly but I have something to ask you for if possible my friend that is if you could provide another example about the third form and thanks again
In so many courses, they use ridiculous language almost to make the information as indigestible as possible. Thank you so much for making an effort to convey a cohesive idea. Academia should learn a thing or two from you.
I'm glad it was helpful! :-)
agreed!! in university they would spend an hour to explain it, while still making the students confused
OMG I agree. Its sucks because database and design is super important but is the dryest material ever.
Need advice for normalisation of a database for purchases in a book store
How would I normalise a table in 1nf 2nf and 3nf that has details for a customers purchase of different books-including Author, title, purchase date, price. There is 7 different books, with all the information above for each of the books
Also for the purchaser there is contact information such as name and address. Can someone please explain this properly or give me an example. Thanks!
Thank you! My course material made this needlessly confusing.
Thank you. My teacher spent over an hour confusing everyone instead of just laying it out simply. You saved me from that confusion.
he saved me too
:+)
😂😂😂👍
Bro came in clutch night befor exam, ily
This is actually an extremely amazing, if not the best breakdown of the three normal forms by far.
Its incredible how much easier things are to understand when they are explained in simple terms rather than overcomplicated messes full of jargon.
Stopping the video at 5:14 to make this comment. You put the first table into 1NF, but then to move on, you switched to a completely different example. From a viewer's perspective, it would have been more helpful in creating understanding to have the same example follow through all the forms of normalization. I'm not ungrateful... I truly appreciate this video! It's just a suggestion. :-)
its done tho, can't simplify further
@@studious_viewer I believe that Tracy means to say that he should have chosen a single example that was unstructured which could then move all the way to total normalization.
I think that this would actually be better done as a "part 2" so that each transition can be viewed both in a vacuum, but also as a complete series of transformations.
I like it that way, because it gives a little assignment for us to solve for the first example table and make it a 2nf and 3nf
You summed up and explained in 12 minutes what my instructor couldn't do in 3 hours. Thank you so much.
Glad to be of assistance!
Simple explanation and examples. What a textbook can't do in ten pages is done in under 12 minutes. Thank you for taking the time in making this video, please keep up the great work!
Liked this tutorial. As Michael Scott would say: "Explain me as I am 5" - You just did it. Thank you
I was banging my head on the desk trying to understand it from my textbook but this really cleared things up, great video
Glad it helped!
The one tutorial to rule them all. Thank you so much for this super easy and short explanation.
The best and most concise explanation for database normalisation I've ever watched!
I have seen lots of explanations about table normalization and I believed this is the best of them all.
Nobody made it simple to understand like you, millions thumbs up for you, but there is no transitivity seen between the non prime attributes in 3NF. Thanks
I don't want to get ahead of myself, but I think you got the gift of teaching. Can't wait to check out more of your videos
Thank you very much for your comment! It's greatly appreciated! 😊
you saved me with this, i was so stressed about it during my lessons
omg bro you are like a water in the desert I was just about to give up on my assignment and saw your video thank you so much!
This is so much easier to understand than in my university course. My lecturer spends 2 ours on a topic overcomplicating it and throwing in fancy terminology. This is clear and concise and easily coneys the topic. Thanks :)
Very good tutorial. Definitely the best tutorial Ive seen so far
Had a 2 hour lecture and couldn't understand what you just explained in 10 minutes, thanks so much.
literally the only video on youtube that explains this clearly. Thank you good sir
This was 2 50-minute lectures in my Database class, and it still didn't make sense. This is a 11 minute video which clearly explains what each form is and how to make a database comply to a form. Thank you.
Thank you so much read this in a textbook 3 times and it never got clearer! This really helped out
it was so hard for me to comprehend this topic....but you have nailed it this is the best explanation ever on normalization . thank you so much
Wow, this was so simply explained, it could be taught to kids in preschool 😬💯
waittt, a simple explanation? Thats rare. Bless you g
Thank you!
A simplified explanation for this topic, which may appear complex to some, including myself. I really appreciated this tutorial, thank you!
From all the tutorials i've watched regarding this topic, this is the only one that made me understand completely the 3 Normal Forms.
Thank you so much ♥
So easy to understand. I spent way too long being confused by a text book and you helped me grasp the concept in a fraction of the time I spent reading. Plus...your voice is nice to listen to.
This is such a clear and concise breakdown. Was trying to learn about DB normalisation from a textbook and it was so boring. Thank you very much for making this video.
Good explanation ....But I feel if u had used a single example would be great.... deducing it from 1NF to 3NF
Pretty neat, Spent hours trying to understand the material provided by the university, even failed a test. just watched this video and now understand 1NF, 2NF and 3NF.
Easily the best explanation and example ive seen on youtube
The 1st Video that explains the concepts in a way that makes sense to a beginner. Thank You!!
Really great video. Not excessive, explained everything I didn't understand in perfect clarity. Will be watching your channel in the future!
Thank you. My teacher took 6 months trying to explain this but still didn't understand him, but you took less than 15 minutes
So clear. You saved my mid-term exam.
The best explanation I've read so far.
Thank I god I stumbled upon this video I literally have an exam in 6 hours and this helped me a lot.
Love the bullet points. Straight and sweet to the point. Keep up the awesome work.
Thanks, I already knew how to do db normalisation (I can do it without thinking), but I need to "show my workings" for an assignment and I tend to get lost in the rules of the normal forms, this explanation is a big help! -your mention about splitting first name, last name is interesting, as I've seen people advocate for either approach (splitting, or leaving the full name). I think the best wisdom on the matter is, it depends on whether one needs to access the first name and last name separately or not. If no need, they can remain joined.
Finally, normal English video in the search result, not Indian or other foreign accents.
did you know that the rest of the world exists
shocker, right?
proudly calling you my teacher
It would have been much better if you have used one (unstructured) example through out the video, and made use of keys on the 3NF because one person could be a winner more than once in different years of course or names be the same (highly unlikely but possible). Besides that, great tutorial, you made it much easier. Thank you.
I agree that using the same dataset from start to finish might have had its own benefits.
However, from the example you cited, even if the same person with the same name won all tournaments in the same year or multiple years, does it distort the 3NF?
Won't every record or row still be unique as tournament names and years do the distinguishing?
thank you so much, watching this 30 mins befor exam
This was so much easier to understand than my textbook, thank you!
Thank you! Thank you! Thank you! You explained concept in 11 minutes what others couldn't in hours.
I did not get it until I wrote everything down and drew the tables, then it clicked, thx for the video!
Great job! I feel like it's easy for normal form to get confusing but you showed it's actually pretty easy
you actually helped me pass my exam of databases
thank you a lot
I was completely lost with normalisation, thank you for explaining it
You're welcome 😊
thank you after searching tones of source about normalization your description quite understandable
I've watched like 5 NF videos and this is the first intuitive one. Thank you
Seriously the best video on normalization
Thank you for this explanation! I'm retaking a databases course, and the first time around, I had trouble understanding normal forms in lecture or from the verbose section in the textbook. This video, however, is very easy to understand
Thank you so much. I think you illustrate it much better than my professor. I think my professor simply wasted my time. From now on, I decide not to attend her lectures any more, but listen to your lecture instead.
4 years later... tomorrow I am going to have a meeting with a colleague from Data Science who disrespected 1NF.
I don't know who or how is listening to me, but I didn't know anything about this and TH-cam suggested this video in the New for me section of the Home.
I feel like having buffed up with a side quest before having to beat a boss.
That was much more helpful than my college book. Thank you.
This made no sense in my book, but you made it so simple. Thanks!
Your tutorial is a gem, mate!! It's really simple, the examples are great, and (not to be racist but I feel every European that has recently started messing with programming) you speak in fluent, understandable English. I'm having such a hard time to understand Indians trying to explain anything in English, which is such a pity if you consider how great some of their tutorials are
how did you manage to dumb it down so easily? Other explanations on YT are boring and confusing, but this video just made it make sense.
Thank you for this very helpful video!
One comment for the last example (2NF -> 3NF): Winner contains both the winners first name and last name. Therefore it is not in 1NF because the values are divisable. If we want to be correct, we need to split up the names in first_name and last_name
Does a first name and last name need to be separate in order to achieve atomicity and therefore 1NF? The answer is... it depends on what you are going to do with the data. If you are going to search, sort or filter using fn/sn separately then it needs to be separate and therefore it is not in 1NF, if you are only ever going to use that data in a single combined manner then it is indeed in 1NF.
This helped me more than office hours thank you 🙏
Great and easy to understand explanation in a short amount of time
Glad it was helpful!
Clean and simple explanation! Such a great tutorial
BEST TUTORIAL
Most other courses are bullshit to understand
Very good. The specifics I think are more important and better at communicating the theme then the broad analogy technique.
so clear, thanks. Makes normalization really understandable
Very helpful with the diagrams as well, the resource which i'm currently learning this from, does not have diagrams and i believe the author of the textbook purposely makes it difficult to understand. Thank you very much.
You're a legend, mate. Thanks for the easy to understand tutorial.
Thank you for this great tutorial, which makes some difficult concepts easy to understand. My only little contribution is to wonder why you did not use some raw data from the beginning and showed through 1st - 3rd Normal Form how to transfer such data. Most people start their database life via Excel, and as you're aware they pick up some terrible habits very quickly. Thank you, it gave me that Eureka realisation moment I'd been searching for.
Out here saving our A Levels
Thank you for the efforts at creating this video. It makes me understand the concept.
You're very welcome!
So easy to understand. In such a short time. . ❤❤❤❤❤ thank you. .
I'm glad you liked it!
Why didn't you split the winners names to first and last name on your 3rd NF example tho? That makes it not so atomic
Could (perhaps should) have "Tournament", "Year", and "Winner ID" in the left-hand table, and the right-hand table would have attributes "Winner ID", "LName", "FName", and "DOB". Because this is a many-to-many relationship there should actually be three tables: (1) Tournaments, (2) Winners, and the middle table (3) TournamentID/WinnerID/Year. Some of this depends on the architect's judgment, like "How big is this likely to get?" If it will remain a small database of dozens or maybe a couple hundred records, some corner-cutting can be justified.
Wondering exactly the same.
Wondering the same thing.
Simple and Amazing! Feel thankful watching this video!
Simplest explanation out there. Thank you.
Thanks for this video, currently taking Database Management & Design and this is a great resource!
Straight to the point and easily understood. Thanks!
Thank you! Got exam in Database on tuesday and you saved me
Awesome explanation! Thank you so much. Your 11 minute lecture was a lot more useful than my professor's half hour one. lol.
Thank you so much for your effort
Also best tutorial keep going teacher🙏
9:54 In this table the 'Winner' has a first and second name together as a composite. Does this mean it is not yet first normal form as that would require these data to be in different columns? Also, should the 3rd normal form tables have a unique key? What if there were two 'Bob Albertson's who were both born on 28 September 1968?
when you build the database you can set that field as "date" and have different formats (ex. 10/24/2022 or Oct 24 2022) so that example is not divisible and it is in 1st normal form
this video is awesome! Well explains these three concepts
Isn't the Tournament example not actually in 3NF because the "Winner" column can be divisible (First name, Last name) which violates 1NF?
You only have to split them if you suspect your logical model needs it to be split. For example, a phone number could be split for area codes, but your database model does not care about area codes. So there is no need to split phone numbers into multiple columns.
I was thinking that, too. Instead of using the winner's name in the Tournament Winners table, I would just have a table of winners with columns:
[ ID, First Name, Last Name, DOB ]
Then I'd use the ID in the Tournament Winners Winner column because the current model fails the moment two winners have the same name.
i really think you should do all of database class i would watch and we all need it
Thanks, that's a brilliant explanation. You should write a book, because that is better than the books I've read. I see you do a lot of hobbyist videos. Perhaps you should do some more aimed at professionals. I'd definitely watch them. Especially about databases.
Best video of normal form so far. Luv you!
Very clearly explained. Thank you for uploading this!
This was amazing and straight to the point. Thank you.
Could you please make a video about Entity Relationship Diagrams? Your way of explaining things is amazing.
Here is a video I made about the different types of ERD - th-cam.com/video/QG2luqhsCHI/w-d-xo.html . I will be doing a more general video soon.
Very good and simple explanation.🙃
a hundred million worth video
Fantastic video mate cheers best explanation I've heard
i think you are the most clear
Lovely and clear, very well done - thank you!
Why can't one relation be used for 1nf, 2nf and 3nf? Changing example tables doesn't create consistency. Most tutorials on this do the same mistake
ah boy i hear you.
it's different problem with different solution
@@ferrysuhandri Not really you can have an example thay goes through all 3 in sequential order
I think that this would actually be better done as a "part 2" so that each transition can be viewed both in a vacuum, but also as a complete series of transformations. Definitely something worth considering.
Thank you very much , u r the first one conveying the ideas clearly but I have something to ask you for if possible my friend that is if you could provide another example about the third form and thanks again
This is great! I wish it also included BCNF, but absolutely fantastic nonetheless.
Very nicely explained