Each question is a database: its tables, and sometimes some of its data. Some are past paper questions from Cambridge International AS & A Level Computer Science (9618) Paper 1, and some were written for this site in the same style. Decide whether it's in Third Normal Form (3NF); then, a part at a time, say what stops it or what makes it so, and how to fix it.
- First Normal Form (1NF): every field holds a single, atomic value (no repeating groups, such as a list of subjects in one cell), and each row is identified by a primary key.
- Second Normal Form (2NF): in 1NF, and every non-key attribute depends on the whole primary key. This only matters when the key is composite (two or more attributes): with a single-attribute key, a table in 1NF is in 2NF. An attribute that depends on only part of the key is a partial dependency.
- Third Normal Form (3NF): in 2NF, and no non-key attribute depends on another non-key attribute. One that does depends on the key only indirectly: a transitive dependency. Every non-key attribute depends on the key, the whole key, and nothing but the key.
Each problem is fixed by moving the attributes into a table keyed on what they depend on, leaving a foreign key behind to link the tables.
Answering. Choose an answer for each part. A wrong answer says what the mistake was, and you can try again; the right one shows the working. Once every part is done, the worked answer shows the normal form checklist, the normalisation step by step (click through each step to see the attributes move), and an E-R diagram of the tables in 3NF.
Signed in, your answers are saved: come back to any question and carry on where you left off. Done questions are ticked in the list, and Random question picks one you haven't done yet.
Set by your teacher. Questions your teacher has set you are marked in the list, and come up first. Each part is worth a mark if you get it right first time: a part you had to try again, or whose answer you were shown, gets no mark. If you had already done one before it was set, it starts again, fresh; after that you can have as many attempts as you like, and your best counts.
Objective: explain why a given set of database tables are, or are not, in 3NF, and produce a normalised database design (9618 syllabus 8.1, Database Concepts).
Where this fits
- AQA: AQA A Level Computer Science (7517)
- Cambridge: Cambridge A Level Computer Science (9618); Cambridge AS Level Computer Science (9618); Cambridge A Level Information Technology (9626); Cambridge AS Level Information Technology (9626)
- IB: IB Computer Science HL; IB Computer Science SL
- NCEA Level 2 Digital Technologies: 91891 Apply conventions to develop a design for a digital technologies outcome; 91891 Apply conventions to develop a design for a digital technologies outcome; 91892 Use advanced techniques to develop a database; 91892 Use advanced techniques to develop a database
- NCEA Level 3 Digital Technologies: 91902 Use complex techniques to develop a database; 91902 Use complex techniques to develop a database
- Pearson Edexcel International: Edexcel International A Level Information Technology