|
# Lab 4: Security and Integrity!
|
|
# Lab 4: Security and Integrity!
|
|
|
|
|
|
In this lab you are being asked to consider carefully how certain design decisions can impact on the security and integrity of data in a relational database. We can use the concept of 'normalisation' from relational database theory to help us evaluate and improve the design of a database, but the solutions are not always clearly defined.
|
|
In this lab you are being asked to consider carefully how certain design decisions can impact on the security and integrity of data in a relational database. We can use the concept of **'normalisation'** from relational database theory to help us evaluate and improve the design of a database, but the *solutions are not always clearly defined.*
|
|
|
|
|
|
Your aim will therefore be to understand and apply some basic design principles to your schema, in an effort to prevent inconsistencies and reduce data redundancy.
|
|
Your aim will therefore be to **understand and apply some basic design principles to your schema**, in an effort to **prevent inconsistencies** and **reduce data redundancy**.
|
|
|
|
|
|
You will also practice backing up and restoring a mysql database - an important skill for anyone with a desire to protect data in their database!
|
|
You will also **practice backing up and restoring a mysql database** - an important skill for anyone with a desire to protect data in their database!
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
## Part 1: Data Normalisation
|
|
## Part 1: Data Normalisation
|
|
|
|
|
|
In Lecture 5 (24/10) you were introduced to the concept of 'data normalisation'. In relational database theory, data normalisation is essentially the process of designing/organising a relational database in such a way as to minimise **data redundancy** and **inconsistent dependencies**. Guidelines exist to help us do this, although much of it comes down to general common sense!
|
|
In Lecture 5 (24/10) you were introduced to the concept of **'data normalisation'**. In relational database theory, data normalisation is essentially the process of designing/organising a relational database in such a way as to minimise **data redundancy** and **inconsistent dependencies**. Guidelines exist to help us do this, although much of it comes down to general common sense!
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
... | @@ -36,13 +36,13 @@ The changes I am proposing are implemented in the **lab-4 version of schema.sql* |
... | @@ -36,13 +36,13 @@ The changes I am proposing are implemented in the **lab-4 version of schema.sql* |
|
|
|
|
|
In this task, you will **review the schema of a colleague** and advise them where you think their schema fails to satisfy the requirements for 1NF-3NF.
|
|
In this task, you will **review the schema of a colleague** and advise them where you think their schema fails to satisfy the requirements for 1NF-3NF.
|
|
|
|
|
|
To help you, you are reminded of the requirements in the **helper notes** below.
|
|
To help you, you are reminded of the requirements in the **Normalisation Notes** below.
|
|
|
|
|
|
Once you've given and received feedback, **make any necessary changes to improve the integrity of your schema.**
|
|
Once you've given and received feedback, **make any necessary changes to improve the integrity of your schema.**
|
|
|
|
|
|
----------------
|
|
----------------
|
|
|
|
|
|
## Helper Notes
|
|
## Normalisation Notes
|
|
|
|
|
|
The guidelines for data normalisation are represented by a set of 'normal forms'. These can be thought of as levels or degrees of normalisation. They range from 1 (the lowest form of normalisation), through to 5. Certain rules or criteria must be met to achieve each normalisation form.
|
|
The guidelines for data normalisation are represented by a set of 'normal forms'. These can be thought of as levels or degrees of normalisation. They range from 1 (the lowest form of normalisation), through to 5. Certain rules or criteria must be met to achieve each normalisation form.
|
|
|
|
|
... | | ... | |