Βάσεις Δεδομένων Ι Θεωρία Σχεδίασης ΣΒΔ. (Σχεσιακών Βάσεων Δεδομένων) Α' Μέρος. Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

Download "Βάσεις Δεδομένων Ι Θεωρία Σχεδίασης ΣΒΔ. (Σχεσιακών Βάσεων Δεδομένων) Α' Μέρος. Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ"

Transcript

1 Βάσεις Δεδομένων Ι - 09 Θεωρία Σχεδίασης ΣΒΔ (Σχεσιακών Βάσεων Δεδομένων) Α' Μέρος Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας

2 Γιατί χρειάζεται μια "θεωρία" για τη σχεδίαση; Είναι εύκολο να εντοπίσουμε τα δεδομένα που απαιτεί μια εφαρμογή και να τα οργανώσουμε σε σχέσεις (πίνακες). Συνήθως όμως το αρχικό σχήμα (schema) έχει περιθώρια βελτίωσης, κυρίως σε ότι αφορά την εξάλειψη της πλεονασματικότητας δηλ. να μην επαναλαμβάνονται πληροφορίες Κύρια αιτία μιας "κακής" σχεδίασης είναι ότι προσπαθούμε να συνδυάσουμε πολλές πληροφορίες σε μια σχέση! Η Θεωρία Σχεδίασης ΣΒΔ: παρέχει ένα συστηματικό τρόπο για την ορθή σχεδίαση σχημάτων (schemata) ΣΒΔ υποδεικνύει πώς πρέπει να ενεργήσουμε αν ένα schema έχει ελαττώματα Θεωρητικά, η σωστή σχεδίαση μιας ΒΔ δεν είναι εύκολη δουλειά! Με εξάσκηση όμως, συνήθως καταλήγει να την κάνει κανείς περισσότερο διαισθητικά και λιγότερο αισθανόμενος ότι ακολουθεί θεωρητικούς κανόνες! Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

3 Τι θα δούμε (συνοπτικά) Θα ορίσουμε τις συναρτησιακές εξαρτήσεις (functional dependencies) πρόκειται για γενίκευση της έννοιας του "κλειδιού" Με τη βοήθειά των συναρτησιακών εξαρτήσεων θα δούμε αναλυτικά μια πολύ βασική κανονική μορφή (normal form) για τα σχεσιακά σχήματα, την BCNF. Οι κανονικές μορφές συνιστούν τη λεγόμενη θεωρία κανονικοποίησης (normalization theory) που ορίζει πώς πρέπει να γίνει η διάσπαση (decomposition) μια σχέσης σε δύο ή περισσότερες άλλες σχέσεις, ώστε να εξαλειφθούν οι ανωμαλίες. Με εξαίρεση την κανονικοποίηση BCNF, που θα την δούμε σε επίπεδο αλγορίθμου, θα δούμε επιπλέον κανονικές μορφές (1NF, 2NF, 3NF) στο τέλος της ενότητας, με πρακτικό τρόπο (όχι επίσημο αλγόριθμο). Αν υπάρξει χρόνος, επιπλέον: Θα παρουσιάσουμε τις πλειότιμες εξαρτήσεις (multivalued dependencies) Είναι μια κατάσταση όπου οι τιμές ενός ή περισσοτέρων γνωρισμάτων μιας σχέσης είναι ανεξάρτητες από τις τιμές ενός ή περισσοτέρων άλλων γνωρισμάτων Με βάση τις πλειότιμες εξαρτήσεις θα δούμε επιπλέον κανονικές μορφές (4NF) και συνέπειες αυτών. ΔΕΝ ΕΙΠΩΘΗΚΑΝ Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

4 Συναρτησιακές Εξαρτήσεις Η Συναρτησιακή Εξάρτηση (ΣΕ) είναι ένας περιορισμός που αποτελεί γενίκευση της ιδέας του κλειδιού: Αν δύο πλειάδες της σχέσης R έχουν ίδιες τιμές στα γνωρίσματα A 1, A 2,..., A n, τότε πρέπει να έχουν ίδιες τιμές και στα γνωρίσματα B 1, B 2,..., B m. Συμβολικός τρόπος γραφής: A 1 A 2... A n B 1 B 2... B m (χωρίς κόμμα) Τρόπος ανάγνωσης: "τα γνωρίσματα A 1, A 2,..., A n καθορίζουν συναρτησιακά τα B 1, B 2,..., B m Η σχέση R μπορεί να έχει επιπλέον γνωρίσματα! Σχηματικά: t Γνωρίσματα Α Γνωρίσματα Β u Αν οι πλειάδες t και u συμπίπτουν εδώ, τότε θα πρέπει να συμπίπτουν και εδώ. Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

5 Παράδειγμα Έστω η "τεχνητά" προβληματική σχέση (προσπαθεί να συνδυάσει πολλά στοιχεία): movies1(title, year, length, studioname, starname) Το schema της δεν είναι καλά σχεδιασμένο! title year length genre studioname starname Star Wars SciFi Fox Carrie Fisher Star Wars SciFi Fox Mark Hamill Star Wars SciFi Fox Harrison Ford Gone With the Wind drama MGM Vivien Leigh Wayne's World comedy Paramount Dana Carvey Wayne's World comedy Paramount Mike Meyers Θα δούμε τι ακριβώς φταίει αργότερα. Θα χρειαστεί όμως πρώτα να εξοικειωθούμε με τις συναρτησιακές εξαρτήσεις και πότε αυτές ισχύουν. Πχ. ισχύει η σχέση: title, year length genre studioname???? Θεωρώντας ότι τα γνωρίσματα title και year αποτελούν κλειδί (ότι δηλ. δεν υπάρχουν στην ίδια χρονιά ταινίες με ίδιο τίτλο) τότε όντως σε αυτή την ταινία θα αντιστοιχούν μία διάρκεια (length), ένα είδος (genre) και μια κινηματογραφική εταιρία (studioname). Η σχέση title, year starname όμως δεν μπορεί να αποτελέσει ΣΕ, ακόμη κι αν από αμέλεια είχαμε καταχωρίσει έναν μόνο ηθοποιό σε κάθε ταινία! Δηλ. δεν το σκεφτόμαστε ως προς τα δεδομένα που έχουμε κάποια στιγμή αλλά για κάθε πιθανό στιγμιότυπο της σχέσης! Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

6 Κλειδιά... Ένα σύνολο από γνωρίσματα {A 1, A 2,..., A n } είναι κλειδί μιας σχέσης R αν: καθορίζουν συναρτησιακά τα υπόλοιπα γνωρίσματα της σχέσης, δηλ. δεν μπορεί δύο πλειάδες να συμπίπτουν σε αυτά τα γνωρίσματα το κλειδί είναι ελαχιστιαίο, δηλ. κανένα γνήσιο υποσύνολο του {A 1, A 2,..., A n } δεν πρέπει να καθορίζει συναρτησιακά τα υπόλοιπα γνωρίσματα της R Πίσω στο παράδειγμα... Τα {title, year, starname} συνιστούν κλειδί για τη σχέση Movies1, διότι: 1) Καθορίζουν συναρτησιακά τα υπόλοιπα γνωρίσματα, δηλαδή: Αν τα title, year και starname είναι ίδια, τότε είναι ίδια και τα length, genre και studioname (είπαμε το λόγο στο προηγούμενο slide) άρα οι δύο πλειάδες είναι ίδιες! 2) Κανένα γνήσιο υποσύνολο του κλειδιού δεν καθορίζει συναρτησιακά τα υπόλοιπα γνωρίσματα: Τα title, year δεν καθορίζουν το starname καθώς μια ταινία έχει περισσότερους από έναν ηθοποιούς άρα το title year starname ΔΕΝ είναι ΣΕ. Τα year και starname επίσης δεν είναι κλειδί δεν αποκλείεται ο ίδιος ηθοποιός να έχει συμμετάσχει σε δύο ταινίες που κυκλοφόρησαν στο ίδιο έτος, άρα το year starname title ΔΕΝ είναι ΣΕ. τα title, starname επίσης δεν είναι κλειδί υπάρχουν (αν και σπάνιες) περιπτώσεις που ο ίδιος ηθοποιός έπαιξε σε δύο ταινίες με τον ίδιο τίτλο που όμως έχουν κυκλοφορήσει σε διαφορετικές χρονιές. Άρα ούτε το title starname year είναι ΣΕ Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

