Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Βάσεις Δεδομένων 1 Το σχεσιακό μοντέλο (Relational model) Σχεσιακό Μοντέλο - Relational Model ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Δρ. Παναγιώτης Συμεωνίδης.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Βάσεις Δεδομένων 1 Το σχεσιακό μοντέλο (Relational model) Σχεσιακό Μοντέλο - Relational Model ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Δρ. Παναγιώτης Συμεωνίδης."— Μεταγράφημα παρουσίασης:

1 Βάσεις Δεδομένων 1 Το σχεσιακό μοντέλο (Relational model) Σχεσιακό Μοντέλο - Relational Model ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Δρ. Παναγιώτης Συμεωνίδης

2 Βάσεις Δεδομένων 2 Το σχεσιακό μοντέλο (Relational model) Relation - Σχέση 2 Μια σχέση είναι ένας δισδιάστατος πίνακας δεδομένων. Ένας πίνακας αποτελείται από: γραμμές ή εγγραφές ή πλειάδες (rows ή records ή tuples), και στήλες ή χαρακτηριστικά ή πεδία (columns ή attributes ή fields)

3 Βάσεις Δεδομένων 3 Το σχεσιακό μοντέλο (Relational model) 3 Ιδιότητες Σχέσεων 1.Κάθε σχέση έχει μοναδικό όνομα μεταξύ των σχέσεων της ΒΔ. 2.Κάθε χαρακτηριστικό έχει μοναδικό όνομα μέσα στη σχέση. 3.Η τιμή ενός χαρακτηριστικού είναι ατομική (not composite). Ο τιμές ενός χαρακτηριστικού ανήκουν στο ίδιο πεδίο ορισμού (not multi- valued). 4.Δεν παίζει ρόλο η σειρά των χαρακτηριστικών μίας σχέσης, ούτε η σειρά των πλειάδων στη σχέση. 5.Κάθε πλειάδα πρέπει να είναι μοναδική (όχι διπλοεγγραφές)

4 Βάσεις Δεδομένων 4 Το σχεσιακό μοντέλο (Relational model) 4 Αντιστοίχιση με το E-R Μοντέλο 1. Οι πίνακες αντιστοιχούν στις οντότητες ή στις συσχετιστικές οντότητες 2. Οι γραμμές αντιστοιχούν στα στιγμιότυπα μιας οντότητας 3. Οι στήλες αντιστοιχούν στα γνωρίσματα ΠΡΟΣΟΧΗ: Η λέξη Σχέση ( relation) του ΠΡΟΣΟΧΗ: Η λέξη Σχέση ( relation) του R model δες είναι ή ίδια με την λέξη Συσχέτιση ( relationship ) του ER model. R model δες είναι ή ίδια με την λέξη Συσχέτιση ( relationship ) του ER model.

5 Βάσεις Δεδομένων 5 Το σχεσιακό μοντέλο (Relational model) 5 Πεδία που ορίζονται ως κλειδιά Primary keys (Πρωτεύοντα κλειδιά) Primary keys (Πρωτεύοντα κλειδιά) Είναι πεδία που προσδιορίζουν μοναδικά τις εγγραφές ενός πίνακα. Είναι πεδία που προσδιορίζουν μοναδικά τις εγγραφές ενός πίνακα. Foreign keys (Ξένα κλειδιά) Foreign keys (Ξένα κλειδιά) Είναι πεδία που επιτρέπουν την σύνδεση της εξαρτώμενης οντότητας (αυτής που συνδέεται σε μια συσχέτιση με πολλά στιγμιότυπα) με την οντότητα γονέα (αυτής που συνδέεται σε μια συσχέτιση με ένα μόνο στιγμιότυπο) Είναι πεδία που επιτρέπουν την σύνδεση της εξαρτώμενης οντότητας (αυτής που συνδέεται σε μια συσχέτιση με πολλά στιγμιότυπα) με την οντότητα γονέα (αυτής που συνδέεται σε μια συσχέτιση με ένα μόνο στιγμιότυπο)

6 Βάσεις Δεδομένων 6 Το σχεσιακό μοντέλο (Relational model) 6 Primary Key Foreign Key (επιτρέπει την 1:N συσχέτιση μεταξύ customer και order) 1. composite primary key για Order Line 2. foreign keys που επιτρέπουν την M:N συσχέτιση μεταξύ Order και Product ΠΑΡΑΔΕΙΓΜΑΤΑ ΜΕ ΠΡΩΤΕΥΟΝΤΑ & ΞΕΝΑ ΚΛΕΙΔΙΑ

