3.4

3.4 Μοναδικά Κλειδιά και Κανονικοποίηση (Normalization)
**Στόχοι / Προσδοκώμενα Αποτελέσματα** Ο μαθητής/τρια πρέπει να είναι ικανός/ή:
 * να προσδιορίζει τα πρωτεύοντα, τα δευτερεύοντα και τα σύνθετα κλειδιά σε μια βάση δεδομένων
 * να αναφέρει τους λόγους για τους οποίους είναι χρήσιμη η κανονικοποίηση
 * να εφαρμόζει τεχνικές κανονικοποίησης (Πρώτη Κανονική Μορφή)

Ένα βασικό θέμα στον σχεδιασμό μιας βάσης δεδομένων είναι ο προσδιορισμός των κλειδιών με τα οποία γίνεται η αναζήτηση πληροφοριών στη βάση δεδομένων. Τα κλειδιά μπορεί να είναι πρωτεύοντα (μοναδικά για κάθε εγγραφή), δευτερεύοντα (για παράδειγμα το επίθετο ενός υπαλλήλου, μαθητή) ή σύνθετα (ένωση δύο ή και περισσότερων χαρακτηριστικών). Στην παρούσα ενότητα θα αναφερθούμε στον προσδιορισμό των κλειδιών μέσω παραδειγμάτων.

Ένα δεύτερο θέμα που θα μας απασχολήσει στην ενότητα αυτή, είναι η **κανονικοποίηση** (normalization), που αποτελεί ένα πολύ σημαντικό βήμα στον σχεδιασμό μίας βάσης δεδομένων. Οι πίνακες που προκύπτουν μετά τη μετατροπή του μοντέλου ΟΣ σε σχεσιακό, όπως αναφέρθηκε στην ενότητα 3.2, περιέχουν ως συνήθως πληροφορίες που επαναλαμβάνονται.. Η επαναλαμβανόμενες πληροφορίες οδηγούν σε πολλαπλές γραμμές στον σχεδιασμό του αντίστοιχου πίνακα, γεγονός που οδηγεί σε σημαντικά προβλήματα. Η κανονικοποίηση σχέσεων αφορά στην απλοποίηση των σχέσεων με στόχο την εξάλειψη της επαναληπτικότητας των δεδομένων.