Decomplexify
Decomplexify
  • 7
  • 2 069 622
Learn SQL Joins
An easy-to-follow SQL joins tutorial, with lots of examples. Covers the main types of SQL joins, namely:
- INNER JOIN
- LEFT OUTER JOIN
- RIGHT OUTER JOIN
- FULL OUTER JOIN
- CROSS JOIN
0:00 Introduction
0:40 INNER JOINs
9:08 LEFT OUTER JOINs
13:04 RIGHT OUTER JOINs
15:36 FULL OUTER JOINs
17:10 Tailoring the matching criteria
18:40 CROSS JOINs
19:24 Joining a table to itself
21:06 Conclusion
มุมมอง: 40 490

วีดีโอ

Learn Database Denormalization
มุมมอง 36Kปีที่แล้ว
What is RDBMS denormalization all about? This video will help you to recognize situations in which it is appropriate to denormalize a relational database table - or avoid normalizing it in the first place. Featuring lots of examples and a focus on the design process.
Database Keys Made Easy - Primary, Foreign, Candidate, Surrogate, & Many More
มุมมอง 133K2 ปีที่แล้ว
An easy-to-follow tutorial covering the whole gamut of RDBMS keys: primary keys, candidate keys, superkeys, alternate keys, foreign keys, surrogate keys, natural keys, simple keys, composite keys, compound keys, and intelligent keys. Featuring lots of examples and a focus on the design process. 0:00 Introduction 0:53 Primary Keys 3:29 Candidate Keys 6:09 Superkeys 7:57 Alternate Keys 8:49 Forei...
Learn Boyce-Codd Normal Form (BCNF)
มุมมอง 89K2 ปีที่แล้ว
An easy-to-follow & comprehensive explanation of Boyce-Codd Normal Form (BCNF), with examples. After watching this video, you'll understand BCNF and the key concepts that enter into the BCNF definition, for example "prime attribute", "non-prime attribute", "candidate key". And you'll understand exactly how BCNF improves upon Third Normal Form (3NF). See also Decomplexify's full step-by-step dat...
The Surprise Exam Paradox, Part 2
มุมมอง 4.3K2 ปีที่แล้ว
The Surprise Exam Paradox (which is equivalent to the Unexpected Hanging Paradox) is a mind-boggling logical conundrum. In Part 1, we ran through our own variation of this paradox. Here in Part 2, we give an in-depth analysis of the paradox - and attempt to resolve it.
The Surprise Exam Paradox, Part 1
มุมมอง 7K2 ปีที่แล้ว
The Surprise Exam Paradox (which is equivalent to the Unexpected Hanging Paradox) is a mind-boggling logical conundrum. In this video ("Part 1"), we run through our own variation of this paradox. Have a go at solving the mystery of the Surprise Exam Paradox yourself... and stay tuned for Part 2, where we analyze the paradox in detail and present our own resolution to it!
Learn Database Normalization - 1NF, 2NF, 3NF, 4NF, 5NF
มุมมอง 1.8M2 ปีที่แล้ว
An easy-to-follow database normalization tutorial, with lots of examples and a focus on the design process. Explains the "why" and "how" of normalization, and takes you step-by-step through: - First Normal Form (1NF) - Second Normal Form (2NF) - Third Normal Form (3NF), with a side note on Boyce-Codd Normal Form (BCNF) - Fourth Normal Form (4NF) - Fifth Normal Form (5NF) 0:00 What is database n...

