Κεφάλαιο 2

64
Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R Κεφάλαιο 2 MONTEΛΟΠΟΙΗΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ

description

Κεφάλαιο 2. MONTE ΛΟΠΟΙΗΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ. Εισαγωγικά για Μοντελοποίηση. ΜΟΝΤΕΛΑ - “ ΤΥΠΙΚΟ ” ΜΟΝΤΕΛΟ - “ ΜΟΝΤΕΛΟ ΠΡΑΓΜΑΤΙΚΟΥ ΚΟΣΜΟΥ ” - Διαισθητικό. Εργαλεία για Μοντελοποίηση. ΦΥΣΙΚΗ ΓΛΩΣΣΑ ( Ελληνικά, Αγγλικά, Κινέζικα, κλπ .) ΜΑΘΗΜΑΤΙΚΑ ( ποσότητα, - PowerPoint PPT Presentation

Transcript of Κεφάλαιο 2

Page 1: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 1

Κεφάλαιο 2Κεφάλαιο 2

MONTEΛΟΠΟΙΗΣΗ ΚΑΙ

ΑΝΑΠΤΥΞΗ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ

Page 2: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 2

Εισαγωγικά για ΜοντελοποίησηΕισαγωγικά για Μοντελοποίηση

ΜΟΝΤΕΛΑ

- “ΤΥΠΙΚΟ” ΜΟΝΤΕΛΟ

- “ΜΟΝΤΕΛΟ ΠΡΑΓΜΑΤΙΚΟΥ ΚΟΣΜΟΥ” - Διαισθητικό

Page 3: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 3

Εργαλεία για ΜοντελοποίησηΕργαλεία για Μοντελοποίηση

ΦΥΣΙΚΗ ΓΛΩΣΣΑ (Ελληνικά, Αγγλικά, Κινέζικα, κλπ.)

ΜΑΘΗΜΑΤΙΚΑ (ποσότητα,

ΛΟΓΙΚΗ (αιτίαση, επαγωγή, συνεπαγωγή, κλπ.) ΦΥΣΙΚΗ / ΧΗΜΕΙΑ (μοριακή δομή, ενέργεια, κλπ.)

Αιτιολογία:

- Καταγραφή Πληροφορίας

- Εξήγηση Συμπεριφοράς

- Πρόβλεψη Συμπεριφοράς

- Προσομοίωση

- Απόκρυψη Λεπτομερειών / Αφαίρεση

Page 4: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 4

Εργαλεία Μοντέλων ΔεδομένωνΕργαλεία Μοντέλων Δεδομένων

- Από το «περισσότερο» στο «λιγότερο», αφαιρετικά:

ΠΡΑΓΜΑΤΙΚΟΣ ΚΟΣΜΟΣ => => ΔΕΔΟΜΕΝΑ =>

=> ΜΟΝΤΕΛΟ

- Πέραν της καταγραφής των δεδομένων, χρειάζεται να:

ΟΡΓΑΝΩΣΟΥΜΕ --- ΕΡΜΗΝΕΥΣΟΥΜΕ --- ΔΙΑΣΥΝΔΕΣΟΥΜΕ τα δεδομένα

Ένα ΜΟΝΤΕΛΟ ΔΕΔΟΜΕΝΩΝ είναι ένα εργαλείο που επιτρέπει αυτή την ΑΦΑΙΡΕΣΗ (ανεξαρτήτως των συγκεκριμένων δεδομένων)

Page 5: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 5

Ερωτήσεις κατά την Μοντελοποίηση ΔεδομένωνΕρωτήσεις κατά την Μοντελοποίηση Δεδομένων

- Πως πρέπει να μοντελοποιήσουμε αυτό τον μικρόκοσμο?

- Ποιες είναι οι βασικές συνιστώσες (components)?

- Τι ΄γνωρίζουμε για αυτές ?

- Πως πρέπει να οργανωθούν?

- Πως συσχετίζονται ?

- Ποιες πληροφορίες έχουν ενδιαφέρον ?

- Ποιες πληροφορίες είναι άσχετες ?

- Σε ποιόν ?

- Για ποιο σκοπό ?

- Πόσο συχνά?

- Κάτω από ποιες συνθήκες? .........

Page 6: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 6

Μοντέλα Δεδομένων -- ΟργάνωσηΜοντέλα Δεδομένων -- Οργάνωση

- Ένα ΜΟΝΤΕΛΟ ΔΕΔΟΜΕΝΩΝ έχει τρεις βασικές συνιστώσες:

ΔΟΜΕΣ (Structures)

ΠΡΑΞΕΙΣ (Operations)

ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ (Constraints)

Κάθε συνιστώσα εξετάζεται στην συνέχεια με παραδείγματα (και) από Μαθηματικά Μοντέλα

Page 7: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 7

Οργάνωση Μοντέλου (α)Οργάνωση Μοντέλου (α)

(A) ΔΟΜΕΣ

- Αντικείμενα (αφαιρετικά) - objects

- Γενίκευση στα χαρακτηριστικά

Παράδειγμα: Μια δομή στα Μαθηματικά: ΣΥΝΟΛΑPicasso

S1 Miro το σύνολο των καλλιτεχνών

El Greco

Gonzales

S2 Picasso Thubithareta το σύνολο των Ισπανών

Page 8: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 8

Οργάνωση Μοντέλου (β)Οργάνωση Μοντέλου (β)

(B) ΠΡΑΞΕΙΣ

- χειρισμός των δομών

- δημιουργία ΝΕΩΝ δομών από ΠΑΛΑΙΕΣ

- αλλαγή του μοντέλου από “στατικό” σε “δυναμικό”

Παράδειγμα: Πράξη σε ΣΥΝΟΛΑ -- ΤΟΜΗ

S1 S2 S3το σύνολο των Ισπανών καλλιτεχνών

Page 9: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 9

Οργάνωση Μοντέλου (γ)Οργάνωση Μοντέλου (γ)

(C) ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ- Ιδιότητες που οι Δομές του Μοντέλου πρέπει να ΙΚΑΝΟΠΟΙΟΥΝ

Παραδείγματα:“όλοι οι καλλιτέχνες έχουν ημερομηνία θανάτου που ΕΠΕΤΑΙ της ημερομηνίας γέννησής των”“κανένας υπάλληλος στο μουσείο δεν έχει μισθό μεγαλύτερο του Διευθυντή”“ο Διευθυντής της Τράπεζας πρέπει να είναι τραπεζικός υπάλληλος”

Υπάρχουν 3 ειδών δομικοί περιορισμοί:

Έμφυτοι (INHERENT), Ρητοί (EXPLICIT), Συνεπαγόμενοι (IMPLICIT). Οι δομικοί περιορισμοί είναι το εργαλείο που επιτρέπει να εκφράζονται και να παρίστανται στην βάση δεδομένων οι κανόνες της επιχείρησης

Page 10: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 10

Χρήση του Μοντέλου για Ανάπτυξη ΒΔΧρήση του Μοντέλου για Ανάπτυξη ΒΔ

Από τον Μικρόκοσμο

Real World

Στο Μοντέλο Δεδομένων Data Model

Database Στην Βάση Δεδομένων

Page 11: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 11

Ανάπτυξη Βάσεων Δεδομένων Ανάπτυξη Βάσεων Δεδομένων

Η διαδικασία της ανάπτυξης ΒΔ

– Μια μακρά και επίπονη διαδικασία μετατροπής της ΓΝΩΣΗΣ ενός πραγματικού μικρόκοσμου σε μια ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ που θα την διαχειρίζεται ένα DBMS

– Για εννοιολογική διευκόλυνση της όλης διαδικασίας, αυτή διακρίνεται σε συνεχόμενες αυτοτελείς διαδικασίες (ΦΑΣΕΙΣ), κάθε μια των οποίων δημιουργεί ενδιάμεσες περιγραφές.

Συλλογή Απαιτήσεων και Ανάλυση (Requirements Collection and Analysis), Εννοιολογικός Σχεδιασμός Βάσης(Conceptual Database Design), Λογικός Σχεδιασμός Βάσης (Logical Database Design), Φυσικός Σχεδιασμός Βάσης (Physical Database Design) Πλήρωση της Βάσης με Δεδομένα (Database Loading)

Page 12: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 12

Πλήρης Διαδικασία Ανάπτυξης ΒΔΠλήρης Διαδικασία Ανάπτυξης ΒΔ

.

Μικρόκοσμος

Συλλογή Απαιτήσεων και Ανάλυση

Εννοιολογικός Σχεδιασμός Βάσης (π.χ., με E-R Model)

Απαιτήσεις ΒΔ

Εννοιολογικό Μοντέλο (Σχήμα)

E-R Διάγραμμα

Λογικός Σχεδιασμός Βάσης

(π.χ., με Σχεσιακό Μοντέλο)

Ανεξάρτητα του DBMS Εξαρτώμενο του επιλεγμένου DBMS

Λογικό Μοντέλο --Σχήματα / Όψεις

Φυσικός Σχεδιασμός Βάσης

Φυσικό ΜοντέλοΕσωτερικό Σχήμα

Πλήρωση ΒάσηςΒάση

Δεδομένων

Page 13: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 13

Διαδικασία Ανάπτυξης ΒΔ (1)Διαδικασία Ανάπτυξης ΒΔ (1)

Συλλογή Απαιτήσεων και Ανάλυση

Η πρώτη φάση ανάπτυξης της ΒΔ είναι απαραίτητη για την «εξόρυξη» των απαιτήσεων για την Βάση από περιγραφές του πραγματικού μικρόκοσμου .

Περιγραφές Μικρόκοσμου Απαιτήσεις της Βάσης

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

Page 14: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 14

Ενδεικτικό Παράδειγμα: ΒΔ για Εταιρεία (1)Ενδεικτικό Παράδειγμα: ΒΔ για Εταιρεία (1)

Απαιτήσεις της Βάσης για κάποια Εταιρεία

– Μια εταιρεία οργανώνεται σε Τμήματα (DEPARTMENTS.) Κάθε τμήμα έχει όνομα (name), αριθμό (number), και κάποιον υπάλληλο που είναι επικεφαλής (MANAGES) του τμήματος. Μας ενδιαφέρει η ημερομηνία έναρξης της θητείας του μάνατζερ (start date).

– Ένα τμήμα κατανέμεται σε διάφορες τοποθεσίες (locations). Κάθε τμήμα ελέγχει έναν αριθμό από έργα( PROJECTS), όπου κάθε έργο έχει όνομα (name), αριθμό (number ) και εκτελείται σε μια προκαθορισμένη τοποθεσία (located).

Page 15: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 15

Ενδεικτικό Παράδειγμα: ΒΔ για Εταιρεία (2)Ενδεικτικό Παράδειγμα: ΒΔ για Εταιρεία (2)

– Αναφορικά με Υπαλλήλους (EMPLOYEE), κρατάμε τον αριθμό κοινωνικής ασφάλισης (social security number), διεύθυνση (address), μισθό (salary), φύλλο (sex) και ημερομηνία γέννησης (birth date.)

– Κάθε Υπάλληλος εργάζεται (WORKS FOR) σε ένα τμήμα, αλλά μπορεί να εργάζεται (WORK ON) για πολλά έργα. Επίσης, κρατάμε τις ώρες / εβδομάδα (number of hours) που ένας υπάλληλος εργάζεται σε ένα έργο, όπως και τον / την άμεσο προϊστάμενο (direct supervisor.)

– Κάθε υπάλληλος μπορεί να έχει μια σειρά από εξαρτώμενα άτομα (DEPENDENTS) Για κάθε έναν, κρατάμε όνομα (name), ημερομηνία γέννησης (birth date), φύλλο (sex) και σχέση (relationship) με τον υπάλληλο.

Page 16: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 16

Διαδικασία Ανάπτυξης ΒΔ (2): ΣχεδιασμόςΔιαδικασία Ανάπτυξης ΒΔ (2): Σχεδιασμός

Η διαδικασία συνεχίζεται με τους ΣΧΕΔΙΑΣΜΟΥΣ– Σχεδιασμός είναι η διαδικασία δημιουργίας του ΣΧΗΜΑΤΟΣ

(schema) της Βάσης Δεδομένων χρησιμοποιώντας ένα επιλεγμένο Μοντέλο (σε κάποιο επίπεδο της όλης διαδικασίας)

– Υπάρχουν 3 αυτοτελείς σχεδιασμοί που δημιουργούν Σχήματα (Περιγραφές) της Βάσης.

Εννοιολογικός Σχεδιασμός (Conceptual Data Model)

Λογικός Σχεδιασμός (Conceptual and External Schemas - Views)

Φυσικός Σχεδιασμός (Internal Schema)

Page 17: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 17

ΕΝΝΟΙΟΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ :Δημιουργώντας ένα Διαισθητικό Μοντέλο

ΕΝΝΟΙΟΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ :Δημιουργώντας ένα Διαισθητικό Μοντέλο

ΕΝΝΟΙΟΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ (Conceptual Model)

– Προσπάθεια για ξεκαθάρισμα των εννοιών– Εύρεση και καταγραφή των Οντοτήτων της βάσης, των μεταξύ

τους Συσχετίσεων καθώς και των Εννοιολογικών Κανόνων (semantic rules) που πρέπει να ικανοποιούν

– ΣΤΟΧΟΣ:Μια αφαιρετική, αλλά πλήρης περιγραφή του τμήματος του μικρόκοσμού που θα αναπαρασταθεί στην βάση δεδομένων. Αυτή η περιγραφή γίνεται με τη χρήση μιας ημι-τυπικής (pseudo-formal) σημειογραφίας / συμβολισμού (notation).

Page 18: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 18

ΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ : Δημιουργώντας τα Εξωτερικά και Λογικά (Εννοιολογικά) Σχήματα

ΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ : Δημιουργώντας τα Εξωτερικά και Λογικά (Εννοιολογικά) Σχήματα

ΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ ΤΗΣ ΒΑΣΗΣ

– Η διαδικασία μετατροπής ενός εννοιολογικού μοντέλου (διαισθητικής περιγραφής) σε ΤΥΠΙΚΑ ΣΧΗΜΑΤΑ εκφρασμένα στο επιλεγέν (υποστηριζόμενο από το DBMS) μοντέλο δεδομένο (π.χ., Σχεσιακό Μοντέλο)

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

– Μερικά Σχήματα, αν είναι καλά σχεδιασμένα, κάνουν τις ερωταποκρίσεις ευκολότερες.

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

Page 19: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 19

ΦΥΣΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ : Δημιουργώντας το Εσωτερικό / Φυσικό Σχήμα

ΦΥΣΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ : Δημιουργώντας το Εσωτερικό / Φυσικό Σχήμα

ΦΥΣΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ ΤΗΣ ΒΑΣΗΣ

– Η διαδικασία προδιαγραφών των δομών μνήμης (αρχείων) που υλοποιούν τον λογικό σχεδιασμό και των οργανώσεων αυτών, καθώς και των δομών ευρετηρίων (access methods) που αποτελούν το εσωτερικό σχήμα.

ΣΤΟΧΟΙ:– Απόδοση – Απόδοση - Απόδοση– Υποστήριξη του Βελτιστοποιητή Συστήματος

Page 20: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 20

Διαδικασία Ανάπτυξης ΒΔ (3): Πλήρωση της Βάσης με Δεδομένα

Διαδικασία Ανάπτυξης ΒΔ (3): Πλήρωση της Βάσης με Δεδομένα

Η τελική φάση είναι η διαδικασία DATABASE LOADING

Απλά Αρχεία

Βάση Δεδομένων

Φυσικό Σχήμα

– Υπάρχουν, κατά κανόνα σε όλα τα μεγάλα DBMS, βοηθητικά προγράμματα για ΜΑΖΙΚΗ ΠΛΗΡΩΣΗ (BULK LOADING)

Page 21: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 21

Αυτοματοποίηση της Όλης ΔιαδικασίαςΑυτοματοποίηση της Όλης Διαδικασίας

ΕΡΓΑΛΕΙΑ ΓΙΑ ΑΝΑΠΤΥΞΗ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ– Είναι δύσκολη να αυτοματοποιηθούν οι πρώτες Φάσεις της

διαδικασίας ανάπτυξης, αλλά για τις επόμενες φάσεις υπάρχουν πολλά και καλά υπολογιστικά εργαλεία που υποστηρίζουν αποτελεσματικά τον σχεδιαστή της ΒΔ.Για παράδειγμα, εργαλεία που δημιουργούν Λογικά Σχήματα (κατά κανόνα στο Σχεσιακό Μοντέλο) από ένα Εννοιολογικό Μοντέλο (κατά κανόνα E-R) π.χ.., AD/VANCE, Blue/60, Colonel, ER-Designer, Lydia, IDEF/Leverage, MastER PLus, RIDL, Silverun, Oracle Designer / Developer, κλπ.

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

– Υπάρχουν και ΠΛΗΡΗ περιβάλλοντα ανάπτυξης (CASE) π.χ., IEW, IEF, Excelerator, CASE Product, Foundation, κλπ.

Page 22: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 22

Το Κλασσικό Μοντέλο Εννοιολογικού Σχεδιασμού: Μοντέλο Οντοτήτων-Συσχετίσεων (Entity-Relationship)

Το Κλασσικό Μοντέλο Εννοιολογικού Σχεδιασμού: Μοντέλο Οντοτήτων-Συσχετίσεων (Entity-Relationship)

Το E-R μοντέλο ήταν ο «νικητής» μεταξύ αρκετών υποψηφίων (την δεκαετία του 80) και έγινε αποδεκτό από τους ερευνητές και την αγορά για την ΑΠΛΟΤΗΤΑ (simplicity), ΣΑΦΗΝΕΙΑ (clarity) και ΓΡΑΦΙΚΟ ΣΥΜΒΟΛΙΣΜΟ (graphical notation.) που έχει.

Το E-R μοντέλο είναι ένα μάλλον διαισθητικό μοντέλο που επιδιώκει να προσδιορίσει αφαιρετικά τις πληροφορίες που μια ΒΔ αποθηκεύει και οργανώνει.

Όλα τα άλλα μοντέλα δεδομένων μπορούν να κριθούν σε σχέση με αυτά που προσφέρει το E-R μοντέλο

Page 23: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 23

E-R Μοντέλο: ΣΥΝΙΣΤΩΣΕΣE-R Μοντέλο: ΣΥΝΙΣΤΩΣΕΣ

ΔΟΜΕΣ– Υπάρχουν δυο εννοιολογικές βασικές έννοιες:

» Οντότητες

Συγκεκριμένα αντικείμενα που υπάρχουν (ή πιστεύεται ότι υπάρχουν) και μπορούν να αναπαρασταθούν στην ΒΔ

π.χ., ο ΥΠΑΛΛΗΛΟΣ “Μαρία”, στο ΤΜΗΜΑ “Λογιστήριο”,το ΠΡΟΙΟΝ “Βίδες”, η ΟΜΑΔΑ “Ολυμπιακός”, ...

» Συσχετίσεις

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

π.χ.,. Η “Μαρία” είναι ΟΠΑΔΟΣ του “Ολυμπιακού”, Η “Μαρία” ΕΡΓΑΖΕΤΑΙ στο “Λογιστήριο”, κλπ.

Page 24: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 24

E-R Μοντέλο: ΔΟΜΕΣ (2)E-R Μοντέλο: ΔΟΜΕΣ (2)

Οι Οντότητες και οι Συσχετίσεις μπορούν να έχουν ΓΝΩΡΙΣΜΑΤΑ / ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ (ATTRIBUTES,) που είναι ιδιότητες που τα χαρακτηρίζουν

π.χ., μια οντότητα ΥΠΑΛΛΗΛΟΣ έχει γνωρίσματα όνομα, ηλικία, διεύθυνση, …

(ενδεικτικά, “Μαρία”, “21”, “Κηφισίας 32”, ...)

επίσης, ημερομηνία είναι ένα γνώρισμα της συσχέτισης ΔΑΝΕΙΖΟΜΑΙ (ενδεικτικά, η “Μαρία” ΔΑΝΕΙΣΤΗΚΕ στις “20 Ιουνίου”) το βιβλίο «»

– Συνήθως τα Γνωρίσματα των Συσχετίσεων προσδιορίζουν:

- Ποιος έκανε την συσχέτιση- Πότε έγινε αυτή- Πότε παύει να ισχύει, κλπ.

Page 25: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 25

E-R Μοντέλο: ΔΟΜΕΣ (3)E-R Μοντέλο: ΔΟΜΕΣ (3)

Τα ΠΕΔΙΑ (DOMAINS) είναι σύνολα τιμών για τα γνωρίσματαπ.χ., DOMAIN OF NAMES = το σύνολο των ονομάτων

DOMAIN of WEIGHT = το σύνολο τιμών για βάρη

INTEGERS FROM 0 to 220

CHAR STRINGS from 1 to 10 in length, κλπ.

ΕΙΔΗ ΓΝΩΡΙΣΜΑΤΩΝ– ΑΠΛΑ: μια οντότητα έχει ατομική τιμή για αυτό (π.χ., φύλλο)– ΣΥΝΘΕΤΑ: το γνώρισμα αποτελείται από περισσότερες τιμές (π.χ.,

η διεύθυνση = { Δρόμος, Αριθμός, Πόλη, Χώρα} )– ΠΛΕΙΟΤΙΜΑ (MULTI-VALUED): το γνώρισμα έχει πολλαπλές τιμές

(π.χ., color of a CAR, degrees of a PERSON)

Page 26: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 26

E-R Μοντέλο: ΔΟΜΕΣ (4)E-R Μοντέλο: ΔΟΜΕΣ (4)

Οντότητες με ταυτόσημα γνωρίσματα ομαδοποιούνται σε ΤΥΠΟΥΣ ΟΝΤΟΤΗΤΩΝ (ENTITY SETS ήENTITY TYPES)– Ενδεικτικά, all PERSONS, all DEPARTMENTS, κλπ.

Συσχετίσεις ιδίου τύπου επίσης ομαδοποιούνται σε ΤΥΠΟΥΣ ΣΥΣΧΕΤΙΣΕΩΝ (RELATIONSHIP SETS ή TYPES)– Ενδεικτικά, ο τύπος συσχέτισης WORKS-ON όπου συμμετέχουν οι

τύποι οντοτήτων EMPLOYEE και PROJECT.

ή. Ο τύπος συσχετίσεων MANAGES όπου συμμετέχουν οι τύποι οντοτήτων EMPLOYEE και DEPARTMENΤ.

ή ο τύπος συσχέτισης SALE-ACT όπου συμμετέχουν οι τύποι οντοτήτων PRODUCTS, CUSTOMERS, και SALESPERSONS.

Page 27: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 27

ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (1)ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (1)

ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ στο E-R Μοντέλο

1. Ιδιότητες των ΤΥΠΩΝ ΣΥΣΧΕΤΙΣΕΩΝ– Περισσότεροι του ενός τύποι συσχετίσεων μπορεί να υπάρχουν

μεταξύ των ιδίων τύπων οντοτήτων (multiple relationships)π,χ., WORKS-FOR και MANAGES μεταξύ EMPLOYEE και DEPARTMENT.

– Μια συσχέτιση μπορεί να συνδέει δύο οντότητες που ανήκουν στον ίδιο τύπο οντοτήτων (αποκαλείται, ένας αναδρομικός τύπος συσχετίσεων - recursive relationship type) π.χ., ο SUPERVISION τύπος συσχετίσεων συνδέει EMPLOYEE (στον ρόλο αυτού που επιβλέπεται) με κάποιο άλλο EMPLOYEE (στον ρόλο του επιβλέποντα)

Page 28: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 28

ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (2)ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (2)

– Ένας τύπος Συσχετίσεων έχει ΒΑΘΜΟ (relationship degree):

2 τύποι οντοτήτων ---> binary relationship

3 τύποι οντοτήτων ---> ternary relationship

N τύποι οντοτήτων ---> N-ary relationship

– Περιορισμός Ύπαρξης (existence dependency) ορίζει αν η συμμετοχή μιας οντότητας στον τύπο συσχέτισης είναι ΟΛΙΚΗ ή ΜΕΡΙΚΗ (total or partial)

π.χ., όλοι οι ΥΠΑΛΛΗΛΟΙ συμμετέχουν στην ΕΡΓΑΖΟΝΤΑΙ-ΣΕ (όλοι δουλεύουν σε ένα τμήμα) --- ΟΛΙΚΗ

ενώ, Στην συσχέτιση ΔΙΕΥΘΥΝΩ δεν συμμετέχουν όλοι (υπάρχουν Υπάλληλοι που δεν είναι Διευθυντές) - ΜΕΡΙΚΗ

Page 29: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 29

ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (3)ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (3)

– Ο ΛΟΓΟΣ ΠΛΗΘΙΚΟΤΗΤΑΣ (cardinality) ενός τύπου συσχετίσεων ορίζει το πόσες οντότητες από τον πρώτο τύπο οντοτήτων στην συσχέτιση μπορούν να συνδεθούν με πόσες οντότητες από τον δεύτερο τύπο οντοτήτων

Συγκεκριμένα:

1 : 1 PERSON married-to PERSON (συνάρτηση)

1 : N MOTHER having CHILDREN (inverse function)

N : 1 STUDENT reports-to ADVISOR (συνάρτηση)

N : M EMPLOYEE works-on PROJECT

Page 30: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 30

ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (4)ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (4)

.

e1

e2

e3

e4

r1

r2

r3

r4

r5

d1

d2

d3

e1

e2

e3

e4

r1

r2

r3

r4

r5

d1

d2

d3

PERSON married-to PERSON MOTHER having CHILDREN

1 : 1 1 : N

Page 31: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 31

ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (5)ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (5)

.

e1

e2

e3

e4

r1

r2

r3

r4

r5

d1

d2

d3

e1

e2

e3

e4

r1

r2

r3

r4

r5

d1

d2

d3

STUDENT reports-to ADVISOR EMPLOYEE works-for PROJECT

N : 1 N : M

Page 32: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 32

ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Γνωρίσματα (1)ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Γνωρίσματα (1)

2.- Ιδιότητες των ΓΝΩΡΙΣΜΑΤΩΝ των Τύπων

– Ένα ΓΝΩΡΙΣΜΑ (ή σύνολο Γνωρισμάτων) ενός Τύπου Οντοτήτων / Συσχετίσεων για το οποίο κάθε οντότητα / συσχέτιση στο σύνολο πρέπει να έχει μοναδική τιμή (unique value(s) είναι ΚΛΕΙΔΙ (key) (ή superkey).Ενδεικτικά, ΑΦΜ του ΥΠΑΛΛΗΛΟΥ, ΟΝΟΜΑ και ΔΙΕΥΘΥΝΣΗ του ΥΠΑΛΛΗΛΟΥ, ΑΦΜ και ΟΝΟΜΑ, κλπ.

– Ένα ΥΠΟΨΗΦΙΟ ΚΛΕΙΔΙ (candidate key) είναι ένα ΕΛΑΧΙΣΤΟ (minimal) ΚΛΕΙΔΙ (δηλαδή, κανένα υποσύνολο των γνωρισμάτων του δεν είναι και αυτό κλειδί)Ενδεικτικά, ΑΦΜ είναι Υποψήφιο Κλειδί για τον ΥΠΑΛΛΗΛΟ, αλλά ο συνδυασμός {ΑΦΜ, ΟΝΟΜΑ} δεν είναι.

Page 33: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 33

ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Γνωρίσματα (2)ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Γνωρίσματα (2)

– Το ΚΥΡΙΟ ΚΛΕΙΔΙ (primary key) είναι ένα από τα υποψήφια κλειδιά που ορίζεται σαν αναγνωριστής (identifier) για τον τύπο οντοτήτων / συσχετίσεων

Ενδεικτικά, ΑΦΜ είναι μια καλή επιλογή Κυρίου Κλειδιού στον τύπο οντοτήτων ΥΠΑΛΛΗΛΟΣ.

– Ένα ΕΞΩΤΕΡΙΚΟ ΚΛΕΙΔΙ (foreign key) είναι ένα σύνολο ενός ή περισσοτέρων γνωρισμάτων ενός τύπου οντοτήτων (ή συσχετίσεων) που αντιστοιχεί σε ένα ΚΥΡΙΟ ΚΛΕΙΔΙ that για κάποιον άλλο τύπο οντοτήτων (ή συσχετίσεων).

Ενδεικτικά, για τον τύπο συσχετίσεων ΕΡΓΑΖΕΤΑΙ, το γνώρισμα ΑΦΜ είναι Εξωτερικό Κλειδί (είναι Κύριο Κλειδί στον ΥΠΑΛΛΗΛΟ)..

Page 34: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 34

Το E-R Μοντέλο: Άλλες ΈννοιεςΤο E-R Μοντέλο: Άλλες Έννοιες

Αδύναμοι Τύποι Οντοτήτων (ή Εξαρτώμενοι)– Ένας τύπος οντοτήτων ΧΩΡΙΣ Κλειδί

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

Η Συσχέτιση ΓΕΝΙΚΕΥΣΗ (is-A)– Η θεώρηση ενός συνόλου τύπων οντοτήτων ως ένα γενικευμένο

(generic) τύπο

PAINTING is-A ART-OBJECT, DRAWING is-A ART-OBJECT

– Το βασικό πλεονέκτημα αυτού είναι η ιδιότητα της ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑΣ (Inheritance) των ΓνωρισμάτωνΕνδεικτικά, κρατάμε Γνωρίσματα που είναι κοινά για όλα τα ART-OBJECT και δεν χρειάζεται να τα επαναλάβουμε για τα PAINTINGS και DRAWINGS – κληρονομούνται.

Page 35: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 35

Το E-R Μοντέλο: Γραφικός ΣυμβολισμόςΤο E-R Μοντέλο: Γραφικός Συμβολισμός

. ENTITY SET

WEAK ENTITY SET

RELATIONSHIPSET

ATTRIBUTE

PRIMARY KEY

is_A

GENERALIZATION

E1R1E2

Total PARTICIPATION of E1 in R1

E1E2 R11 N

Cardinality ratio 1:N for E2:E1 in R1

Page 36: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 36

Περιγραφή της ΕΤΑΙΡΕΙΑΣ στο E-R (1)Περιγραφή της ΕΤΑΙΡΕΙΑΣ στο E-R (1)

.

EMPLOYEE

SUPERVISION

1 N

Dependents-of

DEPENDENT

1

N

WORKS-FOR

WORKS-ON

MANAGES

N 1

1 1

MN

DEPARTMENT

PROJECT

CONTROLS

1

N

supervisor supervisee

Page 37: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 37

Περιγραφή της ΕΤΑΙΡΕΙΑΣ στο E-R (1)Περιγραφή της ΕΤΑΙΡΕΙΑΣ στο E-R (1)

ΓΝΩΡΙΣΜΑΤΑ σε Οντότητες και Συσχετίσεις

– EMPLOYEE -- SSN, Name, BirthDate, Sex, Address, Salary– DEPARTMENT -- Number, Name,Locations, NoOfEmployees– PROJECT -- Number, Name, Location– DEPENDENT -- Name, Sex, BirthDate, Relationship– WORKS-ON -- HoursPerWeek– MANAGES -- StartDate

Page 38: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 38

Επιπλέον ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙΕπιπλέον ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ

Συναρτησιακές Εξαρτήσεις (Functional dependencies):– Π.χ., Ένα ΤΜΗΜΑ δεν μπορεί να παραγγείλει δύο διαφορετικά

ΠΡΟΙΟΝΤΑ από τον ίδιο ΠΡΟΜΗΘΕΥΤΗ.» Δεν μπορεί να εκφραστεί απευθείας στο ER μοντέλο.

– Η Κανονικοποίηση είναι η διαδικασία που το επιτρέπει. Εξαρτήσεις Συμμετοχής:

– Ειδική περίπτωση: Εξωτερικά Κλειδιά (Εκφράζονται στο ER).– Π.χ., Τουλάχιστον 1 υπάλληλος πρέπει να αναφέρεται σε κάθε

Προϊστάμενο. Γενικοί Δομικοί Περιορισμοί:

– Π.χ., Ο προϋπολογισμός ενός Προϊσταμένου είναι λιγότερο του 10% του συνολικού Προϋπολογισμού όλων των τμημάτων που Προΐσταται

Page 39: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 39

Αδυναμίες του E-R ΜοντέλουΑδυναμίες του E-R Μοντέλου

Έχουν προταθεί πολλά παρόμοια του E-R μοντέλα για να αντιμετωπίσουν τις εκφραστικές αδυναμίες αυτού. Π.χ., για:– Δεν υποστηρίζεται ο ορισμός συσχέτισης μεταξύ

συσχετίσεων

DATE is a relationship between MONTH, DAY and YEAR

EMPLOYMENT is a relationship between employee and employer

HIRING is a relationship between DATE and EMPLOYMENT

Σε αυτή την περίπτωση χρειάζεται AGGREGATION.

Page 40: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 40

Συσσώρευση (Aggregation)Συσσώρευση (Aggregation)

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

budgetdidpid

started_on

pbudgetdname

until

DepartmentsProjects Sponsors

Employees

Monitors

lotname

ssn

Page 41: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 41

Διαδικασία Ανάπτυξης ΒΔ: Εννοιολογικό Μοντέλο

Διαδικασία Ανάπτυξης ΒΔ: Εννοιολογικό Μοντέλο

.

Μικρόκοσμος

Συλλογή Απαιτήσεων και Ανάλυση

Εννοιολογικός Σχεδιασμός Βάσης (π.χ., με E-R Model)

Απαιτήσεις ΒΔ

Εννοιολογικό Μοντέλο (Σχήμα)

E-R Διάγραμμα

Ανεξάρτητα του DBMS -Μετά την χρήση ενός Εννοιολογικού Μοντέλου Δεδομένων, όπως το E-R, ερχόμαστε σε ένα σημείο όπου αρχίζει η εξάρτηση από το επιλεγέν DBMS και πρέπει να γίνει η ΜΕΤΑΤΡΟΠΗ τις «διαισθητικής» περιγραφής σε μια «τυπική», που να μπορεί να εκτελεστεί από το DBMS.

Page 42: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 42

ΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ

..

Εννοιολογικό Σχήμα E-R διάγραμμα

Λογικός Σχεδιασμός Βάσης Δεδομένων

ΣχεσιακόΜοντέλο

Εξάρτηση από το DBMS

Λογικό (Εννοιολογικό)Σχήμα και Εξωτερικές ΌψειςΣε αυτό το σημείο ΕΠΙΛΕΓΟΥΜΕ

το Μοντέλο Δεδομένων που Υποστηρίζεται από το DBMS.Ο βασικός υποψήφιος είναι τοΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (άλλοι Υποψήφιοι ήταν το Ιεραρχικό, ή το Μοντέλο Δικτύου

Page 43: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 43

Λογικός Σχεδιασμός ΒάσηςΛογικός Σχεδιασμός Βάσης

Όλα τα Λογικά Μοντέλα για Σχεδιασμό παριστούν τους Τύπους Οντοτήτων (στο E-R) ως ΑΡΧΕΙΑ ( Relations)

Entity Set File (relation)Entity Record (Tuple)Attribute Field (attribute)

Οι διαφοροποιήσεις μεταξύ λογικών μοντέλων είναι στο τρόπο παράστασης των Τύπων Συσχετίσεων– Μερικά Μοντέλα (π.χ. Ιεραρχικό) επιτρέπουν μόνο

συναρτησιακές συσχετίσεις (κάτι που δυσκολεύει την παράσταση N:M συσχετίσεων δύσκολη – μόνο έμμεσα είναι δυνατή)

ΒΑΣΙΚΕΣ ΤΕΧΝΙΚΕΣ:- Παράσταση συσχετίσεων με ΣΧΕΣΕΙΣ (π.χ., Σχεσιακό

Μοντέλο)- Παράστασή των με ΣΥΝΔΕΣΜΟΥΣ μεταξύ αρχείων (π.χ.,

Μοντέλα Δικτύου και Ιεραρχικό)

Page 44: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 44

Παράδειγμα: Μικρό υποσύνολο της Βάσης Δεδομένων μιας Εταιρείας

Παράδειγμα: Μικρό υποσύνολο της Βάσης Δεδομένων μιας Εταιρείας

.

EMPLOYEE WORKS-ON PROJECTN M

SSN

Name

Address

Salary

Number

Name

LocationHoursPerWeek

Στο E-R Μοντέλο: Μια N:M ολική συσχέτιση (WORKS-ON) μεταξύτων τύπων οντοτήτων EMPLOYEE και PROJECT

Page 45: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 45

Παράδειγμα: (2)Παράδειγμα: (2)

Θεωρήστε τις παρακάτω 5 πράξεις

Q1: Ποιος Υπάλληλος εργάζεται στο έργο P1?

Q2: Που εργάζεται ο Υπάλληλος E1?

INS: Εισαγωγή πληροφοριών για ένα νέο έργο

DEL: Διαγραφή του γεγονότος ότι ο Υπάλληλος E3 εργάζεται στο έργο P4

MOD: Το έργο P2 μεταφέρθηκε από την Αθήνα στην Πάτρα

Page 46: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 46

ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (1)ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (1)

ΔΟΜΕΣ: ΔΕΝΤΡΑ (TREES) – Κόμβοι-Σύνδεσμοι ΠΡΑΞΕΙΣ: ΣΑΡΩΣΗ ΔΕΝΤΡΩΝ (προδιατεταγμένη) ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: ελάχιστοι, οι περισσότεροι

έμφυτοι από την δομική μορφή Αντιστοιχίες με το E-R Μοντέλο

Τύπος Οντοτήτων <-> Τύπος Εγγραφής (Record Type)

Οντότητα <-> Εγγραφή (Record -Segment)

Γνώρισμα <-> Πεδίο (Field)

Συσχέτιση <-> Γονέας – Παιδί (Parent-to-child)

Οι Συσχετίσεις Γονέα-Παιδιού είναι ΜΟΝΟ 1:N

Page 47: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 47

ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (2)ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (2)

ΙΕΡΑΡΧΙΚΟ ΣΧΗΜΑ

EMPLOYEE

PROJECT

SSN Name Address Salary

Number Name Location HoursPW

-- Ένα Ιεραρχικό Σχήμα είναι έναΔέντρο όπου κάθε κόμβος είναι ΄έναςΤύπος Εγγραφής

-Οι Σύνδεσμοι στο Δέντρο Παριστούν Συσχετίσεις (μόνο 1:N)

-Η Σχετική τοποθέτηση των κόμβωνστο Δέντρο υποδηλώνει και την κατεύθυνση /βαθμό της Συσχέτισης(Γονέα-Παιδιού) - Προσέξτε ότι το Γνώρισμα HoursPW της Συσχέτισης WORKS-ON έχει μεταφερθεί στο PROJECT

Page 48: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 48

ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (3)ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (3)

Παράδειγμα ΒΔ: Ένα ΔΑΣΟΣ από δέντρα

e1 john athens 300000

p5 ytu crete 30

e3 mary patras 450000

p2 rty athens 15

p4 hju patras 20

p1 xyz crete 10

p2 rty athens 25

-οι εγγραφές είναι και αυτέςΔέντρα (χιλιάδες)- Η M:N Συσχέτιση αντιμετωπίζεται με Επανάληψη (Duplication)

...

...

...

Page 49: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 49

ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (4)ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (4)

ΠΡΑΞΕΙΣ: Διάσχιση / Σάρωση Δέντρων– get next tree (δεδομένου τύπου)– get next child (μιας δεδομένης εγγραφής)– προδιατεταγμένη διάσχιση (pre-order tree-traversal)– Πρόσβαση RECORD-AT-A-TIME

Τα παραδείγματα Q1 και Q2 (ερωταποκρίσεις), που είναι πλήρως ΣΥΜΜΕΤΡΙΚΑ εκτελούνται στο Μοντέλο (DML) με έναν εντελώς ΑΣΥΜΜΕΤΡΙΚΟ τρόπο

Αυτό έχει να κάνει με την επιλογή του EMPLOYEE ως Γονέα και του Project ως Παιδιού (θα μπορούσε να ήταν αντίστροφα)

Page 50: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 50

ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (5)ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (5)

.Q1: Employees of P1 Q2: Projects for E1

do while there are still more employees get next EMPLOYEE get next PROJECT child where Number = “P1” if found then print EMPLOYEE.Nameend

get next EMPLOYEE where SSN = “E1”

do while there are still more project children of employee get next PROJECT child print PROJECT.Nameend

P1 E ? P ? E1

Page 51: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 51

ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (6)ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (6)

• ΤΡΟΠΟΠΟΙΗΣΕΙΣ

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

DEL: Διαγραφή του γεγονότος ότι ο Υπάλληλος E3 εργάζεται στο έργο P4 - Βρες το Δέντρο με τον E3 στην κορυφή και διέγραψε το παιδί P4

- ΠΡΟΒΛΗΜΑ: τι γίνεται αν είναι ο τελευταίος υπάλληλος στο P4 ?

MOD: Το έργο P2 μεταφέρθηκε από την Αθήνα στην Πάτρα - Βρες ΚΑΘΕ P2 εγγραφή και άλλαξε την τιμή της Πόλης

Page 52: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 52

Μοντέλο Δικτύου (DBTG-Network) (1)Μοντέλο Δικτύου (DBTG-Network) (1)

ΔΟΜΕΣ: Περιορισμένο Γράφοι (GRAPHS) με Εγγραφές Και Συνδέσμους

ΠΡΑΞΕΙΣ: Τυχαία Σάρωση Γράφων (GRAPH-TRAVERSAL ) ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: αρκετά πολλοί, μερικοί έμφυτοι αλλά και

πολλοί ρητοί. Αντιστοιχίες με το E-R Μοντέλο

Τύπος Οντοτήτων <-> Τύπος Εγγραφής (Record Type) Οντότητα <-> Εγγραφή (Record) Γνώρισμα <-> Πεδίο (Data Item)Συσχέτιση <-> Τύπος Συνόλων (DBTG-set type)

συσχετίσεις Ιδιοκτήτη-Μέλους (1:N)

– Εγγραφές-Σύνδεσμοι χρησιμοποιούνται για N:M συσχετίσεις

Page 53: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 53

Μοντέλο Δικτύου (DBTG-Network) (2)Μοντέλο Δικτύου (DBTG-Network) (2)

DBTG-Network (CODASYL) Σχήμα

EMPLOYEE

PROJECT

SSN Name Address Salary

Number Name Location

-- Το Σχήμα στο ΜοντέλοΕίναι είναι Δίκτυο, όπου κάθε Κόμβος είναι Τύπος Εγγραφής

-Σύνδεσμοι παριστούν Συσχετίσεις (μόνο 1:N) και έχουν Όνομα και Κατεύθυνση (OWNER - MEMBER)

-Ειδικό Τύποι Εγγραφών είναι-Απαραίτητοι για Σχέσεις N:M(Connectors)

WORKSON

ESSN PNumber HoursPW

Emp_Works-On

Proj_Works-On

Page 54: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 54

Μοντέλο Δικτύου (DBTG-Network) (3)Μοντέλο Δικτύου (DBTG-Network) (3)

Παράδειγμα: ΒΔ Δικτύου (Σπαγγέτι)

...

...

...

e1 john athens 300000 e3 mary patras 450000 e4 jack athens 145000

p1 xyz crete p2 rty athens p4 hju patras p5 ytu crete

e1 p2 15e1 p1 10 e3 p4 20e1 p5 30 e3 p2 25 e4 p4 40

Page 55: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 55

Μοντέλο Δικτύου (DBTG-Network) (4)Μοντέλο Δικτύου (DBTG-Network) (4)

Πράξεις: GRAPH Traversal (Navigation)

– find next record where ...– find next record within set type ...– Τυπική ταξινομημένη Διάσχιση (first, next, previous, last, κλπ.)– Χρήση ΠΟΛΛΩΝ Δεικτών– Πρόσβαση RECORD-AT-A-TIME

Τα παραδείγματα Q1 και Q2 (ερωταποκρίσεις), που είναι πλήρως ΣΥΜΜΕΤΡΙΚΑ εκτελούνται στο Μοντέλο (DML) με έναν εντελώς ΣΥΜΜΕΤΡΙΚΟ τρόπο

Page 56: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 56

Μοντέλο Δικτύου (DBTG-Network) (5)Μοντέλο Δικτύου (DBTG-Network) (5)

.Q1: Employees of P1 Q2: Projects for E1

find next PROJECT record where Number = “P1” do while there are still more connector records under project find next WORKS-ON record in Proj_Works-On set find (owner) EMPLOYEE record in Emp_Works-On set print EMPLOYEE.Nameend

find next EMPLOYEE record where SSN = “E1”

do while there are still more connector records under employee find next WORKS-ON record in Emp_Works-On set find (owner) PROJECT record in Proj_Works-On set print PROJECT.Nameend

Page 57: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 57

Μοντέλο Δικτύου (DBTG-Network) (6)Μοντέλο Δικτύου (DBTG-Network) (6)

• ΤΡΟΠΟΠΟΙΗΣΕΙΣINS: Εισαγωγή πληροφοριών για ένα νέο έργο

- Δημιούργησε μια νέα εμφάνιση του PROJECT

- στην αρχή, δεν υπάρχουν σύνδεσμοι, (Οι Ιδιοκτήτες υπάρχουν χωρίς Μέλη,)

DEL: Διαγραφή του γεγονότος ότι ο Υπάλληλος E3 εργάζεται στο έργο P4

- διέγραψε την εγγραφή-σύνδεσμο (Works-On) για με τις

κατάλληλες τροποποιήσεις Δεικτών

MOD: Το έργο P2 μεταφέρθηκε από την Αθήνα στην Πάτρα

- Βρες τη μοναδική εγγραφή P2 και άλλαξε την τιμή Πόλης

Page 58: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 58

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (1)ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (1)

ΔΟΜΕΣ: RELATIONS (ΣΧΕΣΕΙΣ) – μία μόνο Δομή ΠΡΑΞΕΙΣ: Επεξεργασία των Σχέσεων (Πινάκων) ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: λίγοι έμφυτοι (π.χ, σύνολα),

πολλοί ρητοί Αντιστοιχίες με το E-R Μοντέλο

Τύπος Οντοτήτων <-> Τύπος Σχέσης (Relation)

Οντότητα <-> n-πλειάδα (Tuple)

Γνώρισμα <-> Γνώρισμα (Attribute)

Συσχέτιση <-> Τύπος Σχέσης (Relation)

Ένα ΑΠΛΟ μοντέλο με ΙΣΧΥΡΕΣ (τυπικές) Ρίζες

Page 59: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 59

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (2)ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (2)

Σχεσιακό Σχήμα

PROJECT

NUMBER NAME LOCATION

WORKS-ON

ESSN PNUMB HRSPW

EMPLOYEE

SSN NAME ADDRESS SALARY

-- Ένα Σχεσιακό Σχήμα είναι ένα Σύνολο Σχέσεων, ή Πινάκων (με όνομα)

- Τα ονόματα των στηλών είναι τα ονόματα των Γνωρισμάτων

Page 60: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 60

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (3)ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (3)

Παράδειγμα ΒΔ: Σύνολο Στιγμιότυπων

SSN NAME ADDRESS SALARY

ESSN PNUMB HRSPW

WORKS-ON

PROJECT NUMBER NAME LOCATION

EMPLOYEE

e1 john athens 300000

e3 mary patras 450000

e4 jack athens 145000

p1 xyz crete

p2 rty athens

p4 hju patras

p5 ytu crete

e1 p1 10

e1 p2 15

e1 p5 30

e3 p4 20

e4 p4 40

e3 p2 25

Page 61: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 61

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (4)ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (4)

Operations: Set-Theoretic Simple Operations

– select records from RELATION(s) where ...– Το where-clause μπορεί να είναι Σύνθετο, με πολλούς τελεστές– Δεν υπάρχει σειρά (order) στην πρόσβαση σε δεδομένα– Πρόσβαση SET-AT-A-TIME στις εγγραφές

Τα παραδείγματα Q1 και Q2 (ερωταποκρίσεις), που είναι πλήρως ΣΥΜΜΕΤΡΙΚΑ εκτελούνται στο Μοντέλο (DML) με έναν εντελώς ΣΥΜΜΕΤΡΙΚΟ τρόπο

Page 62: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 62

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (5)ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (5)

.Q1: Employees of P1 Q2: Projects for E1

select from EMPLOYEE, WORKS-ON relations where (WORKS-ON.Pnumb = “P1”) and (WORKS-ON.ESSN = EMPLOYEE.SSN) print EMPLOYEE.Name

select from PROJECT, WORKS-ON relations where (WORKS-ON.ESSN= “E1”) and (WORKS-ON.Pnumb = PROJECT.Number) print PROJECT.Name

Οι πράξεις στο Σχεσιακό Μοντέλο είναι ΚΛΕΙΣΤΕΣ (CLOSED)Δηλαδή, παίρνουν ΣΧΕΣΕΙΣ και παράγουν πάλι ΣΧΕΣΕΙΣ

Page 63: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 63

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (6)ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (6)

ΤΡΟΠΟΠΟΙΗΣΕΙΣ

INS: Εισαγωγή πληροφοριών για ένα νέο έργο - Εισαγωγή μιας n-πλειάδας στη Σχέση PROJECT

DEL: Διαγραφή του γεγονότος ότι ο Υπάλληλος E3 εργάζεται στο έργο P4

- Διαγραφή της n-πλειάδας (e2, p4, 20) από την Σχέση WORKS-ON

MOD: Το έργο P2 μεταφέρθηκε από την Αθήνα στην Πάτρα

- Επέλεξε την n-πλειάδα (p2, rty, athens) από το PROJECT, και άλλαξε την τιμή “athens” σε

“patras”

Page 64: Κεφάλαιο 2

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο E-R 64

Συγκρίσεις Μεταξύ ΜοντέλωνΣυγκρίσεις Μεταξύ Μοντέλων

Η βασική διαφοροποίηση μεταξύ των τριών βασικών μοντέλων είναι το ΠΩΣ ΠΑΡΙΣΤΑΝΤΑΙ ΟΙ ΣΥΣΧΕΤΙΣΕΙΣ

– ΣΧΕΣΙΑΚΟ: Ρητά με τις ΣΧΕΣΕΙΣ (εφόσον η συσχέτιση είναι Ν:Μ) ή / και με έμμεσες συνδέσεις μεταξύ Σχέσεων που παρίστανται με τα Εξωτερικά Κλειδιά (foreign keys. )

– ΔΙΚΤΥΟΥ: Ρητές συνδέσεις με ΣΥΝΔΕΣΜΟΥΣ (links) και εγγραφές σύνδεσης. ΣΧΟΛΙΟ: Εκφραστικότητα αλλά και εγγενής πολυπλοκότητα

– ΙΕΡΑΡΧΙΚΟ (ειδική περίπτωση Δικτύου): Ρητές συνδέσεις με ΣΥΝΔΕΣΜΟΥΣ. Η περίπτωση των N:M συσχετίσεων γίνεται με διπλασιασμό εγγραφών. ΣΧΟΛΙΟ: σημαντικές και σοβαρές αδυναμίες στην έκφραση μη-ιεραρχικών δομών.