23
Βασίλης Δελής Αύγουστος 2006 1 Εννοιολογική Σχεδίαση Βάσεων Δεδομένων H εννοιολογική σχεδίαση μιας βάσης δεδομένων είναι η διαδικασία μοντελοποίησης που έπεται της φάσης ανάλυσης των αναγκών μιας εφαρμογής, με σκοπό την παροχή: μιας ορθής σημασιολογικής αποτύπωσης της δομής (μορφής και περιεχομένου) των δεδομένων της εφαρμογής, μιας αφετηρίας για τη μετάβαση με δομημένο τρόπο σε ένα σχήμα υλοποίησης της βάσης δεδομένων. Αυτές οι δύο κατευθύνσεις αποτελούν το αντικείμενο αυτού του κεφαλαίου, το οποίο θα πρέπει να μελετήσετε παράλληλα με τον τόμο ΒΔ, εκτός από κάποια σημεία στα οποία θα σας ζητηθεί ρητά να ακολουθήσετε αποκλειστικά το υλικό του κεφαλαίου. Ένας πιο αυστηρός ορισμός είναι κι ο ακόλουθος: « Η εννοιολογική σχεδίαση είναι εκείνη η φάση ανάπτυξης μιας βάσης δεδομένων που περιλαμβάνει την αφαιρετική αλλά συνεπή αναπαράσταση της δομής των δεδομένων (κυρίως των οντοτήτων, συσχετίσεων και εξαρτήσεων/περιορισμών) ενός υποσυνόλου του πραγματικού κόσμου, όπως αυτό καθορίζεται από τις απαιτήσεις μιας συγκεκριμένης εφαρμογής λογισμικού». Η αναπαράσταση αυτή στηρίζεται σε ένα σύνολο (μαθηματικών) εννοιών που βοηθούν να ορίσει κανείς δομή στα δεδομένα και συχνά περιλαμβάνουν και βασικές λειτουργίες πάνω σε αυτά. Το σύνολο αυτό ονομάζεται μοντέλο δεδομένων. Πολλά τέτοια μοντέλα έχουν προταθεί και ιστορικά επικράτησε η κατηγοριοποίησή τους σε τρεις ομάδες, οι οποίες προδιαγράφουν και ισάριθμες φάσεις στην ανάπτυξη μιας βάσης δεδομένων. Στα δύο άκρα έχουμε τα εννοιολογικά (ή υψηλού επιπέδου ή σημασιολογικά) μοντέλα και τα φυσικά (ή χαμηλού επιπέδου) μοντέλα. Τα πρώτα βοηθούν στο να περιγράψουμε χωρίς τεχνικές λεπτομέρειες τα δεδομένα μιας εφαρμογής με φορμαλιστικό μεν αλλά κατανοητό δε από τους μη- ειδικούς χρήστες τρόπο. Τα τελευταία απευθύνονται σε προγραμματιστές, καθώς περιγράφουν με λεπτομέρεια την οργάνωση κι αποθήκευση των δεδομένων στον υπολογιστή. Κάπου στο ενδιάμεσο υπάρχει και η κατηγορία των λογικών (ή παραστατικών μοντέλων) τα οποία παρέχουν έννοιες αντιληπτές από τους τελικούς μη-ειδικούς χρήστες οι οποίες όμως δεν απέχουν πολύ από τον τρόπο που τα δεδομένα είναι οργανωμένα στον υπολογιστή. Τα μοντέλα αυτά κρύβουν τεχνικές λεπτομέρειες αποθήκευσης αλλά μπορούν να υλοποιηθούν σε ένα υπολογιστικό σύστημα με άμεσο τρόπο. Στα φυσικά μοντέλα κανείς συναντά έννοιες όπως εγγραφές, δομές δεδομένων και μηχανισμούς δεικτοδότησης. Τα λογικά μοντέλα περιλαμβάνουν το δικτυακό και το ιεραρχικό μοντέλο πού ήδη συναντήσατε στον τόμο ΒΔ καθώς και το σχεσιακό μοντέλο το οποίο έχει ευρέως υιοθετηθεί τα τελευταία χρόνια και βασίζεται στην οργάνωση των δεδομένων σε σύνολα πλειάδων που ονομάζονται σχέσεις. Τέλος, στα εννοιολογικά μοντέλα κανείς έχει να κάνει συνήθως με υψηλού επιπέδου έννοιες όπως οντότητες, αντικείμενα, συσχετίσεις, περιορισμούς μεταξύ αντικειμένων, κ.λ.π. Ένα τέτοιο μοντέλο είναι και το μοντέλο Οντοτήτων-Συσχετίσεων (Entity-Relationship Model) το οποίο διδάσκεστε στη συγκεκριμένη θεματική ενότητα. 1

database conceptual design

  • Upload
    aniac

  • View
    114

  • Download
    6

Embed Size (px)

DESCRIPTION

db design theory

Citation preview

Page 1: database conceptual design

Βασίλης Δελής

Αύγουστος 2006

1 Εννοιολογική Σχεδίαση Βάσεων Δεδομένων

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

μιας ορθής σημασιολογικής αποτύπωσης της δομής (μορφής και περιεχομένου) των δεδομένων της εφαρμογής,

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

Αυτές οι δύο κατευθύνσεις αποτελούν το αντικείμενο αυτού του κεφαλαίου, το οποίο θα πρέπει να μελετήσετε παράλληλα με τον τόμο ΒΔ, εκτός από κάποια σημεία στα οποία θα σας ζητηθεί ρητά να ακολουθήσετε αποκλειστικά το υλικό του κεφαλαίου.

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

Πολλά τέτοια μοντέλα έχουν προταθεί και ιστορικά επικράτησε η κατηγοριοποίησή τους σε τρεις ομάδες, οι οποίες προδιαγράφουν και ισάριθμες φάσεις στην ανάπτυξη μιας βάσης δεδομένων. Στα δύο άκρα έχουμε τα εννοιολογικά (ή υψηλού επιπέδου ή σημασιολογικά) μοντέλα και τα φυσικά (ή χαμηλού επιπέδου) μοντέλα. Τα πρώτα βοηθούν στο να περιγράψουμε χωρίς τεχνικές λεπτομέρειες τα δεδομένα μιας εφαρμογής με φορμαλιστικό μεν αλλά κατανοητό δε από τους μη-ειδικούς χρήστες τρόπο. Τα τελευταία απευθύνονται σε προγραμματιστές, καθώς περιγράφουν με λεπτομέρεια την οργάνωση κι αποθήκευση των δεδομένων στον υπολογιστή. Κάπου στο ενδιάμεσο υπάρχει και η κατηγορία των λογικών (ή παραστατικών μοντέλων) τα οποία παρέχουν έννοιες αντιληπτές από τους τελικούς μη-ειδικούς χρήστες οι οποίες όμως δεν απέχουν πολύ από τον τρόπο που τα δεδομένα είναι οργανωμένα στον υπολογιστή. Τα μοντέλα αυτά κρύβουν τεχνικές λεπτομέρειες αποθήκευσης αλλά μπορούν να υλοποιηθούν σε ένα υπολογιστικό σύστημα με άμεσο τρόπο. Στα φυσικά μοντέλα κανείς συναντά έννοιες όπως εγγραφές, δομές δεδομένων και μηχανισμούς δεικτοδότησης. Τα λογικά μοντέλα περιλαμβάνουν το δικτυακό και το ιεραρχικό μοντέλο πού ήδη συναντήσατε στον τόμο ΒΔ καθώς και το σχεσιακό μοντέλο το οποίο έχει ευρέως υιοθετηθεί τα τελευταία χρόνια και βασίζεται στην οργάνωση των δεδομένων σε σύνολα πλειάδων που ονομάζονται σχέσεις. Τέλος, στα εννοιολογικά μοντέλα κανείς έχει να κάνει συνήθως με υψηλού επιπέδου έννοιες όπως οντότητες, αντικείμενα, συσχετίσεις, περιορισμούς μεταξύ αντικειμένων, κ.λ.π. Ένα τέτοιο μοντέλο είναι και το μοντέλο Οντοτήτων-Συσχετίσεων (Entity-Relationship Model) το οποίο διδάσκεστε στη συγκεκριμένη θεματική ενότητα.

1

Page 2: database conceptual design

Το προϊόν που προκύπτει από κάθε μια από τις τρεις φάσεις σχεδίασης ονομάζεται σχήμα. Αλλά ας προσπαθήσουμε να συνοψίσουμε διαγραμματικά την πιο πάνω συζήτηση:

Σχήμα 1 Οι φάσεις σχεδίασης βάσεων δεδομένων

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

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

2

Ανάλυση Απαιτήσεων

Απαιτήσεις Βάσης Δεδομένων

Πραγματικός Κόσμος

• καθηγητής κάνει μάθημα σε πολλούς μαθητές, δυνητικά πολλά διαφορετικά μαθήματα

• για το ίδιο μάθημα οι μαθητές έχουν τον ίδιο καθηγητή

Εννοιολογική Σχεδίαση

Εννοιολογικό Σχήμα

Λογική Σχεδίαση

Λογικό Σχήμα

Φυσική Σχεδίαση

Εσωτερικό Σχήμα

010011101001010010010110

ΣΧΕΔΙΑΣΗ

ΒΑΣΕΩΝ

ΔΕΔΟΜΕΝΩΝ

ΜΑΘΗΜΑΔΙΔΑΣΚΕΙΚΑΘΗΓΗΤΗΣ

ΜΑΘΗΤΗΣ

ΓΕΩΡΓΙΟΥ1

2 ΟΙΚΟΝΟΜΟΥ2

3

Page 3: database conceptual design

το εννοιολογικό σχήμα συνδυάζει φορμαλισμό (απαραίτητο στοιχείο για τη λογική σχεδίαση) αλλά και αφαιρετικότητα, που διευκολύνει την επικοινωνία και διαμόρφωση συναντίληψης με το χρήστη για τη μορφή και τη δομή των δεδομένων, όπως προκύπτουν από τις απαιτήσεις της εφαρμογής του

ο δομημένος τρόπος σχεδίασης εξασφαλίζει μεταφερσιμότητα και συντηρησιμότητα της τελικής βάσης,

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