7 ...και Υπερκλειδιά δηλ. υπερσύνολα κλειδιών (με περισσότερα γνωρίσματα) Ένα σύνολο γνωρισμάτων που περιέχει ένα κλειδί, ονομάζεται υπερκλειδί. (άρα κάθε κλειδί είναι και υπερκλειδί) Πίσω στο παράδειγμα... το {title, year, starname} εκτός από κλειδί είναι και υπερκλειδί το {title, year, starname, lenght, studioname } είναι υπερκλειδί καθώς περιέχει μέσα του το κλειδί {title, year, starname} κτλ Θα δούμε στη συνέχεια κάποιους κανόνες για συναρτησιακές εξαρτήσεις (ΣΕ). επιτρέπουν να αντικαταστήσουμε ΣΕ με άλλες ισοδύναμες, επιτρέπουν να προσθέσουμε σε ένα σύνολο ΣΕ νέες που έπονται του αρχικού συνόλου, κτλ. Οι κανόνες δίνονται χωρίς μαθηματική απόδειξη. Για εμβάθυνση δείτε το κεφ. 3 στο βιβλίο των Molina-Ullman-Widom. Οι κανόνες αυτοί θα μας επιτρέψουν να σχεδιάσουμε σωστές σχέσεις και κατ'επέκταση βάσεις δεδομένων. Take a deep breath... Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

8 Κανόνες για ΣΕ (χωρίς αποδείξεις!) Κανόνας Μεταβατικότητας (Transitive Rule) Αν στη σχέση R ισχύουν οι ΣΕ Α 1 Α 2...Α n B 1 B 2...B m, και Β 1 Β 2...Β m C 1 C 2...C k τότε ισχύει και η Α 1 Α 2...Α n C 1 C 2...C k Παράδειγμα: Αν η σχέση R(A,B,C) ικανοποιεί τις ΣΕ Α Β και Β C τότε ικανοποιεί και την A C. Κανόνας Κατάτμησης/Συσσωμάτωσης (Splitting/Combining Rule) Μια ΣΕ Α 1 Α 2...Α n B 1 B 2...B m μπορεί να γραφεί ως σύνολο ΣΕ (να σπάσει) ως εξής: Α 1 Α 2...Α n B 1, Α 1 Α 2...Α n B 2,..., Α 1 Α 2...Α n B m Μπορούμε να κάνουμε και το αντίθετο, δηλ. να συνενώσουμε ΣΕ που έχουν κοινό αριστερό μέρος σε μια ΣΕ που έχει αριστερά το κοινό μέρος και δεξιά το σύνολο των επιμέρους μερών Παράδειγμα: Η ΣΕ ΑΒ CΔ μπορεί να σπάσει στις ΣΕ ΑΒ C και AB D. Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

9 Κανόνες για ΣΕ (συνέχεια) Τετριμμένες (trivial) λέγονται οι ΣΕ που το σύνολο γνωρισμάτων δεξιά είναι υποσύνολο του συνόλου γνωρισμάτων αριστερά. Παράδειγμα: η ΣΕ Α 1 Α 2 A 1 είναι τετριμμένη (για τον παραπάνω λόγο)! Οι τετριμμένες ΣΕ είναι προφανές ότι ισχύουν και δε χρειάζεται να τις διερευνούμε! Γενικεύοντας: Κανόνας των Τετριμμένων ΣΕ (Trivial-Dependency Rule): Αν ισχύει Α 1 Α 2...Α n B 1 B 2...B m και τα C 1, C 2,..., C k είναι όσα εκ των B 1, B 2,..., B m δεν υπάρχουν στα αριστερά της ΣΕ, τότε ισχύει και Α 1 Α 2...Α n C 1 C 2...C k. Πρακτική Συνέπεια: Μπορούμε να διώξουμε από δεξιά, τα γνωρίσματα που υπάρχουν και αριστερά! Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

10 Πλήρωμα (closure) Γνωρισμάτων Έστω {Α 1, Α 2,..., Α n } ένα σύνολο γνωρισμάτων και S ένα σύνολο ΣΕ. Πλήρωμα (closure) του συνόλου {Α 1, Α 2,..., Α n } ως προς τις ΣΕ του S είναι το σύνολο γνωρισμάτων Β για τα οποία ισχύει το εξής: κάθε σχέση που ικανοποιεί όλες τις ΣΕ του S, ικανοποιεί επίσης και τη ΣΕ Α 1 Α 2...Α n B. Το πλήρωμα ενός συνόλου γνωρισμάτων {Α 1,Α 2,...,Α n } συμβολίζεται: {Α 1, Α 2,..., Α n } + ΑΡΑ: αν υπολογίσουμε το πλήρωμα ενός συνόλου γνωρισμάτων, τότε μπορούμε να διαπιστώσουμε αν δεδομένη ΣΕ Α 1 Α 2...Α n B, έπεται από δεδομένο σύνολο ΣΕ S οπότε δεν θα χρειάζεται να την διερευνήσουμε αν ισχύει ή όχι θα ισχύει! Πώς το κάνουμε: Υπολογίζουμε αρχικά το πλήρωμα {Α 1, Α 2,..., Α n } + χρησιμοποιώντας το σύνολο ΣΕ S. Αν το γνώρισμα Β ανήκει στο {Α 1, Α 2,..., Α n } + τότε η Α 1 Α 2...Α n B έπεται από το S διαφορετικά δεν έπεται από το S. Γενίκευση: Η ΣΕ Α 1 Α 2...Α n Β 1 Β 2...Β m, έπεται από το σύνολο ΣΕ S αν και μόνο αν όλα τα γνωρίσματα Β 1, Β 2,..., Β m συμπεριλαμβάνονται στο πλήρωμα {Α 1,Α 2,...,Α n } +. Πώς υπολογίζεται όμως το closure/πλήρωμα? Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

11 Αλγόριθμος Υπολογισμού Πληρώματος ΕΙΣΟΔΟΣ: ένα σύνολο γνωρισμάτων {Α 1, Α 2,..., Α n } και ένα σύνολο ΣΕ S ΕΞΟΔΟΣ: το πλήρωμα {Α 1, Α 2,..., Α n } + 1. Αν είναι απαραίτητο, σπάμε τις ΣΕ του S έτσι ώστε δεξιά να υπάρχει ένα μόνο γνώρισμα. 2. Έστω Χ το σύνολο που τελικά θα αποτελέσει το πλήρωμα το αρχικοποιούμε με τα γνωρίσματα του συνόλου {Α 1, Α 2,..., Α n }. 3. Αναζητούμε κατ'επανάληψη στις ΣΕ, μια ΣΕ την μορφής Β 1 Β 2...Β m C όπου όλα τα γνωρίσματα Β 1, Β 2,..., Β m ανήκουν στο Χ ενώ το C δεν ανήκει. Αν βρεθεί τέτοια ΣΕ το γνώρισμα C προστίθεται στο σύνολο X και συνεχίζει η αναζήτηση. Επειδή το Χ αυξάνεται διαρκώς και το πλήθος γνωρισμάτων είναι πεπερασμένο, η προσθήκη γνωρισμάτων κάποια στιγμή θα σταματήσει και το βήμα αυτό θα ολοκληρωθεί. 4. Το πλήρωμα {Α 1, Α 2,..., Α n } + είναι το σύνολο Χ που έχει προκύψει, όταν δεν μπορεί να προστεθούν άλλα γνωρίσματα (όταν ολοκληρώνεται το βήμα 3). Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

12 Σχηματική Απεικόνιση Υπολογισμού Πληρώματος Υ + Χ Α νεό Υ + Υ: σύνολο γνωρισμάτων Υ + : τρέχων πλήρωμα του Υ X A: συναρτησιακή εξάρτηση Χ: σύνολο γνωρισμάτων που υπάρχουν και στο Y + Α: ένα γνώρισμα που δεν ανήκει στο Υ + Αποτέλεσμα: το Α εντάσσεται στο Υ + Υ ένα σύνολο γνωρισμάτων και Y + το τρέχον πλήρωμα (closure) αυτού ως προς ένα σύνολο ισχυουσών συναρτησιακών εξαρτήσεων, S Χ Α μια συναρτησιακή εξάρτηση που θέλουμε να δούμε αν ισχύει αν τα γνωρίσματα του αριστερού μέλους αυτής (το πράσινο σύνολο στο σχήμα) υπάρχουν και στο Y+ (το μωβ σύνολο στο σχήμα) τότε η υπό εξέταση συναρτησιακή εξάρτηση έπεται του S (δηλαδή ισχύει), και το νέο πλήρωμα προκύπτει με την προσθήκη του γνωρίσματος A στο παλιό πλήρωμα προκύπτει έτσι το γαλάζιο σύνολο Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