7 Βάσεις Δεδομένων 7 Το σχεσιακό μοντέλο (Relational model) 7 Integrity Constraints (Περιορισμοί Ακεραιότητας) Entity Integrity (ακεραιότητα οντότητας) Entity Integrity (ακεραιότητα οντότητας) Κανένα primary key δεν μπορεί να είναι null. Κανένα primary key δεν μπορεί να είναι null.

8 Βάσεις Δεδομένων 8 Το σχεσιακό μοντέλο (Relational model) 8 Integrity Constraints (Περιορισμοί Ακεραιότητας) Referential Integrity (αναφορική ακεραιότητα) Referential Integrity (αναφορική ακεραιότητα) Η τιμή του foreign key (του πίνακα των πολλών στιγμιότυπων) πρέπει να ταιριάζει με την τιμή του primary key (του πίνακα του ενός στιγμιότυπου) Η τιμή του foreign key (του πίνακα των πολλών στιγμιότυπων) πρέπει να ταιριάζει με την τιμή του primary key (του πίνακα του ενός στιγμιότυπου) Η’ διαφορετικά το foreign key μπορεί να έχει τιμή NULL. Η’ διαφορετικά το foreign key μπορεί να έχει τιμή NULL.

9 Βάσεις Δεδομένων 9 Το σχεσιακό μοντέλο (Relational model) Referential Integrity (αναφορική ακεραιότητα) Τύποι Τύποι Restrict – μην επιτρέπεις διαγραφή εγγραφής στον πίνακα γονέα αν αυτή η εγγραφή συσχετίζεται με εγγραφές του εξαρτώμενου πίνακα. Restrict – μην επιτρέπεις διαγραφή εγγραφής στον πίνακα γονέα αν αυτή η εγγραφή συσχετίζεται με εγγραφές του εξαρτώμενου πίνακα. Cascade – αυτόματα διέγραψε τις εγγραφές του εξαρτώμενου πίνακα όταν διαγραφούν οι αντίστοιχες εγγραφές του πίνακα γονέα Cascade – αυτόματα διέγραψε τις εγγραφές του εξαρτώμενου πίνακα όταν διαγραφούν οι αντίστοιχες εγγραφές του πίνακα γονέα Set-to-Null – κάνε τις τιμές του ξένου κλειδιού του εξαρτώμενου πίνακα NULL όταν διαγραφή αντίστοιχη εγγραφή στον πίνακα γονέα. Set-to-Null – κάνε τις τιμές του ξένου κλειδιού του εξαρτώμενου πίνακα NULL όταν διαγραφή αντίστοιχη εγγραφή στον πίνακα γονέα. 9

10 Βάσεις Δεδομένων 10 Το σχεσιακό μοντέλο (Relational model) 10 Παράδειγμα περιορισμών αναφορικής ακεραιότητας Οι περιορισμοί αναφορικής ακεραιότητας αποτυπώνονται από τις μπλε γραμμές.

11 Βάσεις Δεδομένων 11 Το σχεσιακό μοντέλο (Relational model) 11 Οι περιορισμοί αναφορικής ακεραιότητας στην SQL

12 Βάσεις Δεδομένων 12 Το σχεσιακό μοντέλο (Relational model) 12 Mετατροπή ΕΕR μοντέλου στο Σχεσιακό μοντέλο Μετατροπή Οντοτήτων σε Πίνακες 1. Simple attributes: καμιά αλλαγή 2. Composite attributes: χρήση των συστατικών του σύνθετου γνωρίσματος 3. Multivalued Attribute: μετατρέπεται σε έναν νέο πίνακα με ξένο κλειδί που το κληρονομεί από την οντότητα γονέα.

13 Βάσεις Δεδομένων 13 Το σχεσιακό μοντέλο (Relational model) 13 (a) CUSTOMER entity type with simple attributes Παράδειγμα μετατροπής απλής οντότητας σε πίνακα (b) CUSTOMER relation

14 Βάσεις Δεδομένων 14 Το σχεσιακό μοντέλο (Relational model) 14 (a) CUSTOMER entity type with composite attribute (b) CUSTOMER relation with address detail Παράδειγμα μετατροπής ενός σύνθετου γνωρίσματος