H επόμενη ενότητα συνοψίζει τις βασικές έννοιες ενός διαγράμματος οντοτήτων-συσχετίσεων (ΔΟΣ) που έχουν συζητηθεί στον τόμο ΒΔ, τις οποίες προτείνουμε να μελετήσετε παράλληλα.

1.1 Βασικές Έννοιες

ΟΝΤΟΤΗΤΑΤο βασικό «αντικείμενο» που αναπαριστούμε σε ένα ΔΟΣ είναι η οντότητα, ένα διακεκριμένο (με τη μαθηματική κι όχι την κοινωνική έννοια) στοιχείο του πραγματικού κόσμου με αυτοτέλεια. Μπορεί να είναι ένα αντικείμενο με φυσική (π.χ. ένας μαθητής, ένα όχημα, κ.λ.π.) ή μη-φυσική (π.χ. ένα πανεπιστημιακό μάθημα, μια εταιρία, ένας τραπεζικός λογαριασμός) υπόσταση. Αντιλαμβανόμαστε μια οντότητα μέσω των ιδιαίτερων χαρακτηριστικών της τα οποία ονομάζονται κατηγορήματα ή γνωρίσματα (π.χ. ένα ΙΧ όχημα έχει αριθμό κυκλοφορίας, μάρκα, τύπο μοντέλου, ισχύ κινητήρα, κ.α. γνωρίσματα). Κάθε κατηγόρημα παίρνει τιμές από ένα πεδίο ορισμού το οποίο ορίζει και τον τύπο δεδομένων του κατηγορήματος.

Μια οντότητα ενός ΔΟΣ αναφέρεται σημασιολογικά σε ένα σύνολο (ή κλάση) από ομοειδή στοιχεία τα οποία θα αποκαλούμε στιγμιότυπα. Για παράδειγμα, ένα στιγμιότυπο της οντότητας όχημα είναι το στοιχείο <ΑΧΝ-5673, FIAT, GT-2001, 1400, ...>. Στη συνέχεια του κεφαλαίου, θα χρησιμοποιούμε τον όρο οντότητα αναφερόμενοι είτε σε ένα στιγμιότυπο, είτε στην κλάση, όπου αυτό είναι απολύτως σαφές από τα συμφραζόμενα.

Μια ειδική τιμή ενός γνωρίσματος είναι η τιμή NULL, η οποία αποδίδεται όταν ένα στιγμιότυπο για το συγκεκριμένο γνώρισμα δεν έχει τιμή. Η σημασιολογία της έλλειψης τιμής είναι τριπλή:

δεν υπάρχει δυνατή τιμή (not applicable) – π.χ. στην περίπτωση του κατηγορήματος ΒΑΘΜΙΔΑ της οντότητας ΣΤΕΛΕΧΟΣ (αναφέρεται στα στελέχη ενός πανεπιστημιακού τμήματος), για κάποιο στιγμιότυπο που δεν είναι μέλος ΔΕΠ

υπάρχει δυνατή αλλά μη καταχωρημένη τιμή, την οποία- γνωρίζουμε (missing)- δε γνωρίζουμε (not known)

Το υποσύνολο των κατηγορημάτων μιας οντότητας που χαρακτηρίζουν μονοσήμαντα ένα στιγμιότυπο ονομάζονται κλειδί. Δυο βασικοί περιορισμοί που ισχύουν για κάθε κλειδί είναι οι ακόλουθοι:

3

Page 4: database conceptual design

το κλειδί μιας οντότητας δε μπορεί να έχει τιμή NULL (μπορείτε να αιτιολογήσετε γιατί;),

δυο διαφορετικά στιγμιότυπα της ίδιας οντότητας δε μπορεί να έχουν ίδιες τιμές στο κλειδί τους.

Ως πρωτεύον κλειδί ορίζουμε το κλειδί εκείνο που ο σχεδιαστής της βάσης επιλέγει να χρησιμοποιήσει σε ένα συγκεκριμένο εννοιολογικό σχήμα (συνήθως αυτό είναι και το μικρότερο δυνατό [minimal]).

ΣΥΣΧΕΤΙΣΗΜια συσχέτιση (ή συσχετισμός, κι όχι «σχέση», όπως εκ παραδρομής ο τόμος ΒΔ αναφέρει) είναι μια λογική σύνδεση (συσχέτιση [με την καθημερινή έννοια] αλληλεπίδραση, εξάρτηση) μεταξύ δύο ή περισσότερων οντοτήτων την οποία επιθυμούμε να αποθηκεύσουμε στη βάση δεδομένων. Ο βαθμός μιας συσχέτισης εκφράζει τον αριθμό των οντοτήτων που συμμετέχουν σε αυτή. Στην παρούσα ενότητα θα ασχοληθούμε μόνο με δυαδικές συσχετίσεις ενώ στην επόμενη ενότητα εξετάζονται συσχετίσεις βαθμού > 2. Μια συσχέτιση μπορεί να έχει κατηγορήματα (π.χ. η συσχέτιση ΕΞΕΤΑΖΕΤΑΙ μεταξύ των οντοτήτων ΜΑΘΗΤΗΣ και ΜΑΘΗΜΑ μπορεί να έχει κατηγόρημα το βαθμό του αποτελέσματος).

Σχήμα 2 Αναπαράσταση οντοτήτων και συσχετίσεων σε ένα ΔΟΣ Κατ’ αντιστοιχία με τις οντότητες, μια συσχέτιση αποτελεί ένα σύνολο από στιγμιότυπα (ζευγάρια ή n-άδες στη γενική περίπτωση, μεταξύ των στιγμιοτύπων των οντοτήτων που συσχετίζονται. Για παράδειγμα τα ζευγάρια <ΙΩΑΝΝΟΥ, ΜΑΘΗΜΑΤΙΚΑ>, <ΓΕΩΡΓΙΟΥ, ΦΥΣΙΚΗ> αποτελούν στιγμιότυπα της συσχέτισης ΔΙΔΑΣΚΕΙ μεταξύ των οντοτήτων ΚΑΘΗΓΗΤΗΣ και ΜΑΘΗΜΑ. Αυτό μπορεί να φανεί καλύτερα διαγραμματικά ως εξής:

Σχήμα 3 Διαγραμματική αποτύπωση συσχέτισης

Το πιο πάνω διάγραμμα έμμεσα σχετίζεται και με την αποτύπωση μιας έννοιας που συχνά προκαλεί σύγχυση στους φοιτητές, αυτή του λόγου πληθικότητας (cardinality ratio), που αφορά στον αριθμό των δυνητικών συσχετίσεων ενός στιγμιοτύπου με στιγμιότυπα της άλλης οντότητας, εξετάζοντας αφαιρετικά μόνο τις τιμές «ένα» (1) και

συσχέτιση

κλειδί: <Κ2, Κ3>

οντότητα οντότητα

Κ1Κ2

Κ3 Κ4

ΓΕΩΡΓΙΟΥ

ΝΙΚΟΛΑΟΥ

ΘΩΜΑΙΔΗΣ

ΖΕΡΒΟΣ

ΦΥΣΙΚΗ

ΧΗΜΕΙΑ

ΜΑΘΗΜΑΤΙΚΑ

ΒΙΟΛΟΓΙΑ

ΓΕΩΓΡΑΦΙΑ

ΔΙΔΑΣΚΕΙΚΑΘΗΓΗΤΗΣ ΜΑΘΗΜΑ

4

Page 5: database conceptual design

«πολλά» (Μ). Έτσι οι δυνατοί συνδυασμοί του λόγου πληθικότητας μιας δυαδικής συσχέτισης είναι (διαβάζονται αντίστοιχα):

1-1 (ένα προς ένα) 1-Ν (ένα προς πολλά) Ν-1 (πολλά προς ένα) Ν-Μ (πολλά προς πολλά)

Επισημαίνουμε πως η πληθικότητα αφορά το δυνητικό αριθμό πιθανών συσχετίσεων κι όχι τον αυτόν που προκύπτει από την τρέχουσα κατάσταση μιας βάσης δεδομένων. Μάλιστα ο αριθμός αυτός προκύπτει από τις απαιτήσεις και τη λογική της εφαρμογής (business logic), κι όχι με βάση την κοινή λογική ή άλλα δεδομένα. Ο ορθός τρόπος να εκτιμήσει κανείς το λόγο πληθικότητας μιας συσχέτισης μεταξύ των οντοτήτων Α και Β (έστω R(A, B)) είναι: 1) να εξετάσει ένα με πόσα στιγμιότυπα του Β είναι δυνατό να συνδέεται ένα στιγμιότυπο του Α (αν αυτά είναι πολλά, τότε ...-Ν, αλλιώς ...-1) και 2) να εξετάσει ακριβώς το αντίστροφο, δηλαδή με πόσα στιγμιότυπα του Α είναι δυνατό να συνδέεται ένα στιγμιότυπο του Β (αν αυτά είναι πολλά, τότε Ν-..., αλλιώς 1-...). Η σύνθεση των δύο αποτελεσμάτων δίνει το τελικό αποτέλεσμα.

Παράδειγμα: Έστω πως σχεδιάζουμε τη βάση δεδομένων ενός ωδείου στο οποίο τα μαθήματα οργάνων γίνονται ατομικά ενώ τα θεωρητικά μαθήματα διδάσκονται σε τάξεις μαθητών. Ας καθορίσουμε το λόγο πληθικότητας των συσχετίσεων: ΠΑΡΑΚΟΛΟΥΘΕΙ_ΟΡΓΑΝΟ(ΜΑΘΗΤΗΣ, ΜΑΘΗΜΑ) (Π_Ο, για συντομία)ΠΑΡΑΚΟΛΟΥΘΕΙ_ΘΕΩΡΙΑ(ΜΑΘΗΤΗΣ, ΜΑΘΗΜΑ) (Π_Μ, για συντομία)

ένας μαθητής μπορεί να παρακολουθήσει δυνητικά πολλά μαθήματα οργάνου και θεωρίας (ασχέτως αν στην πράξη συνήθως κάθε μαθητής διδάσκεται ένα μόνο όργανο – η πολιτική του ωδείου μας δεν απαγορεύει την παρακολούθηση μαθημάτων πολλών οργάνων), συνεπώς Π_Ο → (...-Ν), Π_Θ → (...-Ν)

