You are on page 1of 66

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ

9ο Εξάμηνο 2018

Ενότητα 2
Μοντέλα Δεδομένων
Οντοτήτων Συσχετίσεων
Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Τομέας Ηλεκτρονικής και Υπολογιστών
Α.Π.Θ.
Περιεχόμενα
 Βασικά Βήματα σχεδιασμού μιας ΒΔ
 Γιατί χρειαζόμαστε ένα μοντέλο ΒΔ
 Βασικές Αρχές ενός Μοντέλου ΟΣ
 Σχεδιασμός ενός διαγράμματος ΟΣ
 Αναπαράσταση Σχέσεων 1:1, 1:Ν, Ν:Μ
 Αδύναμες Οντότητες
 Is-A Subtypes and Supertypes
 Αναδρομικές συσχετίσεις
 Μετατροπή ενός κειμένου απαιτήσεων σε διάγραμμα ΟΣ

2 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Τρία Στάδια σχεδιασμού ΒΔ
1. Ανάλυση Απαιτήσεων (συλλογή πληροφοριών)
2. Στάδιο σχεδιασμού (γραφική αναπαράσταση του
προβλήματος)
3. Στάδιο εφαρμογής

3 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Ανάλυση Απαιτήσεων
 Πηγές αναζήτησης απαιτήσεων
 Συνεντεύξεις χρηστών
 Υπάρχουσες
Κατανόηση
 Φόρμες του
 Εκθέσεις Προβλήματος
 Ερωτήματα
 Κανόνες της επιχείρησης
 Παρατήρηση του τρόπου εργασίας των υπαλλήλων
 Συναντήσεις με εκπροσώπους των εμπλεκομένων στην εφαρμογή

4 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Οι Απαιτήσεις οδηγούν στο Μοντέλο
Δεδομένων
 Μοντέλο: Αφαιρετική αναπαράσταση του πραγματικού
κόσμου.

ΣΥΣΤΗΜΑ ΒΔ
ΠΡΑΓΜΑΤΙΚΟΤΗΤΑ
Μοντελοποίηση ΜΟΝΤΕΛΟ
Απαιτήσεις

5 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Μοντέλο Δεδομένων
 Το μοντέλο δεδομένων αναπαριστά μια συγκεκριμένη αντίληψη
της πραγματικότητας
 Η χρήση του μοντέλου αντανακλά τις λειτουργίες της
πραγματικότητας
 Η διαδικασία της μοντελοποίησης περιλαμβάνει επιλογή των
δομών της πραγματικότητας και την αφηρημένη αναπαράσταση
τους
 Το μοντέλο δεδομένων περιλαμβάνει τα εργαλεία για την
αναπαράσταση:
 Δομών δεδομένων
 Περιορισμών ακεραιότητας
 Λειτουργιών

6 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Μοντέλα Δεδομένων
 Μοντέλα βασισμένα σε αντικείμενα (object based models)
 Αντικειμενοστραφές
 Οντοτήτων-Συσχετίσεων (E/R)

 Μοντέλα βασισμένα σε εγγραφές (record based models)


 Ιεραρχικό
 Δικτυακό
 Σχεσιακό

7 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Αντικειμενοστραφές Μοντέλο
 Βασίζεται στον αντικειμενοστραφή προγραμματισμό
 π.χ. Simula, Smalltalk, C++, Java
 η περιοχή συνεχώς εξελίσσεται

 Το αντικειμενοστραφές (Object-oriented ή ΟΟ) μοντέλο βασίζεται σε ΟΟ


γλώσσα με προσθήκη εντολών διαχείρισης ΒΔ (π.χ. Object Query Language –
OQL)
 Definition by ODBMS.org:
“[…a system] that supports the modelling and creation of data as objects.
This includes some kind of support for classes of objects and the inheritance
of class properties and methods by subclasses and their objects.”
 Εμπορικά ΟΟ συστήματα περιλαμβάνουν τα GemStone, Ontos, Orion-2, Statice,
Versant Object Database, db4o, O2

8 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Αντικειμενοστραφής Θεωρία - Περίληψη
 Κλάσεις αντικειμένων
 Γνωρίσματα αντικειμένων, βασικοί τύποι, τιμές
 Διεπαφή (interface) και μέθοδοι (methods) αντικειμένου
 Υλοποίηση στο σώμα του αντικειμένου
 Μηνύματα
 Ενεργοποιούν μεθόδους
 Δίνουν όνομα σε μια μέθοδο και περνάνε παραμέτρους
 Επιστρέφουν μια τιμή (αποτέλεσμα)
 Encapsulation
 Γνωρίσματα και μέθοδοι διακρίνονται σε φαvερά (public) και κρυφά (private)
 Στιγμιότυπο αντικειμένου: δημιουργία και καταστροφή αντικειμένου
 Ταυτότητα αντικειμένου (object identifier)
 Σύνθετα αντικείμενα και αντικείμενα πολυμέσων
 Υποκλάσεις – κληρονομικότητα – πολλαπλή κληρονομικότητα
 Μεταβατικά και μόνιμα αντικείμενα