13 Παράδειγμα #1 Υπολογισμού/Χρήσης Closure Παράδειγμα Έστω μια σχέση με τα γνωρίσματα A, B, C, D, E και F που ικανοποιεί τις ΣΕ AB C, BC AD, D E, CF B. Ποιο είναι το πλήρωμα του {A, B} + του συνόλου {A,B}; Με βάση το βήμα 1, σπάμε την BC AD σε BC A και BC D. Με βάση το βήμα 2 θέτουμε X={A, B} Επαναλήψεις βάσει βήματος 3: στην AB C, τα αριστερά μέλη ανήκουν στο Χ, άρα προσθέτουμε και το C: X={A, B, C} στην BC A, τα αριστερά μέλη ανήκουν στο Χ αλλά το Α υπάρχει ήδη στο Χ στην BC D, τα B, C ανήκουν στο Χ, άρα προσθέτουμε και το D: X={A, B, C, D} στην D E το D ανήκει στο Χ, άρα προσθέτουμε και το Ε στο Χ: X={A, B, C, D, Ε} δεν γίνονται άλλες επαναλήψεις το CF B δεν μπορεί να χρησιμοποιηθεί γιατί το F δεν ανήκει στο X σε καμιά φάση των υπολογισμών Άρα {A, B} + = {A, B, C, D, Ε} Συνέχεια Άσκησης: Εξετάστε τώρα αν η ΣΕ AB D έπεται από τις παραπάνω ΣΕ. Υπολογίζουμε το πλήρωμα {A, B} + που όπως είδαμε είναι {A, B, C, D, Ε} Καθώς το D ανήκει στο πλήρωμα συμπεραίνουμε ότι η AB D έπεται από τις δεδομένες ΣΕ. Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

14 Παράδειγμα #2 Υπολογισμού/Χρήσης Closure Ελέγξτε αν η ΣΕ D A έπεται από τις δεδομένες ΣΕ: AB C, BC A, BC D, D E, CF B υπολογίζουμε το {D} + αρχικά θέτουμε X={D} επαναλήψεις (βήμα 3 αλγορίθμου) χρησιμοποιώντας την ΣΕ D E προσθέτουμε το A στο Χ: άρα X={D, E} δεν υπάρχει άλλη ΣΕ που να επιτρέπει να προσθέσουμε άλλα στοιχεία στο Χ άρα {D} + = {D, E} Επειδή το Α της D A δεν ανήκει στο {D} + συμπεραίνουμε ότι η ΣΕ D A δεν έπεται από τις δεδομένες ΣΕ. Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

15 Προβολή Συναρτησιακών Εξαρτήσεων Μια ανάγκη που προκύπτει συχνά στη μελέτη της δομής σχεσιακών σχημάτων, είναι: Αν έχουμε μια σχέση R που ικανοποιεί το σύνολο ΣΕ S και υπολογίσουμε την προβολή της R 1 =π L (R), όπου L υποσύνολο των γνωρισμάτων της R, τότε ποιες από τις ΣΕ του S εξακολουθούν να ισχύουν και στην προβολή R 1 ; Υπενθύμιση: η προβολή π L (R) πρακτικά επιλέγει κάποιες στήλες από το σύνολο στηλών της R Ζητούμενο είναι ένας γρήγορος τρόπος, καθώς θεωρητικά, το πλήθος των ΣΕ που θα ισχύουν στην R 1 εξαρτάται εκθετικά από το πλήθος γνωρισμάτων της R 1. Ορισμός που θα χρειαστεί: Ελαχιστιαίο Σύνολο Συναρτησιακών Εξαρτήσεων όλες οι ΣΕ έχουν ένα γνώρισμα στο δεξιό μέλος αν αφαιρεθεί μια ΣΕ, αυτό που απομένει δεν είναι βάση (δεν είναι ισοδύναμα) αν αφαιρέσουμε ένα ή περισσότερα γνωρίσματα από το αριστερό μέρος οποιασδήποτε από τις ΣΕ, αυτό που απομένει δεν είναι βάση. Ακολουθεί ο αλγόριθμος και σχετικό παράδειγμα χρήσης του. Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

16 Αλγόριθμος Προβολής Συνόλου ΣΕ Είσοδος: μια σχέση R, μια προβολή R 1 =π L (R) και ένα σύνολο ΣΕ S που ισχύουν στην R Έξοδος: Το σύνολο ΣΕ που ισχύουν στην R 1 1. έστω T το ζητούμενο σύνολο αρχικά το Τ είναι κενό 2. Για κάθε σύνολο γνωρισμάτων X που είναι υποσύνολο της R 1, υπολογίζουμε το X +. Ο υπολογισμός αυτός πραγματοποιείται ως προς τις ΣΕ του S και μπορεί να αφορά γνωρίσματα που ανήκουν στο σχήμα της R αλλά όχι σε αυτό της R 1. Προσθέτουμε στο Τ όλες τις μη τετριμμένες ΣΕ Χ Α για τις οποίες το γνώρισμα Α ανήκει στο πλήρωμα Χ + και στην προβολή R Το Τ είναι βάση για τις ΣΕ που ισχύουν στην R 1 αλλά όχι απαραίτητα ελαχιστιαία. Μπορούμε να τροποποιήσουμε το Τ και να πάρουμε ελαχιστιαία βάση, ως εξής: α) Αν στο Τ υπάρχει μια ΣΕ F που έπεται από άλλες ΣΕ του Τ τότε αφαιρούμε την F από το Τ. β) Έστω Y B μια ΣΕ του Τ, με το Υ να περιλαμβάνει τουλάχιστον δύο γνωρίσματα, και έστω Z ένα σύνολο γνωρισμάτων που προκύπτει από το Υ αν αφαιρεθεί ένα από τα γνωρίσματά του. Αν η Ζ έπεται από τις ΣΕ του Τ (συμπεριλαμβανομένης και της Y B) τότε αντικαθιστούμε την Y B με τη Ζ B. γ) Επαναλαμβάνουμε τα (α) και (β) με όλους του πιθανούς τρόπους, μέχρι να μην μπορεί να γίνουν άλλες αλλαγές στο Τ. That was hard! Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

17 Παράδειγμα Έστω η R(A,B,C,D) που ικανοποιεί τις ΣΕ A B, B C και C D. Αν διαγράψουμε (προβολή) το γνώρισμα B και πάρουμε την R 1 (A,C,D), ποιες ΣΕ ισχύουν στην R 1 ; Θεωρητικά, πρέπει να υπολογίσουμε το πλήρωμα για κάθε ένα από τα 8 υποσύνολα του {A,C,D} ως προς όλες τις ΣΕ, ακόμη και αυτές που περιέχουν το Β. Όμως μπορούμε να απλοποιήσουμε λίγο την κατάσταση καθώς: Η πλήρωση του κενού συνόλου και του {A,C,D} (2 από τα 8 υποσύνολα του {A,C,D}) είναι αδύνατο να δώσει μη τετριμμένες ΣΕ. Αν το πλήρωμα κάποιου συνόλου Χ περιλαμβάνει όλα τα γνωρίσματα τότε δεν χρειάζεται να εξετάσουμε υπερσύνολα του X καθώς η πλήρωσή τους δεν πρόκειται να δημιουργήσει νέες ΣΕ. Άρα συμφέρει να υπολογίσουμε το πλήρωμα συνόλων που έχουν μόνο ένα γνώρισμα και αν είναι απαραίτητο θα πάμε και σε σύνολα με δύο γνωρίσματα. Για κάθε πλήρωμα ενός συνόλου γνωρισμάτων Χ, προσθέτουμε την ΣΕ Χ Ε, όπου το Ε περιλαμβάνεται στο πλήρωμα X + και στο schema της R 1, αλλά όχι και στο Χ (γιατί τότε η ΣΕ θα είναι τετριμμένη και δεν έχει νόημα να την κρατήσουμε!). {Α} + ={Α,Β,C,D}. Άρα η R 1 ικανοποιεί τις σχέσεις: Α C, Α D. Βοήθεια: Η Α Β απορρίπτεται γιατί το Β δεν υπάρχει και στο schema της R 1 {C} + ={C,D}. Άρα η R 1 ικανοποιεί και τη σχέση: C D {D} + ={D}. Δεν προκύπτουν κάποιες ΣΕ εδώ. Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