ความคิดเห็น

  • @RM-xr8lq
    @RM-xr8lq วันที่ผ่านมา

    dam my db already failing 1NF

  • @rajnikant_roy
    @rajnikant_roy วันที่ผ่านมา

    I might be wrong but for the example Most_Popular_Movies_Of_The_Year, shouldnt only Movie Name be the candidate key? As candidate keys are a minimal set of keys that uniquely identify a tuple

    • @decomplexify
      @decomplexify วันที่ผ่านมา

      When we say that a candidate key is a "minimal superkey", what we mean is that it is a superkey that contains only attributes that (in combination) ensure uniqueness. It does not contain any attributes additional to those. On this basis, there might be several candidate keys for a given table. For example, {Release_Year, Popularity_Ranking} is a candidate key, but if you add "extra" attribute Movie_Name to it, you get {Release_Year, Popularity_Ranking, Movie_Name} - which is a superkey that is not a candidate key. Another way of thinking about this superkey {Release_Year, Popularity_Ranking, Movie_Name} is that it's what you get when you add "extra" attributes Release_Year and Popularity_Ranking to the candidate key {Movie_Name}. Whichever way you look at it, this superkey consists of some candidate key plus some extra attribute or attributes.

    • @rajnikant_roy
      @rajnikant_roy 21 ชั่วโมงที่ผ่านมา

      @@decomplexify aah got it thanks for the quick explanation

  • @gingeas
    @gingeas 2 วันที่ผ่านมา

    I scoured so many database normalization videos in my undergraduate 4yr ago and none of them come near this one. My college self is finally happy

  • @LeetStack
    @LeetStack 2 วันที่ผ่านมา

    it is so great to finally understand what and why I was doing what I was doing, while following youtubers who don't explain anything.

  • @lucaliberato
    @lucaliberato 4 วันที่ผ่านมา

    hi, the video was very helpful. Btw, i'm not sure if i understood well the difference between superkeys and composite keys. Superkeys are a type of composite keys that can consist also of one attribute while the other must be 2+?

  • @wizlif144
    @wizlif144 5 วันที่ผ่านมา

    Database breathing 5th form

  • @jakemeyer8188
    @jakemeyer8188 5 วันที่ผ่านมา

    This video is so good, it's officially labeled as "bad-ass", and is 3NF compliant.

  • @MrLanorian
    @MrLanorian 6 วันที่ผ่านมา

    Show demais!!!!😆

  • @josefkaras7519
    @josefkaras7519 6 วันที่ผ่านมา

    wouldnt the year and month also break atomicity rule of 1nf?

    • @decomplexify
      @decomplexify 5 วันที่ผ่านมา

      Database theorists like Chris Date and Hugh Darwen nowadays consider "atomicity" to be a fairly meaningless concept. They say the notion of being "non-atomic" would be either so sweeping that it includes everything, or so subjective that we can't usefully apply it. For example, suppose there's a table that has a column called Number_Of_Members. This column has values like, for example, 27. But 27, if you think about it, really means 2 tens and 7 ones. So 27 isn't an atomic value; it is decomposable into parts. On this basis, any table with an integer column would violate First Normal Form. The same would likewise be true of any string column, because a string can be decomposed into individual characters. The same would likewise be true of any date column (which decomposes into year, month, day of month). And so on. And yet this would be absurd. This is why people like Chris Date no longer regard atomicity as a 1NF criterion, and neither do I.

  • @zaferemrekilinc4138
    @zaferemrekilinc4138 6 วันที่ผ่านมา

    you are amazing

  • @huthaifamuayyad3491
    @huthaifamuayyad3491 6 วันที่ผ่านมา

    Thanks!

  • @huthaifamuayyad3491
    @huthaifamuayyad3491 6 วันที่ผ่านมา

    Very nice explanation and delivery of thoughts. Looking forward to more videos like this, explaining basic but important software principles.

  • @nintishia
    @nintishia 7 วันที่ผ่านมา

    Thanks a ton. You made it all so simple and easy.

  • @FrankKritzman
    @FrankKritzman 7 วันที่ผ่านมา

    Great video, thank you!

  • @maria-rv7fk
    @maria-rv7fk 8 วันที่ผ่านมา

    THANK YOU! You explain this in a way that is practical and easy to follow. I much prefer this method of learning (visually and with examples) to memorizing a bunch of formal definitions. I understand learning about theory is good, but to really GET it I think you need someone to explain concepts like you do.

  • @mikemixsosa4264
    @mikemixsosa4264 10 วันที่ผ่านมา

    Great Video!

  • @piotrlezanski5156
    @piotrlezanski5156 13 วันที่ผ่านมา

    Hi, why in the second table Locker_id is cannot be primary key? It identifies every row, there are no duplicates.

    • @decomplexify
      @decomplexify 9 วันที่ผ่านมา

      To make Locker ID the primary key is to declare that each Locker can only ever have one reservation. It means once this single reservation is made, no one can reserve that particular Locker ever again (because doing so would be a primary key violation). Focus not on the rows that happen to be in the table right now, but rather on the rules we want to enforce for what rows are and aren't allowed in the table.

  • @schwifty3785
    @schwifty3785 13 วันที่ผ่านมา

    Great video dude Lots of loves and prayers

  • @Chris-tq1jy
    @Chris-tq1jy 14 วันที่ผ่านมา

    Funny how Chat GPT recommended this video.

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

    can you please tell me the Font name you are using in the video? Will be thankful

  • @thomaspotterdotexe
    @thomaspotterdotexe 19 วันที่ผ่านมา

    The PM and the owner : "F it, we will deploy it in 5 hour, we'll think about it later"

  • @adiporsh
    @adiporsh 20 วันที่ผ่านมา

    It is not mandatory to have a primary key in 1NF. Every row should be unique which can be enforced by a single or multiple columns using a candidate key .

    • @decomplexify
      @decomplexify 19 วันที่ผ่านมา

      I think you've misunderstood what a "primary key" is. A primary key doesn't have to consist of just a single column. A primary key can consist of multiple columns: for example, ALTER TABLE Customer_Address ADD PRIMARY KEY (Customer_ID, Address_Sequence_Number). In SQL, the only way you can prevent duplicate rows in a table is by adding a primary key constraint or unique key constraint to the table.

    • @adiporsh
      @adiporsh 19 วันที่ผ่านมา

      @@decomplexify @decomplexify Primary key is not mandatory in 1 NF. Candidate key should work based on the requirement. However, primary key is desirable... i should've been specific...

  • @usingThaForce
    @usingThaForce 21 วันที่ผ่านมา

    I see why the frost machine be broken😅😅

  • @user-tb8xm1cb3s
    @user-tb8xm1cb3s 23 วันที่ผ่านมา

    Thanks for putting your time and energy in putting together this amazingly effective tutorial.

  • @NattixOMG
    @NattixOMG 23 วันที่ผ่านมา

    SELECT c.compund_name, c.compund_id FROM compund c JOIN compund_element_detail ced USING compound_id --Or (ON c.compund_id = ced.compound_id) WHERE ced.element_symbol = 'H'

    • @NattixOMG
      @NattixOMG 23 วันที่ผ่านมา

      would this not work? This is what I came up with before the video showed its answer. I guess I don't understand why the 3rd table 'Element' needs to be joined. Trying to get better at thinking through this so any help is appreciated

    • @NattixOMG
      @NattixOMG 23 วันที่ผ่านมา

      It's probably because the question asks for "Hydrogen", should work on reading questions fully lol

  • @orenzeshani
    @orenzeshani 25 วันที่ผ่านมา

    Every time a military surprise attack succeeds, this is what happened

  • @anudeepk7390
    @anudeepk7390 25 วันที่ผ่านมา

    Problem? Create a new table

  • @anudeepk7390
    @anudeepk7390 25 วันที่ผ่านมา

    Informative

  • @barrysarthak6990
    @barrysarthak6990 26 วันที่ผ่านมา

    Thank you man One of the best explanations ever

  • @ScaleScarborough-jq8zx
    @ScaleScarborough-jq8zx 26 วันที่ผ่านมา

    Lots of mediocre shops out there are threatened by such sensible standards. “Our software, our system is strong because I said so!”

  • @SixTough
    @SixTough 26 วันที่ผ่านมา

    2NF and 3NF strive to create more tables where inconsitencies can happen in between tables and in case of error good data is overwritten irretrievably

  • @SixTough
    @SixTough 26 วันที่ผ่านมา

    An update anomaly preserves data and without it an error would simply get a wrong value

  • @pietrogazzera5733
    @pietrogazzera5733 28 วันที่ผ่านมา

    Thank you a lot!

  • @pietrogazzera5733
    @pietrogazzera5733 28 วันที่ผ่านมา

    INSERT INTO comments a VERY WELL DONE;

  • @itsandyagain
    @itsandyagain 29 วันที่ผ่านมา

    Awesome content. I understand this topic much better now. I'm having difficulty understanding a scenario where a partial update might happen. Could you possibly elaborate on that please?

    • @decomplexify
      @decomplexify 29 วันที่ผ่านมา

      Good question! If a table structure permits inconsistency, then the update that we're required to do is more subtle and involved than it would otherwise be, therefore we're more likely to make a mistake. We may in fact not even realize that such updates are necessary. I've seen the following sort of example many times in real life. We have a table that holds transactions relating to an insurance policy, like premium transactions and claim transactions. Each such transaction is for a particular policy, occurs on a particular date, is of a particular type and for a particular amount, etc. Let's say a policy has certain properties, and one of these properties is "Policy Country". The designer has decided to include Policy Country on the transaction table, and therefore the transaction table is not in 3NF. It may simply never occur to the designer that Policy Country might change, e.g. Policy Country might be entered on the policy as Spain initially, and then some weeks later it might be corrected to Italy. Since the process for writing out a transaction involves copying the Policy Country from a policy table and stamping it on the transaction being generated, what will naturally happen in this case is that the first few transactions will show a Policy Country of Spain, and subsequent transactions will show a Policy Country of Italy. This will probably come to light only when somebody tries to report transaction amounts broken down by country and gets odd results.

  • @dus10dnd
    @dus10dnd 29 วันที่ผ่านมา

    Normalization isn't always sunshine and roses. If we go all the to 5NF and we're managing sales transactions, you would lose information regarding the cost a customer paid at the time, like if you're running a sale, or you adjust pricing, since you would be referencing the current price. So, denormalization does have value, sometimes.

    • @decomplexify
      @decomplexify 29 วันที่ผ่านมา

      I think you're talking about a transaction table whose attributes are along the lines of: TRANSACTION_ID, TRANSACTION_DATE, CUSTOMER_ID, PRODUCT_ID, NUMBER_OF_UNITS_BOUGHT, UNIT_PRICE_THAT_THE_CUSTOMER_PAID. It's important to understand, however, that this table actually IS in 5NF - it's not denormalized. This is because UNIT_PRICE_THAT_THE_CUSTOMER_PAID doesn't have a functional dependency on PRODUCT_ID. If on the other hand there was an attribute called CURRENT_UNIT_PRICE, this attribute would have a functional dependency on PRODUCT_ID. The table would in this case not be normalized.

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

    beautiful explanation! very clear and elegant, cut to the point

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

    Many Thanks, sangat membantu saya untuk mengerjakan tugas kuliah.. Sukses terus kak :)

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

    Very clearly, unambiguously explained that is pleasing to the mind and feels like soothing to soul even when it is a pure technical topic rather than literature ❤

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

    I don't get the example for the 4NF at all. Why do we need to add 2 rows, where is the rule wich says to do this way? Is this an artificial example? In real life green color just for one style is normal thing. I'm frustrated, why can't I comprehend it. Well, I also didn’t understand the fifth form even more. Even the problem itself, not to mention the solution.

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

    What a boss, trully simple to understand, thx a lot

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

    thanks

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

    Well that was two weeks of lectures summed up nicely. THANK YOU!

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

    Very nicely explained. Thank you

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

    bro is literally inconceivably awesome

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

    Thank you, very well explained. Now I have to go back and examine my db. Thanks again

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

    great explanation. thanks <3

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

    these videos are great. please start again...

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

    this is the best site i have ever seen salute to you

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

    any WGU students here?