ένα θεωρητικό μάθημα μπορεί δυνητικά να παρακολουθείται από πολλούς μαθητές ταυτόχρονα, συνεπώς Π_Θ → (Μ-Ν)

ένα μάθημα οργάνου μπορεί δυνητικά να παρακολουθείται από ένα μόνο μαθητή (με βάση την πολιτική του συγκεκριμένου ωδείου, κι όχι την κοινή λογική ή τις διαδικασίες άλλων ωδείων), συνεπώς Π_Ο → (1-Ν)

Με βάση το Σχήμα 1-3, ο λόγος πληθικότητας της ΔΙΔΑΣΚΕΙ είναι Μ-Ν (κι αυτό γιατί ο Θωμαΐδης διδάσκει Χημεία και Μαθηματικά, συνεπώς συνδέεται με περισσότερα του ενός μαθήματα, ενώ η Χημεία διδάσκεται από Θωμαΐδη και Ζερβό).

ΑΣΚΗΣΗ ΑΥΤΟΑΞΙΟΛΌΓΗΣΗΣ 1-1

Με βάση το πιο κάτω διάγραμμα, σχολιάστε για το λόγο πληθικότητας της συσχέτισης ΔΙΔΑΣΚΕΙ:

ΓΕΩΡΓΙΟΥ

ΝΙΚΟΛΑΟΥ

ΘΩΜΑΙΔΗΣ

ΖΕΡΒΟΣ

ΦΥΣΙΚΗ

ΧΗΜΕΙΑ

ΜΑΘΗΜΑΤΙΚΑ

ΒΙΟΛΟΓΙΑ

ΓΕΩΓΡΑΦΙΑ

ΔΙΔΑΣΚΕΙΚΑΘΗΓΗΤΗΣ ΜΑΘΗΜΑ

5

Page 6: database conceptual design

Το κλειδί μιας συσχέτισης καθορίζεται από τον ακόλουθο κανόνα, με βάση το λόγο πληθικότητας:

1-1: το κλειδί μιας εκ των 2 οντοτήτων 1-Ν: το κλειδί της «Ν» οντότητας Μ-Ν: η ένωση των κλειδιών των 2 οντοτήτων

