Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 4

ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ

Όταν κάνουμε τη λογική σχεδίαση χρησιμοποιούμε γενική επιχειρηματική γνώση


και λογική και τις πληροφορίες που έχουμε για τη συγκεκριμένη επιχείρηση για το
ποια χαρακτηριστικά θα συμπεριληφθούν στους επιμέρους πίνακες. Γενικά, αν
έχουμε ακολουθήσει τα σωστά βήματα για τη μοντελοποίηση κατά REA, η σχεδίαση
της βάσης δεδομένων δεν θα πρέπει να έχει σοβαρά σφάλματα. Ωστόσο, πριν
προχωρήσουμε στη φυσική σχεδίαση, καλό είναι να επιβεβαιώσουμε την ορθότητα
της λογικής σχεδίασης. Η κανονικοποίηση είναι ένα εργαλείο για την τεκμηρίωση
και βελτίωση της λογικής σχεδίασης έτσι ώστε αυτή να ικανοποιεί τις βασικές
απαιτήσεις των β.δ. και να αποφεύγονται περιττές διπλοεγγραφές.

Όταν μια βδ δεν είναι καλά σχεδιασμένη μπορούν να συμβούν 3 ανωμαλίες.

ΑΝΩΜΑΛΙΕΣ

1. Ανωμαλία στην ενημέρωση: Δημιουργεί πρόβλημα στην ενημέρωση μιας


εγγραφής και μπορεί να χρειαστούν πολλές επαναλήψεις για να γίνει η
ενημέρωση. Έχει σαν αποτέλεσμα πιθανή ασυνέπεια δεδομένων.
2. Ανωμαλία εισαγωγής: Δημιουργεί δυσκολία, μερικές φορές και αδυναμία,
στην εισαγωγή νέων εγγραφών στον πίνακα.
3. Ανωμαλία διαγραφής: Προκαλεί αθέλητη απώλεια δεδομένων που
προκύπτει από τη διαγραφή μιας εγγραφής σε ένα πίνακα.

Προμηθευτές 1( ΑΑΠρομηθευτή, ΟνομαΠρομηθευτή, ΔιεύθυνσηΠρομηθευτή,


ΟνομαΕπαφής, ΤηλΠρομηθευτή, ΑΑΕμπορευματος, ΠεριγραφήΕμπορευματος,
ΤιμηΜοναδοςΕμπορευματος)

AAΠρομ ΟνομαΠρ ΔιευθΠρομ ΟνομαΕπ ΤηλΠρομ ΑΑΕμπορ ΠεριγρΕμπ ΤιμηΜονΕμπ


Μ-45 Μπλέντερ 15,99 €
2010 Ένας ΑΕ Εδώ Νίκος 23256
Κ-4 ipod 150,00 €
Προβολέας
2011 Δυο ΟΕ Εκει Γιώργος 22458 Δ-12 LCD 890,00 €
Μ-45 Μπλέντερ 18,00 €
2021 Τρεις ΕΕ Παραπέρα Κλεάνθη 22256
Κ-4 ipod 148,50 €
2013 Τεσσερας Παραδώθε Περσεφόνη 25669 Κ-8 DVD player 134,00 €
2014 Πεντες Απέναντι Πέτρος 36522 Κ-8 DVD player 130,00 €

Η πρόσθεση και διαγραφή εγγραφών πρέπει να βασίζεται στο ΑΑΠρομηθευτή αφού


είναι το πρωτεύον κλειδί.
Αν θελήσουμε να αλλάξουμε τη περιγραφή του Κ-8 σε SONY DVD θα πρέπει να
ψάξουμε όλο το πίνακα για κάθε εμφάνιση της περιγραφής. (ανωμαλία
ενημέρωσης)

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

Αν η Δυο ΟΕ κλείσει και δεν υπάρχει πια και σβηστεί η σχετική εγγραφή, τότε
σβήνεται και το αντίστοιχο εμπόρευμα αφού μόνο από αυτούς το αγοράζουμε.
(ανωμαλία διαγραφής)

ΒΗΜΑΤΑ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗΣ
Απαλοιφή επαναλαμβανόμενων ομάδων (1st Normal Form)

Εφόσον υπάρχουν επαναλαμβανόμενες ομάδες στοιχείων, αυτές θα πρέπει να


μετακινηθούν σε ξεχωριστό πίνακα. Στον προηγούμενο πίνακα τα πεδία
ΑΑΕμπορεύματος, ΠεριγραφήΕμπορευματος, ΤιμηΜοναδοςΕμπορευματος είναι
τέτοια ομάδα, άρα πρέπει να μετακινηθεί. Επομένως θα έχουμε 2 πίνακες:
Προμηθευτές 2 και Απόθεμα. Ωστόσο η ΤιμηΜοναδοςΕμπορευματος είναι
διαφορετική ανάλογα με το προϊόν και τον προμηθευτή και επομένως θα εξαιρεθεί.
Οι πίνακες που προκύπτουν είναι:

Προμηθευτές 2( ΑΑΠρομηθευτή, ΟνομαΠρομηθευτή, ΔιεύθυνσηΠρομηθευτή,


ΟνομαΕπαφής, ΤηλΠρομηθευτή), Απόθεμα( ΑΑΕμπορευματος,
ΠεριγραφήΕμπορευματος).

