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!
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.
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.
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.
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
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 ♥
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
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?
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.
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.
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
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.
I don't get how the last example is considered third normal form (which has to be both second and first normal form) if the names and birthdate are in single cells, doesnt that violate the first normal form rule of divisibility? Maybe I am missing something or reading too much into it...
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 UA-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.
in a sense the 2nd and 3rd normal form is quite similar, is my understanding correct? basically if you could still create a new table from the existing table, then create.
3NF What is the transitivity within the non prime attributes? We need the name only to find the DOB. That is not transitivity between non prime attributes. Please explain
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
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.
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.
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.
[Regarding the tournament example], what if two winners have the same name? I know it's 'unlikely' but it's not impossible. And we cannot determine the winner of a tournaments DOB if their are multiple DOB's for that same name. Wouldn't it be better to have a winnerID? From this we could also split the first and last name as I saw in a previous comment, which would make the data more atomic.
In that case it is possible for 2 people to have the same name so therefore you would want to split the winner into first name and last name. Then you would have 3 fields first name last name and Date Of Birth. You would probably need to create a composite key in order to uniquely identify the person and create no redundency (duplication of data)
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!
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 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.
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
:+)
😂😂😂👍
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.
This is actually an extremely amazing, if not the best breakdown of the three normal forms by far.
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
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!
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!
Bro came in clutch night befor exam, ily
Its incredible how much easier things are to understand when they are explained in simple terms rather than overcomplicated messes full of jargon.
I have seen lots of explanations about table normalization and I believed this is the best of them all.
Very good tutorial. Definitely the best tutorial Ive seen so far
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!
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 :)
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!
literally the only video on youtube that explains this clearly. Thank you good sir
Liked this tutorial. As Michael Scott would say: "Explain me as I am 5" - You just did it. Thank you
The 1st Video that explains the concepts in a way that makes sense to a beginner. 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!
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.
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! 😊
Thank you so much read this in a textbook 3 times and it never got clearer! This really helped out
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.
Easily the best explanation and example ive seen on youtube
This was so much easier to understand than my textbook, thank you!
Really great video. Not excessive, explained everything I didn't understand in perfect clarity. Will be watching your channel in the future!
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
Love the bullet points. Straight and sweet to the point. Keep up the awesome work.
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.
waittt, a simple explanation? Thats rare. Bless you g
Thank you!
Thanks for sharing such clear and simple explanations. Greetings from Mexico City!
The best explanation I've read so far.
A simplified explanation for this topic, which may appear complex to some, including myself. I really appreciated this tutorial, thank you!
Had a 2 hour lecture and couldn't understand what you just explained in 10 minutes, thanks so much.
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
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 ♥
I've watched like 5 NF videos and this is the first intuitive one. Thank you
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.
Good explanation ....But I feel if u had used a single example would be great.... deducing it from 1NF to 3NF
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! Thank you! Thank you! You explained concept in 11 minutes what others couldn't in hours.
Seriously the best video on normalization
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, this video helped a lot! Short and straight to the point.
So clear. You saved my mid-term exam.
proudly calling you my teacher
Wow, this was so simply explained, it could be taught to kids in preschool 😬💯
you actually helped me pass my exam of databases
thank you a lot
thank you after searching tones of source about normalization your description quite understandable
I am so grateful to you for making this video. Thank you
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.
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.
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
Clean and simple explanation! Such a great tutorial
Great job! I feel like it's easy for normal form to get confusing but you showed it's actually pretty easy
its 2024 and here i am , learning from your video. May God bless you
You're a legend, mate. Thanks for the easy to understand tutorial.
Thank you for the efforts at creating this video. It makes me understand the concept.
You're very welcome!
thanks so much for your simple explanation and clear examples 🙏
Thank I god I stumbled upon this video I literally have an exam in 6 hours and this helped me a lot.
That was much more helpful than my college book. Thank you.
so clear, thanks. Makes normalization really understandable
Simplest explanation out there. Thank you.
Thank you. My teacher took 6 months trying to explain this but still didn't understand him, but you took less than 15 minutes
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!
Best video of normal form so far. Luv you!
Great and easy to understand explanation in a short amount of time
Glad it was helpful!
I don't get how the last example is considered third normal form (which has to be both second and first normal form) if the names and birthdate are in single cells, doesnt that violate the first normal form rule of divisibility? Maybe I am missing something or reading too much into it...
Straight to the point and easily understood. Thanks!
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 UA-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.
This made no sense in my book, but you made it so simple. Thanks!
So easy to understand. In such a short time. . ❤❤❤❤❤ thank you. .
I'm glad you liked it!
in a sense the 2nd and 3rd normal form is quite similar, is my understanding correct? basically if you could still create a new table from the existing table, then create.
Thanks for this video, currently taking Database Management & Design and this is a great resource!
I did not get it until I wrote everything down and drew the tables, then it clicked, thx for the video!
This was amazing and straight to the point. Thank you.
This helped me more than office hours thank you 🙏
Very good. The specifics I think are more important and better at communicating the theme then the broad analogy technique.
this video is awesome! Well explains these three concepts
I was completely lost with normalisation, thank you for explaining it
You're welcome 😊
3NF
What is the transitivity within the non prime attributes? We need the name only to find the DOB. That is not transitivity between non prime attributes.
Please explain
Thank you! Got exam in Database on tuesday and you saved me
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
Very clearly explained. Thank you for uploading this!
Fantastic video mate cheers best explanation I've heard
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.
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.
😮@@rayvongregory8072
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.
Lovely and clear, very well done - thank you!
thank you so much, watching this 30 mins befor exam
[Regarding the tournament example], what if two winners have the same name? I know it's 'unlikely' but it's not impossible. And we cannot determine the winner of a tournaments DOB if their are multiple DOB's for that same name. Wouldn't it be better to have a winnerID? From this we could also split the first and last name as I saw in a previous comment, which would make the data more atomic.
Totally makes sense.
In that case it is possible for 2 people to have the same name so therefore you would want to split the winner into first name and last name. Then you would have 3 fields first name last name and Date Of Birth. You would probably need to create a composite key in order to uniquely identify the person and create no redundency (duplication of data)
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!
Out here saving our A Levels
Awesome explanation! Thank you so much. Your 11 minute lecture was a lot more useful than my professor's half hour one. lol.
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.
Please help me, whats the difference between 2nd and 3rd normal form??!
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.
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?
Overall beautiful clip, greatly appreciated!
Thank you sir, you have saved my life!