ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ. Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 1

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ. Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 1"

Transcript

1 ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 1

2 Σύνοψη Σχεσιακός Σχεδιασμός - Στόχοι Κριτήρια / Οδηγίες για ένα καλό Σχεδιασμό Συναρτησιακές Εξαρτήσεις - Οι Κανονικές Μορφές ΒΔ Αποσυνθέσεις Σχέσεων (Decompositions) Συνθήκη Διατήρησης Εξαρτήσεων (dependency preservation) και Συνενώσεις άνευ απωλειών (lossless-joins) Άλλες Συναρτησιακές Εξαρτήσεις (Multivalued, Join) Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 2

3 Σχεσιακές Βάσεις Λογικός Σχεδιασμός Σχεδιασμός Σχέσεων: Ομαδοποίηση Γνωρισμάτων έτσι ώστε να επιτευχθούν καλά σχήματα Σχέσεων Άτυπα κριτήρια: Προσπάθεια για εννοιολογική καθαρότητα Προσπάθεια για αποδοτικότητα χώρου (αποφυγή πλεονασμού) Προσπάθεια για ακεραιότητα (αποφυγή ανωμαλιών ενημέρωσης) Προσπάθεια για πληρότητα (αποφυγή NULL τιμών σε πλειάδες) Προσπάθεια για γλωσσολογική αποδοτικότητα Προσπάθεια για καλή επίδοση (performance) Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 3

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

5 Αποδοτικότητα χώρου Αποφυγή πλεονασμού Πλεονασμός χώρου (redundancy) σημαίνει χάσιμο χώρου Ο πλεονασμός φέρνει ανωμαλίες (ονομάζονται ανωμαλίες ενημέρωσης - update anomalies) Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 5

6 Προσπάθεια για ακεραιότητα Αποφυγή ανωμαλιών ενημέρωσης Η ακεραιότητα της Βάσης φθείρεται όταν συμβαίνουν ανωμαλίες εισαγωγής, διαγραφής και τροποποίησης Έχουμε ανωμαλία όταν μια ενημέρωση σε ένα σημείο επιφέρει έναν μη-προσδιορίσιμο αριθμό ενημερώσεων σε άλλα σημεία της Βάσης. Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 6

7 Προσπάθεια για πληρότητα Αποφυγή NULL τιμών σε πλειάδες Οι τιμές Null σημαίνουν έλλειψη γνώσης ή μηεφαρμοσιμότητα και συχνά προκαλούν λάθη σε ερωτήσεις Για να γίνει σωστή η εκτέλεση των ερωτήσεων απαιτείται διαφορετική λογική από αυτή που χρησιμοποιούμε σε πρακτικά/εμπορικά συστήματα λογική δύο τιμών αληθείας (true /false) Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 7

8 Προσπάθεια για γλωσσολογική αποδοτικότητα Όσο πιο απλά μπορούν να εκφραστούν οι ερωτήσεις στην εφαρμογή τόσο το καλύτερο για τον προγραμματιστή / χρήστη και (συνήθως) για τον Βελτιστοποιητή Ερωτήσεων του συστήματος Οι Ερωτήσεις γίνονται πιο εύκολα σε Σχέσεις που έχουν πολλές πληροφορίες / γνωρίσματα (π.χ., δεν χρειάζονται πολλές συνενώσεις) Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 8

9 Προσπάθεια για καλή επίδοση Απόδοση: Αριθμός ερωτημάτων ή ενημερώσεων που μπορούν να υποστούν επεξεργασία ανά μονάδα χρόνου Χρόνος απόκρισης: Ο χρόνος που χρειάζεται για να ολοκληρωθεί μια μόνο συναλλαγή από την αρχή ως το τέλος της (στη μέση ή στη χειρότερη περίπτωση) Όπως και στην προηγούμενη περίπτωση, Σχέσεις με λίγα Γνωρίσματα (π.χ., δυαδικές), επιφέρουν ένα μεγάλο αριθμό συνενώσεων για την εκτέλεση ερωτήσεων χειρότερη απόδοση Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 9

10 Παράδειγμα «Κακού» Σχεδιασμού Έστω η Βάση με ένα Σχήμα Σχέσης: ED(SSN, EName, Salary, DNumber, DName, Location, MgrSSN) Q1: Βρες όλους τους Υπαλλήλους που βγάζουν πιο πολλά από τον Προϊστάμενό τους select e.ename from ED e, ED m where e.mgrssn = m.ssn and e.salary > m.salary Q2: Για κάθε Τμήμα, Βρες τον μέγιστο μισθό select from group by DName, max(salary) ED DNumber Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 10

11 Παράδειγμα «Κακού» Σχεδιασμού (2) ED(SSN, EName, Salary, DNumber, DName, Location, MgrSSN) ΣΧΟΛΙΑ Οι παραπάνω ερωτήσεις γίνονται με απλό τρόπο (linguistic efficiency) ΑΛΛΑ: (α) Πλεονασμοί: Οι πληροφορίες ενός Τμήματος επαναλαμβάνονται για κάθε υπάλληλο του Τμήματος (β) Ανωμαλίες Τροποποιήσεων: Σε μια απλή τροποποίηση (π.χ., αλλάζοντας τον Προϊστάμενο ενός Τμήματος) ένας ανεξέλεγκτος αριθμός πλειάδων πρέπει να τροποποιηθεί (γ) Ανωμαλίες Εισαγωγής: Πληροφορίες για ένα νέο Τμήμα δεν είναι δυνατό να εισαχθούν στη Βάση αν δεν υπάρχει κάποιος Υπάλληλος που (ήδη) εργάζεται στο Τμήμα. (δ) Ανωμαλίες Διαγραφής: Όταν διαγράφεται και ο τελευταίος υπάλληλος που εργάζεται σε ένα Τμήμα, χάνουμε τις πληροφορίες για το ίδιο το Τμήμα Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 11

12 Παράδειγμα «Καλύτερου» Σχεδιασμού Μπορούμε να επιλέξουμε έναν ισοδύναμο (του προηγουμένου) Σχεδιασμό με δύο Σχέσεις: EMPLOYEE(SSN, EName, Salary, DNumber) DEPARTMENT(DNumber, DName, Location, MgrSSN) Q1: Βρες όλους τους Υπαλλήλους που βγάζουν πιο πολλά από τον Προϊστάμενό τους select from where e.ename EMPLOYEE e, EMPLOYEE m, DEPARTMENT d e.dnumber = d.dnumber and e.mgrssn = m.ssn and e.salary > m.salary Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 12

13 Παράδειγμα «Καλύτερου» Σχεδιασμού (2) Q2: Για κάθε Τμήμα, Βρες τον μέγιστο μισθό select d.dname, max(e.salary) from EMPLOYEE e, DEPARTMENT d where d.dnumber = e.dnumber group by d.dnumber Αυτές οι ερωτήσεις είναι σύνθετες (linguistic inefficiency) και απαιτούν περισσότερες συνενώσεις (performance), ΑΛΛΑ ΑΠΟΦΕΥΓΟΥΝ ΟΛΕΣ ΤΙΣ ανωμαλίες τροποποίησης (update anomalies) Ο Στόχος μας στη συνέχεια είναι να δούμε ΠΩΣ η κατάληξη σε καλούς Σχεδιασμούς μπορεί να γίνει ΤΥΠΙΚΑ και ΣΥΣΤΗΜΑΤΙΚΑ Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 13

14 Μια Απλή περίπτωση Κανονικοποίησης (α) Έστω μια Σχέση για EMPLOYEES Μερικοί Υπάλληλοι έχουν περισσότερα του ενός γραφεία ΠΩΣ το παρουσιάζουμε αυτό??? EID LastName FirstName Salary Office 1 Long Mark 10k Austin 2 Smith Lisa 45K Boston 3 Harris Dave 60K Atlanta 4 Davis James 42K Dallas 5 Jackson Harold 35K Denver Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 14

15 Μια Απλή περίπτωση Κανονικοποίησης (β) Μερικοί Υπάλληλοι έχουν περισσότερα του ενός γραφεία ΠΩΣ το παρουσιάζουμε αυτό??? ΛΥΣΗ με πολλές στήλες (δαπανά χώρο, κάνει δύσκολα μερικά ερωτήματα, κλπ) EID LastName FirstName Salary Office1 Office2 1 Long Mark 10k Austin 2 Smith Lisa 45K Boston Seattle 3 Harris Dave 60K Atlanta 4 Davis James 42K Dallas 5 Jackson Harold 35K Denver Miami Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 15

16 Μια Απλή περίπτωση Κανονικοποίησης (γ) Μερικοί Υπάλληλοι έχουν περισσότερα του ενός γραφεία ΛΥΣΗ με Κανονικοποίηση σε 2 Σχέσεις Συχνά αποκαλείται: «Σχέσεις με Κύριο / Εξωτερικό Κλειδί» EID Office EID LastName FirstName Salary 1 Long Mark 10k 2 Smith Lisa 45K 3 Harris Dave 60K 4 Davis James 42K 5 Jackson Harold 35K 1 Austin 2 Boston 2 Seattle 3 Atlanta 4 Dallas 5 Denver 5 Miami Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 16

