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 :)
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 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.
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.
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.
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.
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.
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.
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.
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
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 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.
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.
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.
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
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...
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.
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.
[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!
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
:+)
😂😂😂👍
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
Its incredible how much easier things are to understand when they are explained in simple terms rather than overcomplicated messes full of jargon.
Bro came in clutch night befor exam, ily
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 have seen lots of explanations about table normalization and I believed this is the best of them all.
The one tutorial to rule them all. Thank you so much for this super easy and short explanation.
you saved me with this, i was so stressed about it during my lessons
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 :)
The best and most concise explanation for database normalisation I've ever watched!
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!
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.
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 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.
literally the only video on youtube that explains this clearly. Thank you good sir
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! 😊
Good explanation ....But I feel if u had used a single example would be great.... deducing it from 1NF to 3NF
Wow, this was so simply explained, it could be taught to kids in preschool 😬💯
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!
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
The 1st Video that explains the concepts in a way that makes sense to a beginner. Thank You!!
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.
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.
waittt, a simple explanation? Thats rare. Bless you g
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 ♥
A simplified explanation for this topic, which may appear complex to some, including myself. I really appreciated this tutorial, thank you!
Easily the best explanation and example ive seen on youtube
Thank you. My teacher took 6 months trying to explain this but still didn't understand him, but you took less than 15 minutes
The best explanation I've read so far.
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.
I've watched like 5 NF videos and this is the first intuitive one. Thank you
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.
Love the bullet points. Straight and sweet to the point. Keep up the awesome work.
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.
Really great video. Not excessive, explained everything I didn't understand in perfect clarity. Will be watching your channel in the future!
This was so much easier to understand than my textbook, thank you!
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 after searching tones of source about normalization your description quite understandable
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.
So clear. You saved my mid-term exam.
Thank I god I stumbled upon this video I literally have an exam in 6 hours and this helped me a lot.
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?
Thank you! Thank you! Thank you! You explained concept in 11 minutes what others couldn't in hours.
Seriously the best video on normalization
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.
proudly calling you my teacher
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 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
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 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.
I did not get it until I wrote everything down and drew the tables, then it clicked, thx for the video!
That was much more helpful than my college book. Thank you.
Great job! I feel like it's easy for normal form to get confusing but you showed it's actually pretty easy
thank you so much, watching this 30 mins befor exam
This made no sense in my book, but you made it so simple. Thanks!
Very good. The specifics I think are more important and better at communicating the theme then the broad analogy technique.
Great and easy to understand explanation in a short amount of time
Glad it was helpful!
so clear, thanks. Makes normalization really understandable
Thank you for the efforts at creating this video. It makes me understand the concept.
You're very welcome!
This helped me more than office hours thank you 🙏
Clean and simple explanation! Such a great tutorial
Simple and Amazing! Feel thankful watching this video!
BEST TUTORIAL
Most other courses are bullshit to understand
Simplest explanation out there. Thank you.
You're a legend, mate. Thanks for the easy to understand tutorial.
Straight to the point and easily understood. Thanks!
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.
Out here saving our A Levels
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.
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.
So easy to understand. In such a short time. . ❤❤❤❤❤ thank you. .
I'm glad you liked it!
Thanks for this video, currently taking Database Management & Design and this is a great resource!
This was amazing and straight to the point. Thank you.
i think you are the most clear
this video is awesome! Well explains these three concepts
i really think you should do all of database class i would watch and we all need it
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!
Lovely and clear, very well done - thank you!
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...
a hundred million worth video
Thank you! Got exam in Database on tuesday and you saved me
Best video of normal form so far. Luv you!
My online college instead of teaching a lesson on this just linked to this UA-cam video lol.
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.
Awesome explanation! Thank you so much. Your 11 minute lecture was a lot more useful than my professor's half hour one. lol.
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
Fantastic video mate cheers best explanation I've heard
best one I found on youtube
Please help me, whats the difference between 2nd and 3rd normal form??!
THIS IS WHAT WE NEED
[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!
Thank you so much for your effort
Also best tutorial keep going teacher🙏