Αν κάποια από τα κατηγορήματα της συσχέτισης συμμετέχουν στο κλειδί1 (π.χ. το κατηγόρημα ΕΞΕΤΑΣΤΙΚΗ_ΠΕΡΙΟΔΟΣ της συσχέτισης ΕΞΕΤΑΖΕΤΑΙ(ΜΑΘΗΤΗΣ, ΜΑΘΗΜΑ), τότε αυτά προστίθενται στο κλειδί που διαμορφώθηκε με τον πιο πάνω κανόνα.

ΔΡΑΣΤΗΡΙΟΤΗΤΑ 1-1

Στο ωδείο «Πολύμνειος Σχολή» κάθε μουσικό όργανο διδάσκεται αποκλειστικά από ένα καθηγητή. Επίσης το πιο κάτω διάγραμμα αποτελεί μια αποτύπωση της συσχέτισης ΔΙΔΑΣΚΕΙ σε μια δεδομένη χρονική στιγμή. Μπορείτε να καθορίσετε το λόγο πληθικότητας της συσχέτισης;

Μια ειδική περίπτωση δυαδικής συσχέτισης είναι και η αναδρομική συσχέτιση, στην οποία μια οντότητα συμμετέχει με δυο διακριτούς ρόλους στη συσχέτιση (μπορείτε να σκεφτείτε ποιο είναι το κλειδί μιας αναδρομικής συσχέτισης;).

Σχήμα 4 Παράδειγμα αναδρομικής συσχέτισης

1.2 Επεκτείνοντας το μοντέλο Ο-Σ

Η παρούσα ενότητα παρουσιάζει επεκτάσεις του μοντέλου Ο-Σ καθώς και κάποια προηγμένα θέματα μοντελοποίησης. Στα πιο πάνω περιλαμβάνονται και οι έννοιες

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

ΚΑΛΟΦΩΝΟΣ

ΒΩΒΟΣ

ΦΩΝΑΡΑΣ

ΚΟΥΦΟΠΟΥΛΟΣ

ΒΙΟΛΙ

ΠΙΑΝΟ

ΦΛΑΟΥΤΟ

ΣΑΞΟΦΩΝΟ

ΔΙΔΑΣΚΕΙΚΑΘΗΓΗΤΗΣ ΟΡΓΑΝΟ

ΕΠΙΒΛΕΠΕΙ

ΥΠΑΛΛΗΛΟΣ

Προϊστάμενος Υφιστάμενος

6

ΚΙΘΑΡΑ

Page 7: database conceptual design

των ασθενών οντοτήτων και IS-A ιεραρχιών, για τις οποίες πρέπει να μελετήσετε μόνο το παρόν κεφάλαιο κι όχι τον τόμο ΒΔ.

1.2.1 Συμμετοχή συσχετίσεων

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

Σχήμα 5 Παράδειγμα ολικής (μάθημα) και μερικής (καθηγητής) συμμετοχής

Στο Σχήμα 5, ένα μάθημα πρέπει υποχρεωτικά να σχετίζεται με κάποιο καθηγητή, χωρίς αυτό να ισχύει και για τους καθηγητές. Μια εναλλακτική μοντελοποίηση, είναι αυτή της <ελάχιστης-μέγιστης> συμμετοχής. Με βάση αυτή την προσέγγιση κάθε οντότητα χαρακτηρίζεται από ένα ελάχιστο και μέγιστο αριθμό εμφανίσεων της οντότητας στη συσχέτιση (με τιμές 0, 1, Ν, ή και συγκεκριμένους ακεραίους αν αυτό είναι επιθυμητό κατά τη σχεδίαση). Στο επόμενο παράδειγμα ένας καθηγητής συμμετέχει (διδάσκει) ακριβώς μια φορά στη συσχέτιση, ενώ ένα μάθημα μπορεί στο ένα άκρο να μη συμμετέχει (διδάσκεται) καμία φορά (από κανένα καθηγητή) αλλά μπορεί και να συμμετέχει πολλές (Ν) φορές (δηλαδή να διδάσκεται από πολλούς καθηγητές). Στο σχήμα, δίπλα σε κάθε στιγμιότυπο μαθήματος αναγράφεται ο αριθμός εμφανίσεων.

Σχήμα 6 Παράδειγμα απεικόνισης συσχέτισης με «μέγιστη-ελάχιστη» συμμετοχή

Η προσέγγιση αυτή για τη μοντελοποίηση της συμμετοχής στην ουσία καθορίζει και το λόγο πληθικότητας της συσχέτισης. Προσέξτε την κατά κάποιο τρόπο αντιστροφή της πληθικότητας με βάση τη συμμετοχή (π.χ. το ότι ένα μάθημα μπορεί να εμφανίζεται Ν φορές στη συσχέτιση σημαίνει πως «ένα μάθημα διδάσκεται από πολλούς καθηγητές» κι όχι πως «ένας καθηγητής διδάσκει πολλά μαθήματα»).

1.2.2 Ασθενείς κι ισχυρές οντότητες

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

ΔΙΔΑΣΚΕΙΚΑΘΗΓΗΤΗΣ ΜΑΘΗΜΑ

ΔΙΔΑΣΚΕΙ

ΚΑΘΗΓΗΤΗΣ

ΜΑΘΗΜΑ

(1,1)

(0,Ν)

ΔΙΔΑΣΚΕΙΚΑΘΗΓΗΤΗΣ ΜΑΘΗΜΑ

(2)

(0)

(2)

(1)

(0)

ΔΙΔΑΣΚΕΙ

ΚΑΘΗΓΗΤΗΣ

ΜΑΘΗΜΑ

Ν

1

7

Page 8: database conceptual design

ονομάζονται ασθενείς και ένα παράδειγμα είναι η οντότητα ΠΛΗΡΩΜΗ στο πιο κάτω σχήμα.

Η οντότητα αυτή αντιστοιχεί στις πληρωμές ενός λογαριασμού δανείου, με κατηγορήματα το ποσό πίστωσης, την ημερομηνία κι ένα αύξοντα αριθμό για την περίπτωση περισσότερων της μιας πληρωμών την ίδια ημέρα. Παρατηρούμε πως για κάποιο δεδομένο λογαριασμό δανείου, τα κατηγορήματα ΗΜ/ΝΙΑ και ΑΑ χαρακτηρίζουν μονοσήμαντα το στιγμιότυπο πληρωμής. Τα δύο αυτά κατηγορήματα ονομάζονται διακρίνουσα (discriminator) και συμβολίζονται με διακεκομμένη υπογράμμιση. Όπως μάλλον θα καταλάβατε, το κλειδί μιας ασθενούς οντότητας σχηματίζεται από την ένωση της διακρίνουσας με το κλειδί της οντότητας κατόχου. Η συσχέτιση μεταξύ κατόχου και ασθενούς οντότητας ονομάζεται προσδιορίζουσα (identifying) και συμβολίζεται με ρόμβο διπλής γραμμής, όπως και η ασθενής οντότητα. Τέλος είναι λογικό, μια ασθενής οντότητα να έχει πάντα ολική συμμετοχή στην προσδιορίζουσα συσχέτιση (γιατί;).

Σχήμα 7 Παράδειγμα ασθενούς οντότητας

Ένα άλλο παράδειγμα ασθενούς οντότητας είναι η οντότητα ΤΕΚΝΟ (με κατηγορήματα το ΟΝΟΜΑ και ΕΤΟΣ_ΓΕΝΝΗΣΗΣ) που συσχετίζεται με την οντότητα ΥΠΑΛΛΗΛΟΣ στη βάση δεδομένων του προσωπικού μιας εταιρίας.

ΑΣΚΗΣΗ ΑΥΤΟΑΞΙΟΛΌΓΗΣΗΣ 1-2

Η βάση δεδομένων του προσωπικού μιας εταιρίας διατηρεί στοιχεία για τους υπαλλήλους και τα τέκνα τους (ώστε π.χ. η διοίκηση να μπορεί να στέλνει ευχές και δώρα στις ονομαστικές εορτές των παιδιών των υπαλλήλων). Στο ΔΟΣ της συγκεκριμένης βάσης η οντότητα ΤΕΚΝΟ έχει μοντελοποιηθεί ως ασθενής με κατηγορήματα την ημ/νία γέννησης και το όνομα, εξαρτώμενη από την οντότητα ΥΠΑΛΛΗΛΟΣ. Σχολιάστε τι συμβαίνει στις περιπτώσεις παιδιών που έχουν συμπληρώσει το 18ο έτος της ηλικίας τους κι έχουν ατομικό ΑΦΜ, κατηγόρημα που αποτελεί κλειδί. Διαγράφονται από τη βάση; Θα πρέπει να μοντελοποιηθούν μέσω κάποιας άλλης ισχυρής οντότητας;

1.2.3 Τριαδικές συσχετίσεις

Η συσχέτιση βαθμού >2 είναι μια έννοια που συχνά προβληματίζει τους φοιτητές αλλά και τους επαγγελματίες της περιοχής των βάσεων δεδομένων, καθώς τα βαθύτερα θεωρητικά θέματα των οποίων άπτεται έχουν διαμορφώσει ένα «μυστικισμό», έκδηλο με τουλάχιστο τρεις τρόπους:

ελάχιστη θεωρητική δουλειά έχει δημοσιευτεί στο συγκεκριμένο θέμα, με εξαίρεση τα σχετικά πρόσφατα αποτελέσματα μια συγκεκριμένης επιστημονικής ομάδας (δες Ενότητα «Βιβλιογραφικές Αναφορές» για λεπτομέρειες),

ΕΧΕΙΔΑΝΕΙΟ ΠΛΗΡΩΜΗ

ΠΟΣΟΚΩΔΙΚΟΣ

ΑΑ ΗΜΝΙΑ

ΠΟΣΟ

8

Page 9: database conceptual design

κάποια παλιότερα βιβλία-κείμενα «αποκηρύσσουν» τη χρήση τριαδικών, ή n-αδικών γενικότερα (n>2) συσχετίσεων, συστήνοντας τη μετατροπή τους σε ισοδύναμο σχήμα με δυαδικές συσχετίσεις,

κανένα από τα υπάρχοντα αυτοματοποιημένα εργαλεία (CASE tools) σχεδίασης βάσεων δεδομένων (π.χ. Oracle CASE*Method, ERWin, EF, ADW, κ.λ.π.) δεν υποστηρίζουν τον έλεγχο της σημασιολογικής ορθότητας τριαδικών και n-αδικών συσχετίσεων, συνεπώς και τη μετάβαση σε ένα αντίστοιχο λογικό σχήμα με αυτοματοποιημένο τρόπο.

Σε αυτή την ενότητα θα ασχοληθούμε με τη χρήση τριαδικών συσχετίσεων σε διαγράμματα Ο-Σ. Κάποια από τα συμπεράσματα της ενότητας γενικεύονται και για συσχετίσεις βαθμού > 3.

Αλλά ας πάρουμε τα πράγματα από την αρχή. Χρειαζόμαστε πραγματικά τριαδικές συσχετίσεις; Ας θεωρήσουμε για παράδειγμα τη βάση δεδομένων ενός πανεπιστημιακού τμήματος, που καταγράφει πληροφορίες για τη διδασκαλία των μαθημάτων. Έστω οι οντότητες ΦΟΙΤΗΤΗΣ, ΜΑΘΗΜΑ, ΑΙΘΟΥΣΑ κι η γενική αρχή «οποιοσδήποτε μπορεί να διδάσκεται οτιδήποτε, οπουδήποτε». Πώς θα μπορούσαμε να αποτυπώσουμε σε ένα ΔΟΣ που περιλαμβάνει μόνο τις παραπάνω οντότητες το γεγονός πως ο φοιτητής Γεωργίου διδάσκεται Μαθηματικά στην αίθουσα Α1;

Σχήμα 8 Αναγκαιότητα για τριαδική συσχέτιση

Όπως είναι φανερό από το Σχήμα 1-8 (Α), ακόμη και η πλήρης (ανά δύο) συσχέτιση των εμπλεκόμενων οντοτήτων δεν μπορεί να αναπαραστήσει την ταυτόχρονη συσχέτιση τριών στιγμιοτύπων των οντοτήτων (λόγων των πληθικοτήτων Μ-Ν). Συνεπώς το πιο πάνω γεγονός μοντελοποιείται με τη χρήση τριαδικής συσχέτισης.

ΔΡΑΣΤΗΡΙΟΤΗΤΑ 1-2

ΜΑΘΗΤΗΣ ΔΙΔΑΣΚΕΤΑΙ ΜΑΘΗΜΑ

ΑΙΘΟΥΣΑ

ΦΙΛΟΞΕΝΕΙΠΑΡΑΚΟΛΟΥΘΕΙ

Μ

Μ Ν

Μ

ΝΝ

Α

ΜΑΘΗΤΗΣ ΔΙΔΑΣΚΕΤΑΙ ΜΑΘΗΜΑ

ΑΙΘΟΥΣΑ

Μ Ν

Κ

Β

9

Page 10: database conceptual design

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

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

Παράδειγμα: Ο μαθητής Γεωργίου στην αίθουσα Α1 πόσα μαθήματα μπορεί να διδάσκεται

λ.χ. (με βάση τους κανόνες της εφαρμογής μας); Η απάντηση (1 ή Ν) καθορίζει και την πληθικότητα της οντότητας ΜΑΘΗΜΑ, έστω Ν.

Ο μαθητής Γεωργίου σε πόσες αίθουσες μπορεί να διδάσκεται Φυσική; έστω σε 1. (Προσέξτε, η απάντηση στην ερώτηση δεν καθορίζεται από το συγκεκριμένο ζευγάρι, αλλά πρέπει να αφορά οποιοδήποτε δυνητικό ζευγάρι στιγμιοτύπων. Δηλαδή, αν η Φυσική ειδικά διδάσκεται μονάχα στο Εργαστήριο Φ1 π.χ., ενώ εν γένει κάποιο συγκεκριμένο μάθημα μπορεί να διδάσκεται σε περισσότερες του ενός αίθουσες, τότε η απάντηση είναι «Ν». Με βάση την παρατήρηση διατυπώνουμε ανάλογα και την τρίτη ερώτηση:)

Ένα συγκεκριμένο μάθημα σε κάποια συγκεκριμένη αίθουσα, σε πόσους μαθητές μπορεί να απευθύνεται, έστω Ν.

Συνεπώς η πληθικότητα της ΔΙΔΑΣΚΕΤΑΙ(ΜΑΘΗΤΗΣ, ΑΙΘΟΥΣΑ, ΜΑΘΗΜΑ) για το συγκεκριμένο παράδειγμα είναι Ν-1-Μ.

Τώρα ας θεωρήσουμε τη συσχέτιση DOWNLOAD, πληθικότητας 1-1-1, μεταξύ των οντοτήτων ΧΡΗΣΤΗΣ, ΔΙΚΤΥΑΚΟΣ_ΤΟΠΟΣ, ΛΟΓΙΣΜΙΚΟ. H συσχέτιση μοντελοποιεί τμήμα της βάσης δεδομένων της υποθετικής εταιρίας παραγωγής λογισμικού MEGASOFT, η οποία εγκαινιάζει τις δραστηριότητές της στο χώρο και δωρίζει άδειες λογισμικού σε χρήστες. Έτσι, η συσχέτιση DOWNLOAD αποτυπώνει το χρήστη και το δικτυακό τόπο από τον οποίο εκείνος προμηθεύτηκε τη δωρεάν άδεια ενός συγκεκριμένου λογισμικού.

Τι σημαίνει όμως ο λόγος πληθικότητας 1-1-1 της συσχέτισης για την πολιτική της εταιρίας στην προσέγγιση χρηστών; Μήπως πως κάθε χρήστης μπορεί να έχει ένα μόνο δώρο; Αυτή είναι μια συνηθισμένη παραπλανητική σκέψη. Θυμηθείτε τον κανόνα καθορισμού της πληθικότητας: για την περίπτωση 1-1-1 κάθε ζευγάρι στιγμιοτύπων (Α,Β) σχετίζεται με ένα μοναδικό στιγμιότυπο Γ, αυτό όμως σημαίνει πως το Γ μπορεί να σχετίζεται με πολλά ζευγάρια, αρκεί αυτά να είναι διαφορετικά. Δείτε ένα ενδεικτικό παράδειγμα στιγμιοτύπων της συσχέτισης που πληρεί το λόγο πληθικότητας 1-1-1 στη συνέχεια:

DOWNLOADΧΡΗΣΤΗΣ ΔΙΚΤΥΑΚΟΣ_ΤΟΠΟΣ ΛΟΓΙΣΜΙΚΟghacker www.megasoft.co.uk Mobisoft-2004Mist www.megasoft.com Lingua-plusghacker www.megasoft.com PicsmartJohn www.megasoft.co.jp Picsmart

Το παράδειγμα παρουσιάζει το ελάχιστο σύνολο στιγμιοτύπων της συσχέτισης για το οποίο οι έμμεσες δυαδικές συσχετίσεις που προκύπτουν από την τριαδική έχουν λόγο πληθικότητας Μ-Ν (αφού τα στιγμιότυπα ghacker, www.megasoft.com, Picsmart, συσχετίζονται αντίστοιχα με 2 στιγμιότυπα για κάθε μια από τις άλλες δύο οντότητες). Ερμηνεύοντας το αποτέλεσμα, φαίνεται πως η εταιρία δίνει τη δυνατότητα

10

Page 11: database conceptual design

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

Συμπέρασμα: Σε κάθε τριαδική συσχέτιση, οι έμμεσες δυαδικές συσχετίσεις που προκύπτουν έχουν λόγο πληθικότητας Μ-Ν.

Στη συνέχεια παρουσιάζουμε τον κανόνα προσδιορισμού του κλειδιού μιας τριαδικής συσχέτισης. Έστω η συσχέτιση R(A,B,C). Ο πίνακας απεικονίζει το κλειδί συναρτήσει των πληθικοτήτων των οντοτήτων.

card(A) card(B) card(C) Κλειδί

N N N ABC

N N 1 AB

N 1 1 AB ή ΑC

1 1 1 AB ή AC ή BC

Μπορείτε με βάση το πιο πάνω παράδειγμα να αιτιολογήστε τον κανόνα του πίνακα;

ΔΡΑΣΤΗΡΙΟΤΗΤΑ 1-3

Θεωρώντας μία τριαδική συσχέτιση, δώστε ένα ισοδύναμο σχήμα που να περιέχει μόνο δυαδικές συσχετίσεις (βοήθεια: μπορείτε να χρησιμοποιήσετε κι άλλες οντότητες εκτός από τις υπάρχουσες)

1.2.4 Σημασιολογική ορθότητα τριαδικών συσχετίσεων

Αναφορά στις θεωρητικές δυσκολίες (κανονικοποίηση, ισοδύναμες δυαδικές ανπαραστάσεις, έμμεσοι δυαδικοί περιορισμοί)

Συζήτηση για μετάφραση σε ισοδύναμες δυαδικές με βάση τους υπονοούμενους δυαδικούς περιορισμούς

σχετική δραστηριότητα

1.2.5 Υποκλάσεις και υπερκλάσεις

Η παρούσα ενότητα παρουσιάζει δύο εναλλακτικές μοντελοποιήσεις της έννοιας υπερκλάσης/υποκλάσης σε διαγράμματα οντοτήτων συσχετίσεων, με στόχο την αντικατάσταση του υλικού που καλύπτει ο τόμος ΒΔ. Κατά συνέπεια συνιστάται στους φοιτητές η αποκλειστική μελέτη της σχετικής ύλης από το παρόν κεφάλαιο.

1.2.5.1 Ιεραρχίες IS-A

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

11

Page 12: database conceptual design

ορισμού υποκλάσεων μιας οντότητας και οι παρεμφερείς έννοιες γενίκευσης και ειδίκευσης.

Σε πολλές περιπτώσεις κανείς μπορεί να διακρίνει υποομάδες των στιγμιοτύπων μιας οντότητας οι οποίες θα ήταν επιθυμητό (λόγω των ιδιαίτερων χαρακτηριστικών τους) να αναπαρασταθούν αυτόνομα. Ας θεωρήσουμε την οντότητα ΥΠΑΛΛΗΛΟΣ στη βάση δεδομένων του προσωπικού μιας εταιρίας. Μπορούμε να διακρίνουμε διαφορετικές ειδικές περιπτώσεις, ανάλογα με το ρόλο ενός υπαλλήλου, όπως π.χ. ΤΕΧΝΙΚΟΣ, ΜΗΧΑΝΙΚΟΣ, ΓΡΑΜΜΑΤΕΑΣ, κ.λ.π. Στη γενική περίπτωση η διάκριση αυτή δεν είναι δυνητική αλλά εκφράζει διαφοροποίηση στα κατηγορήματα ή τις συσχετίσεις κάποιων υποσυνόλων (υποκλάσεων) των στιγμιοτύπων μιας οντότητας (υπερκλάσης) που επιβάλλεται από τις ανάγκες της εφαρμογής.

Σχήμα 9 Παράδειγμα ιεραρχίας IS-A

Στο συγκεκριμένο παράδειγμα, κάθε τεχνικός, γραμματέας ή μηχανικός είναι προφανώς και υπάλληλος της εταιρίας (προσέξτε, κάθε στιγμιότυπο μιας υποκλάσης αντιστοιχεί στην ίδια πραγματική οντότητα που αντιστοιχεί κάποιο στιγμιότυπο της υπερκλάσης) με επιπλέον ωστόσο χαρακτηριστικά:

κάθε τεχνικός έχει μια συγκεκριμένη ειδίκευση, κάτι που δε χαρακτηρίζει άλλους υπαλλήλους

αντίστοιχα, μια γραμματέας έχει ως γνώρισμα την ταχύτητα πληκτρολόγησης ενώ ένας μηχανικός έχει ένα τίτλο με βάση το πτυχίο του και παράλληλα

σχετίζεται με κάποιο έργο στην ίδια βάση δεδομένων

Τέτοιου τύπου ιεραρχίες μεταξύ μιας υπερκλάσης και κάποιων υποκλάσεων ονομάζονται ιεραρχίες IS-A (από το αγγλικό “is a” {«είναι ένα»} – δες Σχήμα 1-9), δηλώνουν ακριβώς τη σχέση ρόλων μεταξύ οντοτήτων και συμβολίζονται με ένα ανεστραμμένο τρίγωνο με την ετικέτα “ISA” που συνδέει την υπερκλάση με τις υποκλάσεις.

Μια σημαντική ιδιότητα των ιεραρχιών IS-A είναι η κληρονομικότητα τύπου (type inheritance) που αφορά στην κληροδότηση των κατηγορημάτων και συσχετίσεων της υπερκλάσης στις υποκλάσεις. Αυτό εξασφαλίζει πως κάθε τεχνικός μηχανικός και γραμματέας π.χ., πέραν των ειδικών χαρακτηριστικών τους, κληρονομούν τα βασικά κατηγορήματα κάθε υπαλλήλου (π.χ. όνομα, επώνυμο, κ.λ.π.) καθώς και όλες τις

ISA

YΠΑΛΛΗΛΟΣ

ΤΕΧΝΙΚΟΣ

ΓΡΑΜΜΑΤΕΑΣ

ΜΗΧΑΝΙΚΟΣ

ΤΙΤΛΟΣ_ΠΤΥΧΙΟΥΤΑΧ_ΠΛΗΚ/ΣΗΣΕΙΔΙΚΕΥΣΗ

ΕΠΙΒΛΕΠΕΙ

ΕΡΓΟ

…….

……

κληρονομικότητα

12

Page 13: database conceptual design

συσχετίσεις στις οποίες η οντότητα ΥΠΑΛΛΗΛΟΣ συμμετέχει, χωρίς την ανάγκη αυτά να αποτυπώνονται στο ΔΟΣ ξεχωριστά και για τις εν λόγω οντότητες.

Επισημαίνεται πως κάθε μέλος μιας υποκλάσης υποχρεωτικά πρέπει να ανήκει και στην υπερκλάση (το αντίστροφο δεν ισχύει).

1.2.5.2 Ειδίκευση-Γενίκευση

Η δυνατότητα ορισμού υποκλάσεων και υπερκλάσεων μπορεί διαφορετικά να ιδωθεί ως το αποτέλεσμα δύο αντιστρόφων διαδικασιών αφαιρετικής μοντελοποίησης:

ειδίκευση: η διαδικασία ορισμού υποκλάσεων με βάση ειδικότερους ρόλους που μπορεί να πάρει η υπερκλάση (top-down προσέγγιση)

γενίκευση: η διαδικασία ορισμού μιας γενικευμένης οντότητας (υπερκλάσης) με βάση τα κοινά γνωρίσματα ενός συνόλου οντοτήτων (bottom-up προσέγγιση)

Στο Σχήμα 1-10 παρουσιάζεται ένα παράδειγμα τριών ειδικεύσεων της οντότητας ΥΠΑΛΛΗΛΟΣ, με βάση τρεις ιδιότητες (ειδικότητα, βαθμίδα, σχέση εργασίας). Όπως φαίνεται, στον εναλλακτικό αυτό συμβολισμό οι υποκλάσεις κάθε ειδίκευσης συνδέονται με απλή γραμμή με ένα κύκλο (θα σχολιάσουμε το γράμμα ‘d’ στη συνέχεια) κι αυτός με τη σειρά του συνδέεται με απλή ή διπλή γραμμή (θα σχολιαστεί στη συνέχεια) με την υπερκλάση. Οι γραμμές κάθε υποκλάσης αποτυπώνουν το μαθηματικό σύμβολο του γνησίου υποσυνόλου ( ⊂ ) στη φορά που δηλώνει τη σχέση υποκλάσης. Τέλος στην περίπτωση μιας μοναδικής υποκλάσης παραλείπουμε τον κύκλο, συνδέοντας την υποκλάση απευθείας με την υπερκλάση.

Σχήμα 10 Παράδειγμα ειδίκευσης

Επισημαίνουμε πως το κίνητρο για τον καθορισμό ιεραρχιών ειδίκευσης σε ένα ΔΟΣ, πέρα από τη σαφή διάκριση των ρόλων μέσα από τις απαιτήσεις τις εφαρμογής, είναι πολύ συχνά η ανάγκη προσδιορισμού επιμέρους κατηγορημάτων ή συσχετίσεων για κάποιες από τις υποκλάσεις (για λόγους οικονομίας χώρου το Σχήμα 1-10 δεν απεικονίζει επιπλέον κατηγορήματα ή συσχετίσεις, όπως το Σχήμα 1-9).

ΑΣΚΗΣΗ ΑΥΤΟΑΞΙΟΛΌΓΗΣΗΣ 1-3

Αποτυπώστε την ειδίκευση με βάση την ειδικότητα, του Σχήματος 1-10, με χρήση της διαγραμματικής αναπαράστασης συσχετίσεων του Σχήματος 1-3. Σχολιάστε τις συσχετίσεις που προκύπτουν μεταξύ υπερκλάσης και υποκλάσεων.

YΠΑΛΛΗΛΟΣ

ΤΕΧΝΙΚΟΣ ΓΡΑΜΜΑΤΕΑΣ ΜΗΧΑΝΙΚΟΣ ΠΡΟΙΣΤΑΜΕΝΟΣ ΩΡΟΜΙΣΘΙΟΣ ΜΙΣΘΩΤΟΣ

d d

13

Page 14: database conceptual design

Ας δούμε τώρα την αντίστροφη διαδικασία, αυτή της γενίκευσης. Έστω πως σχεδιάζουμε τη βάση δεδομένων μιας αντιπροσωπείας αυτοκινήτων που εμπορεύεται Ι.Χ. οχήματα και φορτηγά. Μπορεί κανείς να θεωρήσει τις οντότητες ΙΧ και ΦΟΡΤΗΓΟ ως υποκλάσεις μιας γενικευμένης (ιδεατής) οντότητας ΟΧΗΜΑ, την οποία κατασκευάζουμε για να αποδώσουμε τα κοινά γνωρίσματα των δύο τύπων οχημάτων. Εκτός από τη διαφορετική διανοητική αφετηρία μοντελοποίησης το αποτέλεσμα είναι το ίδιο 2 και αποτυπώνεται στο επόμενο σχήμα.

Σχήμα 11 Παράδειγμα γενίκευσης

Μέχρι τώρα είδαμε δυο διαφορετικούς τρόπους αναπαράστασης σχέσεων υποσυνόλου μεταξύ οντοτήτων ενός ΔΟΣ. Η έννοια της ειδίκευσης/γενίκευσης είναι μια επέκταση της βασικής ιδέας των ιεραρχιών IS-A, η οποία πέραν του διαφορετικού συμβολισμού εισάγει και περιορισμούς στον ορισμό μιας ειδίκευσης ή γίκευσης.

1.2.5.3 Περιορισμοί Ειδίκευσης/Γενίκευσης

Μια ακόμη επέκταση της εκφραστικής δύναμης του μοντέλου ειδίκευσης/γενίκευσης είναι και η διατύπωση περιορισμών δύο ειδών:

περιορισμός κάλυψης: αφορά το κατά πόσο ένα στιγμιότυπο μπορεί να συμμετέχει σε πάνω από μία υποκλάσεις. Αν αυτό συμβαίνει (π.χ. ένας αθλητής άλματος μπορεί να αγωνίζεται και σε δρόμους, σε μια ιεραρχία της οντότητας ΑΘΛΗΤΗΣ, με υποκλάσεις ΑΛΤΗΣ, ΔΡΟΜΕΑΣ, ΚΟΛΥΜΒΗΤΗΣ, κ.λ.π.) τότε ο κύκλος της ειδίκευσης/γενίκευσης περιέχει το χαρακτήρα ‘o’ (από το αγγλικό overlap – επικάλυψη). Στην αντίθετη περίπτωση ο κύκλος περιέχει το χαρακτήρα ‘d’ (από το αγγλικό disjoint – ξεχωρίζω, αποχωρίζω).

περιορισμός συμμετοχής: η έννοια αυτή είναι γνωστή από τη συζήτηση περί συσχετίσεων και στη συγκεκριμένη περίπτωση αφορά το κατά πόσο ένα στιγμιότυπο της υπερκλάσης πρέπει να σχετίζεται με ένα στιγμιότυπο κάποιας υποκλάσης. Αν αυτό συμβαίνει (δες Σχήμα 1-11) τότε η υπερκλάση συνδέεται με τον κύκλο με διπλή γραμμή, διαφορετικά (δες Σχήμα 1-10, πρώτη ειδίκευση) με απλή. Οι δύο αυτές καταστάσεις εκφράζονται αντίστοιχα με τις τιμές total (ολική) και partial (μερική).

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

2 κάποιες μεθοδολογίες σχεδίασης διαφοροποιούν το συμβολισμό για γενίκευση και ειδίκευση, αντίστοιχα. Ο αναγνώστης μπορεί να ανατρέξει στο βιβλίο [“Fundamentals of Database Systems”, Elmasri R. & Navathe S., Addison-Wesley], Κεφ. 4 και Παράρτημα Α, για περισσότερες λεπτομέρειες

ΟΧΗΜΑ

ΦΟΡΤΗΓΟ ΙΧ

d

ΑΡ_ΠΛΑΙΣΙΟΥ

ΤΙΜΗ

ΑΡ_ΕΠΙΒΑΤΩΝ

ΜΕΓ_ΤΑΧΥΤΗΤΑ

ΩΦ_ΦΟΡΤΙΟ

14

Page 15: database conceptual design

Οι περιορισμοί που είδαμε διαμορφώνουν συγκεκριμένους κανόνες εισαγωγής/διαγραφής:

η διαγραφή ενός στιγμιοτύπου μιας υπερκλάσης απαιτεί τη διαγραφή όλων των σχετικών στιγμιοτύπων των υποκλάσεων που η συγκεκριμένη πραγματική οντότητα συμμετέχει

η εισαγωγή ενός στιγμιοτύπου σε μια υπερκλάση μιας total ειδίκευσης απαιτεί την εισαγωγή ενός αντίστοιχου στιγμιοτύπου σε μία τουλάχιστο υποκλάση (ή μία ακριβώς υποκλάση αν η ειδίκευση είναι disjoint).

ΔΡΑΣΤΗΡΙΟΤΗΤΑ 1-4

Δώστε μια εξαντλητική περιγραφή των κανόνων εισαγωγής/διαγραφής για κάθε περίπτωση ειδίκευσης/γενίκευσης.

1.3 Από την εννοιολογική στη λογική σχεδίαση

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

π.χ. οι πλειάδες <101, ΙΩΑΝΝΟΥ, ΕΛΕΥΘΕΡΙΟΣ>, <102, ΚΑΛΟΓΗΡΟΥ, ΑΝΔΡΕΑΣ> είναι δύο ενδεικτικές πλειάδες της σχέσης ΜΑΘΗΤΗΣ(ΑΜ, ΕΠΩΝΥΜΟ, ΟΝΟΜΑ), με πεδία τα:

ΑΜ – ακέραιος, αποτελεί και το πρωτεύον κλειδί ΕΠΩΝΥΜΟ – συμβολοσειρά μήκους 30 ΟΝΟΜΑ - συμβολοσειρά μήκους 20

Μετά από την πιο πάνω περιγραφή είναι προφανής η αναλογία μεταξύ οντότητας, στιγμιοτύπου, κατηγορήματος και σχέσης, πλειάδας, πεδίου, αντίστοιχα. Στο λογικό επίπεδο, οι οντότητες, συσχετίσεις καθώς και οποιαδήποτε άλλη εννοιολογική δομή συναντήσαμε αναπαρίστανται με ένα σύνολο σχέσεων, αποκλειστικά και μόνο. Σε αυτή την ενότητα θα ασχοληθούμε με τους κανόνες «αυτοματοποιημένης» μετάβασης από το ΔΟΣ σε ένα ισοδύναμο λογικό σχήμα, με βασικούς στόχους τους ακόλουθους:

την ελαχιστοποίηση του αριθμού των παραγόμενων σχέσεων (με αναμενόμενη την μείωση του χρόνου επεξεργασίας ερωτημάτων)

τη ελάχιστη δυνατή ύπαρξη τιμών NULL την παραγωγή ενός κομψού και κατανοητού σχήματος την εύκολη ενσωμάτωση δυνητικών αλλαγών του εννοιολογικού σχήματος

3 υπενθυμίζουμε τις δύο βασικές μαθηματικές ιδιότητες των συνόλων: α) μη-πλεονασμός (το {α, β, γ} είναι σύνολο ενώ το {α, β, γ, β} όχι) β) έλλειψη διάταξης – τα μέλη ενός συνόλου δεν είναι διατεταγμένα ({α, β, γ} = {γ, α, β}). Για τις εγγραφές ενός πίνακα, συνήθως στα σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων δεν ισχύει η αρχή του μη-πλεονασμού.

