Κεφάλαιο 2

Post on 03-Jan-2016

34 views 0 download

description

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

Transcript of Κεφάλαιο 2

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

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

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

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

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

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

ΜΟΝΤΕΛΑ

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

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

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

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

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

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

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

Αιτιολογία:

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

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

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

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

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

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

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

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

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

=> ΜΟΝΤΕΛΟ

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

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

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

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

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

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

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

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

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

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

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

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

- Σε ποιόν ?

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

- Πόσο συχνά?

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

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

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

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

ΔΟΜΕΣ (Structures)

ΠΡΑΞΕΙΣ (Operations)

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

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

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

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

(A) ΔΟΜΕΣ

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

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

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

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

El Greco

Gonzales

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

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

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

(B) ΠΡΑΞΕΙΣ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Real World

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

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

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

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

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

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

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

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

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

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

.

Μικρόκοσμος

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

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

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

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

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

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

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

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

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

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

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

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

Δεδομένων

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

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

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

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

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

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

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

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

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

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

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

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο 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) με τον υπάλληλο.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Απλά Αρχεία

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

Φυσικό Σχήμα

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

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο 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, κλπ.

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

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

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

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

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

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

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

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

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

» Οντότητες

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

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

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

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

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

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

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

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

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

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

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

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

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

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο 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)

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο 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

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο 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

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο 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

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

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

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

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

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

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

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

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

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

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

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

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο 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 – κληρονομούνται.

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο 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

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο 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

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο 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

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

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

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

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

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

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

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

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

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο 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.

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

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

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

budgetdidpid

started_on

pbudgetdname

until

DepartmentsProjects Sponsors

Employees

Monitors

lotname

ssn

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

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

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

.

Μικρόκοσμος

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

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

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

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

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

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

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

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

..

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.

EMPLOYEE WORKS-ON PROJECTN M

SSN

Name

Address

Salary

Number

Name

LocationHoursPerWeek

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

EMPLOYEE

PROJECT

SSN Name Address Salary

Number Name Location HoursPW

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

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

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

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο 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)

...

...

...

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

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

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

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

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

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο 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

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

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

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

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

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

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

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

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο 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 συσχετίσεις

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο 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

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο 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

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο 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) με έναν εντελώς ΣΥΜΜΕΤΡΙΚΟ τρόπο

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

PROJECT

NUMBER NAME LOCATION

WORKS-ON

ESSN PNUMB HRSPW

EMPLOYEE

SSN NAME ADDRESS SALARY

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

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

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο 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

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο 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) με έναν εντελώς ΣΥΜΜΕΤΡΙΚΟ τρόπο

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο 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)Δηλαδή, παίρνουν ΣΧΕΣΕΙΣ και παράγουν πάλι ΣΧΕΣΕΙΣ

Ι.Β. – Ανάπτυξη ΒΔ και το Μοντέλο 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”

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

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

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

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

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

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