9 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Αντικειμενοστραφές Μοντέλο - Δομές
class flight-instance {
type tuple ( flight-date: tuple ( year: integer, month: integer, day: integer),
instance-of: flight-schedule,
passengers: set (customer) inv customer::reservations)
method add-passenger(new-passenger:customer):boolean,
/*adds to passengers; invokes customer.make-reservation */
remove-passenger(passenger: customer):boolean
/*removes from passengers; invokes customer.cancel-reservation*/
}
O2-like syntax
class customer { (not SQL3)

type tuple ( customer#: integer,


customer-name: tuple ( fname: string, lname: string),
reservations: set (flight-instance) inv flight-instance::passengers)
method make-reservation(new-reservation: flight-instance): boolean,
cancel-reservation(reservation: flight-instance): boolean
}

10 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Αντικειμενοστραφές Μοντέλο - Μειονεκτήματα
 Έλλειψη των κατάλληλων προτύπων
 Κάθε OODBMS ακολουθεί το δικό του πρότυπο, τις δικές του γλώσσες, κτλ.

 Πολυπλοκότητα προσπέλασης δεδομένων

 Προβλήματα αποδοτικότητας

 Μη υποστήριξη βασικών δυνατοτήτων των ΒΔ


 Όψεις
 Ρόλοι - Δικαιώματα

11 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Μοντέλο Οντοτήτων-Συσχετίσεων
 Το πιο διαδομένο μοντέλο δεδομένων
 Αναπτύχθηκε από τον P. Chen (1976) ως ένας τρόπος επικοινωνίας μεταξύ
χρηστών και σχεδιαστών
 Ορισμός σχήματος (schema) που αναπαριστά τη συνολική λογική δομή της
βάσης
 Μετά τη συλλογή των απαιτήσεων, αυτές μετατρέπονται σε ένα μοντέλο
Ο/Σ
 Το μοντέλο Ο/Σ βασίζεται στην αντίληψη ότι ο πραγματικός κόσμος
αποτελείται από
1. οντότητες (entities) με
2. γνωρίσματα (attributes)
 Identifiers-Keys
 Non-key attributes
3. συσχετίσεις (relationships) μεταξύ των οντοτήτων.

12 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Μοντέλο Ο/Σ - Διάγραμμα visa
required

dept domestic international


time
flight flight
airport
name airport
code
dept n p
airport weekdays
1
airport airport flight
addr
schedule
1 arriv
airport n 1 flight#
street city zip

instance
arriv of
time

customer#
seat# date n

customer n reserva- n flight


name customer instance
tion

13 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Μοντέλο Ο/Σ - Δομή
Οντότητα Αντικείμενο, γεγονός, κατάσταση ή
αφηρημένη έννοια που ενδιαφερόμαστε να
καταγράψουμε

Γνωρίσματα
Ιδιότητες ή χαρακτηριστικά
που περιγράφουν μια οντότητα

Συσχέτιση Απεικόνιση μεταξύ οντοτήτων

το σύνολο των γνωρισμάτων της οντότητας, το


Κλειδί οποίο ταυτοποιεί κάθε εγγραφή και τη
διακρίνει από τις άλλες

14 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Μοντέλο Ο/Σ - Δομές Δεδομένων

Τύπος οντότητας

Τύπος συσχέτισης Ημερ. γέννησης

Ηλικία
Γνώρισμα Παραγόμενο γνώρισμα

δρόμος πόλη
Mon,Tues
Διεύθυνση
Πλειότιμο γνώρισμα
Σύνθετο γνώρισμα
15 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018
Οντότητα / Στιγμιότυπο Οντότητας
 Τύποι Οντοτήτων: Αντικείμενα με κοινά χαρακτηριστικά ομαδοποιούνται
περιέχει ένα σύνολο από ιδιότητες και το format αυτών
 Π.χ. ο Thom Yorke και οι Depeche Mode μπορούν να ομαδοποιηθούν στην οντότητα
Performer FLIGHT-SCHEDULE
FLIGHT#

AIRLINE
WEEKDAY
PRICE

 Στιγμιότυπο οντότητας: είναι εγγραφές αποθηκευμένες στην οντότητα με


συγκεκριμένη τιμή FLIGHT-SCHEDULE

FLIGHT# AIRLINE WEEKDAY PRICE

101 delta Mo,Fr 156


545 american Mo,We,Fr 110
3 στιγμιότυπα
912 scandinavian Fr 450

16 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Γνωρίσματα Οντότητας
 Γνωρίσματα: περιγράφουν τις οντότητες. Πρόκειται για χαρακτηριστικά που