15

Page 16: database conceptual design

Η συνήθης διαπίστωση πάντως είναι πως μειώνοντας τον αριθμό των παραγόμενων σχέσεων:

βελτιώνουμε το χρόνο επεξεργασίας ερωτημάτων προκύπτουν περισσότερες τιμές NULL έχουμε μικρότερη ευελιξία τροποποίησης του σχήματος

Στις επόμενες υποενότητες παρουσιάζονται δύο προσεγγίσεις μετάβασης, στοιχεία από τις οποίες ο σχεδιαστής μπορεί να δανειστεί για να μεταβεί στο επιθυμητό λογικό σχήμα. Ασχέτως προσέγγισης, ισχύουν οι επόμενοι κανόνες:

η προσδιορίζουσα συσχέτιση μιας ασθενούς οντότητας (δες Ενότητα 1.2.2) πάντα απορροφάται από την ασθενή οντότητα (αφού η παραγόμενη από την ασθενή οντότητα σχέση περιέχει το κλειδί της οντότητας κατόχου)

κάθε Μ:Ν συσχέτιση αναπαρίσταται από ξεχωριστή σχέση κάθε τριαδική, ή μεγαλύτερου βαθμού συσχέτιση, αναπαρίσταται από

ξεχωριστή σχέση

1.3.1 «Συντηρητική» προσέγγιση

