Тёмный
Decomplexify
Decomplexify
Decomplexify
Подписаться
Комментарии
@barakasfr5102
@barakasfr5102 15 часов назад
Amazing video
@dawnskinner1920
@dawnskinner1920 2 дня назад
Thank you! This is the best and clearest explanation for this topic that I have encountered.
@XhaxhiThoma
@XhaxhiThoma 3 дня назад
Heroes don't need to have some magic superpower, explaining to others this topic and other topics clearly is a great superpower to have. I don't know how to reward you enough for the explanations!
@julien957
@julien957 3 дня назад
OMG I was about to post a comment on 23:27...and I just saw your corrections ;). Your content is amazing and you explain it so well!
@masoodahmad2175
@masoodahmad2175 5 дней назад
I know my comment is a little irrelevant, but can you please tell me what are the fonts you are using? these are amazing.? Please share the name or the link if possible.
@edwardduda4222
@edwardduda4222 9 дней назад
So much better than the explanation given in my Database Systems class. They explained everything with alpha's and beta's in set notation. Thank you for this!
@RM-xr8lq
@RM-xr8lq 11 дней назад
dam my db already failing 1NF
@CrushedAsian255
@CrushedAsian255 4 дня назад
At least you’ve got a schema, I can’t keep changing schema every day
@rajnikant_roy
@rajnikant_roy 11 дней назад
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 10 дней назад
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 10 дней назад
@@decomplexify aah got it thanks for the quick explanation
@gingeas
@gingeas 11 дней назад
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 12 дней назад
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 14 дней назад
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 14 дней назад
Database breathing 5th form
@jakemeyer8188
@jakemeyer8188 15 дней назад
This video is so good, it's officially labeled as "bad-ass", and is 3NF compliant.
@MrLanorian
@MrLanorian 16 дней назад
Show demais!!!!😆
@josefkaras7519
@josefkaras7519 16 дней назад
wouldnt the year and month also break atomicity rule of 1nf?
@decomplexify
@decomplexify 14 дней назад
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 16 дней назад
you are amazing
@huthaifamuayyad3491
@huthaifamuayyad3491 16 дней назад
Thanks!
@huthaifamuayyad3491
@huthaifamuayyad3491 16 дней назад
Very nice explanation and delivery of thoughts. Looking forward to more videos like this, explaining basic but important software principles.
@nintishia
@nintishia 16 дней назад
Thanks a ton. You made it all so simple and easy.
@FrankKritzman
@FrankKritzman 17 дней назад
Great video, thank you!
@maria-rv7fk
@maria-rv7fk 18 дней назад
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 19 дней назад
Great Video!
@piotrlezanski5156
@piotrlezanski5156 22 дня назад
Hi, why in the second table Locker_id is cannot be primary key? It identifies every row, there are no duplicates.
@decomplexify
@decomplexify 18 дней назад
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 22 дня назад
Great video dude Lots of loves and prayers
@Chris-tq1jy
@Chris-tq1jy 24 дня назад
Funny how Chat GPT recommended this video.
@Salalkhan
@Salalkhan 25 дней назад
can you please tell me the Font name you are using in the video? Will be thankful
@decomplexify
@decomplexify 24 дня назад
Kalam
@thomaspotterdotexe
@thomaspotterdotexe 28 дней назад
The PM and the owner : "F it, we will deploy it in 5 hour, we'll think about it later"
@adiporsh
@adiporsh 29 дней назад
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 29 дней назад
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 29 дней назад
@@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 Месяц назад
I see why the frost machine be broken😅😅
@user-tb8xm1cb3s
@user-tb8xm1cb3s Месяц назад
Thanks for putting your time and energy in putting together this amazingly effective tutorial.
@NattixOMG
@NattixOMG Месяц назад
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 Месяц назад
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 Месяц назад
It's probably because the question asks for "Hydrogen", should work on reading questions fully lol
@orenzeshani
@orenzeshani Месяц назад
Every time a military surprise attack succeeds, this is what happened
@anudeepk7390
@anudeepk7390 Месяц назад
Problem? Create a new table
@anudeepk7390
@anudeepk7390 Месяц назад
Informative
@barrysarthak6990
@barrysarthak6990 Месяц назад
Thank you man One of the best explanations ever
@ScaleScarborough-jq8zx
@ScaleScarborough-jq8zx Месяц назад
Lots of mediocre shops out there are threatened by such sensible standards. “Our software, our system is strong because I said so!”
@SixTough
@SixTough Месяц назад
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 Месяц назад
An update anomaly preserves data and without it an error would simply get a wrong value
@pietrogazzera5733
@pietrogazzera5733 Месяц назад
Thank you a lot!
@pietrogazzera5733
@pietrogazzera5733 Месяц назад
INSERT INTO comments a VERY WELL DONE;
@itsandyagain
@itsandyagain Месяц назад
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 Месяц назад
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 Месяц назад
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 Месяц назад
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