18 Παράδειγμα (συνέχεια) Άρα ολοκληρώσαμε την εξέταση των συνόλων με ένα γνώρισμα ({Α}, {Β}, {C}). Αφού το πλήρωμα {Α} + περιλαμβάνει όλα τα γνωρίσματα της R 1, δεν έχουμε λόγο να εξετάσουμε υπερσύνολα του {A}. H μόνη περίπτωση συνόλου δύο γνωρισμάτων που θέλει εξέταση είναι το {C,D} +. {C,D} + ={C,D} άρα κι εδώ, δεν προκύπτουν κάποιες ΣΕ Σύνοψη: Στην R 1 ισχύουν οι ΣΕ: Α C, Α D, C D Η Α D μπορεί να παραληφθεί καθώς προκύπτει από την ιδιότητα της μεταβατικότητας και τις άλλες δύο σχέσεις. Τελικό Σύνολο ΣΕ που ισχύουν στην R 1 : Α C, Α D το σύνολο αυτό είναι και το ελαχιστιαίο για τις ΣΕ της R 1. That was really hard! Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

19 Σχεδίαση Σχεσιακών Σχημάτων ΒΔ Το σχεσιακό σχήμα (schema) είναι εξαιρετικά σημαντικό γιατί αν δεν γίνει σωστά μπορεί να δημιουργηθούν προβλήματα πλεονασματικότητας και άλλων ανωμαλιών. Τι θα κάνουμε στη συνέχεια: θα διερευνήσουμε τα προβλήματα μιας κακής σχεδίασης θα δούμε την έννοια της διάσπασης μιας σχέσης σε απλούστερες θα δούμε την "κανονική μορφή Boyce-Codd", μια συνθήκη που εξαλείφει τα προβλήματα συνδυάζοντας τα παραπάνω 3, θα μάθουμε να διασφαλίζουμε την ικανοποίηση της συνθήκης της "κανονικής μορφής Boyce-Codd" Πάμε πάλι στην "τεχνητά" προβληματική σχέση που αναφέραμε αρχικά: movies1(title, year, length, studioname, starname) title year length genre studioname starname Star Wars SciFi Fox Carrie Fisher Star Wars SciFi Fox Mark Hamill Star Wars SciFi Fox Harrison Ford Gone With the Wind drama MGM Vivien Leigh Wayne's World comedy Paramount Dana Carvey Wayne's World comedy Paramount Mike Meyers Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

20 Ανωμαλίες! Πλεονασματικότητα: Η ίδια πληροφορία επαναλαμβάνεται, χωρίς να είναι αναγκαίο, σε πολλές πλειάδες. π.χ. η διάρκεια (length) και το είδος (genre) των ταινιών Star Wars και Wayne's World επαναλαμβάνονται για κάθε ηθοποιό που πρωταγωνιστεί σε αυτές! Ανωμαλίες Ενημέρωσης: Όταν κάποια πληροφορία επαναλαμβάνεται, τυχόν μεταβολή της δημιουργεί τον κίνδυνο να μην γίνει πλήρως (σε κάθε σημείο επανάληψης) ή τον φόρτο να πρέπει να γίνει πολλές φορές. π.χ. αν θέλουμε να αλλάξουμε τη διάρκεια της ταινίας Star Wars πρέπει να το κάνουμε σε 3 σημεία. Υπάρχει τρόπος επανασχεδίασης που να εξαλείφει το πρόβλημα; Ανωμαλίες Διαγραφής: σε διαγραφή κάποιας πληροφορίας μπορεί ως παρενέργεια να χάσουμε άλλες πληροφορίες π.χ. αν διαγράψουμε την Vivien Leigh από το σύνολο των ηθοποιών της ταινίας Gone with the Wind διαγράφοντας τη σχετική πλειάδα, τότε εκτός του ότι δεν θα είχαμε ηθοποιούς για αυτή την ταινία, θα χάναμε και επιπλέον πληροφορίες, όπως την διάρκεια και το είδος! Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

21 Διάσπαση Σχέσεων Η διάσπαση των σχέσεων είναι η μέθοδος που χρησιμοποιείται για την εξάλειψη των ανωμαλιών που αναφέρθηκαν. Αφού περιγράψουμε τη μέθοδο της διάσπασης θα εξηγήσουμε πώς επιλέγουμε μια διάσπαση (από τις πιθανώς πολλές που μπορεί να υπάρχουν) που εξαλείφει τις ανωμαλίες. Μπορούμε να διασπάσουμε μια σχέση R(A 1, A 2,..., A n ) σε δύο σχέσεις S(B 1, B 2,..., B m ) και T(C 1, C 2,..., C k ) έτσι ώστε: {A 1, A 2,..., A n } = {B 1, B 2,..., B m } {C 1, C 2,..., C k } S = π Β1,Β2,...,Βm (R) π: τελεστής προβολής (επιλογή στηλών) T = π C1,C2,...,Ck (R) Παράδειγμα: Θα διασπάσουμε την "προβληματική" σχέση movies1 movies1(title, year, length, studioname, starname) σε μια σχέση movies2(title, year, length, studioname) και μια σχέση movies3(title, year, starname) Το γιατί το κάνουμε έτσι θα εξηγηθεί παρακάτω. Πάμε να δούμε πιο εποπτικά τη διάσπαση και της συνέπειές της! Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

22 Σχέση movies1(title, year, length, studioname, starname) title year length genre studioname starname Star Wars SciFi Fox Carrie Fisher Star Wars SciFi Fox Mark Hamill Star Wars SciFi Fox Harrison Ford Gone With the Wind drama MGM Vivien Leigh Wayne's World comedy Paramount Dana Carvey Wayne's World comedy Paramount Mike Meyers Σχέση movies2(title, year, length, studioname) title year length genre studioname Star Wars SciFi Fox Gone With the Wind drama MGM Wayne's World comedy Paramount Σχέση movies3(title, year, starname) title year starname Star Wars 1977 Carrie Fisher Star Wars 1977 Mark Hamill Star Wars 1977 Harrison Ford Gone With the Wind 1939 Vivien Leigh Wayne's World 1992 Dana Carvey Wayne's World 1992 Mike Meyers Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

23 Συνέπειες Διάσπασης Παραδείγματος Εξαλείφθηκε η πλεονασματικότητα: π.χ. η διάρκεια κάθε ταινίας εμφανίζεται μία μόνο φορά. Εξαλείφθηκε ο κίνδυνος ανωμαλιών ενημέρωσης: π.χ. αν θέλουμε να αλλάξουμε τη διάρκεια μιας ταινίας πρέπει να κάνουμε μία μόνο αλλαγή Εξαλείφθηκε ο κίνδυνος ανωμαλιών διαγραφής: π.χ. αν θελήσουμε να διαγράψουμε τους ηθοποιούς της ταινίας "Gone With the Wind", ναι μεν η ταινία δεν θα εμφανίζεται στη σχέση movies3, πλην όμως οι λοιπές πληροφορίες για αυτή θα εξακολουθούν να υπάρχουν στη σχέση movies2. Θα έλεγε κανείς ότι στη σχέση movies3 εξακολουθεί να υπάρχει πλεονάζουσα πληροφορία καθώς τίτλος και έτος επαναλαμβάνονται πολλές φορές. Αυτά τα δύο γνωρίσματα όμως αποτελούν το κλειδί για τις ταινίες και δεν υπάρχει συνοπτικότερος τρόπος για να αναπαρασταθεί μια ταινία (μόνο με τεχνητό κωδικό/κλειδί)! Θα έλεγε κανείς ότι η αλλαγή του έτους (π.χ. σε 2008) στην πρώτη πλειάδα της σχέσης movies3 πιθανώς να δημιουργεί πρόβλημα ενημέρωσης. Δεν υπάρχει κάτι κακό σε τέτοια αλλαγή καθώς δεχτήκαμε ότι κάτι τέτοιο θα σήμαινε την ύπαρξη μια άλλης ταινίας (Star Wars, 2008) στην οποία πρωταγωνίστησε η Carrie Fisher. Δηλ. δεν θέλουμε να το αποτρέψουμε ούτε είναι απαραίτητα λάθος επιλογή. Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