17 ΣΥΝΑΡΤΗΣΙΑΚΕΣ ΕΞΑΡΤΗΣΕΙΣ Οι Συναρτησιακές Εξαρτήσεις (Functional Dependencies FD) είναι το πιο κοινό τυπικό μέτρο του καλού για Σχεσιακούς Σχεδιασμούς Χρησιμοποιούνται για τον ορισμό των Κανονικών Μορφών για Σχέσεις Μια FD αποτελεί έναν περιορισμό για όλα τα στιγμιότυπα της Σχέσης r(r), αλλά είναι μια ιδιότητα των γνωρισμάτων στο Σχήμα R ΟΡΙΣΜΟΣ: Έστω X, Y σύνολα Γνωρισμάτων στο Σχήμα Σχέσης R. Λέμε ότι η Συναρτησιακή Εξάρτηση (FD): X Y ισχύει αν η X-τιμή καθορίζει μοναδικά την Y-τιμή. Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 17

18 FD Ορισμοί ΕΝΑΛΛΑΚΤΙΚΟΣ ΟΡΙΣΜΟΣ: Έστω X, Y σύνολα Γνωρισμάτων στο Σχήμα Σχέσης R. Λέμε ότι η Συναρτησιακή Εξάρτηση (FD): X Y ισχύει αν, όποτε δύο πλειάδες σε ένα στιγμιότυπο r(r) έχουν την ίδια τιμή για το X, τότε πρέπει να έχουν την ίδια τιμή για το Y Δηλαδή: για οποιεσδήποτε δύο πλειάδες t 1, t 2 σε κάθε σχέση r(r): Αν t 1 [X] = t 2 [X] τότε t 1 [Y] = t 2 [Y] Αν το Κ είναι Κλειδί στην R, τότε το K εξαρτά συναρτησιακά ΟΛΑ τα Γνωρίσματα στην R (μια και δεν μπορούμε ποτέ να έχουμε διακριτές πλειάδες t1, t2 με t1[k] = t2[k] ) Μια FD είναι ιδιότητα του σχήματος μιας σχέσης και ΟΧΙ κάποιας επιτρεπτής κατάστασης (στιγμιοτύπου) της. Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 18

19 Ιδιότητες των FD Τετριμμένη Συναρτησιακή Εξάρτηση: Όποτε Y X, τότε πάντα X Y Παράδειγμα: SSN, Salary Salary Πλήρης Συναρτησιακή Εξάρτηση: Λέμε ότι ένα σύνολο γνωρισμάτων Y είναι πλήρως εξαρτώμενο συναρτησιακά από ένα σύνολο X, αν είναι συναρτησιακά εξαρτώμενο από το X και δεν είναι συναρτησιακά εξαρτώμενο από κάποιο υποσύνολο του X, Δηλαδή, το Y είναι πλήρως εξαρτώμενο συναρτησιακά από το X, αν X Y και δεν υπάρχει W έτσι ώστε W X and W Y Παράδειγμα: SSN, PNumber HoursPW Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 19

20 Ιδιότητες των FD (2) Μερική Εξάρτηση: Σαν συνέπεια του παραπάνω ορισμού, λέμε ότι το Y είναι μερικά εξαρτώμενο από το X, αν X Y και υπάρχει κάποιο W έτσι ώστε W X και W Y Παράδειγμα: SSN,Salary Address (αλλά και, SSN Address) Μεταβατική Εξάρτηση: Μια συναρτησιακή εξάρτηση X Z είναι μεταβατική αν μπορεί να προέλθει / απορρέει από δύο άλλες FD με μεταβατικότητα (X Y και Y Z ) Παράδειγμα: SSN DNumber και DNumber MgrSSN, συνεπάγονται: SSN MgrSSN Πρωτεύον Γνώρισμα: Ένα Γνώρισμα που είναι μέλος κάποιου υποψήφιου κλειδιού Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 20

21 ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ Η διαδικασία της Κανονικοποίησης ενσωματώνει την εννοιολογική έννοια της FD στα Σχήματα Σχέσεων. Υπάρχουν Κανονικές Μορφές Σχημάτων, όπου τα παρακάτω αποδεικνύονται: ΟΛΕΣ οι ΣΧΕΣΕΙΣ 1NF 2NF 3NF BCNF 4NF 5NF Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 21

22 Κανονικές Μορφές (1) Πρώτη Κανονική Μορφή (1NF): Η R είναι σε 1NF αν κάθε Γνώρισμα παίρνει ατομικές (απλές+αδιαίρετες) τιμές. Θεωρούμε ότι οι Σχέσεις που δουλεύουμε είναι τουλάχιστον σε 1NF (αυτό σε σύγχρονα DBMS δεν ισχύει π.χ., πολυμέσα, γεωγραφικές πληροφορίες, κλπ). Παράδειγμα: R(ENumber, ChildrenNames) ΔΕΝ ΕΙΝΑΙ σε 1NF Δεύτερη Κανονική Μορφή (2NF): Η R είναι σε 2NF αν είναι σε 1NF και κανένα μη-πρωτεύον Γνώρισμα δεν είναι μερικώς εξαρτώμενο από οποιοδήποτε υποψήφιο κλειδί της R. Παράδειγμα : SUPPLIER(SNumber, SName, ItemNumber, Price) ΔΕΝ ΕΙΝΑΙ σε 2NF, γιατί ο συνδυασμός SNumber, ItemNumber είναι υποψήφιο κλειδί, αλλά επίσης SNumber SName ισχύει Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 22

23 Κανονικές Μορφές (2) Τρίτη Κανονική Μορφή (3NF): Η R είναι σε 3NF αν είναι σε 2NF και κανένα μη-πρωτεύον Γνώρισμα δεν είναι μεταβατικά εξαρτώμενο από ένα υποψήφιο κλειδί Παράδειγμα: Η Σχέση: ED(SSN, EName, Salary, DNumber, DName, Location, MgrSSN) είναι σε 2NF ΑΛΛΑ ΔΕΝ ΕΙΝΑΙ σε 3NF, διότι Το SSN είναι (το μόνο) υποψήφιο κλειδί και έχουμε: SSN Dnumber και DNumber MgrSSN (δηλαδή, το MgrSSN είναι μεταβατικά εξαρτώμενο από το SSN) Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 23

24 Κανονικές Μορφές (3) Ισοδύναμος Ορισμός της ΤΡΙΤΗΣ ΚΑΝΟΝΙΚΗΣ ΜΟΡΦΗΣ (3NF): Η R είναι σε 3NF αν και μόνο εάν για κάθε FD X A, όπου X είναι ένα σύνολο γνωρισμάτων της R και A είναι απλό Γνώρισμα, τουλάχιστον ένα από τα παρακάτω τρία ισχύει 1.- A X (η FD είναι τετριμμένη) 2.- K X (με το K υποψήφιο κλειδί του R) 3.- A K (με το K υποψήφιο κλειδί του R) Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 24

25 Κανονικές Μορφές (4) Κανονική Μορφή BOYCE-CODD (BCNF): Η R είναι σε BCNF αν και μόνο εάν όποτε μια FD X Y ισχύει τότε το X είναι υποψήφιο κλειδί (όπου X, Y είναι σύνολα Γνωρισμάτων του R) Ισοδύναμος Ορισμός του BOYCE-CODD NORMAL FORM (BCNF): Η R είναι σε BCNF αν και μόνο εάν για κάθε FD X A, όπου το X είναι είναι σύνολο γνωρισμάτων του R και A είναι απλό γνώρισμα, τουλάχιστον ένα από τα παρακάτω ισχύει: 1.- A X (η FD είναι τετριμμένη) 2.- K X (με το K υποψήφιο κλειδί του R) Σημείωση: Ακριβώς όπως η 3NF χωρίς την επιλογή 3., που άμεσα δείχνει ότι η BCNF συνεπάγεται την 3NF Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 25

26 Κανονικές Μορφές (5) Παράδειγμα: Η Σχέση: RESTAURANT(Client, Food, ReceiptNumber) είναι σε 3NF ΑΛΛΑ ΔΕΝ ΕΙΝΑΙ σε BCNF, διότι ισχύουν: Client, Food ReceiptNumber, και ReceiptNumber Food (αυτή δεν είναι εξάρτηση από κλειδί) Κάθε Σχέση είναι δυνατόν να μετασχηματιστεί σε ισοδύναμες σχέσεις σε 3NF (χρησιμοποιώντας καλά ορισμένους αλγορίθμους). Η διαδικασία αυτή ονομάζεται Αποσύνθεση ή 3NF Κανονικοποίηση. Δυστυχώς, υπάρχουν κάποιες 3NF σχέσεις που δεν είναι δυνατόν να μετασχηματιστούν σε BCNF (όπως το χαρακτηριστικό παράδειγμα παραπάνω) Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 26