Οι κανόνες αυτής της προσέγγισης είναι οι ακόλουθοι:

1. κάθε οντότητα αναπαρίσταται από μια σχέση (τα κατηγορήματα της οντότητας γίνονται τα πεδία της σχέσης)

2. κάθε συσχέτιση μετατρέπεται σε σχέση με τον ακόλουθο τρόπο:• τα κλειδιά τα σχετιζόμενων οντοτήτων προστίθενται στη σχέση (ως

κλειδί της σχέσης ορίζονται τα πεδία που αντιστοιχούν στα κατηγορήματα-κλειδί της συσχέτισης με βάση τον κανόνα που αναφέρεται στην Ενότητα 1.1)

• τυχόν κατηγορήματα της συσχέτισης προστίθενται ως πεδία στη σχέση

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

Παρατηρήσεις: ο κανόνας (2) εφαρμόζεται σε όλες τις συσχετίσεις ανεξαιρέτως, ασχέτως

βαθμού, συμμετοχής ή λόγου πληθικότητας4, συνεπώς η μέθοδος εξασφαλίζει σταθερότητα (γι’ αυτό ονομάζεται και

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

πλεονεκτήματα της προσέγγισης: παρέχει σταθερότητα του σχεσιακού σχήματος σε πιθανές αλλαγές στο εννοιολογικό σχήμα.

μειονεκτήματα της προσέγγισης: έχει ως αποτέλεσμα τη δημιουργία μεγαλύτερου αριθμού σχέσεων αναλογικά με άλλες προσεγγίσεις.

4 εφαρμόζεται και στις αναδρομικές συσχετίσεις, αντιμετωπίζοντας την οντότητα σαν δύο διακριτές οντότητες κατά τη στιγμή της μετάβασης στο σχεσιακό σχήμα

16

Page 17: database conceptual design

ΑΣΚΗΣΗ ΑΥΤΟΑΞΙΟΛΌΓΗΣΗΣ 1-4

Δημιουργήστε το σχεσιακό σχήμα που αντιστοιχεί στο εννοιολογικό απόσπασμα μιας δανειστικής βιβλιοθήκης που παρουσιάζεται στο Σχήμα 12, με βάση τη συντηρητική προσέγγιση.

Σχήμα 13 Παράδειγμα «Δανειστική Βιβλιοθήκη»

1.3.2 Προσέγγιση «απορροφήσεων»

Οι κανόνες αυτής της προσέγγισης είναι οι ακόλουθοι:

1. κάθε οντότητα αναπαρίσταται από μια σχέση (τα κατηγορήματα της οντότητας γίνονται τα πεδία της σχέσης)

2. κάθε συσχέτισης λόγου πληθικότητας 1-Ν απορροφάται από την οντότητα της Ν-πλευράς:

η σχέση που αντιστοιχεί στην οντότητα της Ν-πλευράς «κληρονομεί» το πρωτεύον κλειδί της σχέσης που αντιστοιχεί στην 1-πλευρά (αυτό ισχύει και για αναδρομικές συσχετίσεις, στις οποίες το πρωτεύον κλειδί της 1-πλευράς μετονομάζεται ανάλογα με το «ρόλο» της αντίστοιχης οντότητας στη συσχέτιση) καθώς και

τυχόν κατηγορήματα της συσχέτισης 3. κάθε Μ-Ν δυαδική συσχέτιση ή συσχέτιση βαθμού >2 μετατρέπεται σε σχέση

με τον ακόλουθο τρόπο: τα κλειδιά τα σχετιζόμενων οντοτήτων προστίθενται στη σχέση (ως

κλειδί της σχέσης ορίζονται τα πεδία που αντιστοιχούν στα κατηγορήματα-κλειδί της συσχέτισης με βάση τον κανόνα που αναφέρεται στην Ενότητα 1.1)

τυχόν κατηγορήματα της συσχέτισης προστίθενται ως πεδία στη σχέση

4. οι συσχετίσεις 1-1 αντιμετωπίζονται είτε σαν 1-Ν είτε σαν Ν-1 (η απορρόφηση ισχύει προς οποιαδήποτε κατεύθυνση, με προτίμηση στην πλευρά πλήρους συμμετοχής, αν υπάρχει [γιατί;])

Παρατηρήσεις: όταν το πρωτεύον κλειδί μιας σχέσης εμφανίζεται σε μια άλλη σχέση ως

πεδίο, τότε το πεδίο αυτό της τελευταίας ονομάζεται ξένο κλειδί (foreign key).

ΜΑΘΗΤΗΣΜ Ν

ΗΜ/ΝΙΑ

ΑΙΤΗΣΗ ΔΑΝΕΙΣΜΟΥ

ΔΑΝΕΙΣΜΟΣ

ΑΝΤΙΤΥΠΟ

ΟΝΟΜ/ΜΟ

ΑΜ

ISBN

ΤΙΤΛΟΣ

ΣΥΓΓΡΑΦΕΑΣ

AA

ΗΜ/ΝΙΑ ΛΗΞΗΣ

Ν1

17

Page 18: database conceptual design

συνήθως, τα ξένα κλειδιά που ενσωματώνονται στη σχέση της Ν-πλευράς, μετονομάζονται ώστε να αντανακλούν αυτή τους την ιδιότητα (δες επίλυση Δραστηριότητας 1.5), ιδίως όταν το όνομα του πρωτεύοντος κλειδιού δεν ενισχύει τη σημασιολογία ή μπορεί να προκαλέσει σύγχυση (π.χ. σε περιπτώσεις τετριμμένων πεδίων όπως id, ΑΑ, Κωδικός, κ.λ.π.).

πλεονεκτήματα της προσέγγισης: ελαχιστοποιεί τον αριθμό των παραγόμενων σχέσεων.

μειονεκτήματα της προσέγγισης: α) το σχεσιακό σχήμα που προκύπτει είναι δυνατό να χρειαστεί τροποποίηση αν αλλάξουν οι πληθικότητες κάποιων συσχετίσεων και β) στο προκύπτον σχήμα κάποια ξένα κλειδιά δύναται να έχουν NULL τιμή.

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

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