24 Κανονική Μορφή Boyce-Codd (Boyce-Codd Normal Form - BCNF) Είδαμε ότι σκοπός της διάσπασης μιας σχέσης R σε άλλες είναι η αντικατάστασή της με άλλες που δεν παρουσιάζουν ανωμαλίες. Πώς κρίνουμε αν μια σχέση R θα παρουσιάζει ανωμαλίες (άρα πρέπει να "σπάσει"); Απάντηση: Ελέγχοντας αν ισχύει η συνθήκη BCNF. Τι ακριβώς ελέγχει η συνθήκη BCNF; Σε μια σχέση R, αν υπάρχει μη τετριμμένη ΣΕ Α 1 Α 2...Α n B 1 B 2...B m της R που στο αριστερό της μέλος δεν περιέχει κλειδί, τότε η R πρέπει να σπάσει. Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

25 Παραδείγματα Παράδειγμα #1: Έστω η σχέση: Drinkers(name, addr, beersliked, manf, favbeer)...με κλειδί το: {name, beersliked}...και έστω ότι ισχύουν οι ΣΕ: name addr favbeer, beersliked manf Σε κάθε ΣΕ, το αριστερό μέρος ΔΕΝ περιέχει το κλειδί! ΑΡΑ η σχέση Drinkers δεν είναι σε BCNF Παράδειγμα #2 Έστω η σχέση: Beers(name, manf, manfaddr)...με κλειδί το: {name}...και έστω ότι ισχύουν οι ΣΕ: name manf, manf manfaddr Η name manf δεν παραβιάζει τη BCNF (στο αριστερό μέρος περιέχει το κλειδί!) Η manf manfaddr παραβιάζει τη BCNF (στο αριστερό μέρος ΔΕΝ περιέχει το κλειδί) Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

26 Διάσπαση σε BCNF Αλγόριθμος Δίνεται μια σχέση R και σύνολο F από ΣΕ που ισχύουν. Ψάχνουμε στις δοθείσες ΣΕ για μια ΣΕ Χ Υ που παραβιάζει την BCNF. Υπόψη ότι αν οποιαδήποτε ΣΕ που έπεται των ΣΕ του F παραβιάζει τη BCNF, τότε θα υπάρχει σίγουρα κάποια ΣΕ στο F που θα παραβιάζει τη BCNF. Υπενθύμιση: τα Χ και Υ στην Χ Υ είναι σύνολα από γνωρίσματα της R. Υπολογίζουμε το πλήρωμα X + υπόψη ότι το Χ δεν περιέχει όλα τα γνωρίσματα της R (αλλιώς θα περιείχε το κλειδί!!) Η R αντικαθίσταται από τις ακόλουθες δύο σχέσεις: R 1 που περιέχει τα γνωρίσματα του X + R 2 που περιέχει τα γνωρίσματα R - X + + X Επαναλαμβάνουμε τον έλεγχο (στις R 1, R 2 ) αναδρομικά μέχρι να έχουμε μόνο σχέσεις σε BCNF. Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

27 Παράδειγμα Κανονικοποίησης BCNF (1/3) Έστω η σχέση Drinkers(name, addr, beersliked, manf, favbeer)...και το σύνολο ΣΕ F = name addr, name favbeer, beersliked manf το ζευγάρι γνωρισμάτων name και BeersLiked είναι κλειδί της σχέσης δίνονται ενδεικτικά δεδομένα με χρωματική επισήμανση των προβληματικών σημείων επανάληψη πληροφορίας τριών γνωρισμάτων (κόκκινο) για να καταχωρηθούν οι δύο μπύρες που αρέσουν στην Janeway επανάληψη του κατασκευαστή της μπύρας (μπλέ) κάθε φορά που η ίδια μπύρα αρέσει σε κάποιον Η ΣΕ name addr παραβιάζει τη BCNF (στο αριστερό μέρος δεν περιέχει το κλειδί) Υπολογισμός πληρώματος (slide 11): {name} + = {name, addr, favbeer} Οπότε η Drinkers αντικαθίσταται από τις ακόλουθες 2 σχέσεις (βλ. προηγ. slide): Drinkers1(name, addr, favbeer) - περιέχει τα γνωρίσματα του {name} + Drinkers2(name, beersliked, manf) - περιέχει τα γνωρίσματα Drinkers-{name} + +name Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

