For the newsletter it seems that this solution will consume memory over time. We can have a bitmap or Boolean columns to represent if the client is subscribed or not for the newsletter since the company has only two newsletters meanwhile we can also expand the model later to distinguished table with respect to the previous formal norms into a separate table if the company has more newsletters. And I highly doubt that any company has more than 10 newsletters except for marketing companies that have a complex newsletter structure in behalf of their clients.
Technically speaking:
A Boolean can consume 1 bit of information, in this case it will consume in the worst scenario 2n bits – where n is the number of records i.e. rows. A character will consume one byte (8 bits) which means in the worst scenario they will all subscribe to both of the newsletters meaning 24*8*n bits (counting space as a character) We all agree here that 2*n < 24*8*n -> 2*n < 3(8*8)*n -> 2*n < 3(2^3*2^3)*n -> 2*n <<< 2^6*n this last result shows how bad it can get when the rows number goes upper since they are both of the same degree I think you can plot it in you mind and imagine the memory disaster on a long term plan.
I still don't understand one thing, Primary key is supposed to have unique values but here in the Subscription Table, wilson44 is repeated. How is it possible?
31 responses to “Normalization – 1NF, 2NF, 3NF and 4NF”
Brilliant!! The most helpful video…just loved the way you explained!! I don't regret missing this lecture at university now 😊
thank you simple and clear demonstration
Very helpful!
Thank you…
Not all Heroes Were Capes
Thank you
should i add another pkey column and make the cust_id a foreign key?
Hi , your 1NF is still 0NF because pk does not identify each row uniquely we have 2 rows with same CUSTID, so it is still 0NF
For the newsletter it seems that this solution will consume memory over time. We can have a bitmap or Boolean columns to represent if the client is subscribed or not for the newsletter since the company has only two newsletters meanwhile we can also expand the model later to distinguished table with respect to the previous formal norms into a separate table if the company has more newsletters. And I highly doubt that any company has more than 10 newsletters except for marketing companies that have a complex newsletter structure in behalf of their clients.
Technically speaking:
A Boolean can consume 1 bit of information, in this case it will consume in the worst scenario 2n bits – where n is the number of records i.e. rows.
A character will consume one byte (8 bits) which means in the worst scenario they will all subscribe to both of the newsletters meaning 24*8*n bits (counting space as a character)
We all agree here that 2*n < 24*8*n -> 2*n < 3(8*8)*n -> 2*n < 3(2^3*2^3)*n -> 2*n <<< 2^6*n this last result shows how bad it can get when the rows number goes upper since they are both of the same degree I think you can plot it in you mind and imagine the memory disaster on a long term plan.
beautiful is just an opinion… what an easter egg
not correct
You are a life saver. I have my midterm on Tuesday which is tomorrow and you came in clutch
Thank you for creating this video, it was very helpful.
Brilliant video. Thanks!
The first normal form is wrong, the data is not atomic.
how did you split the price value(250,200) for xbox and playstation bought by evan ?
READ FULL ARTICLE ON DATABASE NORMALIZATION HERE: https://www.queryhelp.com/2018/10/database-normalization-1nf-2nf-3nf-4nf-5nf-bcnf.html
666 comments…not anymore
If customer Id column is primary key then how cum there is 2 wilson44 ? Primary key means d value should not be repeated or blank ryt?
thanks, excellent explained.
well explained …thanks
sir ,can u give some tips about how to ba a dba?
column spelling wrong at 5:09…………
Cust_ID cannot be a primary key sir. One of the rules of setting a PK is that each row must be unique within that column. Thank you
great voice. nice video
How come there are duplicates in your primary key
4th normal form , junction table primary key repeated twice
I still don't understand one thing, Primary key is supposed to have unique values but here in the Subscription Table, wilson44 is repeated. How is it possible?
Damn amazing for its simplicity. Amazing explanation! 🙂
Simply put – the best video out there.
in a test do i need to draw the line ? (to connect the tables)
Can you provide that Image/ PDF that you used Please?