θέλουμε να καταγράφουμε στο στιγμιότυπο μίας οντότητας
 Παραδείγματα:
 Project_name
 Start_date
 Project_type
 Το πεδίο ορισμού (domain) ενός γνωρίσματος προσδιορίζει το σύνολο από
το οποίο αντλούνται οι τιμές του
FLIGHT-SCHEDULE

FLIGHT#
AIRLINE
WEEKDAY
4 γνωρίσματα
PRICE

17 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Γνωρίσματα Κλειδιά
 Τα στιγμιότυπα ξεχωρίζουν μεταξύ τους μέσω ενός
κλειδιού
 Κλειδιά (keys): Το γνώρισμα/γνωρίσματα που
προσδιορίζει με μοναδικό τρόπο μία οντότητα.
 ΑΜΚΑ
 ΑΕΜ unique
 Email
 DepartmentID non-unique
 FlightNo & FlightDate συνδυασμός γνωρισμάτων

18 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Κλειδιά
 Υπερκλειδί (superkey)
 Κάθε σύνολο γνωρισμάτων που αρκεί για να οριστεί μοναδικά κάθε
στιγμιότυπο
 Απλό ή Σύνθετο (simple, composite)
 Αν αποτελείται από ένα ή περισσότερα γνωρίσματα
 Υποψήφιο ή Εναλλακτικό (candidate, alternative)
 Αν έχει ελάχιστο πλήθος γνωρισμάτων
 Πρωτεύον ή Δευτερεύον (primary, secondary)
 Ορίζεται πρωτεύον αυτό που επιλέγουμε για να ορίσουμε μοναδικά
τα στιγμιότυπα

19 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Κλειδιά - Παράδειγμα
Επίθετο Όνομα ΑΜ Φοιτητή Τμήμα

Κλειδί Κλειδί
Σύνθετο (2 γνωρίσματα)
Υπερκλειδί

Σημείωση: Υπάρχουν πολλά εναλλακτικά κλειδιά!!!

Επιλέγουμε ως πρωτεύον το {ΑΜ Φοιτητή}

20 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Κλειδιά
 Unique
 χρησιμοποιούνται για την ομαδοποίηση των στιγμιότυπων μιας
οντότητας σε κατηγορίες
 Π.χ. στην οντότητα των Υπαλλήλων το departmentID είναι non-
unique. Είναι key;

Υπάλληλος# Ονομα WEEKDAY departmentID

101 MARY Mo,Fr 156


545 JOHN Mo,We,Fr 110
912 ANTONIS Fr 156

21 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Κλειδιά και Ταυτότητες (Keys and Identifiers)
 Τα κλειδιά είναι περιορισμοί μοναδικότητας και ενεργούν ως
ταυτότητες των εγγραφών
 Π.χ. ΕΡΓΑΖΟΜΕΝΟΣ (ΑΡ_ΤΑΥΤΟΤΗΤΑΣ, ΕΠΙΘΕΤΟ, ΟΝΟΜΑ, ΤΜΗΜΑ)
 Αν το FLIGHT# είναι κλειδί στο FLIGHT-SCHEDULE, υποχρεωτικά όλες οι τιμές
στο πεδίο FLIGHT# θα είναι μοναδικές στο FLIGHT-SCHEDULE

FLIGHT-SCHEDULE

FLIGHT# AIRLINE WEEKDAY PRICE

101 delta Mo 156


545 american We 110
912 scandinavian Fr 450
242 usair Mo 231

22 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Κλειδιά και Ταυτότητες - Παράδειγμα
 Θεωρείστε τα παρακάτω κλειδιά στο DEPT-AIRPORT:
FLIGHT# AIRPORT-CODE FLIGHT# AIRPORT-CODE FLIGHT# AIRPORT-CODE

Τι περιορισμούς εισάγουν στο DEPT-AIRPORT;

FLIGHT-SCHEDULE DEPT-AIRPORT

FLIGHT# AIRLINE WEEKDAY PRICE FLIGHT# AIRPORT-CODE

101 delta Mo 156 101 atl


545 american We 110 912 cph
912 scandinavian Fr 450 545 lax

242 usair Mo 231 242 bos

23 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Συσχετίσεις
 Το μοντέλο Ο-Σ διαχωρίζει ξεκάθαρα τις οντότητες από τον
μηχανισμό που τις συνδέει μεταξύ τους, δηλ. τις συσχετίσεις
(relationships)
 π.χ. τα στιγμιότυπα της οντότητας Μάθημα συνδέονται με τα στιγμιότυπα της
οντότητας Φοιτητής μέσω της συσχέτισης Παρακολουθεί

Φοιτητής Παρακολουθεί Μάθημα

 Οι συσχετίσεις μπορούν να έχουν γνωρίσματα


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

Καθηγητής Διδάσκει Μάθημα

fromYear toYear

