Got a databases exam tomorrow for uni. This has really came in clutch since I've always struggled to understand the differences between 1NF - 3NF. Cheers!
YES! I have listened / read / watched some 10 other explanations that seem to use absolute gibberish for this concept. But yours is immediately crystal clear. I finally understand 3rd Normal Form. Thank you so much.
Omg I was sobbing trying to figure out my assignment until I found this video. It's the only video I could find that used an example I could understand! 😭
This is so helpful! i've been struggeling to understand this particular part of the course i'm following for the past 3 days, and you have made it very clear in 10 minutes. it's clear, with a simple visual and without all the extra's which just confuses the main point. TY so much, i can continue my course with confidence!
I have a Microsoft Access exam tomorrow and I was struggling a lot with normalisation. You explained it well and now I have a decent understanding of what I have to do. Thank you!
Nice examples and explanations. Everything goes from start to end, without any "side quests". The explanation is fluent and has a flow. Like a well-written book. Clicked that like button and spent some time writing this comment in hopes that the yt algorithm will show this to as many people as possible.
This is just amazing the way you describe things! I come here after failing to understand NF through an instructor of a well known EXPENSIVE online educational platform (will not mention the name). Thank you very much!
Thank you Jasper - best explaination so far. I teach students in highschool - but the textbook it kinda techy and not very suitable for students. Your explanation is easy to grasp :)
I'm a little confused on step 4 of 1NF.. You circled the two skill and skill id columns indicating that there can be no repeating groups. Then you moved them. But you moved them both to the same new table. If these skill columns were repeating groups in the original table, what makes them not "repeating groups" when side-by-side in a different table??
I love this video, so easy to understand. But then at minute 8:00, I don't think it should be "skill 1 ID" since it references a skills table containing any skills. Then I suggest it should be only ''skill Id''. Kindly correct me if am wrong.
Thank you, I understood 3NF quite well from your explanation. How do you know when to draw the line when using 3NF? For example, the Employee table's primary key doesn't define the address column. Should we also move the addresses to a separate table and uniquely identify each address, then change the address column in the Employee table to, let's say, address_id?
Hi Eva, a great observation and the answer is.... you could! Many organisations use services like Experian to validate addresses, and you could store a primary key for a particular address instead of the whole address. The same goes for employee. The question I would ask, and where I would draw the line, is how the data is used. Are there any benefits in creating a specific address table with a primary key? If yes, then I would do it, if no, I wouldn't. In most cases there probably wouldn't be a benefit and it would be easier to store the full address in attributes against an employee (or customer for that matter). Unless you are in the business of managing address data, like Experian, then you most certainly would. Hope this helps 😀.
@@JesperLowgren thank you for the answer and, yes, it helps. It's just that I'm the sort of person who tends to believe you can't learn computer programming if you don't understand how the current flows inside the computer if you understand what I mean, and that is the reason I'm not really able to draw some lines :))
Interesting thread. If it’s up to one to decide, in which NF do the scenarios fall? Are both 3NF of varying degrees? I understand it depends, but I am a bit confused on how to identify NFs then
6:39 Doesn't the second table violateS the 3rd rule of normalization of the first form? It seems to me that it would be better to define the columns Employee ID, Skill Name and Skill ID in the second table. Thus, the primary key can be assigned to a combination of Emloyee ID and Skill ID
Hi! Thank you for this video, much appreciated! Can you please tell me if there is any rule related to one to one relationships in a Third Normal Form?
Hi, yes it is allowed and necessary. For example, in a PERSON entity, you might have a Foreign Key to a PERSON-GENDER entity, and to a PERSON-PREFERENCE entity etc. Each Foreign Key brings more meaning to the entity.
@@JesperLowgren oke, so only a primary key you can have once, but multiple foreign key, and candidaat keys can also be more because they are optional primary keys? im learning this cause in 2 weeks i got exame but the book i have from school, its bad, it has so much text in it and so much tekst between () that when you reed it the obviouse answer is sinking away in all the unnessesary tekst. this vid about normalisation is exctually good to follow and good to understand, im gonna write this down in my writingbook to learn.
Good question! Looking back, it is somewhat ambiguous. If job names are stored in its own entity, and job name is the primary key (as opposed to job id), then Job Name is a legitimate Foreign Key in the Employee entity. But.... a better way is to define Job Names using the primary key Job ID. In this case, storing job name in an employee entity is incorrect, as job name is not defined using employee id. Hope this makes sense 😄.
Hi Yves, yes a great observation and the answer is yes, you could split them and create an address entity with an address id, and then add address id as a foreign key to name. Some organisations do this when address is particularly important, such as sending items to a postal address. For example, using an external address validation service like Experian, and using the Experian address ID as a foreign key against a customer entity.
Hi I have one question.Can I remove Employee Id Skill 1 id table? and add new employee id to skill id and skill name. So the final table will be skill id employee id skill name.
Hi Ariel, a job name might be Forklift Operator. An employee id might be 37 (John Smith). You can relate id 37 to job name Forklift Operator. But the job name Forklift Operator does not rely on employee id 37 (or any other employee id). The job name Forklift Operator can exist even if it is not related to any employee id; hence employee id does not depend on job name. Hope this makes sense. 😀
There is a difference between RELATED and DEPENDENT. Job name might be related to an employee, or it might not, if there are no employees with that job name. But they are not dependent, because an employee and a job can exist separately, e.g. they do not depend on each other to exist.
@@JesperLowgren Now i just need to know what those diagrams with the Diamonds and rectangles and bubbles and numbers is called so i can find out what they mean. Im just starting the textbook: Fundamentals of Database Systems Seventh Edition.
@@thomaskaiser2475 I had a quick look and the book seems to use several notations, including UML (which is object modelling, not data modelling). Data modelling is based on the concept of a one-to-many relationship, which can be described using different notations. I used the crowfoot notation in the video.
What does it mean that a column depends on another, or that a column fully defines another? I don't get it from the examples, would like a proper definition, such that I look at a table, and can tell if a column depends on another or a column fully defines another.
Hi not sure if someone can assist here but in the 2NF stage when we work with employee id and skill id's wouldnt one of the tables be "EmployeeID | Skill1 ID | Skill 2 ID" instead of just "EmployeeID | Skill 1 ID"
This video taught me normalization in 10 min, but my lecturer spent 1 hour confusing me
LOL Thank you !!
Exactly, I ask myself WHY? If they can simplify. Why make it more complicated than really is!!
They're not qualified (stupid) @@crislell
😂😂
Mine too 🤦
Got a databases exam tomorrow for uni. This has really came in clutch since I've always struggled to understand the differences between 1NF - 3NF. Cheers!
Great, and good luck !!
BRO SAME
@@feimimi U got this bro
Same Here :DDD
How did it go fei
There cannot be more simplistic explanation on normalization than this video. It took me years to find this short but exceptional tutorial. Thank you!
Thank you for your feedback !!😁
I had a class in the morning hours about normalisation and woke early to watch this. It has been very helpful to me. Be blessed alot.
YES! I have listened / read / watched some 10 other explanations that seem to use absolute gibberish for this concept. But yours is immediately crystal clear. I finally understand 3rd Normal Form. Thank you so much.
Thank you! My pleasure 🙏
There's at least a one guy on educational videos saying they didn't get anything from lectures.😅
So here I am, Thank you ,this video helped me a lot.
Thank you !!
well explained, straight to the point, No extra or less info . Thank you sir.
Thank you !! 😁
Omg I was sobbing trying to figure out my assignment until I found this video. It's the only video I could find that used an example I could understand! 😭
Thank you Paige you made my day !!
This is so helpful!
i've been struggeling to understand this particular part of the course i'm following for the past 3 days, and you have made it very clear in 10 minutes.
it's clear, with a simple visual and without all the extra's which just confuses the main point.
TY so much, i can continue my course with confidence!
Thank you Jessie !! 😁
I have a Microsoft Access exam tomorrow and I was struggling a lot with normalisation. You explained it well and now I have a decent understanding of what I have to do. Thank you!
Thank you AlekiZzu!
got a database exam tomorrow too and ive been going crazy reading the material over and over again,, this vid really just saved my life
This kind of feedback makes my day 😁!!
@feimimi how did it go?
Nice examples and explanations. Everything goes from start to end, without any "side quests". The explanation is fluent and has a flow. Like a well-written book. Clicked that like button and spent some time writing this comment in hopes that the yt algorithm will show this to as many people as possible.
I really appreciate your feedback 😁!!
@@JesperLowgren I really appreciate your explanation!
@@Alfenijonas My pleasure !!
This is just amazing the way you describe things! I come here after failing to understand NF through an instructor of a well known EXPENSIVE online educational platform (will not mention the name). Thank you very much!
Thank you 🙏
I got a CS exam next week, ur A LIFE SAVER!!!
THE BEST NORMALIZATION EXPLAINING EVER
Thank you !! 😁
Finally, somebody! I've needed this video for such a long time, thank you.
Such an amazing explanation in just 10 minutes..Thank you so much!!!
this has helped me get a job in application support where we use DBs to query data for bugs
Fantastic. Thank you!
So useful! I could not understand anything from my classes at uni before this
Thank you, I am very happy I could help 😄!
Writing an essay on normalizing a presented database, this helps alot!
Really well explained, much better than some Udemy courses!
Thank you 😄!
This video has been super useful in my computer course!!
Thank you. Good luck with your course!
Beautiful video and a great explanation. Thanks Jesper.
Thank you 😁!!
Thank you, i have an exam tomorrow and this helped me !
I love to hear that 😁!
I have an exam tommorow and this was the one thing I couldn't understand, Thank u!
Great, happy to help Jente.
very effective lesson, nicely done I instantly could understand the matter, thanks !
I would love to see a video on 4NF-5NF: exceptions. Liked the video, Subscribed to the Channel and Shared on LinkedIn. Great job!!
Thank you! Will do one of 4NF and 5NF, been thinking about it for a while.
Thank you for this wonderful explaination. Please make more videos!
Thank you !! I wish I had time to make more 😁
You save whole lot of a struggle to me , thanks Jesper
Thank you Jasper - best explaination so far. I teach students in highschool - but the textbook it kinda techy and not very suitable for students. Your explanation is easy to grasp :)
Thank you Gjergji !!
great Vedio so far. I really got concept up to 3NF . Bunch of thanks.
My pleasure, glad to be able to help!
I love how he pronounces "data". And yes I mean that honestly.
Great video with many useful insights.
Thank you Robert, glad you liked it :).
Easy to understand with great for your next video :).
Great explanation and a refresher,
I'm a little confused on step 4 of 1NF.. You circled the two skill and skill id columns indicating that there can be no repeating groups. Then you moved them. But you moved them both to the same new table. If these skill columns were repeating groups in the original table, what makes them not "repeating groups" when side-by-side in a different table??
I am confused about the same thing, it looks like the second table is still not in the 1NF as there are repeating groups...
same question here!
Thank you Jesper, your explanatio was just awesome! Cheers man!
My please! Thank you!
I love this video, so easy to understand. But then at minute 8:00, I don't think it should be "skill 1 ID" since it references a skills table containing any skills. Then I suggest it should be only ''skill Id''. Kindly correct me if am wrong.
briefly explained well! thanks sir 🙏
great video, keep up the great work my G!
Thank you Baris !!
thanks, and i have an exam on tuesday
SUPER DUPER HELPFUL, THANK YOU SIR!!
Thank you, I understood 3NF quite well from your explanation. How do you know when to draw the line when using 3NF? For example, the Employee table's primary key doesn't define the address column. Should we also move the addresses to a separate table and uniquely identify each address, then change the address column in the Employee table to, let's say, address_id?
Hi Eva, a great observation and the answer is.... you could! Many organisations use services like Experian to validate addresses, and you could store a primary key for a particular address instead of the whole address. The same goes for employee. The question I would ask, and where I would draw the line, is how the data is used. Are there any benefits in creating a specific address table with a primary key? If yes, then I would do it, if no, I wouldn't. In most cases there probably wouldn't be a benefit and it would be easier to store the full address in attributes against an employee (or customer for that matter). Unless you are in the business of managing address data, like Experian, then you most certainly would. Hope this helps 😀.
@@JesperLowgren thank you for the answer and, yes, it helps. It's just that I'm the sort of person who tends to believe you can't learn computer programming if you don't understand how the current flows inside the computer if you understand what I mean, and that is the reason I'm not really able to draw some lines :))
Interesting thread. If it’s up to one to decide, in which NF do the scenarios fall? Are both 3NF of varying degrees? I understand it depends, but I am a bit confused on how to identify NFs then
great explanation
Thank you !! 😁
Very good intro and well explained.
This one is the best one.
Great video, but keen to see higher forms of normalization.
Thank you, yes I am planning to make a video on BCNF, 4NF, and 5NF soon!
great video, great explanation!!!!
Thank you 😁!!
6:39
Doesn't the second table violateS the 3rd rule of normalization of the first form? It seems to me that it would be better to define the columns Employee ID, Skill Name and Skill ID in the second table. Thus, the primary key can be assigned to a combination of Emloyee ID and Skill ID
I had a similar question in this part of the video. Your solution makes more sense to me. TY
Great video
Thank you Brian !!
Starts 4:30
Great video, explained well 😊
Thank you !!
quick and simple, nice
Thank you !! 😁
God bless you dearly sir!
Thank you !!
great job Jesper
Thank you Mehran! 😁
Nice Job! I understand it under 15 mins thx.
THANK YOU JESPER
My pleasure !!
Very Helpful 👍👍
Thank you !!
Thank you for great lecture.
Wonder explanation
Thank you !!
This is amazingly explained
Thanks a lot
Hi! Thank you for this video, much appreciated! Can you please tell me if there is any rule related to one to one relationships in a Third Normal Form?
Hi @Jasper, I could not find your second video about cardinality 4t and 5th
Hi, here is the link to the video that addresses the 4th and 5th Business Normal Form: th-cam.com/video/49BsrjjlObY/w-d-xo.html
Great primer
Thank you ,I understand now ...
Thank you, this helped!
My pleasure 😁!!
W. Better than my comp sci teacher
Thank you Luggnugg 😁!
Thank you for video but I don't understand what you did at 6:26 :( what are the repeating groups here?
Skill ID and Skill Name are repeating, so he had to rename them into Skill ID 1 Skill Name 1 Skill ID 2 Skill Name 2 so there are no repeating columns
@@alekizzu4705 No, he just placed the same data in a separate table, nothing changed at all. This is certainly not the repeating group issue.
Is it aloud to have 2 foreign keys?
Hi, yes it is allowed and necessary. For example, in a PERSON entity, you might have a Foreign Key to a PERSON-GENDER entity, and to a PERSON-PREFERENCE entity etc. Each Foreign Key brings more meaning to the entity.
@@JesperLowgren oke, so only a primary key you can have once, but multiple foreign key, and candidaat keys can also be more because they are optional primary keys? im learning this cause in 2 weeks i got exame but the book i have from school, its bad, it has so much text in it and so much tekst between () that when you reed it the obviouse answer is sinking away in all the unnessesary tekst. this vid about normalisation is exctually good to follow and good to understand, im gonna write this down in my writingbook to learn.
@@2684dennis yes there can be multiple unique keys, and each unique key is a candidate primary key. But there can only be one primary key.
simple and clear , thank you
Thank you!
ez explaination 5-star review!
Thank you !! 😁
Liked and subscribed
7:28 since the second spreadsheet has 2 skills (2 Ids, 2 names), don't we need to specify 2 skill ids in the new spreadsheet (skill 1 id/ skill 2 id)?
At 9:15 in the video, what does it mean "Not defined by the primary key"?
Good question! Looking back, it is somewhat ambiguous. If job names are stored in its own entity, and job name is the primary key (as opposed to job id), then Job Name is a legitimate Foreign Key in the Employee entity.
But.... a better way is to define Job Names using the primary key Job ID. In this case, storing job name in an employee entity is incorrect, as job name is not defined using employee id.
Hope this makes sense 😄.
Thank you very much, Sir.
this guys camera is crispy
with the rule that each column value should be atomic, shouldn’t name and address be split up?
Hi Yves, yes a great observation and the answer is yes, you could split them and create an address entity with an address id, and then add address id as a foreign key to name. Some organisations do this when address is particularly important, such as sending items to a postal address. For example, using an external address validation service like Experian, and using the Experian address ID as a foreign key against a customer entity.
thank you for real doc Jesper Lowgren Sheldon ❤
Thanks. 😊
Hi I have one question.Can I remove Employee Id Skill 1 id table? and add new employee id to skill id and skill name. So the final table will be skill id employee id skill name.
Hi. That would violate normalization as skill name is only partially dependent on the primary key, e.g. skill id.
@@JesperLowgren you mean employee id does not depend on skill id and that violates 2NF. Isn't it?
@@highwaytoheaven4738 Correct!
Amazing.
Thaaaank you!
Thank you that helped me out
That's great, thank you!
Thank you! So much!!!
My pleasure Tyler. Thank you!
Can I send you a look at a moderation page I want to create but am unsure how to normalise correctly?
Of course 😄!
@JesperLowgren Awesome! How can I contact you so I can send my draft of the page?
@@SyncCryo jlowgren at outlook.com
@@JesperLowgren Great! I've dropped you an email.
@JesperLowgren Thank you! I've sent you the draft moderation page. Let me know when you can take a look 🙏
So why is Job Name not defined by Employee ID, but Address is? I got all of this video except this part.
Because the employee ID identifies the address, and the address depends on the employee id. But job name does not depend on employee id but on job id.
@@JesperLowgrenthank you!
Good video. Asst. due. Thx !
Thank you !!
Keep it up
why is the column next to "employee id" still "skill 1 id"? should it just be "skill id" instead?
Great!!
9:17
Why is 'Job Name' not in 3NF? You can find out what job the employee works by their employee ID?
Very helpful!
Thanks.
I m confused as to how job name doesn’t rely on employee id. Can someone explain to me why?
Hi Ariel, a job name might be Forklift Operator. An employee id might be 37 (John Smith). You can relate id 37 to job name Forklift Operator. But the job name Forklift Operator does not rely on employee id 37 (or any other employee id). The job name Forklift Operator can exist even if it is not related to any employee id; hence employee id does not depend on job name. Hope this makes sense. 😀
@@JesperLowgren I think i do understand it a bit more. Thank you for the clarification.
A lot of this seems arbitrary. So in third normal form how is the job name not defined by employee id?
There is a difference between RELATED and DEPENDENT. Job name might be related to an employee, or it might not, if there are no employees with that job name. But they are not dependent, because an employee and a job can exist separately, e.g. they do not depend on each other to exist.
Amazing
Can a PK have a relationship with its FK counterpart in more than one table?
Yes it can! For example, a Contact with PK contact_id can be an FK in both a Leads table and an Opportunity table.
@@JesperLowgren wow thanks a lot! I had such a hard time and conflicting information on that as a 2 week old initiate.
@@JesperLowgren Now i just need to know what those diagrams with the Diamonds and rectangles and bubbles and numbers is called so i can find out what they mean. Im just starting the textbook: Fundamentals of Database Systems Seventh Edition.
@@thomaskaiser2475 my pleasure, I get excited when others get value from my videos 😄.
@@thomaskaiser2475 I had a quick look and the book seems to use several notations, including UML (which is object modelling, not data modelling). Data modelling is based on the concept of a one-to-many relationship, which can be described using different notations. I used the crowfoot notation in the video.
What does it mean that a column depends on another, or that a column fully defines another? I don't get it from the examples, would like a proper definition, such that I look at a table, and can tell if a column depends on another or a column fully defines another.
Did you find a good resource for understanding this? I'm in the same position as you when you made this comment.
Hi not sure if someone can assist here but in the 2NF stage when we work with employee id and skill id's wouldnt one of the tables be "EmployeeID | Skill1 ID | Skill 2 ID" instead of just "EmployeeID | Skill 1 ID"
No, because each new "skill" will be represented as a new row in the Skill table
why got to collage to learn when he can teaches us in 10. Also thx for the help got finals tmr.
Thank you !! 😁