ΔΡΑΣΤΗΡΙΟΤΗΤΑ 1-5

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

ΔΡΑΣΤΗΡΙΟΤΗΤΑ 1-6

Μεταφράστε σε σχεσιακό σχήμα, με βάση όλες τις προσεγγίσεις που περιγράφηκαν, το ακόλουθο εννοιολογικό απόσπασμα:

ΑΑΝΑΜΕ Α#

Ν

R1

BBΝΑΜΕ

B#

1

X

D

DΝΑΜΕ

D#R3

Ν

R2

CCΝΑΜΕ

C#1

Y

1 1

Ν

R4

EEΝΑΜΕ

E#M

Z

W

18

Page 19: database conceptual design

Επιλύσεις ασκήσεων αυτοαξιολόγησης

ΑΣΚΗΣΗ 1-1

Από το διάγραμμα παρατηρούμε πως κάθε μάθημα συνδέεται αποκλειστικά με ένα καθηγητή ενώ υπάρχει περίπτωση καθηγητή που διδάσκει περισσότερα του ενός μαθήματα (Θωμαΐδης). Αυτό είναι μια ένδειξη πως ο λόγος πληθικότητας της συσχέτισης είναι 1-Ν, όχι όμως κι απόδειξη. Κι αυτό γιατί υπενθυμίζουμε πως ο λόγος πληθικότητας καθορίζεται από τη δυνητική σύνδεση μεταξύ των οντοτήτων, κι όχι από την τρέχουσα κατάσταση της βάσης δεδομένων. Συνεπώς τίποτα δεν απαγορεύει μελλοντικά την αποθήκευση της εγγραφής <ΖΕΡΒΟΣ, ΧΗΜΕΙΑ>, κάτι που θα μετέτρεπε τον λόγο πληθικότητας σε Μ-Ν. Συνεπώς, με βάση τη διαγραμματική αναπαράσταση συσχετίσεων, μόνο η πληθικότητα Μ-Ν μπορεί να συναχθεί με βεβαιότητα, καθώς κάθε άλλη περίπτωση (και χωρίς άλλη γνώση για την εφαρμογή) είναι ενδεικτική του λόγου πληθικότητας αλλά όχι δεσμευτική.

ΑΣΚΗΣΗ 1-2

Όπως ήδη έχει συζητηθεί και στην περίπτωση των συσχετίσεων, ο προσδιορισμός των ασθενών οντοτήτων μιας εφαρμογής εξαρτάται μόνο από τους κανόνες και τη λογική της εφαρμογής κι όχι από την κοινή λογική ή τις συνθήκες του πραγματικού κόσμου. Συνεπώς, δεδομένου ότι οι προδιαγραφές της εν λόγω βάσης δεδομένων απαιτούν την αποθήκευση μόνο του μικρού ονόματος και του έτους γέννησης των τέκνων των υπαλλήλων, η οντότητα ΤΕΚΝΟ είναι ασθενής, δηλαδή στο μοντέλο του κόσμου που η βάση μας αναπαριστά, η οντότητα αυτή δεν έχει πλήρως καθορισμένο κλειδί παρά μόνο διακρίνουσα (ποιά;), ασχέτως αν στην πραγματικότητα τα παιδιά των υπαλλήλων είναι ή δεν είναι ενήλικες, έχουν ή δεν έχουν ΑΦΜ, ζουν ή δε ζουν. Φυσικά θα μπορούσε κανείς να ισχυριστεί πως με την προσθήκη ενός κατηγορήματος ΑΑ που απλώς καταγράφει αύξοντα αριθμό εγγραφών ενός πίνακα, κάθε οντότητα μετατρέπεται σε ισχυρή. Σωστά, όμως όπως κι η προηγούμενη πρόταση υποδεικνύει, αυτό είναι μια τακτική που οι σχεδιαστές βάσεων δεδομένων υιοθετούν στη φάση λογικής ή φυσικής σχεδίασης (στον καθορισμό πινάκων και πιθανά κατά τη διαδικασία βελτιστοποίησης του τελικού σχήματος) για λόγους απόδοσης ή αποτελεσματικότητας του σχήματος σε σχέση με συγκεκριμένες ερωτήσεις που αυτό θα πρέπει να απαντά. Στην εννοιολογική φάση κανείς πρέπει να σκέφτεται και να αποτυπώνει τα εγγενή (πραγματικά, κι όχι πλεονάζοντα) χαρακτηριστικά και συσχετισμούς των οντοτήτων ώστε εν τέλει να αποτυπώσει εννοιολογικά τη δομή της πληροφορίας που απαιτεί η εφαρμογή. Συνεπώς, με βάση τα πιο πάνω τι θα απαντούσατε στα δύο ερωτήματα της άσκησης;

ΑΣΚΗΣΗ 1-3

Στο επόμενο σχήμα απεικονίζεται μια ενδεικτική διαγραμματική αναπαράσταση μιας ειδίκευσης. Μεταξύ κάθε υποκλάσης και της υπερκλάσης υπάρχει μια αντιστοίχιση που θυμίζει συσχέτιση 1-1. Η διαφορά είναι πως σε μια συσχέτιση τα στιγμιότυπα που συνδέονται αφορούν δυο ξεχωριστές πραγματικές οντότητες ενώ στην πιο κάτω 1-1 αντιστοίχιση τα δυο στιγμιότυπα αφορούν την ίδια πραγματική οντότητα.

19

Page 20: database conceptual design

Επισημαίνουμε (όπως φαίνεται και στο σχήμα) πως κάθε στιγμιότυπο υποκλάσης υποχρεωτικά σχετίζεται με κάποιο στιγμιότυπο της υπερκλάσης.

ΑΣΚΗΣΗ 1-4

Με βάση τους κανόνες της συντηρητικής μεθόδου, οι σχέσεις που προκύπτουν είναι οι ακόλουθες:

ΜΑΘΗΤΗΣ(ΑΜ, ΟΝΟΜ/ΜΟ)ΑΝΤΙΤΥΠΟ(ISBN, AA, ΤΙΤΛΟΣ, ΣΥΓΓΡΑΦΕΑΣ)ΑΙΤΗΣΗ_ΔΑΝΕΙΣΜΟΥ(ISBN, AA, ΑΜ, ΗΜ/ΝΙΑ)ΔΑΝΕΙΣΜΟΣ(ISBN, AA, ΑΜ, ΗΜ/ΝΙΑ_ΛΗΞΗΣ)