24 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Τύποι Συσχετίσεων
 Θεμελιώδεις
 Ένα προς ένα (1:1)
 Ένα προς πολλά (1:Ν)
 Πολλά προς ένα (Ν:1)
 Πολλά προς πολλά (Ν:Μ)

 Αναδρομικές (recursive)

 Πολλαπλές συσχετίσεις

25 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Συσχέτιση 1:1
 Κάθε στιγμιότυπο (instance) μιας οντότητας Ε1 μπορεί να συσχετίζεται με
ακριβώς μία παρουσία μιας άλλης οντότητας Ε2 και αντιθέτως
Ένας καθηγητής συμβουλεύει το πολύ
έναν φοιτητή και ένας φοιτητής μπορεί να
έχει το πολύ ένα σύμβουλο

E1: Φοιτητής R: Συμβουλεύει E2: Καθηγητής


Ε1
r1
Ε2 Τ1
r2
Ε3 Τ2
r3
Ε4 Τ3
Ε5 . .
. .
.
. . .
.

26 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Συσχέτιση Ν:1
 Κάθε στιγμιότυπο της οντότητας Ε2 μπορεί να συσχετίζεται με καμία ή
περισσότερες (0 έως N) παρουσίες της Ε1, αλλά κάθε παρουσία της Ε1
μπορεί να συσχετίζεται με μια μόνο παρουσία της Ε2
Ένας καθηγητής συμβουλεύει πολλούς
φοιτητές και ένας φοιτητής μπορεί να έχει
R: Συμβουλεύει το πολύ ένα σύμβουλο
E1: Φοιτητής
r1
E2: Καθηγητής
Ε1 r2

Ε2 r3
Τ1
Ε3 r4
Τ2
Ε4 r5
Τ3
Ε5 r6
. .
. . .
. . .
.

27 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Συσχέτιση Μ:Ν
Ένας Φοιτητής μπορεί να έχει πολλούς συμβούλους
και…
…ένας καθηγητής μπορεί να συμβουλεύει πολλούς φοιτητές

E1: Φοιτητής R: Συμβουλεύει E2: Καθηγητής


r1

Ε1 r2

Ε2 r3
Τ1
Ε3 r4
Τ2
Ε4 r5
Τ3
Ε5 r6
. .
. . .
. . .
.

28 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Πολλαπλές Συσχετίσεις - Βαθμός Συσχέτισης
 Το πλήθος των οντοτήτων που συμμετέχουν σε μία συσχέτιση
 Π.χ. δυαδική, τριαδική, κ.τ.λ.

Μ Κ
Φοιτητής Παρακολουθεί Μάθημα

Ν
Καθηγητής

 Η συσχέτιση εκφράζει ποια μαθήματα παρακολουθεί ο φοιτητής


από τον κάθε καθηγητή.

29 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Πολλαπλές Συσχετίσεις - Βαθμός Συσχέτισης
 Το πλήθος των οντοτήτων που συμμετέχουν σε μία συσχέτιση
 Π.χ. δυαδική, τριαδική, κ.τ.λ.

Μ Κ
Ασθενής Συνταγή Φάρμακο

Ν
Ιατρός

 Ένας ιατρός γράφει μία συνταγή φαρμάκων για ένα ασθενή

30 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Τριαδική Συσχέτιση
 Ο κάθε φοιτητής μπορεί να παρακολουθεί ένα ή περισσότερα
μαθήματα σε ένα ή περισσότερους καθηγητές
E1: Φοιτητής R: Παρακολουθεί
E2: Καθηγητής
Π1 r1
Π2 r2 P1
. r3 P2
.
. P3
r4
E3: Μάθημα .
r5
.
Υ1 r6 .
Υ2 r7
Υ3 . Προσέξτε ότι σε κάθε
. . «τετραγωνάκι» της συσχέτισης
. . συμβάλλουν 3 γραμμές
.
31 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018
Αναδρομική Συσχέτιση
 Ρόλος (role) οντότητας είναι η λειτουργία που επιτελεί μία
οντότητα σε μία συσχέτιση.
 Είναι δυνατόν μία οντότητα να διακρίνεται από πολλούς
ρόλους. Για παράδειγμα, στην οντότητα Εργαζόμενος
διακρίνουμε δύο διακριτούς ρόλους: διευθυντής και
υπάλληλος.
 Σε μία αναδρομική (recursive) συσχέτιση έχουμε μία οντότητα
που συσχετίζεται με τον εαυτό της.

32 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


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

E1: Μάθημα R: Προαπαιτούμενα

r1
Μ1
Μ1 προαπαιτούμενα τα
Μ2 r2 Μ2, Μ4
Μ3 r3
Μ2 προαπαιτούμενο το
Μ4 r4 Μ3

Μ5 r5 Μ4 προαπαιτούμενα τα
Μ5, Μ3
. r6
.
.
.
.
.

33 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


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

Άνθρωπος

Γάμος