27 Κανονικες Μορφές Περαν της Τρίτης 4 η Κανονική Μορφή (4NF) Απομόνωση των ανεξάρτητων πολλαπλών σχέσεων μεταξύ δεδομένων 5 η Κανονική Μορφή (5NF) Απομόνωση των εννοιολογικά σχετιζόμενων πολλαπλών σχέσεων μεταξύ δεδομένων Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 27

28 Παράδειγμα 4 ης Κανονικής Μορφής (α) Έστω η Σχέση (για Πωλήσεις Προϊόντων) σε 3 NF ΠΡΟΙΟΝ ΧΡΩΜΑ ΜΕΓΕΘΟΣ Footer Κόκκινο Small Footer Κόκκινο Medium Footer Κόκκινο Large Footer Πράσινο Small Footer Πράσινο Medium Footer Πράσινο Large Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 28

29 Παράδειγμα 4 ης Κανονικής Μορφής (β) σε 4 η NF με ΔΥΟ ΠΙΝΑΚΕΣ ΠΡΟΙΟΝ Footer Footer ΧΡΩΜΑ Κόκκινο Πράσινο ΠΡΟΙΟΝ Footer Footer Footer ΜΕΓΕΘΟΣ Small Medium Large Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 29

30 Παράδειγμα 5 ης Κανονικής Μορφής (α) Έστω η Σχέση (για Πωλήσεις Προϊόντων) σε 3 NF ΠΡΟΙΟΝ ΧΡΩΜΑ ΜΕΓΕΘΟΣ Footer Κόκκινο Small Footer Κόκκινο Medium Footer Κόκκινο Large Footer Πράσινο Small Footer Πράσινο Medium Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 30

31 Παράδειγμα 5 ης Κανονικής Μορφής (β) Σε 5 η NF με ΤΡΕΙΣ ΠΙΝΑΚΕΣ ΠΡΟΙΟΝ ΧΡΩΜΑ Footer Footer Κόκκινο Πράσινο ΧΡΩΜΑ Κόκκινο ΜΕΓΕΘΟΣ Small ΠΡΟΙΟΝ ΜΕΓΕΘΟΣ Κόκκινο Medium Footer Small Κόκκινο Large Footer Medium Πράσινο Small Footer Large Πράσινο Medium Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 31

32 Θεωρία Κανονικοποίησης - Κανόνες Δοθέντος ενός συνόλου από FD F, μπορούμε να προσδιορίσουμε άλλες FD που ισχύουν όποτε οι FD στην F ισχύουν - για να προσδιορίσουμε τέτοιες FD χρειαζόμαστε κανόνες συμπερασμού. A1. Αν Y X τότε X Y (Ανακλαστικός -Reflexivity) A2. Αν X Y τότε XZ YZ (Επαυξητικός -Augmentation) A3. Αν X Y και Y Z τότε X Z (Μεταβατικός - Transitivity) Ο Armstrong απέδειξε ότι οι: {A1, A2, A3} είναι ένα βάσιμο και πλήρες σύνολο κανόνων συμπερασμού δηλαδή, οι κανόνες δημιουργούν μόνο βάσιμες FD και επίσης, όλες οι FD που μπορούμε να συμπεράνουμε, δημιουργούνται με αυτούς τους κανόνες. Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 32

33 Κανόνες Συμπερασμού Επιπλέον Κανόνες Συμπερασμού ισχύουν : A4. Αν X YZ τότε X Y και X Z (Διασπαστικός - Decomposition) A5. Αν X Y και X Z τότε X YZ (Ενωτικός - Union) A6. Αν X Y και WY Z τότε WX Z (Ψευδομεταβατικός -Pseudotransitivity) Το κλείσιμο - closure F+ ενός συνόλου FD F είναι το σύνολο όλων των FD που συμπεραίνονται από το F (με την εφαρμογή των κανόνων Armstrong) Το κλείσιμο - closure X+ ενός συνόλου γνωρισμάτων X σε σχέση με ένα σύνολο FD F είναι το σύνολο όλων των γνωρισμάτων που εξαρτώνται συναρτησιακά από το X (με την εφαρμογή των κανόνων Armstrong) Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 33

34 Παραδείγματα R = (A, B, C, G, H, I) F = { A B A C CG H CG I B H} Συναρτησιακές εξαρτήσεις στην F + A H» Με μεταβατικότητα A B και B H AG I» Επαυξητικά από το A C με το G, παίρνουμε το AG CG και μετά με μεταβατικότητα με το CG I CG HI» Από το CG H και το CG I : κανόνας ένωσης Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 34

35 Υπολογισμός του F + Αλγόριθμος: F + = F repeat for each functional dependency f in F + apply reflexivity and augmentation rules on f add the resulting functional dependencies to F + for each pair of functional dependencies f 1 and f 2 in F + if f 1 and f 2 can be combined using transitivity then add the resulting functional dependency to F + until F + does not change any further «ΑΡΓΟΣ» Αλγόριθμος Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 35

36 Υπολογισμός Κλεισίματος Συνόλου Γνωρισμάτων (a + ) Αλγόριθμος υπολογισμού a +, με την ύπαρξη της F result := a; while (changes to result) do for each in F do begin if result then result := result end «ΓΡΗΓΟΡΟΣ» Αλγόριθμος Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 36

37 Παραδείγματα του Κλεισίματος Συνόλου Γνωρισμάτων (a + ) R = (A, B, C, G, H, I) F = {A B A C CG H CG I B H} (AG) + 1. result = AG 2. result = ABCG (A C and A B) 3. result = ABCGH (CG H and CG AGBC) 4. result = ABCGHI (CG I and CG AGBCH) Είναι το AG υποψήφιο κλειδί? 1. Είναι το AG κλειδί? 1. Η Ερώτηση AG R? Είναι ισοδύναμη με την «είναι το (AG) + R»? 2. Είναι κάποιο υποσύνολο του AG κλειδί? 1. Είναι το A R? == Είναι το (A) + R 2. Είναι το G R? == Είναι το (G) + R Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 37

38 Χρήσεις του Κλεισίματος Συνόλου Γνωρισμάτων (a + ) ΕΛΕΓΧΟΣ ΚΛΕΙΔΙΟΥ: Για τον έλεγχο αν το a είναι κλειδί, υπολογίζουμε το a +, και ελέγχουμε αν το a + περιέχει όλα τα γνωρίσματα του R. ΕΛΕΓΧΟΣ ΣΥΝΑΡΤΗΣΙΑΚΩΝ ΕΞΑΡΤΗΣΕΩΝ Για τον έλεγχο αν η συναρτησιακή εξάρτηση a ισχύει (με άλλα λόγια, αν είναι στο F + ), έλεγξε αν a +. Δηλαδή, υπολογίζουμε το a + με το γνωστό αλγόριθμο, και ελέγχουμε αν περιέχει το. Είναι ένα εύκολος και γρήγορος έλεγχος ΥΠΟΛΟΓΙΣΜΟΣ ΤΟΥ ΚΛΕΙΣΙΜΑΤΟΣ ΤΟΥ F Για κάθε R, υπολογίζουμε το +, και για κάθε S +, παίρνουμε μια συναρτησιακή εξάρτηση S. Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 38

39 Ισοδυναμία Συνόλων από FD Δύο σύνολα από FD F και G είναι ισοδύναμα αν κάθε FD στο F είναι δυνατόν να παραχθεί από το G και κάθε FD στο G είναι δυνατόν να παραχθεί από το F (δηλαδή, F και G είναι ισοδύναμα αν ισχύει: F+ = G+ ) Το F καλύπτει το G αν κάθε FD στο G είναι δυνατόν να παραχθεί από το F (δηλαδή ισχύει: G+ F+ ) Ένα σύνολο F από FD είναι ελάχιστη κάλυψη αν ικανοποιεί τα παρακάτω: (1) Κάθε εξάρτηση στο F είναι της μορφής: X A, όπου A είναι ένα απλό γνώρισμα (2) Δεν μπορούμε να αποσύρουμε μια FD από το F και να εξακολουθούμε να έχουμε ένα σύνολο ισοδύναμο του F (3) Δεν μπορούμε να αντικαταστήσουμε μια FD X A από το F με μια FD Y A, όπου Y X και να εξακολουθούμε να έχουμε ένα σύνολο ισοδύναμο του F Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 39

40 Αλγόριθμος: Υπολογισμός Ελάχιστης Κάλυψης του F repeat Use the union rule to replace any dependencies in F a 1 1 and a 1 2 with a Find a functional dependency a with an extraneous attribute either in a or in If an extraneous attribute is found, delete it from a until F does not change Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 40