Επομένως ένας πίνακας είναι σε πρώτη κανονική μορφή όταν δεν περιλαμβάνει
επαναλαμβανόμενες ομάδες, δηλαδή πεδία που για κάθε εγγραφή έχουν πολλές
τιμές, αντί μίας και μόνης. Κάτι τέτοιο δεν επιτρέπεται στις σχεσιακές βάσεις
δεδομένων.

Απαλοιφή μερικών εξαρτήσεων (2nd Normal Form)

Όταν κάνουμε κανονικοποίηση θα πρέπει να βεβαιωνόμαστε ότι οι πίνακες που


αποσυντέθηκαν μπορούν να ενωθούν έτσι ώστε να ανακτούμε δεδομένα.

Αν ενώσουμε το ΑΑΕμπορευματος με το ΑΑΠρομηθευτή μπορούμε να έχουμε ένα


μοναδικό κλειδί έτσι ώστε να ξαναβάλουμε στον πίνακα το πεδίο
ΤιμηΜοναδοςΕμπορευματος. Έτσι ο νέος πίνακας θα έχει ως εξής: Προμηθευτές 3
(ΑΑΕμπορευματος ΑΑΠρομηθευτή, ΟνομαΠρομηθευτή, ΔιεύθυνσηΠρομηθευτή,
ΟνομαΕπαφής, ΤηλΠρομηθευτή, ΤιμηΜοναδοςΕμπορευματος)

Εδώ υπάρχει όμως το πρόβλημα της μερικής εξάρτησης. Μερική εξάρτηση υπάρχει
όταν ένα πεδίο που δεν είναι κλειδί εξαρτάται όχι από το σύνολο αλλά από μέρος
του πρωτεύοντος κλειδιού. Τέτοια είναι τα πεδία ΟνομαΠρομηθευτή,
ΔιεύθυνσηΠρομηθευτή, ΟνομαΕπαφής, ΤηλΠρομηθευτή. Επομένως ο πίνακας
πρέπει να αποσυντεθεί σε δύο άλλους πίνακες: Προμηθευτές 2 ( ΑΑΠρομηθευτή,
ΟνομαΠρομηθευτή, ΔιεύθυνσηΠρομηθευτή, ΟνομαΕπαφής, ΤηλΠρομηθευτή), και
Προμηθευτές_Χ_Απόθεμα ( ΑΑΠρομηθευτήΑΑΕμπορευματος,
ΤιμηΜοναδοςΕμπορευματος)

Αυτό είναι απαραίτητο όταν η σχέση είναι Ν,Ν.

Επομένως ένας πίνακας είναι σε δεύτερη κανονική μορφή όταν είναι σε 1NF και
κάθε πεδίο που δεν ανήκει στο πρωτεύον κλειδί εξαρτάται από όλα τα μέρη του
πρωτεύοντος κλειδιού του πίνακα.

Απαλοιφή μεταβατικής εξάρτησης. (3rd Normal Form)

Μεταβατική εξάρτηση σε ένα πίνακα είναι η λειτουργική εξάρτηση μεταξύ δύο ή


περισσότερων πεδίων που δεν είναι κλειδιά. Στον πίνακα η περιγραφή εξαρτάται
από τον ΑΑΕμπ και τον ΑΑΠρομ.

Με τις κινήσεις που κάναμε εξαλείψαμε αυτή την εξάρτηση.

Επομένως ένας πίνακας είναι σε τρίτη κανονική μορφή όταν είναι σε 2NF και κάθε
πεδίο που δεν ανήκει στο πρωτεύον κλειδί δεν εξαρτάται έμμεσα απ' αυτό. Αυτό
σημαίνει, ότι δεν έχει ούτε ένα πεδίο εκτός πρωτεύοντος κλειδιού, το οποίο να
εξαρτάται από άλλο πεδίο εκτός πρωτεύοντος κλειδιού.

Η μορφή 3NF (ή η μορφή BCNF ακόμη καλύτερα) είναι ο στόχος της διαδικασίας
κανονικοποίησης και οι προηγούμενες μορφές μόνο σαν ενδιάμεσοι στόχοι πρέπει
να εννοηθούν (αν και όπως προαναφέρθηκε απόλυτα απαραίτητη είναι μόνο η
1NF).

Μορφή Boyce - Codd (BCNF )

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

Ένας πίνακας σε BCNF είναι και σε 3NF, αλλά δεν ισχύει πάντα και το αντίστροφο.
ΣΥΝΟΠΤΙΚΑ
Επομένως ένας πίνακας είναι σε πρώτη κανονική μορφή (1NF, first normal form) όταν δεν
περιέχει επαναλαμβανόμενες ομάδες (πεδία με πολλαπλές τιμές). Είναι σε δεύτερη
κανονική μορφή (2NF) όταν είναι ήδη δε πρώτη κανονική μορφή και επιπλέον κάθε πεδίο
που δεν είναι κλειδί, εξαρτάται πλήρως από το πρωτεύον κλειδί. Είναι σε τρίτη κανονική
μορφή (3NF ) όταν είναι ήδη σε δεύτερη κανονική μορφή και όλα τα πεδία που δεν
αποτελούν κλειδιά είναι ανεξάρτητα μεταξύ τους (δεν υπάρχει μεταβατική εξάρτηση). Ένας
πίνακας στην Τρίτη κανονική μορφή δεν θα παρουσιάζει ανωμαλίες στην εγγραφή,
ενημέρωση και διαγραφή.

You might also like