• Tuesday , 19 March 2019

## Normalization – 1NF, 2NF, 3NF and 4NF

Database Normal Forms.

Original source

## Related Posts

1. ##### Saba Noman
October 30, 2018 at 21:45

Brilliant!! The most helpful video…just loved the way you explained!! I don't regret missing this lecture at university now 😊

2. ##### Amina Attat
October 30, 2018 at 21:45

thank you simple and clear demonstration

3. ##### Marty Mcfly
October 30, 2018 at 21:45

Thank you…

4. ##### Sirapis
October 30, 2018 at 21:45

Not all Heroes Were Capes

5. ##### Alvin Muzerengwa
October 30, 2018 at 21:45

Thank you

6. ##### Sanchuka Alugolla
October 30, 2018 at 21:45

should i add another pkey column and make the cust_id a foreign key?

7. ##### MarieE
October 30, 2018 at 21:45

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

October 30, 2018 at 21:45

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.

9. ##### bilguun borkhuu
October 30, 2018 at 21:45

beautiful is just an opinion… what an easter egg

10. ##### alok niranjan
October 30, 2018 at 21:45

not correct

11. ##### ThisCreatedAccount
October 30, 2018 at 21:45

You are a life saver. I have my midterm on Tuesday which is tomorrow and you came in clutch

12. ##### josh siefert
October 30, 2018 at 21:45

Thank you for creating this video, it was very helpful.

13. ##### Krzysztof S
October 30, 2018 at 21:45

Brilliant video. Thanks!

14. ##### Adrian Escobar
October 30, 2018 at 21:45

The first normal form is wrong, the data is not atomic.

15. ##### Prashant Baisla
October 30, 2018 at 21:45

how did you split the price value(250,200) for xbox and playstation bought by evan ?

16. ##### sardar yaseen
October 30, 2018 at 21:45

17. ##### Conlan Edwards
October 30, 2018 at 21:45

18. ##### hamza mulla
October 30, 2018 at 21:45

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?

19. ##### Anas Kala
October 30, 2018 at 21:45

thanks, excellent explained.

20. ##### monica vyas
October 30, 2018 at 21:45

well explained …thanks

21. ##### Shivam rai
October 30, 2018 at 21:45

sir ,can u give some tips about how to ba a dba?

22. ##### telugu pubggamer
October 30, 2018 at 21:45

column spelling wrong at 5:09…………

23. ##### Wanna slapbox for like 5 secs?
October 30, 2018 at 21:45

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

24. ##### Pankaj
October 30, 2018 at 21:45

great voice. nice video

25. ##### olie tim
October 30, 2018 at 21:45

How come there are duplicates in your primary key

26. ##### Yahya Shaikh
October 30, 2018 at 21:45

4th normal form , junction table primary key repeated twice

27. ##### Subhajit Chakraborty
October 30, 2018 at 21:45

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?

28. ##### seyahtan24
October 30, 2018 at 21:45

Damn amazing for its simplicity. Amazing explanation! 🙂

29. ##### Emil Kirilov
October 30, 2018 at 21:45

Simply put – the best video out there.

30. ##### No M8
October 30, 2018 at 21:45

in a test do i need to draw the line ? (to connect the tables)

31. ##### Time and Update
October 30, 2018 at 21:45

Can you provide that Image/ PDF that you used Please?