41 R = (A, B, C) F = {A BC B C A B AB C} Παράδειγμα Combine A BC and A B into A BC Set is now {A BC, B C, AB C} A is extraneous in AB C Check if the result of deleting A from AB C is implied by the other dependencies» Yes: in fact, B C is already present! Set is now {A BC, A B, B C} C is extraneous in A BC Check if A C is logically implied by A B and the other dependencies» Yes: using transitivity on A B and B C. Can use attribute closure of A in more complex cases Η ελάχιστη κάλυψη είναι: A B B C Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 41

42 Πρακτικά Θέματα για την Κανονικοποίηση Ένας μεγάλος αριθμός από εμπορικά εργαλεία, δοθέντων ενός συνόλου Σχημάτων Σχέσεων / Γνωρισμάτων και ενός συνόλου συναρτησιακών εξαρτήσεων δημιουργούν αυτόματα Σχήματα Σχέσεων σε μορφή 3NF (σπάνια πάνε σε BCNF, 4NF και 5NF) Μια άλλη χρήση τέτοιων εργαλείων είναι να ελέγχουν το επίπεδο Κανονικοποίησης μιας Σχέσης - γενικά, η χρήση ως ευρεστικό εργαλείο επιλογής ενός Σχεδιασμού έναντι κάποιου άλλου Υπάρχουν πρακτικά αποτελέσματα της Θεωρίας που επιτρέπουν σε έναν Σχεδιαστή να κάνει ανάλυση της μορφής: Αν μια σχέση είναι σε 3NF και κάθε υποψήφιο κλειδί αποτελείται ακριβώς από ένα γνώρισμα, τότε είναι και σε 5NF (Fagin, 1991) Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 42

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

Κεφάλαιο 8. ΣΧΕ ΙΑΣΜΟΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ (Normalization) Ι.Β Σχεδιασµός Σχεσιακών Β και Κανονικοποίηση Σελίδα 4.1

Κεφάλαιο 8. ΣΧΕ ΙΑΣΜΟΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ (Normalization) Ι.Β Σχεδιασµός Σχεσιακών Β και Κανονικοποίηση Σελίδα 4.1 Κεφάλαιο 8 ΣΧΕ ΙΑΣΜΟΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ (Normalization) Ι.Β Σχεδιασµός Σχεσιακών Β και Κανονικοποίηση Σελίδα 4.1 Σύνοψη Λογικός Σχεδιασµός Σχεσιακών Βάσεων εδοµένων και Κανονικοποίηση

Διαβάστε περισσότερα

ΣΧΕ ΙΑΣΜΟΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ

ΣΧΕ ΙΑΣΜΟΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΣΧΕ ΙΑΣΜΟΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ Α µέρος Σχεδιασµός Σχεσιακών Β και Κανονικοποίηση 1 Σύνοψη Σχεσιακός Σχεδιασµός - Στόχοι Κριτήρια / Οδηγίες για ένα καλό Σχεδιασµό Συναρτησιακές Εξαρτήσεις

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Συναρτησιακές Εξαρτήσεις (Functional Dependencies) Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan

Διαβάστε περισσότερα

Σχεδίαση Β.Δ. (Database Design)

Σχεδίαση Β.Δ. (Database Design) Σχεδίαση Β.Δ. (Database Design) Η σχεδίαση ενός σχήματος μιας Β.Δ. βασίζεται σε μεγάλο βαθμό στη διαίσθηση του σχεδιαστή σχετικά με τον κόσμο που θέλει να αναπαραστήσει. Η εννοιολογική σχεδίαση υπαρκτών

Διαβάστε περισσότερα

Κανονικές Μορφές. Βάσεις Δεδομένων : Κανονικές Μορφές. ηλαδή, i = 1,.., n R i R. Σύντομη επανάληψη αποσύνθεσης.

Κανονικές Μορφές. Βάσεις Δεδομένων : Κανονικές Μορφές. ηλαδή, i = 1,.., n R i R. Σύντομη επανάληψη αποσύνθεσης. Κανονικές Μορφές Σύντομη επανάληψη αποσύνθεσης Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 2 Αλγόριθμος Σχεδιασμού Αλγόριθμος Σχεδιασμού Ένας γενικός (θεωρητικός)

Διαβάστε περισσότερα

καλών σχεσιακών σχημάτων

καλών σχεσιακών σχημάτων Εισαγωγή Θα εξετάσουμε πότε ένα σχεσιακό σχήμα για μια βάση δεδομένων είναι «καλό» Λογικός Γενικές Οδηγίες Η Μέθοδος της Αποσύνθεσης (γενική μεθοδολογία) Επιθυμητές Ιδιότητες της Αποσύνθεσης Συνένωση Άνευ

Διαβάστε περισσότερα

Κανονικοποίηση. Σημασιολογία Γνωρισμάτων. Άτυπες Οδηγίες. Παράδειγμα. Αξιολόγηση Σχεσιακών Σχημάτων ΒΔ. Περιττές Τιμές και Ανωμαλίες Ενημέρωσης

Κανονικοποίηση. Σημασιολογία Γνωρισμάτων. Άτυπες Οδηγίες. Παράδειγμα. Αξιολόγηση Σχεσιακών Σχημάτων ΒΔ. Περιττές Τιμές και Ανωμαλίες Ενημέρωσης Αξιολόγηση Σχεσιακών Σχημάτων ΒΔ Κανονικοποίηση Παύλος Εφραιμίδης Βάσεις Δεδομένων Κανονικοποίηση 1 Πως μπορούμε να κρίνουμε εάν ένα Σχεσιακό Σχήμα είναι καλό ή αποδοτικό ή αν έχει λάθη; Σε γενικές γραμμές

Διαβάστε περισσότερα

Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley, ΕλληνικήΈκδοση, ίαυλος

Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley, ΕλληνικήΈκδοση, ίαυλος ιαφάνεια 10-1 Κεφάλαιο 10 Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση για Σχεσιακές Βάσεις εδοµένων Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley, ΕλληνικήΈκδοση ίαυλος ΠεριεχόµεναΚεφαλαίου

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Σχεδιασμός Βάσεων Δεδομένων και Κανονικοποίηση Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan

Διαβάστε περισσότερα

Λογικός Σχεδιασμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Λογικός Σχεδιασμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Λογικός Σχεδιασμός Βάσεις Δεδομένων 2017-2018 1 Εισαγωγή Θα εξετάσουμε πότε ένα σχεσιακό σχήμα για μια βάση δεδομένων είναι «καλό» Μη τυπικές γενικές κατευθύνσεις Θεωρία κανονικών μορφών η οποία βασίζεται

Διαβάστε περισσότερα

Λογικός Σχεδιασμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Λογικός Σχεδιασμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Λογικός Σχεδιασμός 1 Ανακοινώθηκε το 2 ο Σύνολο Ασκήσεων στη σελίδα του μαθήματος Ημερομηνία Παράδοσης 6/12/2016 2 Εισαγωγή Θα εξετάσουμε πότε ένα σχεσιακό σχήμα για μια βάση δεδομένων είναι «καλό» Μη

Διαβάστε περισσότερα

Λογικός Σχεδιασμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Λογικός Σχεδιασμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Λογικός Σχεδιασμός Βάσεις Δεδομένων 2018-2019 1 Εισαγωγή Θα εξετάσουμε πότε ένα σχεσιακό σχήμα για μια βάση δεδομένων είναι «καλό» Μη τυπικές γενικές κατευθύνσεις Θεωρία κανονικών μορφών η οποία βασίζεται

Διαβάστε περισσότερα

Λογικός Σχεδιασμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Λογικός Σχεδιασμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Λογικός Σχεδιασμός Ευαγγελία Πιτουρά 1 Εισαγωγή Θα εξετάσουμε πότε ένα σχεσιακό σχήμα για μια βάση δεδομένων είναι «καλό» Μη τυπικές γενικές κατευθύνσεις Θεωρία κανονικών μορφών η οποία βασίζεται στην

Διαβάστε περισσότερα

Συναρτησιακές Εξαρτήσεις Σχεδιασμός Βάσεων Δεδομένων