34 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Περιορισμοί στις Συσχετίσεις - cardinality
Έστω συσχέτιση Α, στην οποία συμμετέχει η οντότητα C
 Ο περιορισμός πληθικότητας min…max δηλώνει ότι ο αριθμός
των στιγμιοτύπων της συσχέτισης τύπου A στα οποία μπορεί να
συμμετέχει μία συγκεκριμένη οντότητα του τύπου C, πρέπει να
είναι στο (κλειστό) διάστημα min…max
 min ≥ 0 και max > 0
 max μπορεί να είναι το σύμβολο *, που αντιπροσωπεύει το άπειρο
 Ισχύουν οι παρακάτω συντομεύσεις:
 περιορισμοί της μορφής Ν...Ν (όπου min=max) γράφονται απλώς Ν
 το * σημαίνει 0...*

έγκυρο στιγμιότυπο του


διαγράμματος Ο/Σ:
η συσχέτιση a3 έχει διαγραφεί
γιατί θα παραβίαζε τα όρια
πληθικότητας 1...2

35 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Θεμελιώδεις Συσχετίσεις - Παράδειγμα
Μέσω της συσχέτισης Α και των
B
περιορισμών πληθικότητας,
υπονοούνται οι ακόλουθες
0...1 συσχετίσεις:
0...1  1:1 μεταξύ των οντοτήτων Β και C
C A * D  1:Ν μεταξύ των οντοτήτων Β και Ε
 1:Ν μεταξύ των οντοτήτων Β και D,
*  1:Ν μεταξύ των οντοτήτων C και D,
 1:Ν μεταξύ των οντοτήτων C και E
E  Μ:Ν μεταξύ των οντοτήτων D και E
… και αντίστροφα

Μία συσχέτιση 1:Ν (π.χ. η συσχέτιση μεταξύ Β και Ε) είναι


αντισυμμετρική: η αντίστροφη συσχέτιση (π.χ. η συσχέτιση
μεταξύ Ε και Β) ονομάζεται πολλά προς ένα και συμβολίζεται
Ν:1
36 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018
Cardinality παράδειγμα
 Πως διαβάζουμε μία συσχέτιση
 Από αριστερά προς τα δεξιά
 « ένας πελάτης μπορεί να κάνει από 1 έως Ν παραγγελίες»

 Από δεξιά προς τα αριστερά


 « μία παραγγελία μπορεί να γίνει από έναν μόνο πελάτη»
(1,1) Έχει (1,Ν)
πελάτης κάνει
παραγγελία

37 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Συσχετίσεις (min,max)
 Εκφράζουν τα (min, max) στιγμιότυπα της δεύτερης οντότητας
στα οποία μπορεί να συμμετέχει η πρώτη.

(0,Ν) Έχει (0,10)


φοιτητής γραφτεί
Μαθήματα

 Ένας φοιτητής μπορεί να γραφτεί σε 0 μέχρι 10 μαθήματα


 Ένα μάθημα μπορούν να το πάρουν από 0 έως Ν φοιτητές

38 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Γνωρίσματα Συσχέτισης
 Πότε μία συσχέτιση μπορεί να έχει γνώρισμα????
 Σε συσχέτιση 1:Ν
κωδικός
διεύθυνση ΑΜ

όνομα όνομα

1 Ν
Καθηγητής Συμβουλεύει Φοιτητής

ημερ.
επώνυμο
 Το γνώρισμα date καθορίζει πότε έγινε σύμβουλος
ο καθηγητής στο φοιτητή
 Σε συσχέτιση 1:Ν το γνώρισμα πηγαίνει στην οντότητα πολλά
39 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018
Γνωρίσματα Συσχέτισης
 Μπορεί να εμφανιστούν σε συσχετίσεις Ν:Μ

κωδικός
διεύθυνση ΑΜ

όνομα όνομα

N M
Καθηγητής Συμβουλεύει Φοιτητής

Από ημερ. Έως ημερ.


επώνυμο

 Συνδέουμε τις ιδιότητες «Από Ημερ», «Έως Ημερ» για να καθορίσουμε το


διάστημα για το οποίο ένας καθηγητής ήταν σύμβουλος

40 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Ασθενείς/Ισχυρές Οντότητες
 Ασθενής είναι μια οντότητα τα στιγμιότυπα της οποίας δεν
μπορούν να υπάρξουν χωρίς την ύπαρξη των στιγμιότυπων μιας
άλλης οντότητας
 Τα γνωρίσματά της δεν αρκούν για να σχηματίσουν πρωτεύον
κλειδί
 Οποιαδήποτε οντότητα δεν είναι Ασθενής είναι Ισχυρή
 Τα στιγμιότυπα μιας Ισχυρής οντότητας υπάρχουν ανεξάρτητα από τα
στιγμιότυπα άλλων οντοτήτων
 Π.χ.
 δεν μπορεί να υπάρχει ΠΑΡΑΓΓΕΛΙΑ αν δεν υπάρχουν ΠΕΛΑΤΕΣ
 Building-Apartment
 Product-Version
 Auto Model-Vehicle (το κλειδί της πρώτης πάει στη δεύτερη)

