Boyce-Codd Normal Form (BCNF) | Database Normalization | DBMS

Поделиться
HTML-код
  • Опубликовано: 6 сен 2024
  • For complete DBMS tutorial: www.studytonig...
    In this video, you will learn about the Boyce-Codd Normal Form, which is popularly known as BCNF, with help of the simplest database example ever.
    You will also learn how to design a table which follows the Boyce-Codd normal form? What are the rules and requirements for a table to be in the BCNF?
    Introduction to Normalization: • Basic Concept of Datab...
    First Normal Form: • First Normal Form (1NF...
    Second Normal Form: • Second Normal Form (2N...
    Third Normal Form: • Third Normal Form (3NF...
    Fourth Normal Form: • 4th Normal Form (4NF) ...
    Fifth Normal Form: • 5th Normal Form (5NF) ...
    If you LIKE this video, give it a thumbs up and do SUBSCRIBE to our channel.
    Our website: www.studytonig...
    Facebook: / studytonight
    Twitter: / studytonight
    Instagram: / study.tonight

Комментарии • 411

  • @paulluke9460
    @paulluke9460 6 лет назад +763

    3 videos of less than 15 minutes explained my 1-hour lecture of 45 slides. Your work is amazing AND I LOVE IT!

  • @andrewschatz3949
    @andrewschatz3949 5 лет назад +190

    I spent 2 hours watching my professor's lectures, 1 hour reading the textbook, and 15 minutes watching your videos. Guess which one of those 3 was the most beneficial?
    I cannot believe how easily you explained it. You are truly a master of the world of databases.

    • @DuyNguyen-hy1ox
      @DuyNguyen-hy1ox 5 лет назад

      Nếu bạn chưa coi tài liệu tôi cá là khi bạn cọi video này bạn sẽ hỏi: primary key là gì? BCNF là gì? vân vân :)) . Chỉ đùa xíu thôi. Video rất dễ hiểu. Cám ơn tác giả rất nhiều

    • @babajan5370
      @babajan5370 Год назад

      same

    • @babajan5370
      @babajan5370 Год назад

      tomoroow my exam I seen these video my dobt will be clear because sir you explain one example

    • @babajan5370
      @babajan5370 Год назад

      and related on different topic amazing 😊

  • @JerseySlayer
    @JerseySlayer 2 года назад +39

    Everything you learn about databases is common sense. Then, they use 500 key terms and nomenclature and you forget what the hell they were ever talking about. Boiled down explanations like this are all you need. A 4 minute video that educates in a way I can't forget. Appreciate the video, a whole lot!

  • @user-di2fl8hz1o
    @user-di2fl8hz1o 6 месяцев назад +73

    2024 attendance here--

  • @dushananuradha1098
    @dushananuradha1098 3 года назад +24

    I recommend this playlist for those who seek concise explanations on normalization relations. This lecturer has perfectly explained all the normalization relations around 5-6 minutes, whereas a typical SE lecturer would take hours creating a huge confusion.

  • @devpiush
    @devpiush 7 месяцев назад +12

    6 years later its still helpful to me for my college, thanks a lot !!

  • @socratears
    @socratears 4 года назад +6

    When the video ended, I did not expect it to be *4 MINUTES SHORT*. You have me gaGGING at how incredibly simple and educational your videos are.

  • @muhammedaizazhaider8142
    @muhammedaizazhaider8142 4 месяца назад +2

    Simply O MY GOD! spent 2 days understanding BCNF and this explained it in less than 5 minutes!!! can't believe. After all those non-sense bullshit with drowning into never-ending thousand's of key terms, composite, prime, super, candidate, alternate, foreign and loads of trivial non trivial dependencies, attribute closures etc. This lecturer is a GEM! U deserve at least a million SUBS!

    • @Studytonight
      @Studytonight  4 месяца назад

      Hahaha! Thanks. Spread the word :)

  • @nanananaejm9278
    @nanananaejm9278 3 года назад +9

    I tried to understand this with myself for weeks.... but you made me fully understood in 5 minutes. WOW

  • @lenubis1406
    @lenubis1406 5 лет назад +28

    Thank you for this, my professors keep using functional dependencies in (A -> B) form only to explain 2NF, 3NF, BCNF, and it gets so confusing, these vids were really helpful :)

  • @dam1433
    @dam1433 2 года назад +9

    Almost four years later and this is still great! Thank you so much, this set of videos certainly helped me understand this somewhat dense material.

    • @Studytonight
      @Studytonight  2 года назад +1

      You're very welcome! New video on Database Transaction dropping today :) Subscribe to the channel.

  • @gajanparameswaran9947
    @gajanparameswaran9947 Год назад +5

    I think there is a partial dependency in the example : professor column only depends on subject not on student_id so it doesn't satisfies 2nd NF

    • @friday7211
      @friday7211 11 месяцев назад

      I too have the same query, what did you conclude on?

    • @sagarjain4128
      @sagarjain4128 9 месяцев назад

      @@friday7211 Sab farzi hai 😂😂

  • @PegassiLampadati
    @PegassiLampadati 5 лет назад +7

    These videos saved me 2 hours of lecture time and 81 slides of powerpoint!

  • @bhavyar2986
    @bhavyar2986 4 года назад +2

    All my 4 years of engineering, I have followed studytonight. I just love it. Thank you sir for this. You are amazing. YOu are awesome! Its amazing how we can learn so much from a free resource. Thank you A big thanks!!.. thank you * 100!

  • @avishekgazmere6868
    @avishekgazmere6868 5 лет назад +10

    These videos are so simple to understand. Thank you very much for putting this into the universe!

    • @Studytonight
      @Studytonight  4 года назад +2

      Thank you Avishek. Share them around!

  • @type-moonfag4413
    @type-moonfag4413 2 года назад +1

    Holy shit it took months to find a good explanation of bcnf! no one else explained it in a clear way! Thank you!

  • @ash1800
    @ash1800 4 года назад +1

    thank you very much 2 lectures 3 days study trying to understand but only ur 3 small videos works with me thanks a lot

  • @priyanshudebnath1418
    @priyanshudebnath1418 2 года назад +1

    Best video till now to explain normalization in the whole RUclips.

  • @masonscott2125
    @masonscott2125 2 года назад +2

    You, my man, are a certified legend. You got the gift bro. Thanks for the great videos!

  • @voxeledphoton
    @voxeledphoton 4 года назад +92

    Instructions were unclear my tables are now chairs.

    • @Studytonight
      @Studytonight  4 года назад +16

      Hi voxeledphoton,
      What confused you and turned your tables upside down?

  • @MrRavibains
    @MrRavibains 3 года назад +1

    You explained these concepts better than anyone else out there

  • @shravanideshpande2058
    @shravanideshpande2058 2 года назад +1

    Amazing nf series, I had surfed entire yt but no other video could beat this.
    Here explanation is the fabulous

  • @fjm01
    @fjm01 6 месяцев назад

    The way you explained it, my professors never could! Brilliant work, Sir! Thanks a ton. :)

  • @thedevonaitor
    @thedevonaitor 4 года назад +17

    Great video, the claps at the end startled me lol.

  • @hugocontreras2848
    @hugocontreras2848 4 года назад +3

    Dude you are my savior, I have exam in a few hours and this is just amazing

  • @Ayu-gj5pv
    @Ayu-gj5pv 3 года назад +2

    Absolutely love these! They are short and not boring at all. Thanks mateys!

  • @rajkumarmeena7369
    @rajkumarmeena7369 2 года назад +5

    Your videos are good as they explain these concepts with solid examples. One thing you can improve upon is to also explain why it was necessary to convert the table into BCNF. What was the problem with table before converting it into BCNF?

  • @alishehzadpaul
    @alishehzadpaul 3 года назад +21

    3:18 How does this table satisfy second normal form? Professor is dependent on subject, but not on student_id. I think it is a partial dependency.

    • @_sowndarya.senthil
      @_sowndarya.senthil 3 года назад +1

      (Student_id,subject) together determines professor attribute.
      This is known as fully functionally dependent
      And not partial dependency

    • @-HarishkumarG
      @-HarishkumarG 3 года назад +5

      @@_sowndarya.senthil but what's the use of having student ID inorder to determine professor ? Logically There's no link between professor and students ID. Please explain

    • @aadjxx
      @aadjxx 3 года назад +4

      ​@@-HarishkumarG Apparently, it's because a subject may have more than one professor. Subject alone is not enough to determine professor. However, I'd say it should make more sense if both subject and professor were part of a 'class' table, which would be then linked to student_id.

    • @-HarishkumarG
      @-HarishkumarG 3 года назад

      @@aadjxx thank you so much

    • @yatmanwong1008
      @yatmanwong1008 2 года назад

      ss_editz is right, because the functional dependency is professor -> subject, not subject -> professor. Given subject math you cannot tell which professor is teaching this student, there are many math profressors! Example like these are hard to come up, therefore just go alone with the fake business logic and just consider the functional dependency

  • @kitezopo2593
    @kitezopo2593 3 года назад +4

    Welcome to RUclips university, where complicated things from school makes it less complicated.

  • @thebipulkumar
    @thebipulkumar 2 года назад +3

    How does this table satisfy the second normal form? Professor is dependent on the subject, but not on student_id. So, It doesn't No fulfill partial dependency. Hence not in 2nd normal form.

    • @chethaspyla3108
      @chethaspyla3108 5 месяцев назад

      no because there can be different professors for the same subject

  • @Bogdan-pf1om
    @Bogdan-pf1om 6 месяцев назад

    thank you, it s the first time i managed to understand the difference between 3nf and bcnf

  • @aniknarayan1692
    @aniknarayan1692 3 года назад

    I wish RUclips allowed us to Like a video multiple times... Every time I watch this for revision I feel a strong urge to click on the Like button again 😁😁😁 Great work, keep it up 👏👏👏

  • @mobeenahmed2916
    @mobeenahmed2916 6 лет назад +11

    Please do a video about tables relationships in a DB
    You explain so good 👍

  • @mrk131324
    @mrk131324 3 года назад +4

    It is worth mentioning for the example that we assume that each professor only teaches one corse, otherwise the deconstruction would not work.

    • @Studytonight
      @Studytonight  3 года назад

      Noted! and thanks for mentioning this.

    • @aadjxx
      @aadjxx 3 года назад

      Yup, I was questioning the same thing. Thx for clarifying.

    • @aadjxx
      @aadjxx 3 года назад

      I double checked and it is actually stated in the video. Briefly, but it is there.

  • @star_types
    @star_types 9 месяцев назад

    thanks... while everyone is just teaching B must not depend on A and blah blah... you explained like a pro...

  • @voon2770
    @voon2770 4 года назад +1

    An hour before exam, thanks for simple explanation

  • @BatVal
    @BatVal 3 года назад +7

    How is there no partial dependency when professor is determined on the subject, but not the student_id and subject is part of a comp key?

    • @sodiko100
      @sodiko100 3 года назад +5

      The example is wrong. There is partial dependency like you said but also subject is not a prime attribute. It should be split into more tables due to 2NF

    • @jl12-tt
      @jl12-tt 3 года назад

      was confused by that too

    • @jl12-tt
      @jl12-tt 3 года назад

      Maybe 1 subject can have multiple professors?

    • @aswing2706
      @aswing2706 2 года назад +1

      No, the subject alone cannot uniquely determine the professor.
      There are different professors for the same subject, like Pjava,Pjava2 for java subject.
      Only student along with subject can uniquely identify professor.
      So it does not have partial dependency ,so 2NF

  • @sreekanththota2200
    @sreekanththota2200 4 года назад

    Finally I understood Normalization By ur Valuable videos...

  • @himanshusrivastav3695
    @himanshusrivastav3695 5 лет назад +2

    Sir I have no word explained about your video amazing video

  • @user-mr4tf9bx7p
    @user-mr4tf9bx7p 8 месяцев назад +1

    bro tmr is my exam it is very usefull for my sem bro thank u so much bruhhh🤗🤗😍😍

    • @Studytonight
      @Studytonight  8 месяцев назад

      You are welcome and glad this video helped you. I hope you scored well in he exam.

  • @blaze9558
    @blaze9558 6 месяцев назад +1

    watched many videos this one was on point. thanks man

  • @amanarora8746
    @amanarora8746 3 года назад +3

    How is the table given at 3:24 not partially dependent? like the professor name only depends upon the subject id and not on the student id so that will definitely cause partial dependency to exist.

    • @danawang780
      @danawang780 2 года назад

      the professor name depends on both subject_id and student_id in this example, because we assumed that multiple professors can teach the same subject. Therefore given only a subject_id, we can't be sure which professor teaches it.

    • @devanshuraj8413
      @devanshuraj8413 Год назад

      @@danawang780 even if multiple professor can teach same subject how come professor get dependent on student? @StudyTonight

  • @KenriHayashi
    @KenriHayashi 3 года назад

    6 hours of lectures compressed in 4 videos... and this one is easier to understand too

  • @mariojosuecastro303
    @mariojosuecastro303 4 года назад +1

    Pretty simple and straightforward. Thank you so much!!!!

  • @codewithme3548
    @codewithme3548 5 лет назад +1

    Very Quality content. I wonder why did you guys stop making more videos. Very clean, simple and nice explanation.

  • @urjamishra6419
    @urjamishra6419 5 лет назад +1

    Bhagwaan ho aap! Seriously god!!❤️💯🔥 Thank you so much for these videos sir! They are so so easily explained! I just can't wait to see this question in my tomorrow's dbms exam! And fill the paper as fast as u taught me! I hope to learn more from you!⭐ Keep going!!!!

    • @Studytonight
      @Studytonight  5 лет назад

      We all are learning and teaching others is the best way to understand things in a better way yourself.
      Do subscribe to our channel for more videos.

  • @saiajay696
    @saiajay696 4 года назад

    this tonight channel is making my tomorrow's exam simple.

  • @umarshuaibu2077
    @umarshuaibu2077 10 месяцев назад +1

    What a nice explanations. Thanks for saving my life oo

    • @Studytonight
      @Studytonight  9 месяцев назад

      Thanks for your comment :)

  • @Alazer-uh6gq
    @Alazer-uh6gq 7 месяцев назад

    I have no words . Much respect👏

  • @dunno418
    @dunno418 Год назад

    ⚠I feel the new professor table can be not in 3NF and BCNF because P.Java2 can determine what the P.id(violates BCNF) can be and also the subject it teaches(violates 3NF).
    The example instead of using "P.Java2" as a name should use for example "ABC" as a professor ABC can teach Java2 or maybe English_1 or whatever this makes the example more life like 👍, as ABC can not determine the both.
    it seems a little weird a professor having two id's but not at the cost of violating the two forms. (composite key makes sense here)
    another design could be using extra column for a professor (if they want to teach extra subjects)
    but seems like it would create variables which wont be occupied ( i dont know how space is utilized in NULL places in RDBMS)
    @Studytonight watch this please, and thanks for this amazing tutorial one of the most consistent lectures i have seen.
    EDIT: OH WAIT i just realised my design suggestion would lead to violation of 2NF (only professor enough can determine other two subjects in seperate column (maybe)), of 3NF( if professor isnt primary key or part of composite) and of BCNF(as professor name can determine their ID 😭.
    The above composite primary key example is much better 👍

  • @metehanemir7454
    @metehanemir7454 4 года назад +4

    4:09 Isn't there Transitive Dependancy now on the right table? Since Subject is functionally dependant on Professor (Professor implies Subject, proof @ 3:07), and both are non-prime attributes. That would mean that it isn't in 3NF, which means that it also is not in BCNF.

    • @metehanemir7454
      @metehanemir7454 4 года назад +1

      Either that or I've gotten the definition of transitive dependancy wrong. May someone explain why there is no transitive dependency in the last right table? Thanks.

  • @DAPHindiGaming
    @DAPHindiGaming Год назад +1

    For a Database to be in Boyce codd Normal form two condition must be satisfied:
    1. It should be in 3rd Normal form
    2. There should not be a dependency A->B such that, A is a non-prime attribute and B is a prime attribute.

  • @sodiko100
    @sodiko100 3 года назад +2

    How is there no partial dependency ? Primary Key is {student_id, subject} and Professor relies on only part of the primary key which is subject. Professor should not be included in the table due to 2NF

  • @shivamghatak86
    @shivamghatak86 3 года назад

    Study tonight is my favorite website

  • @abhinavarya7752
    @abhinavarya7752 6 месяцев назад +1

    Just think after 100 years, our son and daughter would have to study and remember 1000 normal forms. I really feel sad for my upcoming kids in future.

  • @takeadecisionupwork3772
    @takeadecisionupwork3772 3 года назад

    I understand as a teacher how much effect u put for this lectures in simple way

  • @nishitasinha6048
    @nishitasinha6048 6 лет назад +43

    How will it be in 2NF? Professor is only dependent on SubjectId and not StudentId.

    • @Huhwhatt
      @Huhwhatt 6 лет назад +3

      I have the same doubt, were you able to figure it out?

    • @Huhwhatt
      @Huhwhatt 6 лет назад +48

      oh never mind, I got it. A single subject can have more than one Professor. So, we need both student_ID and subject to figure out professor. So, no partial dependencies!

    • @AdityaKumar-mt1rh
      @AdityaKumar-mt1rh 5 лет назад +2

      consider stdid 101 you will get your answer ;)

    • @jaiswaljitu
      @jaiswaljitu 5 лет назад

      @@Huhwhatt thanx

    • @simplymade7802
      @simplymade7802 5 лет назад +2

      Parth Patel yes that's right one subject may have more then one proffesor but it is not specified that students are divided into groups and one teacher is allocated to a group and second to other. If it would be the case then proffesor depends upon both student-id and subject-id and there would not be any partial dependency...but it is not the case..so proffessor dependes upon subject_id only...
      I think..

  • @darkXenio
    @darkXenio 3 года назад

    Why are people making it so difficult to understand? This video makes it simple af

    • @-HarishkumarG
      @-HarishkumarG 3 года назад

      Brother! Could you explain how there is no partial dependency where the professor is only dependent on the subject right?

  • @samsonM08
    @samsonM08 4 года назад +1

    After BCNF, in table 1, Pid is not dependent on Student Id, so table 1 voids 2NF rule.

  • @PremjitSingh03
    @PremjitSingh03 4 года назад +3

    Hi, thanks for explaining it very clearly. I want to point out that the CollegeEnrollmentTable is NOT in 2NF since the column Professor is only partially dependent on the Subject and not the studentID. So in my view it's not a good example to explain BCNF. But if you group all the 3 columns and consider it as a primary key , then it's in 3NF since the table has no non-prime attribute.

    • @dunlopgator1539
      @dunlopgator1539 2 года назад +1

      Professor is not partially dependent on Subject. Subject does not derive Professor, since a subject can be taught by many professors (Java - PJava1, PJava2). Looking at a subject, you cannot tell exactly which professor it is taught by, since there are many.

    • @sumitsaha6941
      @sumitsaha6941 2 года назад

      @@dunlopgator1539 thanks it's really helpful❤

  • @logbasex826
    @logbasex826 5 лет назад

    How easily you explained it. Brilliant! Thank you so much

  • @dagimbbekele1771
    @dagimbbekele1771 Год назад

    thanks, this is special video on normalization

  • @AJAYKUMAR-ug4dy
    @AJAYKUMAR-ug4dy 2 года назад +1

    bro, u understand good u should also give example with data like u give in 1nf and 2nf

  • @akshaychopra96
    @akshaychopra96 6 лет назад +1

    Amazingly explained :)
    Post other videos soon. My exams are from next month.
    Waiting!

  • @robarntz4916
    @robarntz4916 4 года назад +2

    Hi there. In the final example to BCNF we can have (Student1, Teacher1) and (Student1, Teacher2) and (Teacher1, Java), (Teacer2, Java). This will imply that Student1 foloows Java twice (once with Teacher1 once with Teahcer2). I think this is not correct as the original table had a unique key on the combination of Student and Subject so the combination of Student1 and Java must be unique. Or am I missing something here?

  • @techvishnuyt
    @techvishnuyt Год назад

    thanks for the explanation, that was quick and time saving thank you

  • @sanjanayadav6360
    @sanjanayadav6360 4 года назад +1

    The series was awesome and helpful. Thank you.

  • @brucelamb6060
    @brucelamb6060 2 года назад +1

    Is there another video that explains BCNF? The 1NF, 2NF, 3NF vids are superb! Thank you

    • @Studytonight
      @Studytonight  2 года назад

      Let me see what can be improved in BCNF video 😊

  • @nilotpal8327
    @nilotpal8327 3 года назад

    sir make videos on "Transaction and Concurrency control" and other DBMS important topics too. your way of teaching is exceptional.

  • @neonmusic7028
    @neonmusic7028 6 лет назад

    You are born for teaching . Really good videos :D

  • @ammarhaider1530
    @ammarhaider1530 4 года назад +5

    After converting to BCNF isn't there a transitive dependency in Professor table
    (p_id -> professor - > subject).

    • @jaideepshekhar4621
      @jaideepshekhar4621 4 года назад +2

      I think no, as the names of two teachers can be the same, and therefore you cannot be sure which teacher you are referring to. But the professor ID will be unique for each professor, and you can find the name and subject from it.
      But... this also means that the table was in BCNF at the start, as you cannot uniquely determine subject from professor!

    • @CreeperHaunterDavid
      @CreeperHaunterDavid 4 года назад

      i was thinking the same thing

  • @DipeshShrestha-y6q
    @DipeshShrestha-y6q Месяц назад

    Once you break the table, Table A (Student_id, Professor_id) -> Student_id cannot be considered as primary key because one student can be taught by multiple professor. In your example, student 101 is taught by PJava and PCpp. Although you break the table you need to take care of many to many relationship.

  • @ginesmoratalla5766
    @ginesmoratalla5766 4 месяца назад

    might be a bit late for this, but if you were to understand the relation the other way (i.e., subject -> professor) that would break 2NF instead of BCNF. My question is, since normalization is a bit ambiguous sometimes, is it possible to understand it like I explained? this would therefore be true for the majority of relations breaking BCNF, just switching the attribute that derives on the otherone, right?

  • @poojashettyrs6132
    @poojashettyrs6132 5 лет назад +1

    Thank you soo much for this great job..you explained it in such a manner that anyone can easily understand..we expect more and more videos related to cs

  • @arpitamitra2053
    @arpitamitra2053 3 года назад +1

    The video was good indeed.But should have shown the example by solving it in the table format.

  • @makinenivanshita1292
    @makinenivanshita1292 3 года назад

    You saved so many lives!

  • @MartinHusak
    @MartinHusak 2 года назад +1

    QUESTION: Lets assume that single professor can teach multiple subject. Would it mean that the original table / model was already in BCNF ? As this split to 2 table would not be possible, right ? More importantly the (student, subject) will not guarantee the path to professor, right?

  • @khantamanna6596
    @khantamanna6596 3 года назад

    I like your voice...... finnaly i got a good lecturer🙂

  • @baqirhusain5652
    @baqirhusain5652 5 лет назад +7

    Question
    Are the decomposed table in bcnf?
    I dont think so bcos even now
    Professor->subject
    Non prime->non prime
    Transitive dependency?
    Please explain

    • @Studytonight
      @Studytonight  5 лет назад +4

      Well, when we break the table P_ID is more like a representation of the relationship between Professor and Subject. Each P_ID will have a unique combination of Professor and Subject against it where may be a Professor teaches more than one subject and may be a subject is also taught by more than one professor. Hence P_ID will be the deciding factor or we can say the prime attribute in the broken down relationship.
      Hope it makes sense.

    • @gurkandemir1643
      @gurkandemir1643 5 лет назад

      Studytonight But, according to your explanation you said, in the last versiyon professors have a right to teach more than one subject.
      However, if so in the first table there is no functional dependency between professor and subject since professor teach more than one subject, which means first version is also bcnf?

    • @Studytonight
      @Studytonight  5 лет назад +1

      @@gurkandemir1643 Yes, true. When we say that each P_ID will have a unique combination of Professor and Subject that means, "Prof1"-"Java", "Prof1"-"C++", "Prof1"-"Python" all are unique combinations as the subject names are different. Hence, one professor can teach more than one subject.

    • @lavanyam1511
      @lavanyam1511 4 года назад +2

      @@Studytonight But you said in the video that each professor teaches unique subject. If multiple professor can teach multiple subjects then the problem of bcnf wouldn't have been arised!

  • @MuhammadTanveer-dx1hr
    @MuhammadTanveer-dx1hr 4 года назад +1

    East or west but SIR you r the BEST

  • @rexwang1018
    @rexwang1018 3 года назад +1

    In your BCNF example, what happens if an admin decides to update a professor's subject? Say from Java to C++. Can we still find the right score with the student, professor, and Java?

  • @msami2916
    @msami2916 2 года назад

    Having confusion in BCNF ....the concept of supper key ...u have used in this video

  • @vishnus2567
    @vishnus2567 2 года назад +1

    in last, when we split the table in to student & professor,
    the student_id in student table is not unique ?🤔
    because a student is taught by multiple professor? Then how student_id can be a primary key ?

  • @ajithnandagiri9463
    @ajithnandagiri9463 3 года назад

    God of dbms @studytonight

  • @jahnavireddy5127
    @jahnavireddy5127 6 лет назад +5

    I have a doubt..
    I think removing subject from student table is meaningless..
    Because each student will be having many subjects..and therefore there will be many professors associated with that record..not just one..
    Then how to break the table?
    Should we have to use all the 3 attributes to uniquely identify the row??

    • @zss123456789
      @zss123456789 5 лет назад +3

      I have doubts, too, but for different reasons.
      To accommodate for multiple professors, you would make both student_id and p_id primary keys so you can have multiple records for the same student.
      But this set up assumes each professor only teaches one subject, which we know is often not the case. Associating just the professor with the student won't tell you which subject the student is taking if the professor does teach multiple courses.
      It sounds like you will end up with a 3 way many-to-many relationships. (A student can have multiple subjects and professors, a subject can be taught by multiple professors be taken by multiple students, a professor can teach multiple subjects and students)
      I think it makes more sense if the table is left unfixed.

    • @sheepnoisebah
      @sheepnoisebah 5 лет назад

      you mean this?
      PK: primary key, FK: foreign key
      1st situation:
      PKstudent_id, FKsubject_id
      PKsubject_id, subject_name, FKp_id
      PKp_id, professor_name
      you end up only having 1 professor per subject
      or
      2nd situation:
      PKstudent_id, FKp_id
      PKsubject_id, subject_name
      PKp_id, professor_name, FKsubject_id
      subject name is unique so there's no real need for subject_id, so you end up like in the video:
      PKstudent_id, FKp_id
      PKp_id, professor_name, subject_name

  • @innocentchimba5795
    @innocentchimba5795 3 года назад +1

    You should be my computer science teacher.

  • @AnilKumar-ve2yl
    @AnilKumar-ve2yl 2 года назад +1

    sir i have one doubt that does super key contains only prime attribute? if yes then it means if our prime attribute is dependent on prime attribute then is it in BCNF??

  • @christeenadinakaran6134
    @christeenadinakaran6134 6 лет назад

    amazing teaching... I finally understood the normalization(riddle)

    • @Studytonight
      @Studytonight  6 лет назад

      That's great Christeena. Mission accomplished :)

  • @sowmyakolukuluri6679
    @sowmyakolukuluri6679 3 месяца назад +1

    Thanks a lot sir!

  • @sivabalasundar
    @sivabalasundar 4 года назад +2

    The given example is not in 2NF as professor column is partially dependent on the composite key. Kindly check it yourself to have them corrected for the learners.

    • @Studytonight
      @Studytonight  4 года назад +1

      Hi Siva,
      One Professor teaches only one subject, but there can be more than 1 professor for one subject. Both are different statements. Had the case been, one subject is taught by only one professor then there would have been a partial dependency. So Subject depends on Professor and can be identified using professor, while Professor can not be identified using Subject, which is also conveyed in the video.
      Adding an example, if Mr. A teaches DBMS and Mr. B teaches DBMS, then DBMS cannot lead us to one entry of the professor. One professor is teaching one subject here.
      Hope that makes sense.

  • @Prince-ds4zm
    @Prince-ds4zm 6 лет назад +1

    thnku.. atlast i understood the logic of normalisation

  • @prakharjaiswal5774
    @prakharjaiswal5774 8 месяцев назад

    bhai baap explanation in less time😁

    • @Studytonight
      @Studytonight  8 месяцев назад

      Thanks bro. Glad you liked it.

  • @kim.yn07
    @kim.yn07 3 месяца назад

    I just realised the channel name is study tonight and I'm literally studying in middle of the night (its 3.30am) 😭😂

  • @blessingajayi9457
    @blessingajayi9457 Год назад

    You guys are the best !!!!❤❤❤❤

  • @avaz7939
    @avaz7939 5 лет назад +3

    In the professor table, we can also use subject to find p_id, then it will also be a non-prime to prime. Do we allow this in BCNF?

    • @hemvjay
      @hemvjay 5 лет назад

      There can be same subjects with different pid

  • @albarber1194
    @albarber1194 4 года назад

    What am I missing ? Once you split the table the Student table would not even satisfy 1NF because the student id could appear more then once as some students where in two subjects . Please explain if I'm just missing something obvious . Thanks

  • @ElectronGordo
    @ElectronGordo Год назад

    Would satisfy BCNF a table with 2 attributes {ID_Student,ID_Subject} where both attributes conform the primary key? And... ID_Subject contains chains like(Math1,Math2,Economy,Physic...)? What is about 4FN? cause the theory with your video I understood it, but with my example... things looks complicated. Thank you

  • @admon8120
    @admon8120 4 года назад

    please pick my question.Why there is no partial dependency because partial dependency will occur if any of the non prime attribute depends on a part of the primary key.Here,the professor column depends on only subject and it has nothing to do with the student id.Please explain

  • @noushinmazhar4766
    @noushinmazhar4766 2 года назад +1

    Really Helpful.

  • @martinfischer8798
    @martinfischer8798 4 года назад +2

    Can anyone explain me why the last tables are in BCNF when the subject is still dependent on the professor?
    Don´t we have a transitive dependency here?

    • @sharks445
      @sharks445 4 года назад +2

      Subject can be taught by multiple professors, but professor can only teach one subject. Therefore subject is not dependent on professor