Λειτουργική Εξάρτηση σε ΣΔΒΔ: Τύποι με Παραδείγματα
⚡ Έξυπνη Σύνοψη
Η Λειτουργική Εξάρτηση είναι ένας περιορισμός που καθορίζει τον τρόπο με τον οποίο ένα χαρακτηριστικό σχετίζεται με ένα άλλο σε ένα ΣΔΒΔ. Υποστηρίζει την ομαλοποίηση προσδιορίζοντας τους καθοριστικούς παράγοντες και τις εξαρτημένες παραμέτρους και ταξινομείται σε πολυτιμικές, τετριμμένες, μη τετριμμένες και μεταβατικές εξαρτήσεις.

Τι είναι η Λειτουργική Εξάρτηση;
Λειτουργική εξάρτηση (FD) είναι ένας περιορισμός που καθορίζει τη σχέση ενός χαρακτηριστικού με ένα άλλο χαρακτηριστικό σε ένα Σύστημα Διαχείρισης Βάσεων Δεδομένων (DBMS). Η λειτουργική εξάρτηση βοηθά στη διατήρηση της ποιότητας των δεδομένων στη βάση δεδομένων. Παίζει ζωτικό ρόλο στην εύρεση της διαφοράς μεταξύ καλού και κακού σχεδιασμού βάσης δεδομένων.
Μια συναρτησιακή εξάρτηση συμβολίζεται με ένα βέλος «→». Η συναρτησιακή εξάρτηση του Y από το X αναπαρίσταται από το X → Y. Ας κατανοήσουμε τη συναρτησιακή εξάρτηση με ένα παράδειγμα.
Παράδειγμα:
| Αριθμός υπαλλήλου | όνομα υπαλλήλου | Μισθός | Πόλη |
|---|---|---|---|
| 1 | Dana | 50000 | Σαν Φρανσίσκο |
| 2 | Francis | 38000 | Λονδίνο |
| 3 | Ανδρέας | 25000 | Τόκιο |
Σε αυτό το παράδειγμα, αν γνωρίζουμε την τιμή του αριθμού υπαλλήλου, μπορούμε να λάβουμε το Όνομα Υπαλλήλου, την Πόλη, τον Μισθό και ούτω καθεξής. Με αυτόν τον τρόπο, μπορούμε να πούμε ότι η Πόλη, το Όνομα Υπαλλήλου και ο Μισθός εξαρτώνται λειτουργικά από τον Αριθμός Υπαλλήλου.
Βασικοί όροι
Ακολουθούν ορισμένοι βασικοί όροι για τη λειτουργική εξάρτηση σε μια βάση δεδομένων:
| Βασικοί όροι | Περιγραφή |
|---|---|
| Αξίωμα | Τα αξιώματα είναι ένα σύνολο κανόνων συμπερασμού που χρησιμοποιούνται για να συμπεράνουν όλες τις λειτουργικές εξαρτήσεις σε μια σχεσιακή βάση δεδομένων. |
| Αποσύνθεση | Ένας κανόνας που υποδηλώνει ότι εάν έχετε έναν πίνακα που φαίνεται να περιέχει δύο οντότητες που καθορίζονται από το ίδιο πρωτεύον κλειδί, θα πρέπει να εξετάσετε το ενδεχόμενο να τον χωρίσετε σε δύο διαφορετικούς πίνακες. |
| Εξαρτώμενος | Εμφανίζεται στη δεξιά πλευρά του διαγράμματος λειτουργικής εξάρτησης. |
| καθοριστικός | Εμφανίζεται στην αριστερή πλευρά του διαγράμματος λειτουργικής εξάρτησης. |
| Ένωση | Υποδηλώνει ότι εάν δύο πίνακες είναι ξεχωριστοί και το πρωτεύον κλειδί είναι το ίδιο, θα πρέπει να εξετάσετε το ενδεχόμενο να τους συνδυάσετε. |
Κανόνες Συναρτησιακών Εξαρτήσεων (Αξιώματα του Άρμστρονγκ)
Παρακάτω παρατίθενται οι τρεις πιο σημαντικοί κανόνες για τη συναρτησιακή εξάρτηση σε μια βάση δεδομένων. Είναι γνωστοί ως αξιώματα του Armstrong και κάθε άλλος κανόνας συμπερασμού μπορεί να εξαχθεί από αυτούς.
- Ανακλαστικός κανόνας: Αν το X είναι ένα σύνολο χαρακτηριστικών και το Y είναι ένα υποσύνολο του X, τότε ισχύει το X → Y.
- Κανόνας αύξησης: Όταν ισχύει το X → Y και το C είναι ένα σύνολο χαρακτηριστικών, τότε ισχύει και το XC → YC. Η προσθήκη χαρακτηριστικών δεν αλλάζει τη βασική εξάρτηση.
- Κανόνας μεταβατικότητας: Παρόμοια με τον μεταβατικό κανόνα στην άλγεβρα: αν ισχύει X → Y και Y → Z, τότε ισχύει και X → Z.
Τρεις επιπλέον κανόνες προκύπτουν από αυτούς και χρησιμοποιούνται συνεχώς στην πράξη:
- Κανόνας της Ένωσης: αν X → Y και X → Z, τότε X → YZ.
- Κανόνας αποσύνθεσης: αν X → YZ, τότε X → Y και X → Z.
- Κανόνας ψευδομεταβατικότητας: αν X → Y και WY → Z, τότε WX → Z.
Η επανειλημμένη εφαρμογή αυτών των κανόνων σε ένα σύνολο εξαρτήσεων παράγει το κλείσιμο, το πλήρες σύνολο των εξαρτήσεων που λογικά ακολουθούν. Το κλείσιμο ενός συνόλου χαρακτηριστικών είναι επίσης ο τρόπος με τον οποίο βρίσκονται τα υποψήφια κλειδιά, κάτι που συνδέεται άμεσα με τη μελέτη του Κλειδιά DBMS.
Τύποι λειτουργικών εξαρτήσεων στο DBMS
Υπάρχουν κυρίως τέσσερις τύποι λειτουργικής εξάρτησης στο ΣΔΒΔ:
- Εξάρτηση πολλαπλών τιμών
- Ασήμαντη Λειτουργική Εξάρτηση
- Μη τετριμμένη λειτουργική εξάρτηση
- Μεταβατική Εξάρτηση
Εξάρτηση πολλαπλών τιμών στο DBMS
Η εξάρτηση πολλαπλών τιμών εμφανίζεται σε μια περίπτωση όπου υπάρχουν πολλά ανεξάρτητα χαρακτηριστικά πολλαπλών τιμών σε έναν μόνο πίνακα. Μια εξάρτηση πολλαπλών τιμών είναι ένας πλήρης περιορισμός μεταξύ δύο συνόλων χαρακτηριστικών σε μια σχέση, που απαιτεί την παρουσία ορισμένων πλειάδων. Εξετάστε το ακόλουθο παράδειγμα.
Παράδειγμα:
| Μοντέλο αυτοκινήτου | Maf_year | Χρώμα |
|---|---|---|
| H001 | 2017 | Μεταλλικός |
| H001 | 2017 | Πράσινο |
| H005 | 2018 | Μεταλλικός |
| H005 | 2018 | Μπλε |
| H010 | 2015 | Μεταλλικός |
| H033 | 2012 | Γκρί |
Σε αυτό το παράδειγμα, οι στήλες Maf_year και Color είναι ανεξάρτητες μεταξύ τους, αλλά εξαρτώνται από το Car_model. Αυτές οι δύο στήλες λέγεται ότι είναι πολλαπλής τιμής και εξαρτώνται από το Car_model. Αυτό αναπαρίσταται ως:
μοντέλο_αυτοκινήτου → maf_year
μοντέλο_αυτοκινήτου → χρώμα
Ασήμαντη λειτουργική εξάρτηση στο DBMS
Μια τετριμμένη εξάρτηση είναι ένα σύνολο χαρακτηριστικών που ονομάζεται τετριμμένη αν το σύνολο χαρακτηριστικών περιλαμβάνεται σε αυτό το χαρακτηριστικό. Έτσι, το X → Y είναι μια τετριμμένη συναρτησιακή εξάρτηση αν το Y είναι ένα υποσύνολο του X. Εξετάστε το παρακάτω παράδειγμα.
| Emp_id | Emp_name |
|---|---|
| AS555 | Βασανίζω |
| AS811 | Γεώργιος |
| AS999 | Kevin |
Θεωρήστε αυτόν τον πίνακα με δύο στήλες, Emp_id και Emp_name. {Emp_id, Emp_name} → Το Emp_id είναι μια απλή συναρτησιακή εξάρτηση, καθώς το Emp_id είναι ένα υποσύνολο του {Emp_id, Emp_name}.
Μη Τετριβική Συναρτησιακή Εξάρτηση στο ΣΔΒΔ
Μια μη τετριμμένη εξάρτηση προκύπτει όταν ισχύει το A → B και το B δεν είναι υποσύνολο του A. Εάν το χαρακτηριστικό B δεν είναι υποσύνολο του χαρακτηριστικού A, η εξάρτηση θεωρείται μη τετριμμένη.
| Εταιρεία | Διευθύνων Σύμβουλος | Ηλικία |
|---|---|---|
| Microsoft | Satya Nadella | 51 |
| Sundar Pichai | 46 | |
| Apple | Tim Cook | 57 |
Παράδειγμα:
{Εταιρεία} → {Διευθύνων Σύμβουλος} (αν γνωρίζουμε την Εταιρεία, γνωρίζουμε και το όνομα του Διευθύνοντος Συμβούλου). Αλλά ο Διευθύνων Σύμβουλος δεν είναι υποσύνολο της Εταιρείας και, ως εκ τούτου, είναι μια μη τετριμμένη συναρτησιακή εξάρτηση.
Μεταβατική εξάρτηση στο DBMS
Μια μεταβατική εξάρτηση είναι ένας τύπος λειτουργικής εξάρτησης που συμβαίνει όταν ένα χαρακτηριστικό καθορίζεται έμμεσα από δύο λειτουργικές εξαρτήσεις. Εξετάστε το παρακάτω παράδειγμα.
| Εταιρεία | Διευθύνων Σύμβουλος | Ηλικία |
|---|---|---|
| Microsoft | Satya Nadella | 51 |
| Sundar Pichai | 46 | |
| Alibaba | Jack Ma | 54 |
{Εταιρεία} → {Διευθύνων Σύμβουλος} (αν γνωρίζουμε την εταιρεία, γνωρίζουμε και το όνομα του Διευθύνοντος Συμβούλου της).
{CEO} → {Age} (αν γνωρίζουμε τον CEO, γνωρίζουμε και την ηλικία).
Επομένως, σύμφωνα με τον κανόνα της μεταβατικής εξάρτησης, θα πρέπει να ισχύει η εξίσωση {Εταιρεία} → {Ηλικία}, κάτι που έχει νόημα επειδή αν γνωρίζουμε το όνομα της εταιρείας, μπορούμε να βρούμε την ηλικία.
Σημείωση: Η μεταβατική εξάρτηση μπορεί να εμφανιστεί μόνο σε μια σχέση τριών ή περισσότερων χαρακτηριστικών.
Τι είναι η Κανονικοποίηση;
Η κανονικοποίηση είναι μια μέθοδος οργάνωσης των δεδομένων σε μια βάση δεδομένων που σας βοηθά να αποφύγετε τον πλεονασμό δεδομένων και τις ανωμαλίες εισαγωγής, ενημέρωσης και διαγραφής. Είναι μια διαδικασία ανάλυσης των σχημάτων σχέσεων με βάση τις διαφορετικές λειτουργικές εξαρτήσεις τους και το πρωτεύον κλειδί.
Η κανονικοποίηση είναι εγγενής στη θεωρία σχεσιακών βάσεων δεδομένων. Μπορεί να έχει ως αποτέλεσμα τον διαχωρισμό δεδομένων σε πρόσθετους πίνακες, έτσι ώστε κάθε γεγονός να αποθηκεύεται μία φορά. Η πλήρης διαδικασία καλύπτεται στον οδηγό για ομαλοποίηση βάσης δεδομένων, το οποίο βασίζεται απευθείας στους παραπάνω τύπους εξάρτησης.
Πλεονεκτήματα της Λειτουργικής Εξάρτησης
- Η λειτουργική εξάρτηση αποφεύγει τον πλεονασμό δεδομένων, επομένως τα ίδια δεδομένα δεν επαναλαμβάνονται σε πολλαπλές τοποθεσίες στο βάσεις δεδομένων.
- Σας βοηθά να διατηρήσετε την ποιότητα των δεδομένων στη βάση δεδομένων.
- Σας βοηθά να ορίσετε τις έννοιες και τους περιορισμούς των βάσεων δεδομένων.
- Σας βοηθά να εντοπίσετε κακά σχέδια.
- Σας βοηθά να βρείτε τα στοιχεία σχετικά με το σχεδιασμό της βάσης δεδομένων.