41 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Ασθενείς Οντότητες - Ιδιότητες
 Δεν έχουν ούτε απλό, ούτε σύνθετο κλειδί.

 Έχουν Μερικό (partial) κλειδί


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

 Προσδιορίζονται από τη σχέση τους (προσδιορίζουσα συσχέτιση)


με άλλες ισχυρές οντότητες σε συνδυασμό με τα μερικά κλειδιά

 Συμμετέχουν σε συσχετίσεις Ν:Μ μέσω προσδιορίζουσας


συσχέτισης με ισχυρή οντότητα

 Ασθενής Οντότητα έχει υποχρεωτική συμμετοχή ως προς την


προσδιορίζουσα συσχέτιση!!

42 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Ασθενείς Οντότητες - Παράδειγμα
 Σχέση μαθήματος - ενότητας

N id
Όνομα Μάθημα 1 ανήκει Ενότητα
έτος

μονάδες
περίοδος
κωδικός

 Κάθε ενότητα θα πρέπει να σχετίζεται με ένα μόνο μάθημα


 Η ενότητα προσδιορίζεται από {id, έτος, περίοδος} και τον κωδικό
του μαθήματος

43 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Ασθενείς Οντότητες - Παράδειγμα
 Σχέση παιδιού - γονέα

Είναι N Όνομα
Όνομα Πατέρας 1 Παιδί
γονέας Φύλο

Επώνυμο

ΑΔΤ

 Το παιδί προσδιορίζεται από το Όνομα του και ΑΔΤ του πατέρα.


 Κάθε παιδί έχει οπωσδήποτε γονέα!

44 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Ασθενείς Οντότητες - Παράδειγμα
 Σχέση οχήματος - μοντέλου

Manufacturer Auto_model 1 has N Vehicle


serialNo

EngineType
color
Model

 Το vehicle προσδιορίζεται από το key του Auto model και το serialNo

45 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Has-A και IS-A relationships
 Όλες οι προηγούμενες συσχετίσεις είναι Has-A
 γιατί χρησιμοποιούμε την έκφραση
 “an entity instance has a relationship to an other entity instance ”
 IS-a …. Όταν μια οντότητα είναι υποτύπος μιας άλλης
οντότητας …
 “an entity IS a subtype/supertype of an other entity”

46 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Ιεραρχίες τύπων οντοτήτων
 Κατά την σχεδίαση ενός μοντέλου Ο-Σ συχνά προκύπτουν
οντότητες οι οποίες είναι υποτύποι άλλων (subtypes)
 Π.χ. Τα οχήματα αποτελούνται από αυτοκίνητα, μηχανές, φορτηγά

 O τύπος οντότητας R είναι υποτύπος του τύπου οντότητας R΄:


 Κάθε στιγμιότυπο της οντότητας R είναι επίσης στιγμιότυπο της R΄
 Κάθε γνώρισμα της R΄ είναι επίσης γνώρισμα της R
 Η οντότητα R μπορεί να έχει και γνωρίσματα τα οποία δεν είναι
εφαρμόσιμα σε μία τυπική οντότητα τύπου R΄
Συνεπώς…
Κάθε κλειδί του τύπου οντότητας R΄ είναι
επίσης κλειδί για τον τύπο οντότητας R

47 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Ιεραρχίες τύπων οντοτήτων – Παράδειγμα
ID website
country
Performer
name

Αντιπροσωπεύει ταυτόχρονα δύο συσχετίσεις:


Singer Is-A Performer & Group Is-A Performer Is-A
disjoint

Singer creationDate
dateOfBirth Group breakUpDate

O τύπος DeadSinger είναι υποτύπος


Is-A
του Singer, αλλά και του Performer
disjoint

Alive Dead dateOfDeath


currentAddress
Singer Singer causeOfDeath

Κάθε γνώρισμα του Performer είναι και γνώρισμα του


Singer και, μεταβατικά, και γνώρισμα του DeadSinger

48 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Περιορισμοί στις Ιεραρχίες Οντοτήτων
ID website
country
Performer
name

Is-A
disjoint

Singer creationDate
dateOfBirth Group breakUpDate

Περιορισμός κάλυψης (covering Περιορισμός αμοιβαίου αποκλεισμού


constraint): η ένωση των οντοτήτων (disjointness constraint): οι υποτύποι
που ανήκουν στους τύπους Singer και οντοτήτων Singer και Group είναι
Group είναι ίση με το σύνολο των αμοιβαία αποκλειόμενοι (disjoint) – δεν
οντοτήτων του (υπερτύπου) Performer υπάρχει τραγουδιστής που να αποτελεί
group από μόνος του