28 Παράδειγμα Κανονικοποίησης BCNF (2/3) Δεν τελειώσαμε! Πρέπει να δούμε αν οι Drinkers1 και Drinkers2 είναι σε BCNF. Θα χρειαστεί να υπολογίσουμε ποιες από τις ΣΕ της αρχικής σχέσης Drinkers, εξακολουθούν να ισχύουν σε κάθε μια από τις Drinkers1 και Drinkers2. αυτό ακριβώς κάνει ο αλγόριθμός της προβολής (slides #15-18) Ακολουθεί το βήμα προβολής για την Drinkers1 (κάντε το μόνοι σας σαν άσκηση!) Για την Drinkers1(name, addr, favbeer), οι σχετικές ΣΕ είναι οι name addr, Κλειδί: το σύνολο {name} name favbeer άρα στην Drinkers1 δεν παραβιάζεται ο κανόνας της BCNF, ΑΡΑ η Drinkers1 είναι σε BCNF. Ακολουθεί το βήμα προβολής για την Drinkers2 (κάντε το μόνοι σας σαν άσκηση!) Για την Drinkers2(name, beersliked, manf), οι σχετικές ΣΕ είναι μόνο η beersliked manf Κλειδί: το σύνολο {name, beersliked} Παραβίαση BCNF: στη μοναδική ΣΕ που ισχύει, το αριστερό μέρος ΔΕΝ περιέχει κλειδί! ΑΡΑ η Drinkers2 θα σπάσει σε δύο Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

29 Παράδειγμα Κανονικοποίησης BCNF (3/3) Διάσπαση της Drinkers2 Πλήρωμα {beersliked} + = {beersliked, manf} Οπότε η Drinkers2 σπάει στις: Drinkers3(beersLiked, manf) περιέχει (βλ. slide #26)τα γνωρίσματα του {beersliked} + Drinkers4(name, beersliked) περιέχει (βλ. slide #26) τα γνωρίσματα του Drinkers2 - {beersliked} + + beersliked Σύνοψη Τελική Κατάσταση Drinkers1(name, addr, favbeer) (μας μιλάει για drinkers) Drinkers3(beersLiked, manf) (μας μιλάει για μπύρες) Drinkers4(name, beersliked) (μας μιλάει για τη σχέση μεταξύ ενός drinker και των μπυρών που του αρέσουν) Σημαντική Παρατήρηση: καταλήξαμε σε σχέσεις που περιγράφουν διακριτές οντότητες (μπύρες, drinkers) ή σχέσεις μεταξύ διακριτών οντοτήτων! Αυτό είναι κάτι που πρέπει να έχουμε κατά νου στη σχεδίαση ΒΔ καθώς σε μεγάλο βαθμό η δημιουργία σχέσεων/πινάκων που αφορούν σε διακριτές οντότητες οδηγεί εξαρχής σε σωστές σχεδιάσεις (schemata). Θα το δούμε στη E/R σχεδίαση (#10). Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

30 Βάσεις Δεδομένων Ι - 09 Θεωρία Σχεδίασης ΣΒΔ (Σχεσιακών Βάσεων Δεδομένων) Β' Μέρος Φώτης Κόκκορας (MSc/PhD) Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπ/νιών ΤΕΙ Λάρισας Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

31 Κανονικοποίηση / Normalization (ξανά!) (παραδοσιακή παρουσίαση) Κανονικοποίηση ΒΔ είναι η διαδικασία της οργάνωσης των γνωρισμάτων και των σχέσεων μιας σχεσιακής ΒΔ έτσι ώστε να ελαχιστοποιηθούν τα πλεονασματικά δεδομένα και οι εξαρτήσεις τους. Περιλαμβάνει συνήθως την διαίρεση σχέσεων σε μικρότερες και τον ορισμό συσχετίσεων μεταξύ τους. Στην πολύ πρόσφατη βιβλιογραφία, πέραν της BCNF (Κανονικής Μορφής Boyce Codd) που είδαμε αναλυτικά, θα διαπιστώσει κανείς και την ύπαρξη της λεγόμενης 3NF (3 ης Κανονικής Μορφής), μιας χαλαρότερης εκδοχής της BCNF, καθώς και της 4NF, κτλ. Η απορία που δημιουργείται είναι προφανώς η ακόλουθη: αν υπάρχει 3NF, BCNF, 4NF τότε δεν θα πρέπει να υπάρχει και Πρώτη και Δεύτερη Κανονικές Μορφές; Η απάντηση είναι ΝΑΙ, υπάρχουν, πλην όμως: επειδή η 3NF είναι πρακτικά το ελάχιστο που επιδιώκει κανείς να ισχύει σε μια σχεδίαση ΒΔ, και επειδή η 3NF καλύπτει και τις απαιτήσεις της 2NF, και επειδή η 2NF καλύπτει τις απαιτήσεις της 1NF γίνεται αντιληπτό ότι η αναφορά σε αυτές έχει περισσότερο ακαδημαϊκό ενδιαφέρον. Για την πληρότητα του θέματος, θα δούμε τις πρώτες κανονικές μορφές με τη σειρά, μέσα και από παραδείγματα. Ειδικότερα θα δούμε τις: 1NF, 2NF, 3NF, BCNF, 4NF Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

32 Πρώτη Κανονική Μορφή - 1NF 1NF Μια σχέση είναι σε 1NF αν τα πεδία ορισμού όλων των γνωρισμάτων περιέχουν μόνο ατομικές τιμές, δηλαδή όχι σύνθετες δομές όπως πίνακες, σύνολα, κτλ κάθε γνωρίσματα περιέχει μία μόνο τιμή από το πεδίο ορισμού του Σημείωση: η πρώτη απαίτηση, στις μέρες μας, αμφισβητείται τόσο θεωρητικά όσο και πρακτικά. Η χρήση σύνθετων δομών ως τιμών σε γνωρίσματα είναι γεγονός ακόμη και σε καλοσχεδιασμένα συστήματα 1, πλην όμως δεν είναι συχνό φαινόμενο και καλό είναι να αποφεύγεται! Παράδειγμα σχεδίασης που παραβιάζει την 1NF: έστω η ακόλουθη σχέση Πελάτες Κάποιες πλειάδες (εγγραφές) έχουν περισσότερες από μια τιμές σε κάποια γνωρίσματα! ο πελάτης με κωδικό 456 έχει δύο τηλέφωνα στο γνώρισμα "telephone number" 1 Για παράδειγμα, στη βάση δεδομένων δημοφιλών συστημάτων κατασκευής web site. Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

33 Πρώτη Κανονική Μορφή - 1NF (συνέχεια) Συνέχεια Παραδείγματος Αντιμετώπιση Προβλήματος Σπάμε τη σχέση στις σχέσεις Πελάτης και Τηλέφωνα_Πελάτη ως ακολούθως Πελάτης Τηλέφωνα_Πελάτη Μια εγγραφή πελάτη στη σχέση Πελάτες (πατρική σχέση/πίνακας), μπορεί να σχετίζεται με πολλά τηλέφωνα στη σχέση Τηλέφωνα_Πελάτη (θυγατρική σχέση/πίνακας). Σε πιο σύγχρονη θεώρηση, μια σχέση είναι σε 1NF αν τηρεί τις ακόλουθες συνθήκες: οι πλειάδες και τα γνωρίσματα δεν απαιτείται να βρίσκονται σε κάποια συγκεκριμένη σειρά δεν υπάρχουν ίδιες πλειάδες (πρακτικά σημαίνει ότι η σχέση έχει κλειδί) κάθε γνώρισμα σε κάθε πλειάδα έχει μια μόνο τιμή τίποτα περισσότερο, τίποτα λιγότερο αμφιλεγόμενη απαίτηση! η παραδοσιακή θεώρηση της 1NF επιτρέπει NULL τιμές! οι πλειάδες δεν έχουν άλλα κρυφά στοιχεία μόνο τα γνωρίσματα της σχέσης Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

34 Δεύτερη Κανονική Μορφή - 2NF 2NF Μια σχέση είναι σε 2NF αν και μόνο αν: είναι ήδη σε 1NF κάθε γνώρισμα που δεν ανήκει σε κλειδί της σχέσης εξαρτάται είτε από το κλειδί ή από κάποιο άλλο γνώρισμα που επίσης δεν ανήκει στο κλειδί. Παρατήρηση: μια σχέση σε 1NF που δεν έχει σύνθετο κλειδί (δηλ. αποτελούμενο από περισσότερα του ενός γνωρίσματα) είναι αυτομάτως και σε 2NF. Παράδειγμα Προβληματικής Σχέσης Στη σχέση Ικανότητες_Υπαλλήλων δεξιά, κλειδί είναι ο συνδυασμός των γνωρισμάτων Employee (υπάλληλος) και Skill (ικανότητα). Δεν μπορεί να είναι κλειδί κανένα από τα δύο μόνο του! Το γνώρισμα όμως Current Work Location (τοποθεσία εργασίας) εξαρτάται προφανώς από το γνώρισμα Employee! Άρα η σχέση δεν είναι σε 2NF. Συνέπειες: η τοποθεσία κάθε υπαλλήλου επαναλαμβάνετε (πλεονασμός/redundancy) και αυτό έχουμε πει ότι δεν είναι καλό - δημιουργεί πχ προϋποθέσεις για ανωμαλίες ενημέρωσης. Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

35 Δεύτερη Κανονική Μορφή - 2NF (συνέχεια) Συνέχεια Παραδείγματος Αντιμετώπιση Προβλήματος Σπάμε τη σχέση στις σχέσεις Υπάλληλοι και Ινακότητες_Υπαλλήλων ως ακολούθως Υπάλληλοι Ινακότητες_Υπαλλήλων Δηλαδή το γνώρισμα Current Work Location που εξαρτιόταν από τμήμα του κλειδιού, όρισε μαζί με τη συναρτησιακή του εξάρτηση (το Employee) μια νέα σχέση (Υπάλληλοι), και τα υπόλοιπα γνωρίσματα μαζί με Employee (ως ξένο κλειδί!) σχημάτισαν μια σχέση μόνα τους (την Ινακότητες_Υπαλλήλων). Δεν είναι όμως η 2NF εγγύηση για εξάλειψη πλεονασμού και ανωμαλιών!!! Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

36 Δεύτερη Κανονική Μορφή - 2NF (συνέχεια) Έστω η ακόλουθη σχέση Νικητές_Τουρνουά Τα γνωρίσματα Winner (νικητής) και Winner Date of Birth (ημ/νία γέννησης νικητή) εξαρτώνται προφανώς από το κλειδί (δηλ. αν ξέρουμε τα Tournament και Year, βρίσκουμε επακριβώς την τιμή στα άλλα δύο γνωρίσματα. Η σχέση είναι σε 2NF. Παρόλα αυτά βλέπουμε ότι δεν αποτρέπεται η επανάληψη ίδιων ζευγαριών τιμών Winner και Winner Date of Birth! Άρα υπάρχουν προϋποθέσεις πλεονασμού και ό,τι αυτό συνεπάγεται. Η βαθύτερη αιτία του προβλήματος είναι η μεταβατική συσχέτιση που υπάρχει μεταξύ του Winner Date of Birth και του κλειδιού (Tournament/Year), μέσω του Winner! Αυτό το πρόβλημα το αντιμετωπίζει η 3NF (βλ. παρακάτω). Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

37 Δεύτερη Κανονική Μορφή - 2NF (συνέχεια) Η απουσία συναρτησιακής εξάρτησης μεταξύ γνωρισμάτων εκτός κλειδιού (π.χ. το Manufacturer Country (χώρα κατασκευαστή) και τμήματος κλειδιού, δεν εγγυάται ότι η σχέση είναι σε 2NF. Πρέπει αυτό να ισχύει για όλα τα δυνητικά κλειδιά! Στο παράδειγμα, το Manufacturer Country εξαρτάται από το Manufacturer που είναι τμήμα ενός δεύτερου κλειδιού που υπάρχει, του ζευγαριού Manufacturer/Model. Άρα η σχέση δεν είναι σε 2NF και μπορεί να σπάσει ως εξής: Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

38 Τρίτη Κανονική Μορφή - 3NF Μια σχέση είναι σε 3NF αν και μόνο αν: είναι ήδη σε 2NF κάθε γνώρισμα που δεν ανήκει σε κλειδί της σχέσης εξαρτάται άμεσα (όχι μεταβατικά) από κάθε κλειδί της σχέσης Παράδειγμα: Το winner date of birth δεν ανήκει στο κλειδί της σχέσης αλλά η εξάρτησή του από αυτό ΔΕΝ είναι άμεση όπως απαιτεί η συνθήκη 3NF αλλά έμμεση (μέσω του Winner, που δεν ανήκει σε κάποιο κλειδί) (βλ. #35) Για συμφωνία με την 3NF, η σχέση πρέπει να σπάσει ως εξής: 3NF Δηλαδή το "προβληματικό" γνώρισμα κάνει πίνακα (δεξιά) με τη συναρτησιακή του εξάρτηση (το winner), το οποίο γίνεται ξένο κλειδί στη σχέση με τα υπόλοιπα γνωρίσματα (αριστερά). Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

39 Κανονική Μορφή Boyce Codd BCNF (ή αλλιώς 3.5NF) BCNF Αν και παρουσιάσαμε ήδη την BCNF, θα επαναλάβουμε τον ορισμό της για την πληρότητα του Β' μέρους των βασικών αρχών σχεδίασης. Η BCNF είναι μια αυστηρότερη εκδοχή της 3NF. Στην BCNF, πλεονασμοί εξαιτίας συναρτησιακών εξαρτήσεων έχουν πλήρως εξαλειφτεί αν και μπορεί ακόμη να υπάρχουν πλεονασμοί, όμως άλλου είδους. Μια σχέση είναι σε BCNF αν και μόνο αν για κάθε μη τετριμμένη συναρτησιακή εξάρτηση X Y, το αριστερό τμήμα περιέχει το κλειδί της σχέσης. τα Χ και Υ είναι σύνολα γνωρισμάτων της σχέσης μη τετριμμένη: το Υ δεν είναι υποσύνολο του Χ Σπάνια μια σχέση σε 3NF δεν πληροί και τις προϋποθέσεις της BCNF. Αν μια σχέση σε 3NF δεν έχει επικαλυπτόμενα κλειδιά τότε είναι και σε BCNF. Αν μια σχέση σε 3NF έχει επικαλυπτόμενα κλειδιά τότε μπορεί να είναι σε BCNF αλλά μπορεί και να μην είναι! Οπότε πρέπει να εφαρμοστεί η (πολύπλοκη, κατά γενική παραδοχή) διαδικασία διάσπασης που περιγράφηκε στο Α' μέρος. Θα επαναλάβουμε το παράδειγμα του Α' μέρους στο επόμενο slide με μια λίγο ανεπίσημη μεθοδολογία. Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

40 Κανονική Μορφή Boyce Codd BCNF Παράδειγμα 1/2 Έστω πάλι η σχέση Drinkers(name, addr, beersliked, manf, favbeer) το ζευγάρι γνωρισμάτων name και BeersLiked είναι κλειδί της σχέσης υπάρχουν οι συναρτησιακές εξαρτήσεις name addr (αν ξέρουμε τον drinker βρίσκουμε τη διεύθυνσή του) name favbeer (αν ξέρουμε τον drinker βρίσκουμε την (μία) αγαπημένη του μπύρα) οι δύο παραπάνω ΣΕ μπορεί να γραφούν και ως μία: name addr, favbeer (Κανόνας Κατάτμησης/Συσσωμάτωσης beersliked manf (αν ξέρουμε τη μπύρα βρίσκουμε τον κατασκευαστή της) Σπάμε την αρχική σχέση ως εξής: μια σχέση προκύπτει από τα γνωρίσματα της ΣΕ name addr, favbeer drinkers1(name, addr, favbeer) μια δεύτερη σχέση προκύπτει από τα υπόλοιπα γνωρίσματα μαζί με το αριστερό μέρος της παραπάνω ΣΕ (που θα αποτελέσει το σημείο συσχέτισης των δύο σχέσεων). drinkers2(name, beersliked, manf) Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

41 Κανονική Μορφή Boyce Codd BCNF Παράδειγμα 2/2 Η drinkers1 είναι σε BCNF καθώς addr και favbeer εξαρτώνται από το κλειδί. Γιατί name addr και name favbeer που όμως έχουν το κλειδί στο αριστερό μέρος Στη drinkers2 κλειδί είναι τα {name,beersliked} και ο manf (κατασκευαστής) εξαρτάται από τη μπύρα (beersliked), δηλ. ισχύει η ΣΕ beersliked manf. Το αριστερό μέρος όμως αυτής της ΣΕ δεν περιέχει το κλειδί της σχέσης, άρα η drinkers2 δεν είναι σε BCNF και θα πρέπει να σπάσει: μια σχέση προκύπτει από τα γνωρίσματα της επίμαχης ΣΕ: drinkers3(beersliked,manf) μια δεύτερη σχέση προκύπτει από τα υπόλοιπα γνωρίσματα της drinkers2, συν το αριστερό μέρος της επίμαχης ΣΕ, δηλαδή: drinkers4(name,beersliked). Οι drinkers3 και drinkers4 είναι σε BCNF και δεν σπάνε περαιτέρω. Άρα καταλήξαμε στις: drinkers1(name,addr,favbeer), drinkers3(beersliked,manf), drinkers4(name,beersliked) Αν παρατηρήσετε όμως τι είδους πληροφορία έχουν, καλύτερα ονόματα είναι: drinkers(name,addr,favbeer), beers(beersliked,manf), likes(name,beersliked) Παρατήρηση: η οργάνωση των πληροφοριών αυτού του παραδείγματος με οντοσυσχετιστική προσέγγιση (E/R - slides #10) οδηγεί κατευθείαν σε αυτό το αποτέλεσμα!! Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

42 Τέταρτη Κανονική Μορφή 4NF Αντιμετωπίζει πλεονασμούς προερχόμενους από μια πιο γενικευμένη εξάρτηση που ονομάζεται πλειότιμη εξάρτηση (multivalued dependency). 4NF Θα την δείτε στο "Βάσεις Δεδομένων ΙΙ" Άλλες Κανονικές Μορφές Υπάρχουν κι άλλες κανονικές (όπως π.χ. η 5NF, ή 6NF) που όμως είναι αρκετά εξειδικευμένες και αντιμετωπίζουν μάλλον σπάνια προβληματικά σημεία στη σχεδίαση σχεσιακών ΒΔ. Ζητούμενο συνήθως είναι να εξασφαλιστεί η 3NF ή ακόμη καλύτερα η BCNF, εφόσον συντρέχει λόγος. Εκεί σταματάνε συνήθως οι βελτιστοποιήσεις στην πράξη. Δώστε μεγάλη σημασία στην οντοσυσχετιστική σχεδίαση ΒΔ που παρουσιάζεται στην επόμενη ενότητα (#10). Αν μάθετε να τη χειρίζεστε σωστά, θα έχετε σχεδόν απευθείας σωστές σχεδιάσεις, χωρίς να μπλέκετε στα ψιλά γράμματα των κανονικών μορφών. Ακόμη όμως και οι κανονικές μορφές, δεν είναι τόσο πολύπλοκες όσο πιθανώς δείχνουν. Για δείτε ξανά στα παραδείγματα πώς σπάμε την εκάστοτε προβληματική σχέση σε δύο σχέσεις. Μήπως τελικά το κάνουμε με τον ίδιο τρόπο κάθε φορά; Δείτε το! Φ. Κόκκορας / Τμ. Μηχανικών Πληροφορικής ΤΕ / ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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) ιδάσκων:

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

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

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

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

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, ΕλληνικήΈκδοση ίαυλος ΠεριεχόµεναΚεφαλαίου

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

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

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων 2014-2015. Ευαγγελία Πιτουρά 1 Το Σχεσιακό Μοντέλο Ευαγγελία Πιτουρά 1 Μοντελοποίηση Σχήμα (database schema): η περιγραφή της δομής της πληροφορίας που είναι αποθηκευμένη στη βδ με τη χρήση ενός μοντέλου δεδομένων Μοντέλο Δεδομένων:

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

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

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

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

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

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

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

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

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

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

Εκπαιδευτικό Εργαλείο Κανονικοποίησης

Εκπαιδευτικό Εργαλείο Κανονικοποίησης Εκπαιδευτικό Εργαλείο Κανονικοποίησης Σύντομες οδηγίες χρήσης Εισαγωγή Το πρόγραμμα Εκπαιδευτικό Εργαλείο Κανονικοποίησης αυτοματοποιεί τη διαδικασία της κανονικοποίησης πινάκων σε BCNF μορφή. Ο χρήστης

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Μοντελοποίηση Σχήμα (database schema): η περιγραφή της δομής της πληροφορίας που είναι αποθηκευμένη στη βδ με τη χρήση ενός μοντέλου δεδομένων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2η ΔΙΑΛΕΞΗ Συναρτησιακές εξαρτήσεις

2η ΔΙΑΛΕΞΗ Συναρτησιακές εξαρτήσεις 2η ΔΙΑΛΕΞΗ 1 Συναρτησιακές εξαρτήσεις Συναρτησιακές εξαρτήσεις 2 Θέματα Ανάπτυξης Έννοια και ορισμός των συναρτησιακών εξαρτήσεων Κανόνες του Armstrong Μη αναγώγιμα σύνολα εξαρτήσεων Στόχος και Αποτελέσματα

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

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

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

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

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

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

Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα. 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis)

Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα. 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis) Σχεσιακό Μοντέλο Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 1 Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis) Εισαγωγή Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές

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

antzoulatos@upatras.gr

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

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

Βάσεις Δεδομένων. Ενότητα 5: ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Βάσεις Δεδομένων. Ενότητα 5: ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών Βάσεις Δεδομένων Ενότητα 5: ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

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

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

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

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

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

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

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

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

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

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

Κανονικοποίηση Σχεδιασμός Βάσεων Δεδομένων Μαρία Χαλκίδη Κανονικοποίηση Σχεδιασμός Βάσεων Δεδομένων Μαρία Χαλκίδη 1 Κανονικές Μορφές: Εισαγωγή Στόχος: Δεδομένου ενός σχήματος, ελέγχουμε εάν είναι «καλός» σχεδιασμός ή χρειάζεται περαιτέρω διάσπαση. Ξέρουμε ότι

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

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

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

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

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1 Σχεσιακό Μοντέλο Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή O σχεδιασμός μιας βάση δεδομένων κωδικοποιεί κάποιο μέρος του φυσικού κόσμου Ένα μοντέλο δεδομένων είναι ένα σύνολο από έννοιες για

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

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

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

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

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα Database System Concepts, 6 th Ed. Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use Παράδειγμα Σχέσης attributes

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

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

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

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

Βάσεις Δεδομένων Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)

Βάσεις Δεδομένων Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Σχεσιακή Άλγεβρα Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων

Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων Βάσεις Δεδομένων Επαγγελματικού Λυκείου Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων Εισηγητής Δελησταύρου Κωνσταντίνος Καθηγητής Πληροφορικής ΠΕ20 Μηχανικός Πληροφορικής Τ.Ε. M.Sc. στα Συστήματα Υπολογιστών Περιεχόμενα

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2013 - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Αρχιτεκτονική

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

Σχεσιακή Άλγεβρα. Βάσεις Δεδομένων : Σχεσιακή Άλγεβρα 1

Σχεσιακή Άλγεβρα. Βάσεις Δεδομένων : Σχεσιακή Άλγεβρα 1 Εισαγωγή Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Σχεσιακού Μοντέλου) Αντιστοιχία

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

Σχεσιακό Μοντέλο Δεδομένων

Σχεσιακό Μοντέλο Δεδομένων Σχεσιακό Μοντέλο Δεδομένων Παύλος Εφραιμίδης Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 1 Μοντέλα Δεδομένων Μοντέλα Δεδομένων Σχεσιακό Ιεραρχικό Δικτυακό Tο κυρίαρχο μοντέλο δεδομένων στις σύγχρονες βάσεις

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

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

Βάσεις δεδομένων. (4 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (4 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Επέκταση του μοντέλου ΟΣ Κληρονομικότητα Εξειδίκευση/Γενίκευση Περιορισμοί Ιεραρχίες και πλέγματα Συνάθροιση Συνέχεια στο σχεσιακό

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

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

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

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

Σχεδίαση Βάσεων Δεδομένων

Σχεδίαση Βάσεων Δεδομένων Σχεδίαση Βάσεων Δεδομένων Τρίτη Κανονική Μορφή Third Normal Form 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved. Στόχοι Το μάθημα αυτό καλύπτει τους ακόλουθους στόχους: Να προσδιορίσει

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

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

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

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις 1) Ερωτήσεις Σωστού/Λάθους (ΣΛ) Το πακέτο λογισμικού Excel της Microsoft είναι λογισμικό διαχείρισης ΒΔ (ΣΛ) Το πακέτο λογισμικού Access της Microsoft είναι λογισμικό

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

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access Κεφάλαιο 2 Χειρισμός πινάκων... 27

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access Κεφάλαιο 2 Χειρισμός πινάκων... 27 Περιεχόμενα Κεφάλαιο 1 Εισαγωγή στην Access... 9 Γνωριμία με την Access... 12 Δημιουργία βάσης δεδομένων... 22 Άνοιγμα και κλείσιμο βάσης δεδομένων... 24 Ερωτήσεις ανακεφαλαίωσης... 25 Πρακτική εξάσκηση...

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

Μοντέλο Οντοτήτων-Συσχετίσεων

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

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

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

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

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

Μοντέλο Οντοτήτων-Συσχετίσεων

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

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

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

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

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

Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)

Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Σχεσιακή Άλγεβρα Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 1 Εισαγωγή Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός

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

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ Δομές Δεδομένων (Εργ.) Ακ. Έτος 2017-18 Διδάσκων: Ευάγγελος Σπύρου Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης 1. Στόχος του εργαστηρίου Στόχος του δέκατου εργαστηρίου

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

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

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

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 10: Εισαγωγικά περί κανονικοποίησης Συναρτησιακές εξαρτήσεις BCNF. Ευαγγελίδης Γεώργιος Τμήμα Εφαρμοσμένης Πληροφορικής

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 10: Εισαγωγικά περί κανονικοποίησης Συναρτησιακές εξαρτήσεις BCNF. Ευαγγελίδης Γεώργιος Τμήμα Εφαρμοσμένης Πληροφορικής Ενότητα 10: Εισαγωγικά περί κανονικοποίησης Συναρτησιακές εξαρτήσεις BCNF Ευαγγελίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,

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

Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Κανονικές Μορφές (Normal Forms)

Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Κανονικές Μορφές (Normal Forms) Κανονικές Μορφές (Normal Forms) Παρέχουν ένα τυπικό πλαίσιο για ανάλυση σχεσιακών σχημάτων βασισμένη στον ορισμό κλειδιών και συναρτησιακών εξαρτήσεων. Σχεσιακά σχήματα που ανήκουν σε συγκεκριμένες κανονικές

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

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

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

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

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

Θεωρία παιγνίων Δημήτρης Χριστοφίδης Εκδοση 1η: Παρασκευή 3 Απριλίου 2015. Παραδείγματα Παράδειγμα 1. Δυο άτομα παίζουν μια παραλλαγή του σκακιού όπου σε κάθε βήμα ο κάθε παίκτης κάνει δύο κανονικές κινήσεις.

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

Σχεδιασµός µιας Β. Εισαγωγή. Μετατροπή σε σχεσιακό -> είσοδο σε ένα Σ Β. Εισαγωγή. Ιδέες Ο/Σ Σχέσεις Σχεσιακό Σ Β

Σχεδιασµός µιας Β. Εισαγωγή. Μετατροπή σε σχεσιακό -> είσοδο σε ένα Σ Β. Εισαγωγή. Ιδέες Ο/Σ Σχέσεις Σχεσιακό Σ Β Εισαγωγή Σχεδιασµός µιας Β ανάλυση ποιας πληροφορίας και της σχέσης ανάµεσα στα στοιχεία της περιγραφή της δοµής - σχήµα σε διάφορους συµβολισµούς ή µοντέλα Μοντέλο Οντοτήτων - Συσχετίσεων γραφικό µοντέλο

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

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

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων 2018-2019 Ευαγγελία Πιτουρά 1 Μοντελοποίηση Σχήμα (database schema): η περιγραφή της δομής της πληροφορίας που είναι αποθηκευμένη στη βδ καθώς και των περιορισμών ακεραιότητας

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