15 Βάσεις Δεδομένων 15 Το σχεσιακό μοντέλο (Relational model) 15 1–προς–πολλά συσχέτιση μεταξύ αρχικής οντότητας και νέου πίνακα (a) To Multivalued attribute φτιάχνει έναν νέο πίνακα με foreign key (b) Παράδειγμα μετατροπής ενός multi-valued attribute

16 Βάσεις Δεδομένων 16 Το σχεσιακό μοντέλο (Relational model) 16 Μετατροπή ασθενών Οντοτήτων 1. Φτιάχνουμε ένα ξεχωριστό πίνακα με ξένο κλειδί που δίνεται από την αρχική οντότητα 2. Το Primary key συνίσταται από: Partial identifier της ασθενούς οντότητας Partial identifier της ασθενούς οντότητας Primary key της ισχυρής οντότητας Primary key της ισχυρής οντότητας

17 Βάσεις Δεδομένων 17 Το σχεσιακό μοντέλο (Relational model) 17 Παράδειγμα Μετατροπής ασθενούς Οντότητας

18 Βάσεις Δεδομένων 18 Το σχεσιακό μοντέλο (Relational model) 18 Foreign key Composite primary key Παράδειγμα Μετατροπής ασθενούς Οντότητας

19 Βάσεις Δεδομένων 19 Το σχεσιακό μοντέλο (Relational model) 19 1-προς-1 : Το Primary key στην mandatory side γίνεται foreign key στην the optional side 1-προς-1 : Το Primary key στην mandatory side γίνεται foreign key στην the optional side Μετατροπή σχέσεων 2 ου Βαθμού

20 Βάσεις Δεδομένων 20 Το σχεσιακό μοντέλο (Relational model) 20 Παράδειγμα Μετατροπής συσχέτιση 2 ου βαθμού (ένα προς ένα)

21 Βάσεις Δεδομένων 21 Το σχεσιακό μοντέλο (Relational model) 21 Παράδειγμα Μετατροπής συσχέτιση 2 ου βαθμού (ένα προς ένα)

22 Βάσεις Δεδομένων 22 Το σχεσιακό μοντέλο (Relational model) 22 Μετατροπή σχέσεων 2 ου Βαθμού 1-προς-Πολλά: Το Primary key της πλευράς του ενός στιγμιότυπου γίνεται ξένο κλειδί στην πλευρά των πολλών στιγμιότυπων. 1-προς-Πολλά: Το Primary key της πλευράς του ενός στιγμιότυπου γίνεται ξένο κλειδί στην πλευρά των πολλών στιγμιότυπων.

23 Βάσεις Δεδομένων 23 Το σχεσιακό μοντέλο (Relational model) 23 Σημειώστε το mandatory one Παράδειγμα Μετατροπής συσχέτιση 2 ου βαθμού (ένα προς πολλά)

24 Βάσεις Δεδομένων 24 Το σχεσιακό μοντέλο (Relational model) 24 Δεν επιτρέπονται NULL τιμές στο Customer_ID Foreign key Παράδειγμα Μετατροπής συσχέτιση 2 ου βαθμού (ένα προς πολλά)

25 Βάσεις Δεδομένων 25 Το σχεσιακό μοντέλο (Relational model) 25 Πολλά-προς-Πολλά – Δημιούργησε έναν νέο πίνακα με σύνθετο πρωτεύον κλειδί που δημιουργείται από τα πρωτεύοντα κλειδιά των δυο παλαιών οντοτήτων. Πολλά-προς-Πολλά – Δημιούργησε έναν νέο πίνακα με σύνθετο πρωτεύον κλειδί που δημιουργείται από τα πρωτεύοντα κλειδιά των δυο παλαιών οντοτήτων. Μετατροπή σχέσεων 2 ου Βαθμού

26 Βάσεις Δεδομένων 26 Το σχεσιακό μοντέλο (Relational model) 26 The Supplies relationship πρέπει να μετατραπεί σε νέο πίνακα Παράδειγμα Μετατροπής συσχέτιση 2 ου βαθμού (πολλά προς πολλά)

27 Βάσεις Δεδομένων 27 Το σχεσιακό μοντέλο (Relational model) 27 Νέος πίνακας Foreign key Composite primary key Παράδειγμα Μετατροπής συσχέτιση 2 ου βαθμού (πολλά προς πολλά)

