Am I right in saying that 1NF removes duplicate columns from tables in a database?
1NF (first norm form) moves data from
separate tables. You can remove duplicate columns, but that removes the entire column (only if it is redundant/duplicating existing data). You need to have data items contained in multiple tables, where data items are the same (redundant).
You would be correct if you had said: "1NF removes duplicate
field entries (data items) from tables in a database"
what is DKNF and how does it differ from 1NF?
DKNF (domain/key normal form) is a key which uniquely identifies each row in a table.
Let's define what a domain is:
Domain: a set of permissible values for each attribute (it's basically your data dictionary for everything in the row).
DKNF ensures that there are no issues when editing or modifying the values in the database.
The difference is:
* 1NF moves data from existing tables, where duplicate data exists in multiple tables.
* DKNF is the final level of normalisation and makes sure that when data is modified, there are no issues arising from such modifications (it makes sure everything is okay).
can someone briefly describe a foreign key?
A foreign key is just a
primary key from another table. Data contained in 1 table, where the foreign key exists has to be comparable with the data contained in another table, where the primary key (of that table) exists.