1st, 2nd and 3rd Normal Form (Database Normalisation)

Поділитися
Вставка
  • Опубліковано 25 лис 2024

КОМЕНТАРІ • 342

  • @PsychicSploob
    @PsychicSploob 3 роки тому +672

    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.

    • @learnlearnscratch
      @learnlearnscratch  3 роки тому +46

      I'm glad it was helpful! :-)

    • @2NormalHuman
      @2NormalHuman 2 роки тому +21

      agreed!! in university they would spend an hour to explain it, while still making the students confused

    • @genjioto
      @genjioto 2 роки тому +15

      OMG I agree. Its sucks because database and design is super important but is the dryest material ever.

    • @alexgonzalez-hy6xe
      @alexgonzalez-hy6xe 2 роки тому +1

      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!

    • @agt5jx87
      @agt5jx87 2 роки тому +1

      Thank you! My course material made this needlessly confusing.

  • @badwolf3065
    @badwolf3065 2 роки тому +203

    Thank you. My teacher spent over an hour confusing everyone instead of just laying it out simply. You saved me from that confusion.

  • @genjioto
    @genjioto 2 роки тому +92

    This is actually an extremely amazing, if not the best breakdown of the three normal forms by far.

  • @TCamp72a
    @TCamp72a 3 роки тому +73

    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
      @studious_viewer 2 роки тому +2

      its done tho, can't simplify further

    • @CausticTitan
      @CausticTitan 2 роки тому +19

      @@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.

    • @bucztechph
      @bucztechph 5 днів тому

      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

  • @yin3229
    @yin3229 Рік тому +2

    Its incredible how much easier things are to understand when they are explained in simple terms rather than overcomplicated messes full of jargon.

  • @harrisali7619
    @harrisali7619 Рік тому +12

    Bro came in clutch night befor exam, ily

  • @gimmickmusic8827
    @gimmickmusic8827 3 роки тому +9

    You summed up and explained in 12 minutes what my instructor couldn't do in 3 hours. Thank you so much.

  • @navrajbains9034
    @navrajbains9034 3 роки тому +48

    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!

  • @mantasgumbelevicius2891
    @mantasgumbelevicius2891 2 роки тому +1

    Liked this tutorial. As Michael Scott would say: "Explain me as I am 5" - You just did it. Thank you

  • @caomengde1645
    @caomengde1645 2 роки тому +2

    I have seen lots of explanations about table normalization and I believed this is the best of them all.

  • @lazolabucwa8821
    @lazolabucwa8821 Рік тому +2

    The one tutorial to rule them all. Thank you so much for this super easy and short explanation.

  • @cerysdunning9327
    @cerysdunning9327 3 роки тому +26

    you saved me with this, i was so stressed about it during my lessons

  • @happyclapper7620
    @happyclapper7620 2 роки тому +7

    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 :)

  • @CLEOCHAN183
    @CLEOCHAN183 2 місяці тому

    The best and most concise explanation for database normalisation I've ever watched!

  • @g0nk_droid
    @g0nk_droid 10 місяців тому +1

    I was banging my head on the desk trying to understand it from my textbook but this really cleared things up, great video

  • @MrACrazyHobo
    @MrACrazyHobo 4 роки тому +42

    Very good tutorial. Definitely the best tutorial Ive seen so far

  • @ramy2mi290
    @ramy2mi290 2 роки тому

    Had a 2 hour lecture and couldn't understand what you just explained in 10 minutes, thanks so much.

  • @GoodDeedsLeadTo
    @GoodDeedsLeadTo 2 роки тому

    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

  • @jacksonzamorano
    @jacksonzamorano Рік тому

    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.

  • @gregmattia2958
    @gregmattia2958 8 місяців тому

    literally the only video on youtube that explains this clearly. Thank you good sir

  • @ElvisANgoh
    @ElvisANgoh Рік тому +1

    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

    • @learnlearnscratch
      @learnlearnscratch  Рік тому

      Thank you very much for your comment! It's greatly appreciated! 😊

  • @Mr..Books2
    @Mr..Books2 3 роки тому +42

    Good explanation ....But I feel if u had used a single example would be great.... deducing it from 1NF to 3NF

  • @oscargalvez7
    @oscargalvez7 11 місяців тому +1

    Wow, this was so simply explained, it could be taught to kids in preschool 😬💯

  • @bettercallmaul778
    @bettercallmaul778 6 місяців тому +2

    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!

  • @jade-j
    @jade-j Рік тому +1

    Thank you so much read this in a textbook 3 times and it never got clearer! This really helped out

  • @edwardlungu2446
    @edwardlungu2446 Рік тому

    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

  • @janalombard9032
    @janalombard9032 4 роки тому +2

    The 1st Video that explains the concepts in a way that makes sense to a beginner. Thank You!!

  • @ricardolopez514
    @ricardolopez514 2 роки тому

    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.

  • @robpatty1811
    @robpatty1811 2 роки тому +2

    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.

  • @ioannisp5725
    @ioannisp5725 Рік тому +3

    waittt, a simple explanation? Thats rare. Bless you g

  • @RavenFelman
    @RavenFelman Рік тому

    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 ♥

  • @Dev_Jet
    @Dev_Jet Рік тому +1

    A simplified explanation for this topic, which may appear complex to some, including myself. I really appreciated this tutorial, thank you!

  • @lmaoiwaslikelmao1132
    @lmaoiwaslikelmao1132 3 роки тому

    Easily the best explanation and example ive seen on youtube

  • @streetcraft_creativity
    @streetcraft_creativity Рік тому

    Thank you. My teacher took 6 months trying to explain this but still didn't understand him, but you took less than 15 minutes

  • @25756881
    @25756881 2 роки тому

    The best explanation I've read so far.

  • @steadmac
    @steadmac 2 роки тому

    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.

  • @jairojared1
    @jairojared1 Рік тому

    I've watched like 5 NF videos and this is the first intuitive one. Thank you

  • @FabrizioBianchi
    @FabrizioBianchi 7 місяців тому +1

    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.

  • @jaytaylor2332
    @jaytaylor2332 Рік тому

    Love the bullet points. Straight and sweet to the point. Keep up the awesome work.

  • @mistersir3185
    @mistersir3185 2 роки тому +1

    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.

  • @lucafrancis5572
    @lucafrancis5572 Рік тому

    Really great video. Not excessive, explained everything I didn't understand in perfect clarity. Will be watching your channel in the future!

  • @jakeinator21
    @jakeinator21 3 роки тому +5

    This was so much easier to understand than my textbook, thank you!

  • @bonguthandokhumalo7552
    @bonguthandokhumalo7552 2 роки тому +18

    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.

    • @SamuelOgazi
      @SamuelOgazi 10 місяців тому

      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?

  • @hanieh1329
    @hanieh1329 2 роки тому

    thank you after searching tones of source about normalization your description quite understandable

  • @jess.hawkins
    @jess.hawkins Рік тому +1

    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.

  • @MrLewislauyik
    @MrLewislauyik Рік тому +1

    So clear. You saved my mid-term exam.

  • @mehulkasliwal7036
    @mehulkasliwal7036 Рік тому

    Thank I god I stumbled upon this video I literally have an exam in 6 hours and this helped me a lot.

  • @typingcat
    @typingcat 2 роки тому

    Finally, normal English video in the search result, not Indian or other foreign accents.

    • @SreenikethanI
      @SreenikethanI 8 місяців тому +1

      did you know that the rest of the world exists

    • @SreenikethanI
      @SreenikethanI 8 місяців тому +1

      shocker, right?

  • @jabraham08
    @jabraham08 2 роки тому

    Thank you! Thank you! Thank you! You explained concept in 11 minutes what others couldn't in hours.

  • @mattiafiore7568
    @mattiafiore7568 3 роки тому

    Seriously the best video on normalization

  • @melvin23060
    @melvin23060 11 місяців тому

    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

    • @learnlearnscratch
      @learnlearnscratch  11 місяців тому +2

      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.

  • @AhmadAli-wu3jj
    @AhmadAli-wu3jj Рік тому

    proudly calling you my teacher

  • @jpgb8126
    @jpgb8126 Рік тому

    you actually helped me pass my exam of databases
    thank you a lot

  • @l4chl4n47
    @l4chl4n47 3 роки тому

    I was completely lost with normalisation, thank you for explaining it

  • @metalpunk
    @metalpunk 2 роки тому +2

    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

  • @TidusfromZanarkand
    @TidusfromZanarkand 3 роки тому +3

    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

  • @StevenLouis-p2h
    @StevenLouis-p2h Рік тому

    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.

  • @pythonatearubyonrails3541
    @pythonatearubyonrails3541 Рік тому

    I did not get it until I wrote everything down and drew the tables, then it clicked, thx for the video!

  • @tiffanyvestal3619
    @tiffanyvestal3619 Рік тому

    That was much more helpful than my college book. Thank you.

  • @davidcunha7615
    @davidcunha7615 3 роки тому +1

    Great job! I feel like it's easy for normal form to get confusing but you showed it's actually pretty easy

  • @arvind9438
    @arvind9438 2 місяці тому

    thank you so much, watching this 30 mins befor exam

  • @logandonlan3625
    @logandonlan3625 2 роки тому

    This made no sense in my book, but you made it so simple. Thanks!

  • @jonsnow7844
    @jonsnow7844 3 роки тому

    Very good. The specifics I think are more important and better at communicating the theme then the broad analogy technique.

  • @emilytrinh2977
    @emilytrinh2977 3 роки тому

    Great and easy to understand explanation in a short amount of time

  • @MrPerfias
    @MrPerfias 3 роки тому +1

    so clear, thanks. Makes normalization really understandable

  • @yusuffomoloja9026
    @yusuffomoloja9026 3 роки тому +2

    Thank you for the efforts at creating this video. It makes me understand the concept.

  • @skyz6789
    @skyz6789 7 місяців тому

    This helped me more than office hours thank you 🙏

  • @frankasante5594
    @frankasante5594 3 роки тому +2

    Clean and simple explanation! Such a great tutorial

  • @peterho3119
    @peterho3119 Рік тому

    Simple and Amazing! Feel thankful watching this video!

  • @aliencaocao
    @aliencaocao 3 роки тому +1

    BEST TUTORIAL
    Most other courses are bullshit to understand

  • @lavexitosh
    @lavexitosh 2 місяці тому

    Simplest explanation out there. Thank you.

  • @whyareallnamestaken69
    @whyareallnamestaken69 2 роки тому

    You're a legend, mate. Thanks for the easy to understand tutorial.

  • @grandmiton866
    @grandmiton866 2 роки тому

    Straight to the point and easily understood. Thanks!

  • @benyaminbansal5113
    @benyaminbansal5113 2 місяці тому

    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.

  • @mmmh-ru8dr
    @mmmh-ru8dr 6 місяців тому +1

    Out here saving our A Levels

  • @Shimon24
    @Shimon24 10 місяців тому +1

    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.

  • @daluppo6961
    @daluppo6961 4 роки тому +37

    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

    • @chuckbecker4983
      @chuckbecker4983 3 роки тому +10

      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.

    • @jaclynfitzsimmons8825
      @jaclynfitzsimmons8825 3 роки тому +1

      Wondering exactly the same.

    • @reedofwater
      @reedofwater 3 роки тому

      Wondering the same thing.

  • @funlolageorge1467
    @funlolageorge1467 Рік тому

    So easy to understand. In such a short time. . ❤❤❤❤❤ thank you. .

  • @NagatosRevenge
    @NagatosRevenge 3 роки тому

    Thanks for this video, currently taking Database Management & Design and this is a great resource!

  • @kikimaxwell1506
    @kikimaxwell1506 Рік тому

    This was amazing and straight to the point. Thank you.

  • @padoharaja4503
    @padoharaja4503 3 роки тому

    i think you are the most clear

  • @mirandalyu2673
    @mirandalyu2673 Рік тому

    this video is awesome! Well explains these three concepts

  • @Damnedindenial
    @Damnedindenial Рік тому

    i really think you should do all of database class i would watch and we all need it

  • @revanslacey
    @revanslacey 2 роки тому +26

    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?

    • @alexandraak2347
      @alexandraak2347 2 роки тому

      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

  • @Eyenn_n
    @Eyenn_n Рік тому

    Very clearly explained. Thank you for uploading this!

  • @_indrid_cold_
    @_indrid_cold_ Рік тому

    Lovely and clear, very well done - thank you!

  • @AndrewVigil-dh6yu
    @AndrewVigil-dh6yu 2 роки тому +2

    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...

  • @sudipshrestha3826
    @sudipshrestha3826 Рік тому

    a hundred million worth video

  • @naveedasgari8415
    @naveedasgari8415 4 роки тому

    Thank you! Got exam in Database on tuesday and you saved me

  • @tungtran-py6iq
    @tungtran-py6iq 3 роки тому

    Best video of normal form so far. Luv you!

  • @T-Rex0711
    @T-Rex0711 Рік тому +1

    My online college instead of teaching a lesson on this just linked to this UA-cam video lol.

  • @ajamumutumwa7343
    @ajamumutumwa7343 3 місяці тому

    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.

  • @vinsonbeduya5434
    @vinsonbeduya5434 3 роки тому +2

    Awesome explanation! Thank you so much. Your 11 minute lecture was a lot more useful than my professor's half hour one. lol.

  • @ArcticFoxAK
    @ArcticFoxAK 3 роки тому +35

    Isn't the Tournament example not actually in 3NF because the "Winner" column can be divisible (First name, Last name) which violates 1NF?

    • @Cmppayne26542
      @Cmppayne26542 3 роки тому +11

      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.

    • @rayvongregory8072
      @rayvongregory8072 2 роки тому +5

      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.

    • @CatValentine-yc8dj
      @CatValentine-yc8dj 2 дні тому

      😮​@@rayvongregory8072

  • @jameskirkham5019
    @jameskirkham5019 3 роки тому

    Fantastic video mate cheers best explanation I've heard

  • @cindyzhou935
    @cindyzhou935 2 роки тому

    best one I found on youtube

  • @hevijamil1931
    @hevijamil1931 Рік тому +1

    Please help me, whats the difference between 2nd and 3rd normal form??!

  • @folasibadmus4522
    @folasibadmus4522 3 роки тому

    THIS IS WHAT WE NEED

  • @LemonSeal05
    @LemonSeal05 3 роки тому +14

    [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.

    • @kovidverma
      @kovidverma 3 роки тому +4

      Totally makes sense.

    • @jadothman8103
      @jadothman8103 3 роки тому +1

      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)

    • @alexgonzalez-hy6xe
      @alexgonzalez-hy6xe 2 роки тому

      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!

  • @Huni-ph2ow
    @Huni-ph2ow 3 роки тому

    Thank you so much for your effort
    Also best tutorial keep going teacher🙏