28 Βάσεις Δεδομένων 28 Το σχεσιακό μοντέλο (Relational model) 28 Μετατρέποντας Associative Entities Το πρωτεύον κλειδί της συσχετιστικής οντότητας προκύπτει από τα πρωτεύοντα κλειδιά των άλλων δύο οντοτήτων (όπως και στην περίπτωση της M:N συσχέτισης 2 ου βαθμού) Το πρωτεύον κλειδί της συσχετιστικής οντότητας προκύπτει από τα πρωτεύοντα κλειδιά των άλλων δύο οντοτήτων (όπως και στην περίπτωση της M:N συσχέτισης 2 ου βαθμού)

29 Βάσεις Δεδομένων 29 Το σχεσιακό μοντέλο (Relational model) 29 Παράδειγμα Μετατροπής συσχετιστικής οντότητας

30 Βάσεις Δεδομένων 30 Το σχεσιακό μοντέλο (Relational model) 30 Παράδειγμα Μετατροπής συσχετιστικής οντότητας

31 Βάσεις Δεδομένων 31 Το σχεσιακό μοντέλο (Relational model) 31 Παράδειγμα Μετατροπής συσχετιστικής οντότητας Με δικό της προσδιοριστή

32 Βάσεις Δεδομένων 32 Το σχεσιακό μοντέλο (Relational model) 32 Παράδειγμα Μετατροπής συσχετιστικής οντότητας Με δικό της προσδιοριστή

33 Βάσεις Δεδομένων 33 Το σχεσιακό μοντέλο (Relational model) 33 Μετατροπή συσχετίσεων 1 ου βαθμού Ένα-προς-Πολλά : Δημιουργείται ένας πίνακας με αναδρομικό Ξένο κλειδί.

34 Βάσεις Δεδομένων 34 Το σχεσιακό μοντέλο (Relational model) 34 (a) EMPLOYEE entity with Manages relationship (b) EMPLOYEE relation with recursive foreign key Παράδειγμα μετατροπής συσχετίσεων 1 ου βαθμού (ένας προς πολλά)

35 Βάσεις Δεδομένων 35 Το σχεσιακό μοντέλο (Relational model) 35 Πολλά-προς-Πολλά:- Δημιουργούνται δύο πίνακες: 1.Ένας πίνακας για την οντότητα 2.Ένας πίνακας για την συσχετιστική οντότητα Μετατροπή συσχετίσεων 1 ου βαθμού

36 Βάσεις Δεδομένων 36 Το σχεσιακό μοντέλο (Relational model) 36 (a) ITEM relationships (M:N) (b) ITEM and COMPONENT relations Παράδειγμα μετατροπής συσχετίσεων 1 ου βαθμού (πολλά προς πολλά)

37 Βάσεις Δεδομένων 37 Το σχεσιακό μοντέλο (Relational model) 37 Μετατροπή συσχετίσεων n-βαθμού Δημιουργείται ένας πίνακας για κάθε οντότητα και ένας πίνακας για την συσχετιστική οντότητα. Δημιουργείται ένας πίνακας για κάθε οντότητα και ένας πίνακας για την συσχετιστική οντότητα.

38 Βάσεις Δεδομένων 38 Το σχεσιακό μοντέλο (Relational model) 38 Παράδειγμα μετατροπής συσχετίσεων 3 ου βαθμού (ένα προς πολλά)

39 Βάσεις Δεδομένων 39 Το σχεσιακό μοντέλο (Relational model) 39 Παράδειγμα μετατροπής συσχετίσεων 3 ου βαθμού (ένα προς πολλά)

40 Βάσεις Δεδομένων 40 Το σχεσιακό μοντέλο (Relational model) 40 Μετατρέποντας Supertype/Subtype Relationships Ένας πίνακας για την οντότητα Supertype και από έναν πίνακα για κάθε οντότητα Subtype. Το σύνθετο πρωτεύον κλειδί του supertype πίνακα γίνεται και πρωτεύον κλειδί του κάθε subtype πίνακα.

41 Βάσεις Δεδομένων 41 Το σχεσιακό μοντέλο (Relational model) 41 Παράδειγμα Supertype/subtype relationships

42 Βάσεις Δεδομένων 42 Το σχεσιακό μοντέλο (Relational model) 42 Ένα-προς-ένα relationships Παράδειγμα Supertype/subtype relationships


Κατέβασμα ppt "Βάσεις Δεδομένων 1 Το σχεσιακό μοντέλο (Relational model) Σχεσιακό Μοντέλο - Relational Model ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Δρ. Παναγιώτης Συμεωνίδης."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google