49 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Περιορισμοί στις Ιεραρχίες Οντοτήτων
 Μια ομάδα IsA συσχετίσεων, C1 IsA C; C2 IsA C; ...; Ck IsA C
 ικανοποιεί τον περιορισμό αμοιβαίου αποκλεισμού αν τα σύνολα των
στιγμιοτύπων των οντοτήτων C1, C2, ..., CΚ είναι αμοιβαία αποκλειόμενα
 ικανοποιεί τον περιορισμό κάλυψης αν η ένωση των συνόλων των
στιγμιοτύπων των οντοτήτων C1, C2, ..., CΚ ταυτίζεται με το σύνολο των
στιγμιοτύπων της οντότητας C

Περιορισμός κάλυψης (covering Περιορισμός αμοιβαίου αποκλεισμού


constraint): η ένωση των οντοτήτων (disjointness constraint): οι υποτύποι
που ανήκουν στους τύπους Singer και οντοτήτων Singer και Group είναι
Group είναι ίση με το σύνολο των αμοιβαία αποκλειόμενοι (disjoint) – δεν
οντοτήτων του (υπερτύπου) Performer υπάρχει τραγουδιστής που να αποτελεί
group από μόνος του

50 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Υποχρεωτική και Προαιρετική Συμμετοχή
 Η συμμετοχή (participation) μίας οντότητας σε ένα σύνολο
συσχετισμών δηλώνει αν πρέπει οπωσδήποτε (ή όχι) να
συμμετέχει η οντότητα τουλάχιστον σε ένα συσχετισμό του
συνόλου.
 Υποχρεωτική ή καθολική: αν κάθε οντότητα ενός συνόλου
οντοτήτων Ε συμμετέχει σε ένα τουλάχιστον συσχετισμό του
συνόλου R.
 Προαιρετική ή μερική: αν μερικές μόνο οντότητες συμμετέχουν σε
συσχετισμούς του R.

51 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Υποχρεωτική Συμμετοχή
 Υποχρεωτική Συμμετοχή (από την πλευρά του Μαθήματος)

κωδικός
μονάδες κωδικός

τίτλος όνομα

N 1
Μάθημα Ανήκει Τμήμα

κτίριο

 Κάθε μάθημα θα πρέπει να ανήκει σε ένα τμήμα

52 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Υποχρεωτική Συμμετοχή
 Υποχρεωτική Συμμετοχή (από την πλευρά του Άρθρου)

κωδικός
PDF κωδικός

τίτλος τίτλος

N 1
Άρθρο Ανήκει Γνωστική Περιοχή

Αριθμός
συνδρομητών

 Κάθε άρθρο θα πρέπει να ανήκει σε μία γνωστική περιοχή

53 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Υποχρεωτική Συμμετοχή
 Υποχρεωτική Συμμετοχή (και από τις δύο πλευρές)

κωδικός
τηλέφωνο κωδικός

όνομα Σύνολο Άρθρων τίτλος

N Συγγραφή M
Καθηγητής Άρθρου
Άρθρο

PDF

 Κάθε Καθηγητής πρέπει να έχει Άρθρο


 Κάθε Άρθρο πρέπει να έχει Καθηγητή

54 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Προαιρετική Συμμετοχή

Αρχική Τελική
κωδικός
PDF σελίδα σελίδα κωδικός

τίτλος Συνέδριο

N Δημοσίευση 1
Άρθρο Σε Πρακτικά
Πρακτικά Συνεδρίου

Τόπος

 Ένα Άρθρο μπορεί να μην έχει δημοσιευτεί ακόμα.


 Για κάποιο Συνέδριο μπορεί να μην έχουμε πληροφορία για τα
άρθρα του.

55 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Μοντέλο Ο/Σ - Περιορισμοί Ακεραιότητας
(min,max)
1 Ν
E1 R E2 E1 R E2

Λόγος πληθικότητας 1:Ν για τις E1:E2 στην R Περιορισμός (min,max) για τη συμμετοχή της E2 στην R

E1 R E2 E1 R E2

Ολική συμμετοχή της E2 στην R Ασθενής τύπος οντότητας: E2


Προσδιορίζουσα συσχέτιση: R

E
A

Πρωτεύον γνώρισμα
E1 E2 E3

Συσχέτιση μέρους – συνόλου


56 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018
Παράδειγμα

Κατάλογος Βιβλιοθήκης
Προδιαγραφές Βιβλιοθήκης
 Η βιβλιοθήκη διατηρεί πληροφορίες για τα βιβλία που έχει στην
κατοχή της καθώς επίσης και για συγγραφείς. Κάθε βιβλίο πρέπει να
έχει γραφτεί από κάποιον συγγραφέα του οποίου τα στοιχεία
διατηρεί η βιβλιοθήκη.
 Η βιβλιοθήκη διατηρεί σύστημα κατηγοριοποίησης των βιβλίων της.
Κάθε βιβλίο πρέπει να ανήκει σε κάποια κατηγορία.
 Κάθε βιβλίο έχει μοναδικό ISBN, η βιβλιοθήκη διατηρεί όμως
