Normalization - 1NF, 2NF, 3NF and 4NF

แชร์
ฝัง

ความคิดเห็น • 1.2K

  • @DolanDark
    @DolanDark 8 ปีที่แล้ว +1755

    bless u, much better taught than my shitty lecturers

    • @gieslermapute9821
      @gieslermapute9821 8 ปีที่แล้ว +35

      I feel u dolan, Keep those MLG montages coming though i enjoy your content

    • @MightyP
      @MightyP 7 ปีที่แล้ว +98

      Wow Wasnt expecting you here

    • @GrootGuitar
      @GrootGuitar 7 ปีที่แล้ว +41

      What brought you to this video Dolan?!
      You taking database management at the moment?

    • @quirkyjaywalker
      @quirkyjaywalker 7 ปีที่แล้ว +1

      Wow

    • @zero555
      @zero555 7 ปีที่แล้ว +7

      is the legendary Dolan

  • @davidmaiolo
    @davidmaiolo 8 ปีที่แล้ว +2400

    Watching this 20 minutes before my database final. Thank god this is only 19 minutes.

    • @amiladrck
      @amiladrck 7 ปีที่แล้ว +58

      lmao tomorrow morning I have DBMS exam and it's late night now.

    • @davidmaiolo
      @davidmaiolo 7 ปีที่แล้ว +60

      +Amila Abeygunasekara good luck. I passed my class :)

    • @amiladrck
      @amiladrck 7 ปีที่แล้ว +4

      +David Maiolo thanks mate!

    • @mingthemerciless834
      @mingthemerciless834 7 ปีที่แล้ว +2

      same

    • @Tamerlane619
      @Tamerlane619 7 ปีที่แล้ว +4

      same

  • @sburns90
    @sburns90 8 ปีที่แล้ว +1729

    This video was more helpful than the college classes I pay for. Thanks for creating this video.

    • @Rlaxox
      @Rlaxox 8 ปีที่แล้ว +34

      +Steve Burns Haha ... so true lol
      I have a professor that makes me go to sleep every time he talks
      No hard feelings ofc but I learned more in this video then I ever did there

    • @dustinbishop965
      @dustinbishop965 8 ปีที่แล้ว +10

      Lol....I think we have the same instructor

    • @senciddimisin
      @senciddimisin 8 ปีที่แล้ว +2

      +Steve Burns so true.

    • @evncliff4d
      @evncliff4d 8 ปีที่แล้ว +13

      +Steve Burns Agreed! They all keep using the same dry examples from the 80's. This was great!

    • @GilbertMartinelli
      @GilbertMartinelli 7 ปีที่แล้ว +5

      Because most employers aren't going to just take your word for it that you studied. They want a piece of paper from a place they can look up that shows you've been tested on the subject matter and passed.

  • @monkeman4692
    @monkeman4692 3 ปีที่แล้ว +40

    So are we all here before an exam?

    • @auleian
      @auleian หลายเดือนก่อน

      yes😂

    • @JiaSki
      @JiaSki หลายเดือนก่อน

      Yes o

    • @monkeman4692
      @monkeman4692 หลายเดือนก่อน

      @@JiaSkigood luck broski 🫡

    • @rupaldhurde5937
      @rupaldhurde5937 16 วันที่ผ่านมา +1

      Yeah bro

    • @monkeman4692
      @monkeman4692 16 วันที่ผ่านมา

      @@rupaldhurde5937 gl m8 🫡

  • @Fireprincess161
    @Fireprincess161 3 ปีที่แล้ว +161

    I'm dumb, so the only thing I've learned in the past 4 minutes is that beautiful isn't a colour, it's an opinion.

    • @greenpocket_raw
      @greenpocket_raw 2 หลายเดือนก่อน

      I am dumber. I thought black is the new beautiful.

  • @ammarthemartian
    @ammarthemartian 2 ปีที่แล้ว +310

    3:00 - 1st Normal Form
    6:21 - 2nd Normal Form
    9:40 - 3rd Normal Form
    13:37 - 4th Normal Form
    18:07 - Table relationships and name
    How does something so simple can be super confusing in class?
    Thank you so much!

  • @troykachor3521
    @troykachor3521 8 ปีที่แล้ว +343

    5 classes, in 10 minutes (skipped through a bit). Final in 7 hours. You saved me a ton of sleep. Thanks!

    • @hudsontaylor2515
      @hudsontaylor2515 8 ปีที่แล้ว +5

      +Troy Kachor Hahaha Ikr! All the best! Final here in 19 hours.

    • @venublanco6629
      @venublanco6629 8 ปีที่แล้ว

      +Troy Kachor hope you both score great :)

    • @ayyjayy5018
      @ayyjayy5018 8 ปีที่แล้ว

      +Troy Kachor 12 hours ayyy

    • @8ZZZZZZZD
      @8ZZZZZZZD 8 ปีที่แล้ว +1

      +Troy Kachor hahaha final in 11 hours!

    • @MasonCYT
      @MasonCYT 8 ปีที่แล้ว

      +Troy Kachor Last minute studies ftw

  • @PHYCHOLOGICAL1337
    @PHYCHOLOGICAL1337 5 ปีที่แล้ว +2

    The most accurate and clear explanation for normalization you can ever find. Your work is amazing, my friend.

  • @michaelwhitlock7398
    @michaelwhitlock7398 2 ปีที่แล้ว +5

    This is so much simpler and practical compared to the overly formalized logical relationships they use to try to teach this. You don't need to worry about terms like functional or transitive dependencies....The data speaks for itself and becomes intuitive with this approach. Thank you so much!

  • @marjoriefreeman6160
    @marjoriefreeman6160 4 ปีที่แล้ว +3

    Thank you SO much for this video. Less is more (and just enough). This was perfect and SO organized and thank you for building on each example, too.

  • @Helloomadison
    @Helloomadison 2 ปีที่แล้ว +1

    This man out here saving lives. Actual saint. Thank youuuuu for finally explaining this in human/real terms sir!

  • @dmeskhi
    @dmeskhi 6 ปีที่แล้ว

    There are dozens of videos out there on TH-cam but this one is the best. It explains on real life kinda scenario and is easy to understand all these functional dependencies. Thank you sir very much.

  • @mussieg5807
    @mussieg5807 7 ปีที่แล้ว +3

    Thank you so much. Now, my head is functioning Normal with your Normalization lecture. Definitely, better than what I learned in class.

  • @PanzerFaustFurious
    @PanzerFaustFurious 7 ปีที่แล้ว +561

    Protip: Set video speed to 1.25x or 1.5x

    • @osamajandali
      @osamajandali 7 ปีที่แล้ว +36

      I used 1.5x and feel he talks normally and at last minute I return it back to normal, I felt that he have taken some kind of drugs

    • @semirumutkurt6635
      @semirumutkurt6635 7 ปีที่แล้ว +5

      i really want to thank you/ life pro tip

    • @PrimeFreedom2008
      @PrimeFreedom2008 7 ปีที่แล้ว +1

      LOL

    • @Noblessed7
      @Noblessed7 7 ปีที่แล้ว +1

      1.5 was good enough for me

    • @matthewhowes4775
      @matthewhowes4775 6 ปีที่แล้ว +6

      2x even better

  • @willardbarrwb
    @willardbarrwb 10 หลายเดือนก่อน +1

    Hands down the greatest normalization example and explanation I have ever watched. He used one example straight through unlike others who like to switch the example once they reach 2nf and he explain partial dependency in layman terms than just textbook.

  • @bhrzali
    @bhrzali ปีที่แล้ว

    Love this tutorial. It's very precise, doesn't waste time, and gets to the point right away.

  • @bryanhall9230
    @bryanhall9230 4 ปีที่แล้ว +16

    I just finished this chapter in my book and it was tough to read. Your breakdown really helped! Thank you!

  • @bryanurizar
    @bryanurizar 3 ปีที่แล้ว +139

    On the first table at 5:51, Cust ID cannot be the primary key as the values in that column are not unique (e.g. wilson44). The correct way would have been to label that as a foreign key (it would be the primary key of a customer table) and then have a Sales ID which would be unique.

    • @BhagyaBlossom
      @BhagyaBlossom 3 ปีที่แล้ว +29

      Exactly, I kept thinking that wilson44 is repeated even though it's a primary key. It needs to have all unique values. but he never addresses it.

    • @vanlalhruaiiswansi5182
      @vanlalhruaiiswansi5182 2 ปีที่แล้ว +10

      I think because the table is not an "Employee" table and wilson44 purchased two different items and also subscribed to two different newsletters.

    • @gpk6458
      @gpk6458 2 ปีที่แล้ว +12

      Yeah... video is incorrect. First table should have order ID or something, not customer ID.

    • @kyleclarke4845
      @kyleclarke4845 2 ปีที่แล้ว

      Well the user ID's are unique because they're like usernames on social media - they can only be used if they're not already taken.

    • @kyleclarke4845
      @kyleclarke4845 2 ปีที่แล้ว

      They are normalised, they're just secondary keys, not primary ones.

  • @juliocheranthonypenaperez7919
    @juliocheranthonypenaperez7919 4 ปีที่แล้ว

    Aquí tienes un mensaje en español de alguien que te agradece profundamente está clase, tras 6 años nunca entendí la normalización y en tan solo 19 minutos, me ha quedado mas que claro. Estoy agradecido infinitamente.

  • @BJack281
    @BJack281 3 ปีที่แล้ว +2

    Appreciate the video tutorial. This does bring some clarity to what normalization means in these databases. This is my first time studying databases (DBMS) and its a lot to take in, but I appreciate videos such as this one which brings more understanding to these database concepts. Thank You

  • @kittycatbuttbutt
    @kittycatbuttbutt 8 ปีที่แล้ว +51

    more helpful than several weeks my professor spent on normalization. Thanks

    • @IchigolovesRukia7
      @IchigolovesRukia7 7 ปีที่แล้ว

      That's true! Good explanation +channel5567 :)

  • @Sean-jd1hy
    @Sean-jd1hy 4 ปีที่แล้ว +12

    I appreciate this video. I wish you would have addressed BCNF as well because the way you explained these four forms are clear and concise.

  • @smoothbeak
    @smoothbeak 2 ปีที่แล้ว +2

    This is one of the best videos I have seen on this topic. Great example, and great explanation.

  • @mikeandrewfernandez9797
    @mikeandrewfernandez9797 ปีที่แล้ว +1

    Damn, you just made normalization easier. I was having trouble identifying dependencies but the way you explained it was as accurate and practical as hell. Thank you for this wonderful video!

  • @Alpaca_92
    @Alpaca_92 5 ปีที่แล้ว +4

    I've been learning SQL on my own and you explained this topic very well. Thank you.

  • @Noahh_jp
    @Noahh_jp 3 ปีที่แล้ว +3

    slacked off all semester. final is in 30 mins, just finished this video and completely understand it. Phenomenal.

  • @philipbein3586
    @philipbein3586 4 ปีที่แล้ว +1

    you deserve $123,000 dollars a year because you taught me what my professor couldn't in thirteen minutes, godspeed and good luck

  • @hinaa3
    @hinaa3 8 ปีที่แล้ว

    You made this much more easier to understand than everyone else I've went to! Thank you!

  • @CS-bl2sz
    @CS-bl2sz 4 ปีที่แล้ว +3

    Simple but understandable for beginners, way better than explanations in textbooks

  • @zlotnleo
    @zlotnleo 7 ปีที่แล้ว +27

    Cust ID can't be a primary key unless you introduce a list of unique customers. There's a duplicate wilson44 Cust ID, which means it can't be a key. You'd have to introduce a column Order ID or similar. (In 4NF this problem simply moves from Customer Table to Subscription Table)

    • @luke.4317
      @luke.4317 3 ปีที่แล้ว

      how would u fix the problem on the bridge table ? i was thinking about adding a quantity row for not preparing (ex: Wilson - xbox) srdy for 4 years later lol

    • @bendruce667
      @bendruce667 2 ปีที่แล้ว

      fr

  • @budatn
    @budatn 5 ปีที่แล้ว

    Excellent video! I sat through 2 hours of online classes and had no idea what the professor was saying, thanks for fixing me in 20min!

  • @solomonbush331
    @solomonbush331 7 ปีที่แล้ว

    This was the best video I have seen to date on basic database structuring. Good job man!

  • @milanmijailovic9765
    @milanmijailovic9765 8 ปีที่แล้ว +259

    Subscription table has error. You have to add ID column, because wilson44 appears twice...

    • @spiritofslumber
      @spiritofslumber 8 ปีที่แล้ว +23

      +Milan Mijailovic Indeed, imo they all should have ID columns, especially invoice too. What if a customer buys another playstation or any item multiple times?

    • @aishikbhattacharya4870
      @aishikbhattacharya4870 8 ปีที่แล้ว +1

      Can you please explain why there is a need of 3rd table in 2NF?? We could have added aother column in the frist table and entered the name of the products along with the newsletters.

    • @trnek
      @trnek 8 ปีที่แล้ว +10

      This table should have compound key like sales invoice table. There is no possibility to one user has the same subscription twice.

    • @mikejohn8030
      @mikejohn8030 7 ปีที่แล้ว +3

      you need to have a seperate table for cust_id and newsletter.

    • @bharathsairam443
      @bharathsairam443 7 ปีที่แล้ว +1

      I totally agree with you and please find my reply to solve the issue..

  • @catlord69
    @catlord69 5 ปีที่แล้ว +2

    love the real-world examples and little details (allan thomas smith), good job

  • @graceherbert7401
    @graceherbert7401 2 ปีที่แล้ว

    Was going around in circles looking for an understandable explanation, now click! Thank you!!!

  • @kolbymcgarrah8565
    @kolbymcgarrah8565 7 ปีที่แล้ว

    I struggled with this concept for a long time. This completely cleared everything up!

  • @theletterpurple6228
    @theletterpurple6228 7 ปีที่แล้ว +9

    this helped a lot. when youtube is a better teacher than you pay for. :)

  • @frankm35506
    @frankm35506 4 ปีที่แล้ว +5

    "There's still a question about this, Alan Smith....."

  • @scottmccarter3969
    @scottmccarter3969 6 ปีที่แล้ว

    Thank you very much for this. I searched online for a couple of hours and no one explained it so clearly as you.

  • @yongyeserkfem6793
    @yongyeserkfem6793 5 ปีที่แล้ว

    Your presentation was the icing on the cake, you solidified my understanding of the concept beyond my imagination. Thank you.

  • @chandrasekharp3683
    @chandrasekharp3683 7 ปีที่แล้ว +10

    Everything is good but at last i am bit confused.. In Subscription table you said Cust Id is a primary key.. But it is having multiple entries (one for xbox and other for playstation) for customer wilson44. Primary key will not allow multiple records belongs to same id. Iam confused at 4th normal form because a key attribute will never entertain same values to insert more than once so how we solve the problem on your given example particularly at (4nf) please elaborate the explanation. thankyou

  • @Noahh_jp
    @Noahh_jp 3 ปีที่แล้ว +11

    1NF is about 5:12 ... 2NF - 7:45 about... 3NF - 13:27

  • @bbow4972
    @bbow4972 5 ปีที่แล้ว

    Great video. You broke down each level of normalization really well. Thanks for uploading.

  • @imadalbalushi3867
    @imadalbalushi3867 2 ปีที่แล้ว

    You are an absolute legend. May god bless your soul.

  • @jadeite20
    @jadeite20 7 ปีที่แล้ว +48

    how can you have duplicate values in Primary Key column ? If that is the case, don't we have to combine it with other columns to determine a candidate key?

    • @muhammadnurirsyad9887
      @muhammadnurirsyad9887 5 ปีที่แล้ว +4

      its actually true, as it called as the composite key, that merges the primary key and candidate key(s) for a better specifications on determining its values

    • @neerajce
      @neerajce 2 ปีที่แล้ว

      They are just identifiers and not primary key.

  • @tjstudibros4677
    @tjstudibros4677 7 ปีที่แล้ว +11

    for the first normal form, "wilson44" shows up twice. So how can the key uniquely identify each row if the key value shows up twice??

    • @NavalKishoreBarthwal
      @NavalKishoreBarthwal 7 ปีที่แล้ว

      I think "Cust ID" is unique but not a primary key... or shall I say a candidate key and in first normal form one need to identify each row uniquely. The trouble he had before was identifying "Alan Smith". If "Cust ID " is same then all information belongs to the same person.
      And we are performing normalisation because the table is badly organised.

  • @codingmonk21
    @codingmonk21 4 ปีที่แล้ว

    Thanks a million!!! I couldn't find anything better that this. Loved it!!

  • @LakersNotFakers4
    @LakersNotFakers4 4 ปีที่แล้ว

    I can't explain how helpful this video was, thank you.

  • @SaiChandPasupuleti
    @SaiChandPasupuleti 5 ปีที่แล้ว +8

    If I have watched this video before 3weeks by this time I will be working in an company which I have attended before 3weeks and they have asked to explain normal forms with tables as examples but I don't know this concepts at that time but I had answered other all queries now I was confident I can crack any interview after watching this video
    Thanks man good explanation keep going !

  • @MaheshBabu1989
    @MaheshBabu1989 8 ปีที่แล้ว +142

    Everything is good but at last i am bit confused.. In Subscription table you said Cust Id is a primary key.. But it is having multiple entries (one for xbox and other for playstation) for customer wilson44. Primary key will not allow multiple records belongs to same id. Correct me if i say something wrong..

    • @IgorAherne
      @IgorAherne 7 ปีที่แล้ว +25

      8:36 I think it indeed will be a "foreign key", not a "primary"
      Also, quoting a comment below:
      Primary key cannot repeat the same value and must be unique in relational database. Thus, it will require an extra "id column" to make each wilson44 unique.

    • @clarianken4223
      @clarianken4223 7 ปีที่แล้ว +1

      @Igor Aherne check my query pls..?

    • @8a1ad61b
      @8a1ad61b 7 ปีที่แล้ว +14

      I think he is talking about the subscription table at 18:33. In that case, I think the combination of Cust ID and Newsletter is the only valid candidate to be a primary key.

    • @Cornellie
      @Cornellie 7 ปีที่แล้ว +26

      I think he made a little mistake as you were able to spot it easily, "Cust ID" column in the "Subscription Table" should be a FOREIGN KEY instead as a PRIMARY KEY is always UNIQUE and does not allow duplication.
      But it was a great video though it helped me a lot, I'm having trouble normalizing my database for a college case study :p

    • @BurninRevolver
      @BurninRevolver 7 ปีที่แล้ว +5

      You should watch you fellow indians tutorials

  • @breezycodes
    @breezycodes ปีที่แล้ว

    7 years later & this is still gold!

  • @emilsgosko5217
    @emilsgosko5217 6 ปีที่แล้ว

    Such a good video, man. Especially how it all came together at the end. Thank you.

  • @aoa0i2u
    @aoa0i2u 8 ปีที่แล้ว +3

    very useful tutorial, just saved me a lot of time instead of understanding purely by reading notes

  • @S0up3rD0up3r99
    @S0up3rD0up3r99 8 ปีที่แล้ว +3

    This was infinitely more helpful than the college class I'm taking going over databases -.-

  • @josayamanko7874
    @josayamanko7874 2 ปีที่แล้ว

    much thanks to you, this 20 mins teaches more than what i've learnt in 1 month.

  • @christophertoppo
    @christophertoppo 6 ปีที่แล้ว

    Awesome way to learn ... The way you teach is way much better than any other instructurs on youtube.. your example selection was the most important part of the video and it was bang on target. Thanks again!

  • @hotmandead1
    @hotmandead1 7 ปีที่แล้ว +3

    This is the best lecture on normalization I have ever seen thank you

  • @freakymundo
    @freakymundo 7 ปีที่แล้ว +7

    wouldn't the Shipping Adress not obey the 1NF? It has multiple values such as Number, Street, and City.

  • @karensynesiou7750
    @karensynesiou7750 4 ปีที่แล้ว +1

    Fantastic explanation. Learned more from this easy to understand explanation than from several videos I have watched. Thank you.

  • @AchaEkeahVincent
    @AchaEkeahVincent 7 ปีที่แล้ว

    I will remember this tutorial for a life time. Thanks a million times buddy.

  • @ranjan_v
    @ranjan_v 5 ปีที่แล้ว +21

    Thank YOu

  • @joshuaturner4033
    @joshuaturner4033 7 ปีที่แล้ว +4

    Thank you for literally saving my degree.

  • @smtxtv
    @smtxtv 2 หลายเดือนก่อน

    Yep. Great explanation. You uncomplicate what has been previously presented in a disjointed, convoluted manner. Thx ! What I needed, for sure.

  • @abdullahhaidar3658
    @abdullahhaidar3658 6 ปีที่แล้ว

    I could've spent 100 hours trying to understand that from the teachers course, you saved me lots of time !!

  • @nebula1863
    @nebula1863 8 ปีที่แล้ว +10

    Cust ID in the subscription table and sales invoice table must be a foreign key, not a primary key, am i right?

    • @hamidmehmood472
      @hamidmehmood472 8 ปีที่แล้ว

      +Nishant Revur CUS_ID in Subscription and sales invoice table is Primary key as well as act as a foreign key

    • @Ericsicons
      @Ericsicons 8 ปีที่แล้ว +6

      +Nishant Revur Yes it can not be a primary key on its own it must be a composite key with Newsletters as you can not have duplicates in primary key.

  • @aayamoza8495
    @aayamoza8495 8 ปีที่แล้ว +29

    You repeated willson44 twice as a primary key, is that not redundancy? I learnt in 1st NF there should be no repetition!

    • @Thisisloco1
      @Thisisloco1 8 ปีที่แล้ว +3

      +Aayam Oza
      I noticed this aswell. I think if he should have another table with the Newsletter and a primary key.
      The table he created could use the Customer ID and the Newsletter ID together to create the primary key.
      Then surely you could query the database and retrieve everything belonging to a Customer ID and retrieve all the newsletter IDs?
      thats how i would do it

    • @aayamoza8495
      @aayamoza8495 8 ปีที่แล้ว +1

      That's fine if you are using two primary key!!

    • @muhanad102
      @muhanad102 7 ปีที่แล้ว +2

      this is just an example so think about it that you want to to be different and unique here...the compound key is unique. If in any situation you think it's not unique anymore then you need to fix it...

    • @PK-db9qj
      @PK-db9qj 6 ปีที่แล้ว +2

      You cannot have same entity in primary key.
      That's the concept of primary key - it defines all attributes uniquely. For ex- you bank account number can be primary key because every person in world have unique bank account number.
      If you have 2 same bank account number it will be disastrous as other person can transact from your account.

    • @ramakantasamal7482
      @ramakantasamal7482 6 ปีที่แล้ว +2

      I dont think it enforces primary key on the 1st NF. It says no two rows could have identical values which is not the case here. But as you move on the 2nd and 3rd NF the primary key will come into picture .

  • @pinnx
    @pinnx 5 ปีที่แล้ว

    OMG THANK YOU! I was having a hard time understanding the differences from1NF from 2NF and now I understand!! Fabulous!

  • @yasirzubair20
    @yasirzubair20 ปีที่แล้ว

    Clearly explained throughout the entire TH-cam platform!

  • @tushars5724
    @tushars5724 8 ปีที่แล้ว +14

    Hi.. i have a small question... The rule of primary key is that there should be NO DUPLICATE ENTRY for a column, but in your explanation i see CUST ID with duplicate entries "wilson44" which violates the rule of keys. Can you plz explain your logic behind this? Correct me if i am wrong. Thank you.

    • @lionbarz
      @lionbarz 8 ปีที่แล้ว +1

      +Tushar S CUST ID is not a primary key in the Sales Invoice table, so it can be duplicated. It's a primary key in the Customer table only.

    • @ronaldpasipanodya9490
      @ronaldpasipanodya9490 8 ปีที่แล้ว +5

      +Mohamed Fakhreddine i believe Tushar is refering to the subscription table, you have duplicate entries "wilson44" on your primary key column. this violates the rule of primary keys which states that each key should identify a single row

    • @talhaiqbal9387
      @talhaiqbal9387 6 ปีที่แล้ว

      May be both the customer id and the shipping address should be the primary key here.

    • @andreibehjan9658
      @andreibehjan9658 6 ปีที่แล้ว

      The Subscription table has what they call a composite key. The combination of Cust ID and Newsletter make the Primary Key.

  • @SkillGamingNL
    @SkillGamingNL 4 ปีที่แล้ว +5

    There are a lot of things wrong with this normalization:
    1. Subscription table should have a auto increment ID as primary key, in the result it has wilson44 2 times in it. This is not possible in a real database because the primary key always has to be unique.
    2. Invoices table, in the result one customer can only buy a playstation or xbox 1 time. This is because custID and Item are a compounded primarykey, so if a customer tries to buy another playstation it is not possible(primary key duplicate).
    3. The shipping address would NEVER ever get stored like that in a database, a better way of doing it is splitting the data in to multiple fields.

  • @ericpoirier3705
    @ericpoirier3705 6 ปีที่แล้ว

    Well done. The pace is right on spot so we can follow everything. Thanks.

  • @TalithShotgun
    @TalithShotgun 3 ปีที่แล้ว

    This is INCREDIBLY helpful. Thank you!

  • @arashm3669
    @arashm3669 7 ปีที่แล้ว +30

    cust ID was a bad choice. transaction or invoice id would be a better choice. you cannot have primary keys repeated

  • @MKouthere
    @MKouthere 8 ปีที่แล้ว +5

    you are my savior

  • @yumincao5878
    @yumincao5878 4 ปีที่แล้ว

    A great thank! This video links the Fs to table. Much better than what I've been taught by lectures.

  • @andyyork6471
    @andyyork6471 8 ปีที่แล้ว +1

    I'm new to normalization, and I think I already understand it. Thanks! Very well done.

  • @fahimbaig825
    @fahimbaig825 5 ปีที่แล้ว +3

    why would they both buy a ps4 if they live in the same house ? these the real question we all should be asking here ..

    • @CynicalOldDwarf
      @CynicalOldDwarf 5 ปีที่แล้ว

      They don't like sharing, and they want to play multiplayer without split screen cheating.

    • @fahimbaig825
      @fahimbaig825 5 ปีที่แล้ว

      ​@@CynicalOldDwarf AND they wont have any ping problems if they connect them via LAN cable , the only way to determine who is better .. it seems i have underestimated the intellect of this man .. *tips his hat*

  • @jadeite20
    @jadeite20 7 ปีที่แล้ว +7

    2nd normal form first relation is wrong. Cust ID does not determine Newsletter. There is a partial dependency on 9:42

    • @hussainhaider3162
      @hussainhaider3162 5 ปีที่แล้ว

      You're right. What do you think should be the solution? Put newsletter column into the other table maybe?

  • @nalakaviraj6016
    @nalakaviraj6016 3 ปีที่แล้ว +1

    This 19 mins is ,worthy than all the lecuture notes i had on dbms.

  • @mzwandiledlamini4552
    @mzwandiledlamini4552 ปีที่แล้ว

    For the first time I've seen someone explain this clearly than my lecturers at school.

  • @03004078266
    @03004078266 7 ปีที่แล้ว +5

    Hello ,
    You First Normal Form is not Good. This is wrong . because you are making the customer ID (Cust ID) as primary key and willson44 are two time in Primary column. you should yellow (make primary key ) item as well . then its satisify the first NF. Then I did not go further as I don't want to make my concepts wrong.
    Regards,
    Your well wisher

    • @_.mochi___chan._
      @_.mochi___chan._ 6 ปีที่แล้ว

      That's why I left the video after seeing that the primary key is not even unique .

  • @Haapavuo
    @Haapavuo 8 ปีที่แล้ว +8

    NOTE: wilson44 CANNOT BE TWICE IN 1NF!! THERE IS A FAILURE IN THE VIDEO!

    • @jjthomson4609
      @jjthomson4609 8 ปีที่แล้ว +5

      1nf allows multiple tuples but not multiple valued attributes

  • @zaitieamirah9876
    @zaitieamirah9876 3 ปีที่แล้ว +1

    This man explained it logically. I can picture the database inside of my mind and how it works. My lecturer didnt do this. She just poured out theories and didnt explain it

    • @Bornheck
      @Bornheck 3 ปีที่แล้ว +1

      Mine posted hour and a half long videos expecting us to be able to pay attention that long

  • @abdulrahmanlingga9420
    @abdulrahmanlingga9420 4 ปีที่แล้ว

    I barely comment on yt videos but my time and energy will be worthwhile for thanking you. Thank you.

  • @ShukyPersky
    @ShukyPersky 5 ปีที่แล้ว +10

    This video is superficial ...
    First, it doesn't explain anything about how PK (Primary Key) is selected along the way from FDs (functional dependencies), selecting SuperKeys => Selecting Candidate Keys => Selecting a Primary Key. As well, it doesn't say anything about 2NF rule that a non-prime attribute should not depend on part of the Primary Key (and for that, we are looking for a minimal Primary Key which has to do with Candidate Key). In addition, the "conjunction table" primary key is wrong ... think of that a certain customer will return to purchase the same product again.... so we are going to have duplication on the primary key which is invalid. This entity (table) requires a surrogate attribute i.e. purchase ID which guarantees unique tuples (rows), and I think that some attributes are missing on that table like date of purchase, quantity, cost, etc.

    • @joshuaaguilar1033
      @joshuaaguilar1033 3 ปีที่แล้ว

      The comments in this video are a bit disconcerting. I read that many people, and I quote "Learned more from this video than from thier professor" or "Have a test in less than x hours and this video helped them to understand the material". This video has a bunch of mistakes! This is not a good refrence.

    • @theamazingmonkey100
      @theamazingmonkey100 3 ปีที่แล้ว

      then make a video yourself if you think you can do better damn

  • @Korudo
    @Korudo 2 ปีที่แล้ว

    This is fantastic! Thanks for explaining these with practical examples. Super helpful!

  • @basetroll1627
    @basetroll1627 3 ปีที่แล้ว

    Although a commentor pointed it out, channel5567 mad a mistake to call in the customer table the first col a Primary Key, since it PK must be unique, never NULL, and never change, that is a tremendous fantastic video about NF in databases. I have learned a ton with it. THANKS A LOT!

  • @DirectionNext
    @DirectionNext ปีที่แล้ว

    Thanks for creating this video. Simple, crisp and to the point with proper example. Amazing video.

  • @kabelokgabo880
    @kabelokgabo880 5 ปีที่แล้ว

    This is the best Normalization video... everything was clear and it was audio-able

  • @fercho810116
    @fercho810116 5 ปีที่แล้ว

    Excellent explanation. Simple but covering the what, why and how perfectly. Thanks!

  • @pastelblack
    @pastelblack 8 ปีที่แล้ว

    Thanks for posting this! My professor made it so confusing, but you simplified it so well!

  • @beyondsounds2640
    @beyondsounds2640 5 ปีที่แล้ว

    Hi, Your tutorial is the best of the best in term of explanation of normalization. I wouldn't have understood this concept if not for your tutorial and how clear your explanations are. Bravo. I really appreciate your understanding of this concept and for passing it onto a novice like me..

  • @qwerty86567
    @qwerty86567 3 ปีที่แล้ว +1

    Excellent video. Very clear and minimal example which illustrates the concepts effectively. Thanks!

  • @aliceroy7206
    @aliceroy7206 5 ปีที่แล้ว

    3 weeks of class in 19 minutes. Good job

  • @awfaihfpiawjfp
    @awfaihfpiawjfp ปีที่แล้ว

    This video was outrageously helpful to me and I'm so grateful that it exists

  • @BlazinWolfz
    @BlazinWolfz 3 ปีที่แล้ว

    This is the best normalization video to date. ty so much

  • @rimvydaskanapka3229
    @rimvydaskanapka3229 4 ปีที่แล้ว

    I was having hard time understanding normalization but you explained it so clear! Thank you very much for your work, we appreciate it. :)

    • @spook873
      @spook873 ปีที่แล้ว

      Laba Diena bratka

  • @user-dp7lr5qh6o
    @user-dp7lr5qh6o 3 หลายเดือนก่อน

    Thank you so much. After 8 years it is still helpful

  • @parvez4506
    @parvez4506 2 ปีที่แล้ว

    Only 17 videos and 4.47k Subscribers. This is how quality works.... Thank you so much for the explanation.

  • @ahrmedahrmedali
    @ahrmedahrmedali 8 ปีที่แล้ว +1

    Thanks for the great video! This video made all the pieces fall into place! :)