Συναρτησιακές Εξαρτήσεις Σχεδιασμός Βάσεων Δεδομένων Συναρτησιακές Εξαρτήσεις Σχεδιασμός Βάσεων Δεδομένων Μαρία Χαλκίδη 1 Εισαγωγή Θεωρία για το πότε ένας σχεδιασμός είναι «καλός» Η θεωρία βασίζεται στις Λειτουργικές (Συναρτησιακές) Εξαρτήσεις (Functional

Διαβάστε περισσότερα

και Κανονικοποίηση για Σχεσιακές Βάσεις Δεδομένων Αντζουλάτος Γεράσιμος antzoulatos@upatras.gr Τμήμα Εφαρμογών Πληροφορικής στην Διοίκηση και Οικονομία ΤΕΙ Πατρών - Παράρτημα Αμαλιάδας 29 Νοεμβρίου 2012

Διαβάστε περισσότερα

Κανονικές Μορφές Σχεδιασµός Σχεσιακών Σχηµάτων

Κανονικές Μορφές Σχεδιασµός Σχεσιακών Σχηµάτων Κανονικές Μορφές 1 Σχεδιασµός Σχεσιακών Σχηµάτων Γενικές Οδηγίες Η Μέθοδος της Αποσύνθεσης Επιθυµητές Ιδιότητες της Αποσύνθεσης Συνένωση Άνευ Απωλειών ιατήρηση Εξαρτήσεων Αποφυγή Επανάληψης Πληροφορίας

Διαβάστε περισσότερα

Lecture 21: Functional Dependencies and Normalization

Lecture 21: Functional Dependencies and Normalization Department of Computer Science University of Cyprus EPL342 Databases Lecture 21: Functional Dependencies and Normalization Informal Design Guidelines (Chapter 14.1, Elmasri-Navathe 7ED) Demetris Zeinalipour

Διαβάστε περισσότερα

Principles of Database Systems

Principles of Database Systems Principles of Database Systems V. Megalooikonomou Συναρτησιακές Εξαρτήσεις (Functional Dependencies) (based on notes by Silberchatz,Korth, and Sudarshan and notes by C. Faloutsos) General Overview Formal

Διαβάστε περισσότερα

Κανονικοποίηση. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Κανονικοποίηση 1

Κανονικοποίηση. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Κανονικοποίηση 1 Κανονικοποίηση Παύλος Εφραιμίδης Βάσεις Δεδομένων Κανονικοποίηση 1 Αξιολόγηση Σχεσιακών Σχημάτων ΒΔ Πως μπορούμε να κρίνουμε εάν ένα Σχεσιακό Σχήμα είναι καλό ή αποδοτικό ή αν έχει λάθη; Σε γενικές γραμμές

Διαβάστε περισσότερα

Κανονικές Μορφές. Συνενώσεις Άνευ Απωλειών. Προσοχή με τις τιμές null στην αποσύνθεση

Κανονικές Μορφές. Συνενώσεις Άνευ Απωλειών. Προσοχή με τις τιμές null στην αποσύνθεση Κανονικές Μορφές Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Συνενώσεις Άνευ Απωλειών Προσοχή με τις τιμές null στην αποσύνθεση Αιωρούμενες πλειάδες (dangling tuples) Παράδειγμα: Εργαζόμενος - Τμήμα

Διαβάστε περισσότερα

ΣΧΕ ΙΑΣΜΟΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ

ΣΧΕ ΙΑΣΜΟΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΣΧΕ ΙΑΣΜΟΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ Β µέρος Σχεδιασµός Σχεσιακών Β και Κανονικοποίηση 1 Σκοπός: Να βρούµε θεωρία ώστε Να αποφασίζουµε αν µια σχέση R είναι σε «καλή» µορφή Σε περίπτωση που η R

Διαβάστε περισσότερα

Θεωρία Κανονικοποίησης

Θεωρία Κανονικοποίησης Θεωρία Κανονικοποίησης Πρώτη Κανονική Μορφή (1NF) Αποσύνθεση Συναρτησιακές Εξαρτήσεις Δεύτερη (2NF) και Τρίτη Κανονική Μορφή (3NF) Boyce Codd Κανονική Μορφή (BCNF) Καθολική Διαδικασία Σχεδίασης ΒΔ Βασική

Διαβάστε περισσότερα

Lecture 23: Functional Dependencies and Normalization

Lecture 23: Functional Dependencies and Normalization Department of Computer Science University of Cyprus EPL342 Databases Lecture 23: Functional Dependencies and Normalization Normalization and Normal Forms (Chapter 10.3-10.4, Elmasri-Navathe 5ED) ιδάσκων:

Διαβάστε περισσότερα

Βάσεις δεδομένων. (9 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (9 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (9 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Βελτίωση σχεδιασμού Αποσύνθεση σχέσης Συναρτησιακές εξαρτήσεις Θεωρία κανονικών μορφών 1 η NF 2 η NF 3 η NF 2 Βελτίωση σχεδιασμού

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 21: Κανονικοποίηση και Συναρτησιακές Εξαρτήσεις ΙI Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Συναρτησιακές Εξαρτήσεις Κανόνες Συμπερασμού για Συναρτησιακές

Διαβάστε περισσότερα

Κανονικοποίηση για Σχεσιακές Βάσεις Δεδομένων Αντζουλάτος Γεράσιμος antzoulatos@upatras.gr Τμήμα Εφαρμογών Πληροφορικής στην Διοίκηση και Οικονομία ΤΕΙ Πατρών - Παράρτημα Αμαλιάδας 06 Δεκεμβρίου 2012 Περιεχομενα

Διαβάστε περισσότερα

Συναρτησιακές Εξαρτήσεις 7ο Φροντιστήριο. Βάρσος Κωνσταντίνος

Συναρτησιακές Εξαρτήσεις 7ο Φροντιστήριο. Βάρσος Κωνσταντίνος ΗΥ-360 Αρχεια και Βασεις εδοµενων, Τµηµα Επιστηµης Υπολογιστων, Πανεπιστηµιο Κρητης Συναρτησιακές Εξαρτήσεις Βάρσος Κωνσταντίνος 24 Νοεµβρίου 2017 Ορισµός 1. Μια συναρτησιακή εξάρτηση µεταξύ X και Y συµβολίζεται

Διαβάστε περισσότερα

Συναρτησιακές Εξαρτήσεις

Συναρτησιακές Εξαρτήσεις Συναρτησιακές Εξαρτήσεις Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 1 Θεωρία για το πότε ένας σχεδιασμός είναι«καλός» Εισαγωγή Η θεωρία βασίζεται στις Συναρτησιακές Εξαρτήσεις (Functional Dependencies)

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 20: Κανονικοποίηση και Συναρτησιακές Εξαρτήσεις Ι Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Εισαγωγή στην Κανονικοποιήση Άτυπες κατευθύνσεις για Σχεδιασμό

Διαβάστε περισσότερα

καλών σχεσιακών σχημάτων

καλών σχεσιακών σχημάτων Εισαγωγή Θα εξετάσουμε πότε ένα σχεσιακό σχήμα για μια βάση δεδομένων είναι «καλό» Λογικός Σχεδιασμός Σχεσιακών Σχημάτων Γενικές Οδηγίες Η Μέθοδος της Αποσύνθεσης (γενική μεθοδολογία) Επιθυμητές Ιδιότητες

Διαβάστε περισσότερα

Συναρτησιακές Εξαρτήσεις

Συναρτησιακές Εξαρτήσεις Εισαγωγή Θεωρία για το πότε ένας σχεδιασμός είναι «καλός» Η θεωρία βασίζεται στις (Functional Dependencies) Τι είναι; Εξαρτήσεις ανάμεσα σε σύνολα από γνωρίσματα Συμβολισμός S1 S2 (όπου S1, S2 σύνολα γνωρισμάτων)

Διαβάστε περισσότερα

Κανονικές Μορφές. Τι συμβαίνει με το (πρωτεύον) κλειδί και τις συναρτησιακές εξαρτήσεις; Παράδειγμα 1. Παράδειγμα 2

Κανονικές Μορφές. Τι συμβαίνει με το (πρωτεύον) κλειδί και τις συναρτησιακές εξαρτήσεις; Παράδειγμα 1. Παράδειγμα 2 Κανονικές Μορφές: Εισαγωγή Κανονικές Μορφές Στόχος: οσμένου ενός σχήματος, αν είναι «καλό» ή χρειάζεται περαιτέρω διάσπαση. Πως; Κανονικές μορφές. Ξέρουμε ότι αν ένα σχήμα είναι σε κάποια Κανονική Μορφή

Διαβάστε περισσότερα

Συναρτησιακές Εξαρτήσεις

Συναρτησιακές Εξαρτήσεις Συναρτησιακές Εξαρτήσεις Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Θεωρία για το πότε ένας σχεδιασμός είναι «καλός» Η θεωρία βασίζεται στις Συναρτησιακές Εξαρτήσεις (Functional Dependencies)

Διαβάστε περισσότερα

Κανονικές Μορφές. Αποσύνθεση (decomposition)

Κανονικές Μορφές. Αποσύνθεση (decomposition) Σχεδιασµός Σχεσιακών Σχηµάτων Κανονικές Μορφές Γενικές Οδηγίες Η Μέθοδος της Αποσύνθεσης Επιθυµητές Ιδιότητες της Αποσύνθεσης Συνένωση Άνευ Απωλειών ιατήρηση Εξαρτήσεων Αποφυγή Επανάληψης Πληροφορίας 1

Διαβάστε περισσότερα

Συναρτησιακές Εξαρτήσεις. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

Συναρτησιακές Εξαρτήσεις. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1 Συναρτησιακές Εξαρτήσεις Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή Θεωρία για το πότε ένας σχεδιασµός είναι «καλός» Η θεωρία βασίζεται στις Συναρτησιακές Εξαρτήσεις (Functional Dependencies)

Διαβάστε περισσότερα

ΗΥ360 Αρχεία και Βάσεις Δεδομένων

ΗΥ360 Αρχεία και Βάσεις Δεδομένων ΗΥ360 Αρχεία και Βάσεις Δεδομένων Φροντιστήριο Συναρτησιακές Εξαρτήσεις Αξιώματα Armstrong Ελάχιστη Κάλυψη Συναρτησιακές Εξαρτήσεις Τι είναι : Οι Συναρτησιακές εξαρτήσεις είναι περιορισμοί ακεραιότητας

Διαβάστε περισσότερα

Συναρτησιακές Εξαρτήσεις

Συναρτησιακές Εξαρτήσεις Συναρτησιακές Εξαρτήσεις Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 1 Εισαγωγή Θεωρία για το πότε ένας σχεδιασμός είναι «καλός» Η θεωρία βασίζεται στις Συναρτησιακές Εξαρτήσεις (Functional Dependencies)

Διαβάστε περισσότερα

Συναρτησιακές Εξαρτήσεις 7ο Φροντιστήριο. Βάρσος Κωνσταντίνος

Συναρτησιακές Εξαρτήσεις 7ο Φροντιστήριο. Βάρσος Κωνσταντίνος ΗΥ-360 Αρχεια και Βασεις εδοµενων, Τµηµα Επιστηµης Υπολογιστων, Πανεπιστηµιο Κρητης Συναρτησιακές Εξαρτήσεις Βάρσος Κωνσταντίνος 16 Νοεµβρίου 2018 Ορισµός 1. Μια συναρτησιακή εξάρτηση µεταξύ X και Y συµβολίζεται

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 22: Κανονικοποίηση και Συναρτησιακές Εξαρτήσεις ΙII Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Κανονικοποιήση (Normalization) και Κανονικές Μορφές (Normal

Διαβάστε περισσότερα

Λογικός Σχεδιασμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Λογικός Σχεδιασμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Λογικός Σχεδιασμός Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Εισαγωγή Θα εξετάσουμε πότε ένα σχεσιακό σχήμα για μια βάση δεδομένων είναι «καλό» Μη τυπικές γενικές κατευθύνσεις Θεωρία κανονικών μορφών

Διαβάστε περισσότερα

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων Εισαγωγή Θα εξετάσουµε πότε ένα σχεσιακό σχήµα για µια βάση δεδοµένων είναι «καλό» Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων Γενικές Οδηγίες Η Μέθοδος της Αποσύνθεσης Επιθυµητές Ιδιότητες της Αποσύνθεσης Συνένωση

Διαβάστε περισσότερα

Ασκήσεις -Επανάληψη. Βάσεις Δεδομένων

Ασκήσεις -Επανάληψη. Βάσεις Δεδομένων Ασκήσεις -Επανάληψη Βάσεις Δεδομένων 2016-2017 Ε-R μοντέλα -Flashback. ENTITY SET WEAK ENTITY SET is_a GENERALIZATION RELATIONSHIP SET ATTRIBUTE DERIVED Attribute E2 Total PARTICIPATION of E1 in R1 E2

Διαβάστε περισσότερα

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΛΥΣΕΙΣ Ι. Βασιλείου -----------------------------------------------------------------------------------------------------

Διαβάστε περισσότερα

Lecture 22: Functional Dependencies and Normalization

Lecture 22: Functional Dependencies and Normalization Department of Computer Science University of Cyprus EPL342 Databases Lecture 22: Functional Dependencies and Normalization Functional Dependencies (Chapter 10.2, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης

Διαβάστε περισσότερα

Λογικός Σχεδιασμός Σχεσιακών Σχημάτων: Αποσύνθεση

Λογικός Σχεδιασμός Σχεσιακών Σχημάτων: Αποσύνθεση Λογικός Σχεδιασμός Σχεσιακών Σχημάτων: Αποσύνθεση Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 1 Εισαγωγή Θα εξετάσουμε πότε ένα σχεσιακό σχήμα για μια βάση δεδομένων είναι «καλό» Γενικές Οδηγίες Η Μέθοδος

Διαβάστε περισσότερα

Βάσεις Δεδομένων Συναρτησιακές Εξαρτήσεις (Functional Dependencies) Σχεδιασμός Βάσεων Δεδομένων και Κανονικοποίηση

Βάσεις Δεδομένων Συναρτησιακές Εξαρτήσεις (Functional Dependencies) Σχεδιασμός Βάσεων Δεδομένων και Κανονικοποίηση Βάσεις Δεδομένων Συναρτησιακές Εξαρτήσεις (Functional Dependencies) Σχεδιασμός Βάσεων Δεδομένων και Κανονικοποίηση Φροντιστήριο 6ο 26-1-2009 ΘΕΩΡΙΑ Συναρτησιακές-Λειτουργικές εξαρτήσεις Κανόνες συμπερασμού

Διαβάστε περισσότερα

Κανονικοποίηση Σχήµατος. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

Κανονικοποίηση Σχήµατος. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1 Κανονικοποίηση Σχήµατος Ευαγγελία Πιτουρά 1 Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων - Αποσύνθεση (διάσπαση) καθολικού σχήµατος Επιθυµητές ιδιότητες - διατήρηση εξαρτήσεων (F + = F + ) - όχι απώλειες στη

Διαβάστε περισσότερα

Lecture 24: Functional Dependencies and Normalization IV

Lecture 24: Functional Dependencies and Normalization IV Department of Computer Science University of Cyprus EPL342 Databases Lecture 24: Functional Dependencies and Normalization IV (Chapter 10.5, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

Διαβάστε περισσότερα

Κανονικοποίηση. Άτυπες Οδηγίες. Παράδειγµα. Αξιολόγηση Σχεσιακών Σχηµάτων Β. Περιττές Τιµές και Ανωµαλίες Ενηµέρωσης

Κανονικοποίηση. Άτυπες Οδηγίες. Παράδειγµα. Αξιολόγηση Σχεσιακών Σχηµάτων Β. Περιττές Τιµές και Ανωµαλίες Ενηµέρωσης Αξιολόγηση Σχεσιακών Σχηµάτων Β Κανονικοποίηση Παύλος Εφραιµίδης Βάσεις εδοµένων Κανονικοποίηση 1 Πως µπορούµε να κρίνουµε εάν ένα Σχεσιακό Σχήµα είναι καλό ή αποδοτικό ή αν έχει λάθη; Σε γενικές γραµµές

Διαβάστε περισσότερα

Συναρτησιακές Εξαρτήσεις

Συναρτησιακές Εξαρτήσεις Εισαγωγή Θεωρία για το πότε ένας σχεδιασμός είναι «καλός» Η θεωρία βασίζεται στις Τι είναι; Εξαρτήσεις ανάμεσα σε σύνολα από γνωρίσματα Συμβολισμός S1 S2 (όπου S1, S2 σύνολα γνωρισμάτων) Τι σημαίνει: Αν

Διαβάστε περισσότερα

Συναρτησιακές Εξαρτήσεις

Συναρτησιακές Εξαρτήσεις Εισαγωγή Θεωρία για το πότε ένας σχεδιασμός είναι «καλός» Η θεωρία βασίζεται στις Τι είναι; Εξαρτήσεις ανάμεσα σε σύνολα από γνωρίσματα Συμβολισμός S1 S2 (όπου S1, S2 σύνολα γνωρισμάτων) Τι σημαίνει: Αν

Διαβάστε περισσότερα

-----------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------- ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΜΑΡΤΙΟΥ 2006 - ΛΥΣΕΙΣ Ι. Βασιλείου -----------------------------------------------------------------------------------------------------

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 23: Κανονικοποίηση και Συναρτησιακές Εξαρτήσεις ΙV Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Κανονικές Μορφές (BCNF, Τέταρτη/4NF, Πέμπτη/5NF) Διδάσκων: Παναγιώτης

Διαβάστε περισσότερα

Αρχεία και Βάσεις Δεδομένων

Αρχεία και Βάσεις Δεδομένων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αρχεία και Βάσεις Δεδομένων Διάλεξη 12η: Συναρτησιακές Εξαρτήσεις - Αξιώματα Armstrong Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Συναρτησιακές Εξαρτήσεις

Διαβάστε περισσότερα

Βάσεις Δεδομένων : Λογικός Σχεδιασμός 1. καλών σχεσιακών σχημάτων. Λογικός Σχεδιασμός Σχεσιακών Σχημάτων. Γενικές Κατευθύνσεις.

Βάσεις Δεδομένων : Λογικός Σχεδιασμός 1. καλών σχεσιακών σχημάτων. Λογικός Σχεδιασμός Σχεσιακών Σχημάτων. Γενικές Κατευθύνσεις. Εισαγωγή Θα εξετάσουμε πότε ένα σχεσιακό σχήμα για μια βάση δεδομένων είναι «καλό» Λογικός Σχεδιασμός Σχεσιακών Σχημάτων Γενικές Οδηγίες Η Μέθοδος της Αποσύνθεσης (γενική μεθοδολογία) Επιθυμητές Ιδιότητες

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 8. Κανονικοποίηση Σχεδιασμός Βάσεων Δεδομένων Χρήστος Δουλκερίδης 2017-18 Θεµατολογία Διάλεξης Σχεδιασμός

Διαβάστε περισσότερα

Θέματα ανακεφαλαίωσης

Θέματα ανακεφαλαίωσης Θέματα ανακεφαλαίωσης 13 Ιουνίου 2013 1. Ορίστε την έννοια σχήμα σχέσης και αναλύστε τα στοιχεία του ορισμού σας. Υποθέστε ότι θέλουμε να αποθηκεύσουμε πληροφορίες για τα μέλη ενός πεζοπορικού συλλόγου

Διαβάστε περισσότερα

Κανονικές Μορφές 8ο Φροντιστήριο. Βάρσος Κωνσταντίνος

Κανονικές Μορφές 8ο Φροντιστήριο. Βάρσος Κωνσταντίνος ΗΥ-360 Αρχεια και Βασεις εδοµενων, Τµηµα Επιστηµης Υπολογιστων, Πανεπιστηµιο Κρητης Κανονικές Μορφές Βάρσος Κωνσταντίνος 30 Νοεµβρίου 2017 Κανονικοποίηση Ορισµός 1. Κανονικοποίηση είναι µια διαδικασία

Διαβάστε περισσότερα

Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση

Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση Κανονικές Μορφές - Πρώτη κανονική μορφή (1NF) - Δεύτερη κανονική μορφή (2NF) - Τρίτη κανονική μορφή (3NF) 1 Κανονικοποίηση Κανονικές Μορφές Οι σχέσεις μπορούν

Διαβάστε περισσότερα

Σχεδιασµός Σχεσιακών Σχηµάτων

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

Διαβάστε περισσότερα

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1 Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή Θα εξετάσουµε πότε ένα σχεσιακό σχήµα για µια βάση δεδοµένων είναι «καλό» Γενικές Οδηγίες Η Μέθοδος

Διαβάστε περισσότερα

Βάσεις δεδομένων. (8 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (8 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (8 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα SQL (συνέχεια) Φωλιασμένες υπο-ερωτήσεις Δημιουργία όψεων Πράξεις ενημέρωσης και περιορισμοί 1/5/2014 Βάσεις Δεδομένων 2 Από το

Διαβάστε περισσότερα

Σύνοψη Λογικός Σχεδιασµός Σχεσιακών Βάσεων εδοµένων και Κανονικοποίηση Σχεσιακός Σχεδιασµός - Στόχοι Κριτήρια / Οδηγίες για ένα καλό Σχεδιασµό Συναρτη

Σύνοψη Λογικός Σχεδιασµός Σχεσιακών Βάσεων εδοµένων και Κανονικοποίηση Σχεσιακός Σχεδιασµός - Στόχοι Κριτήρια / Οδηγίες για ένα καλό Σχεδιασµό Συναρτη Κεφάλαιο 7 ΣΧΕ ΙΑΣΜΟΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ (Normalization) Ι.Β Σχεδιασµός Σχεσιακών Β και Κανονικοποίηση Σελίδα 7.1 Σύνοψη Λογικός Σχεδιασµός Σχεσιακών Βάσεων εδοµένων και Κανονικοποίηση

Διαβάστε περισσότερα

Κανονικοποίηση Σχήµατος

Κανονικοποίηση Σχήµατος Κανονικοποίηση Σχήµατος Ευαγγελία Πιτουρά 1 Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων - Αποσύνθεση(διάσπαση) καθολικού σχήματος Επιθυμητές ιδιότητες -διατήρηση εξαρτήσεων (F + = F + ) - όχι απώλειες στη συνένωση(τομή

Διαβάστε περισσότερα

Σχεδιασµός Σχεσιακών Σχηµάτων

Σχεδιασµός Σχεσιακών Σχηµάτων Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 1 Σχεδιασµός Σχεσιακών Σχηµάτων Σχεδιασµός καλών σχεσιακών σχηµάτων Μη τυπικές - γενικές κατευθύνσεις Θεωρία κανονικών µορφών που θα βασίζεται στις συναρτησιακές

Διαβάστε περισσότερα

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1 Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1 Κεφάλαιο 20 Φυσικός Σχεδιασμός Βάσεων Δεδομένων και Ρύθμιση Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική

Διαβάστε περισσότερα

Κλείσιμο Συνόλου Γνωρισμάτων

Κλείσιμο Συνόλου Γνωρισμάτων Κλείσιμο Συνόλου Γνωρισμάτων Ο υπολογισμός του κλεισίματος ενός συνόλου από ΣΕ μας δίνει τα σύνολα όλων των γνωρισμάτων τα οποία προσδιορίζονται συναρτησιακά από άλλα σύνολα γνωρισμάτων Ο υπολογισμός αυτός

Διαβάστε περισσότερα

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα Εισαγωγή Σχεσιακό Μοντέλο Σχεδιασμός μιας Β : Βήματα Ανάλυση Απαιτήσεων Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

Διαβάστε περισσότερα

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης Συναρτησιακές Εξαρτήσεις Αξιώµατα Armstrong Ελάχιστη κάλυψη Φροντιστήριο 1 Συναρτησιακές Εξαρτήσεις Οι Συναρτησιακές εξαρτήσεις είναι περιορισµοί

Διαβάστε περισσότερα

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα Εισαγωγή Σχεσιακό Μοντέλο Σχεδιασμός μιας Β : Βήματα Ανάλυση Απαιτήσεων Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

Διαβάστε περισσότερα

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 1 Εισαγωγή Θα εξετάσουμε πότε ένα σχεσιακό σχήμα για μια βάση δεδομένων είναι «καλό» Γενικές Οδηγίες Η Μέθοδος

Διαβάστε περισσότερα

Συναρτησιακές Εξαρτήσεις

Συναρτησιακές Εξαρτήσεις Εισαγωγή Θεωρία για το πότε ένας σχεδιασµός είναι «καλός» Η θεωρία βασίζεται στις Τι είναι; Εξαρτήσεις ανάµεσα σε σύνολα από γνωρίσµατα S1 S2 (όπου S1, S2 σύνολα γνωρισµάτων): αν ίδιες τιµές στα γνωρίσµατα

Διαβάστε περισσότερα

Βάσεις Δεδομένων : Σχεσιακό Μοντέλο 1. Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση.

Βάσεις Δεδομένων : Σχεσιακό Μοντέλο 1. Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση. Εισαγωγή Σχεσιακό Μοντέλο Ανάλυση Απαιτήσεων Σχεδιασμός μιας Β : Βήματα Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΟΝΟΜΑΤΕΠΩΝΥΜΟ ΑΡΙΘΜΟΣ ΜΗΤΡΩΟΥ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 1.-/30 2.-/20 3.-/20 4.-/30 ΣΥΝΟΛΟ/100 ΟΝΟΜΑΤΕΠΩΝΥΜΟ ΑΡΙΘΜΟΣ ΜΗΤΡΩΟΥ BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΣΕΠΤΕΜΒΡΙΟΥ

Διαβάστε περισσότερα

Σχεσιακό Μοντέλο Τα πρώτα συστήµατα Βάσεων δεδοµένων ήταν βασισµένα στο ιεραρχικό ή στο δικτυακό µοντέλο δεδοµένων. Το σχεσιακό µοντέλο πρωτοπαρουσιάσ

Σχεσιακό Μοντέλο Τα πρώτα συστήµατα Βάσεων δεδοµένων ήταν βασισµένα στο ιεραρχικό ή στο δικτυακό µοντέλο δεδοµένων. Το σχεσιακό µοντέλο πρωτοπαρουσιάσ ΤΕΙ ΑΘΗΝΩΝ ΣΧΟΛΗ Σ Ο ΤΜΗΜΑ ΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2009-2010 Η/Υ ΙΙΙ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ (Θεωρία) ΜΑΘΗΜΑ 3ο Σχεσιακό µοντέλο, Σχεσιακές βάσεις δεδοµένων, Σχεσιακό σχήµα βάσης δεδοµένων (Relational

Διαβάστε περισσότερα

Βάσεις εδοµένων. Συναρτησιακές Εξαρτήσεις (Functional Dependencies) Σχεδιασµός Βάσεων εδοµένων και. Κανονικοποίηση.

Βάσεις εδοµένων. Συναρτησιακές Εξαρτήσεις (Functional Dependencies) Σχεδιασµός Βάσεων εδοµένων και. Κανονικοποίηση. Βάσεις εδοµένων Συναρτησιακές Εξαρτήσεις (Functional Dependencies) Σχεδιασµός Βάσεων εδοµένων και Κανονικοποίηση Φροντιστήριο 9ο 17-12-2009 ΘΕΩΡΙΑ Συναρτησιακές-Λειτουργικές εξαρτήσεις Κανόνες συµπερασµού

Διαβάστε περισσότερα

Βάσεις Δεδομένων Ενότητα 7

Βάσεις Δεδομένων Ενότητα 7 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 7: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση Ιωάννης Μανωλόπουλος, Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 2 ο Σύνολο Ασκήσεων Οι βαθμοί θα ανακοινωθούν αύριο μαζί με τους βαθμούς της προγραμματιστικής άσκησης Τα αστεράκια δείχνουν τον εκτιμώμενο βαθμό δυσκολίας (*) εύκολο (**) μέτριο (***) δύσκολο Βάσεις Δεδομένων

Διαβάστε περισσότερα

Κανονικοποίηση(Normalization) ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ 9 ο Εξάμηνο2013. Κανονικές Μορφές. Πρώτη Κανονική Μορφή (1NF) Βάσεις Δεδομένων. Περικλής Α.

Κανονικοποίηση(Normalization) ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ 9 ο Εξάμηνο2013. Κανονικές Μορφές. Πρώτη Κανονική Μορφή (1NF) Βάσεις Δεδομένων. Περικλής Α. Περικλής Α. Μήτκας 5-1 ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ 9 ο Εξάμηνο2013 Ενότητα 5 Κανονικοποίηση Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τομέας Ηλεκτρονικής και Υπολογιστών Α.Π.Θ. Κανονικοποίηση(Normalization)

Διαβάστε περισσότερα

Lecture 21: Functional Dependencies and Normalization

Lecture 21: Functional Dependencies and Normalization Department of Computer Science University of Cyprus EPL342 Databases Lecture 21: Functional Dependencies and Normalization Informal Design Guidelines (Chapter 10.1, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης

Διαβάστε περισσότερα

DELETE, UPDATE, INSERT.

DELETE, UPDATE, INSERT. Ενημέρωση βάσης δεδομένων με SQL DELETE, UPDATE, INSERT Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 88 Περιεχόμενα 1 Γενικά για την αποθήκευση δεδομένων και την ενημέρωση της

Διαβάστε περισσότερα

Συναρτησιακές και Πλειότιµες Εξαρτήσεις

Συναρτησιακές και Πλειότιµες Εξαρτήσεις Συναρτησιακές και Πλειότιµες Εξαρτήσεις 1 Συναρτησιακές Εξαρτήσεις 2 Συναρτησιακές Εξαρτήσεις Έστω ένα σχήµα σχέσης R(Α 1, Α 2,, Α n ). Aς συµβολίσουµε µε R = {Α 1, Α 2,, Α n } το σύνολο των γνωρισµάτων

Διαβάστε περισσότερα

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

Σχεσιακές Βάσεις Δεδομένων Σχεσιακές Βάσεις Δεδομένων Μέρος 3ο Κανονικοποίηση Αρχείων Σχεσιακής Βάσης Δεδομένων Ιανουάριος 2006 Καραδήμας Ν. 1 Καλή& Κακή Σχεδίαση Βάσης Δεδομένων Η «κακή» σχεδίαση µπορεί να οδηγήσει σε τουλάχιστον

Διαβάστε περισσότερα

DELETE, UPDATE, INSERT

DELETE, UPDATE, INSERT Ενημέρωση βάσης δεδομένων με SQL DELETE, UPDATE, INSERT Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 103 Περιεχόμενα 1 Γενικά για την αποθήκευση

Διαβάστε περισσότερα

Συναρτησιακές Εξαρτήσεις

Συναρτησιακές Εξαρτήσεις Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 1 Έστω ένα σχήµα σχέσης R(Α 1, Α 2,, Α n ). Aς συµβολίσουµε µε R = {Α 1, Α 2,, Α n } το σύνολο των γνωρισµάτων της R. Με απλά λόγια, µια συναρτησιακή εξάρτηση

Διαβάστε περισσότερα

Σχεσιακή Άλγεβρα Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 15 Επισκόπηση 1 Οι βασικές πράξεις προβολής και επιλογής Η σχεσιακή πράξη της προβολής Η σχεσιακή πράξη της επιλογής

Διαβάστε περισσότερα

Επισκόπηση Σχεδίασης Σχεσιακών Βάσεων Δεδομένων

Επισκόπηση Σχεδίασης Σχεσιακών Βάσεων Δεδομένων Επισκόπηση Σχεδίασης Σχεσιακών Βάσεων Δεδομένων Γιάννης Θεοδωρίδης InfoLab, Τμήμα Πληροφορικής, Πανεπιστήμιο Πειραιά http://infolab.cs.unipi.gr version: Oct.2009 Περιεχόμενα Εισαγωγή Μοντελοποίηση, Σχεδιασμός

Διαβάστε περισσότερα

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη Σχεσιακό Μοντέλο Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη Εισαγωγή Το σχεσιακό μοντέλο δεδομένων (relational data model) προτάθηκε από τον E. F. Codd το 1970 Aποτελεί ένα μέσο λογικής δόμησης

Διαβάστε περισσότερα

Αρχεία και Βάσεις Δεδομένων

Αρχεία και Βάσεις Δεδομένων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αρχεία και Βάσεις Δεδομένων Διάλεξη 13η: Κλείσιμο Συνόλου Γνωρισμάτων - Ελάχιστη κάλυψη - Αποσύνθεση - Συναρτησιακές Εξαρτήσεις Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 342 Βάσεις εδοµένων ιδάσκων: Γ. Σαµάρας 5η σειρά ασκήσεων: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση. Λύσεις Μέρος Α. Συναρτησιακές Εξαρτήσεις 1. Αποδείξτε

Διαβάστε περισσότερα

Αρχεία και Βάσεις Δεδομένων

Αρχεία και Βάσεις Δεδομένων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αρχεία και Βάσεις Δεδομένων Διάλεξη 11η: Περιορισμοί Ακεραιότητας - Κανονικές Μορφές Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Αποτελούν μηχανισμό για τον

Διαβάστε περισσότερα

Ενεργές ΒΔ. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Βάσεις Δεδομένων Ενεργές ΒΔ 1

Ενεργές ΒΔ. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Βάσεις Δεδομένων Ενεργές ΒΔ 1 Ενεργές ΒΔ Παύλος Εφραιμίδης pefraimi ee.duth.gr Βάσεις Δεδομένων Ενεργές ΒΔ 1 Active Databases Υποστηρίζουν την αυτόματη εκτέλεση ενεργειών όταν συμβούν συγκεκριμένα γεγονότα Ένας διαδεδομένος μηχανισμός

Διαβάστε περισσότερα

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language) Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language) Παύλος Εφραιμίδης Βάσεις Δεδομένων Η Γλώσσα SQL - Μέρος Πρώτο 1 SQL - Structured Query Language (1) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης

Διαβάστε περισσότερα

antzoulatos@upatras.gr

antzoulatos@upatras.gr Κανονικοποίηση για Σχεσιακές Βάσεις Δεδομένων Αντζουλάτος Γεράσιμος antzoulatos@upatras.gr Τμήμα Εφαρμογών Πληροφορικής στην Διοίκηση και Οικονομία ΤΕΙ Πατρών - Παράρτημα Αμαλιάδας 10 Ιανουαρίου 2013 Περιεχομενα

Διαβάστε περισσότερα

Βάσεις Δεδομένων (Databases)

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Σύνδεση Ισότητας (Equi-Join) Θ στην σύνδεση είναι = (=-Join) r r.ai = s.aj s =-σύνδεση του

Διαβάστε περισσότερα

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1) Βάσεις Δεδομένων Η γλώσσα SQL Structured Query Language) Παύλος Εφραιμίδης SQL - Structured Query Language 1) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης των Σχεσιακών ΒΔ Εξασφαλίζει μεταφερσιμότητα

Διαβάστε περισσότερα

Σχεδιασμός μιας Β : Βήματα

Σχεδιασμός μιας Β : Βήματα Σχεσιακό Μοντέλο 1 Εισαγωγή Ανάλυση Απαιτήσεων Σχεδιασμός μιας Β : Βήματα Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

Διαβάστε περισσότερα

Υποερωτήματα στην SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr 1 / 31 Η ανάγκη για υποερώτημα Ποιος υπάλληλος παίρνει το μεγαλύτερο μισθό; Αν ξέραμε το μεγαλύτερο μισθό, πχ 2000, θα γράφαμε:

Διαβάστε περισσότερα

Εισαγωγή στις Βάσεις Δεδομζνων II

Εισαγωγή στις Βάσεις Δεδομζνων II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Κανονικοποίηση Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

Βάσεις Δεδομένων (Databases)

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Έλεγχος Μέλους Συνόλου (Set Membership) Οι IN και NOT IN τελεστές ελέγχουν για μονό membership

Διαβάστε περισσότερα