αντίτυπα από κάθε βιβλίο, τα οποία δανείζει σε χρήστες.
 Οι χρήστες ανοίγουν λογαριασμό στη βιβλιοθήκη και λαμβάνουν
έναν μοναδικό κωδικό.
 Οι χρήστες μπορούν να δανειστούν βιβλία.

58 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Διάγραμμα Βιβλιοθήκης
ISBN

τίτλος έκδοση
Κωδικός
n Έχει 1 n 1
όνομα Συγγραφέας Βιβλίο ανήκει Κατηγορία
γράψει
επώνυμο
όνομα ID
όνομα Έχει
κωδικός

n
α/α αντιτύπου
n m
διεύθυνση Χρήστες Δανείστηκε Αντίτυπα
έτος

οδός Τ.Κ. Ημερ.


δανεισμού Ημερ.
Επιστροφής κατάσταση
πόλη

59 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Παράδειγμα

Έλεγχος Αποθήκης & Πελατολογίου Φαρμακείου


Προδιαγραφές Φαρμακείου
 Για κάθε πελάτη διατηρώ τα εξής:
 όνομα, επώνυμο, ασφαλιστικό φορέα, μητρώο ασφάλισης, ημερομηνία
γέννησης, ποσό που έχει δαπανήσει σε αγορές από το φαρμακείο καθώς και το
υπόλοιπο του λογαριασμού του (που δεν έχει εξοφληθεί).
 Για τα φάρμακα διατηρώ τα εξής:
 όνομα φαρμάκου, κατηγορία (αναλγητικό, υπνωτικό κ.α.), περιγραφή του
φαρμάκου, παρενέργειες, το μοναδικό κωδικό του φαρμάκου και την διαθέσιμη
ποσότητα στην αποθήκη.
 Αγορά φαρμάκων.
 Σε κάθε αγορά διατηρώ την ποσότητα του φαρμάκου, την ημερομηνία αγοράς
και την αξία της.
 Κάθε πελάτης μπορεί να κάνει μία ή περισσότερες αγορές. Μία αγορά
γίνεται αποκλειστικά από ένα πελάτη.
 Ένα φάρμακο μπορεί να συμμετέχει σε μία ή περισσότερες αγορές.
 Μία αγορά μπορεί να περιέχει ένα ή περισσότερα είδη φαρμάκων.

61 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Διάγραμμα Φαρμακείου

όνομα Ημερομηνία Αξία


ΑΜΚΑ Αγοράς
id
επώνυμο
1 n
πελάτης Αγοράζει Τιμολόγιο
Ασφ. φορέας

Συνολικές
m
Δαπάνες Υπόλοιπο
Λογαριασμού
Περιέχει ποσότητα
όνομα

παρενέργειες κατηγορία n
id#
Συνολική
ποσότητα
περιγραφή Φάρμακα

62 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Παράδειγμα

Εταιρεία Ασφάλισης Αυτοκινήτων


Προδιαγραφές Ασφαλιστικής
 Για κάθε πελάτη διατηρώ τα προσωπικά του στοιχεία:
 Κάθε πελάτης μπορεί να έχει ένα ή περισσότερα αυτοκίνητα.
 Για κάθε αυτοκίνητο διατηρώ τον αριθμό πλαισίου και το μοντέλο
του.
 Σε κάθε αυτοκίνητο μπορούν να συσχετιστούν από 0 έως
οποιοσδήποτε αριθμός ατυχημάτων.
 Κάθε ασφαλιστήριο συμβόλαιο καλύπτει ένα ή περισσότερα
αυτοκίνητα και έχει συνδεδεμένες μαζί του μία ή περισσότερες
πληρωμές ασφαλίστρων.
 Κάθε πληρωμή είναι για μία συγκεκριμένη χρονική περίοδο και έχει
μία ημερομηνία λήξης πληρωμής της οφειλής και την ημερομηνία
που γίνεται η πληρωμή.

64 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


Διάγραμμα Ασφαλιστικής
Κωδικός συμβολαίου Κωδικός
από
1 1 Πληρωμή
Συμβόλαιο πληρωμή Συμβολαίου

έως m
όνομα κωδικός Ημερομηνία
Καλύπτει ποσό
Λήξης πληρωμής
n
Μάρκα Ημερομηνία
m n πληρωμής
διεύθυνση πελάτης ιδιοκτήτης αυτοκίνητα
Αριθμός
m πλαισίου
οδός Τ.Κ.

πόλη Συμμετοχή
Κωδικός

n ημερομηνία
n Ατύχημα
τόπος

65 Βάσεις Δεδομένων – Μοντέλα ΒΔ ΤΗΜΜΥ - 2018


ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ
9ο Εξάμηνο 2018

Τέλος Ενότητας 2

Ευχαριστώ για την προσοχή σας!

You might also like