Αν η απάντησή σας διαφοροποιήθηκε, μελετήστε πάλι προσεκτικά τις Ενότητες 1.1 και 1.3.1.

ΤΕΧΝΙΚΟΣ

ΥΠΑΛΛΗΛΟΣ

ΓΡΑΜΜΑΤΕΑΣ

ΜΗΧΑΝΙΚΟΣ

20

Page 21: database conceptual design

Επιλύσεις επιλεγμένων δραστηριοτήτων

ΔΡΑΣΤΗΡΙΟΤΗΤΑ 1-1

Η απάντηση είναι 1-Ν. Τεκμηριώστε το.

ΔΡΑΣΤΗΡΙΟΤΗΤΑ 1-3

Οποιαδήποτε τριαδική συσχέτιση μπορεί να μεταφραστεί σε ένα σχήμα που περιέχει τρεις δυαδικές συσχετίσεις. Η βασική ιδέα είναι η αναπαράσταση της τριαδικής συσχέτισης με μια νέα οντότητα η οποία παίζει το ρόλο του στοιχείου που ταυτόχρονα συνδέει στιγμιότυπα από τις τρεις υπόλοιπες οντότητες. Έτσι:

η τριαδική συσχέτιση μετατρέπεται σε ασθενή (γιατί;) οντότητα κάθε μια από τις τρεις οντότητες συνδέονται με προσδιορίζουσα συσχέτιση με

τη νέα οντότητα οι τρεις δυαδικές συσχετίσεις έχουν λόγο πληθικότητας 1-Ν

Ωστόσο, δε συνιστούμε την υιοθέτηση αυτής της τακτικής κατά τη σχεδίαση, λόγω των μειονεκτημάτων της:

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

το νέο σχήμα δε μπορεί να αναπαραστήσει τους περιορισμούς που προκύπτουν από το λόγο πληθικότητας της τριαδικής συσχέτισης (ουσιαστικά αντιστοιχεί σε αναπαράσταση συσχέτισης Ν-Μ-Κ – όμως δε μπορεί να γίνει τίποτε καλύτερο, ασχέτως της πληθικότητας της τριαδικής, λόγω των έμμεσων δυαδικών συσχετίσεων που είναι πάντα Μ-Ν)

ΔΡΑΣΤΗΡΙΟΤΗΤΑ 1-4

Θα αντιμετωπίσουμε το πρόβλημα συνδυαστικά, αναλύοντας εξαντλητικά τις περιπτώσεις. Κατ’ αρχήν οι παράμετροι με βάση τις οποίες διαφοροποιούμε περιπτώσεις είναι τρεις:

το είδος της λειτουργίας (εισαγωγή/διαγραφή – 2 τιμές) το πού λαμβάνει χώρα η λειτουργία (υπερκλάση/υποκλάσεις – 2 τιμές) το είδος της ειδίκευσης/γενίκευσης με βάση τους περιορισμούς συμμετοχής

και κάλυψης (disjoint-total, disjoint-partial, overlap-total, overlap-partial, 4 τιμές)

Συνεπώς το σύνολο όλων των δυνατών περιπτώσεων περιλαμβάνει τις 16 (2x2x4) εξής περιπτώσεις (για την ακρίβεια, λαμβάνοντας υπόψη αν αναφερόμαστε σε

Α

B

C

R

R

Α

BC 1 1

1

NN

N

21

Page 22: database conceptual design

ειδίκευση ή γενίκευση5, όλες οι δυνατές περιπτώσεις είναι 32, τη συγκεκριμένη διάκριση ωστόσο την ενσωματώνουμε στις παρατηρήσεις, για τις έγκυρες περιπτώσεις):

Α/Α ΛΕΙΤΟΥΡΓΙΑ ΛΑΜΒΑΝΕΙ ΧΩΡΑ ΤΥΠΟΣ ΠΑΡΑΤΗΡΗΣΕΙΣ

1 ΕΙΣΑΓΩΓΗ ΥΠΕΡΚΛΑΣΗ d-tΕισάγεται υποχρεωτικά το αντίστοιχο στιγμιότυπο στην κατάλληλη (μοναδική) υποκλάση

2 “ “ d-pΕιδίκευση: δεν είναι υποχρεωτική η εισαγωγή αντίστοιχου στιγμιοτύπου σε κάποια υποκλάση

3 “ “ o-t Εισάγονται υποχρεωτικά τα αντίστοιχα στιγμιότυπα στις κατάλληλες υποκλάσεις

4 “ “ o-pΕιδίκευση: δεν είναι υποχρεωτική η εισαγωγή αντίστοιχων στιγμιοτύπων σε υποκλάσεις

5 “ ΥΠΟΚΛΑΣΕΙΣ d-t Όπως έχει ήδη επισημανθεί, κάθε στιγμιότυπο υποκλάσης πρέπει να σχετίζεται με ένα στιγμιότυπο της υπερκλάσης, συνεπώς στην περίπτωση αυτή πρέπει να προστεθεί το στιγμιότυπο στην υπερκλάση, αν αυτό δεν υπάρχει ήδη

6 “ “ d-p

7 “ “ o-t

8 “ “ o-p

9 ΔΙΑΓΡΑΦΗ ΥΠΕΡΚΛΑΣΗ d-t

Διαγράφονται και τα αντίστοιχα στιγμιότυπα των υποκλάσεων

10 “ “ d-p

11 “ “ o-t

12 “ “ o-p

13 “ ΥΠΟΚΛΑΣΕΙΣ d-t

Γενίκευση: Διαγράφεται και το αντίστοιχο στιγμιότυπο της υπερκλάσης

Ειδίκευση: δεν είναι υποχρεωτική η διαγραφή του στιγμιοτύπου της υπερκλάσης, υπάρχει περίπτωση αυτό να αλλάξει ρόλο (π.χ. μια υπάλληλος από τεχνικός να γίνει γραμματέας)

14 “ “ d-p

Ειδίκευση: δεν είναι υποχρεωτική η διαγραφή του στιγμιοτύπου της υπερκλάσης, λόγω πιθανής αλλαγής ρόλου (δες περίπτωση 13)

15 “ “ o-t

Γενίκευση: δεν είναι υποχρεωτική η διαγραφή του στιγμιοτύπου της υπερκλάσης (μπορεί να διατηρείται σε άλλη υποκλάση αντίστοιχο στιγμιότυπο λόγω overlap)

Ειδίκευση: δεν είναι υποχρεωτική η διαγραφή του στιγμιοτύπου της υπερκλάσης, υπάρχει περίπτωση αυτό να αλλάξει ρόλο ή να διατηρείται σε άλλη υποκλάση αντίστοιχο στιγμιότυπο

16 “ “ o-p

Ειδίκευση: δεν είναι υποχρεωτική η διαγραφή του στιγμιοτύπου της υπερκλάσης, υπάρχει περίπτωση αυτό να αλλάξει ρόλο ή να διατηρείται σε άλλη υποκλάση αντίστοιχο στιγμιότυπο

Συγχαρητήρια αν ολοκληρώσατε με επιτυχία αυτή τη δραστηριότητα. Αυτό υποδηλώνει άριστη κατανόηση των ιεραρχιών ειδίκευσης/γενίκευσης.

5 στην περίπτωση γενίκευσης ακυρώνονται όλοι οι x-p συνδυασμοί (γιατί;)

22

Page 23: database conceptual design

ΔΡΑΣΤΗΡΙΟΤΗΤΑ 1-5

Με βάση τους κανόνες της μεθόδου των απορροφήσεων, οι σχέσεις που προκύπτουν είναι οι ακόλουθες:

ΜΑΘΗΤΗΣ(ΑΜ, ΟΝΟΜ/ΜΟ)ΑΝΤΙΤΥΠΟ(ISBN, AA, ΤΙΤΛΟΣ, ΣΥΓΓΡΑΦΕΑΣ, ΑΜ_ΜΑΘΗΤΗ, ΗΜ/ΝΙΑ_ΛΗΞΗΣ)ΑΙΤΗΣΗ_ΔΑΝΕΙΣΜΟΥ(ISBN, AA, ΑΜ, ΗΜ/ΝΙΑ)

Αν θεωρήσουμε πως η οντότητα ΑΝΤΙΤΥΠΟ συνδέεται με μερική συμμετοχή με τη συσχέτιση ΔΑΝΕΙΣΜΟΣ, τότε με βάση την παραλλαγή της προσέγγισης των απορροφήσεων, το σχεσιακό σχήμα που προκύπτει είναι το ακόλουθο (ταυτίζεται με αυτό της συντηρητικής προσέγγισης):

ΜΑΘΗΤΗΣ(ΑΜ, ΟΝΟΜ/ΜΟ)ΑΝΤΙΤΥΠΟ(ISBN, AA, ΤΙΤΛΟΣ, ΣΥΓΓΡΑΦΕΑΣ)ΑΙΤΗΣΗ_ΔΑΝΕΙΣΜΟΥ(ISBN, AA, ΑΜ, ΗΜ/ΝΙΑ)ΔΑΝΕΙΣΜΟΣ(ISBN, AA, ΑΜ, ΗΜ/ΝΙΑ_ΛΗΞΗΣ)

ΔΡΑΣΤΗΡΙΟΤΗΤΑ 1-6

Συντηρητική Προσέγγιση Προσέγγιση Απορροφήσεων Παραλλαγή Προσέγγισης Απορροφήσεων

Α : (A#, ANAME)R1: (A#, B#, X)B : (B#, BNAME)R2: (B#, C#, Y)C : (C#, CNAME)R3: (B#, D#)D : (D#, DNAME)R4: (D#, E#, Z, W)E : (E#, ENAME)

Α : (A#, ANAME)B : (B#, BNAME, A#, X, C#, Y)C : (C#, CNAME)D : (D#, DNAME, B#)R4: (D#, E#, Z, W)E : (E#, ENAME)

Α : (A#, ANAME)B : (B#, BNAME, A#, X)R2: (B#, C#, Y)C : (C#, CNAME)D : (D#, B#, DNAME)R4: (D#, E#, Z, W)E : (E#, ENAME)

23