Σχεσιακό Μοντέλο Δεδομένων σε ΣΔΒΔ: Concepts & Παράδειγμα
⚡ Έξυπνη Σύνοψη
Το Σχεσιακό Μοντέλο αναπαριστά μια βάση δεδομένων ως μια συλλογή σχέσεων, όπου κάθε σχέση είναι ένας πίνακας γραμμών και στηλών. Ορίζει βασικές έννοιες, περιορισμούς ακεραιότητας και λειτουργίες ενημέρωσης που διατηρούν τα σχεσιακά δεδομένα συνεπή και εύκολα στην υποβολή ερωτημάτων.

Τι είναι το Σχεσιακό Μοντέλο;
Σχεσιακό μοντέλο (RM) αντιπροσωπεύει τη βάση δεδομένων ως μια συλλογή σχέσεων. Μια σχέση δεν είναι παρά ένας πίνακας τιμών. Κάθε γραμμή στον πίνακα αντιπροσωπεύει μια συλλογή σχετικών τιμών δεδομένων. Αυτές οι σειρές στον πίνακα υποδηλώνουν μια πραγματική οντότητα ή σχέση.
Τα ονόματα των πινάκων και των στηλών βοηθούν στην ερμηνεία της σημασίας των τιμών σε κάθε γραμμή. Τα δεδομένα αναπαρίστανται ως ένα σύνολο σχέσεων. Στο σχεσιακό μοντέλο, τα δεδομένα αποθηκεύονται ως πίνακες. Ωστόσο, η φυσική αποθήκευση των δεδομένων είναι ανεξάρτητη από τον τρόπο με τον οποίο τα δεδομένα είναι λογικά οργανωμένα.
Το μοντέλο προτάθηκε από τον EF Codd το 1970 και παραμένει το θεμέλιο σχεδόν κάθε κύριας βάσης δεδομένων που χρησιμοποιείται σήμερα. Μερικά δημοφιλή συστήματα διαχείρισης σχεσιακών βάσεων δεδομένων είναι:
- DB2 και Informix Dynamic Server – IBM
- Oracle και RDB - Oracle
- SQL Server και Access – Microsoft
Σχεσιακό μοντέλο Concepts στο DBMS
- Χαρακτηριστικό: Κάθε στήλη σε έναν πίνακα. Τα χαρακτηριστικά είναι οι ιδιότητες που ορίζουν μια σχέση, π.χ., Student_Rollno, NAME, κ.λπ.
- Πίνακες: Στο σχεσιακό μοντέλο, οι σχέσεις αποθηκεύονται σε μορφή πίνακα. Αποθηκεύονται μαζί με τις οντότητές τους. Ένας πίνακας έχει δύο ιδιότητες, γραμμές και στήλες. Οι γραμμές αντιπροσωπεύουν εγγραφές και οι στήλες αντιπροσωπεύουν χαρακτηριστικά.
- Πλειάδα: Δεν είναι τίποτα άλλο παρά μια μόνο γραμμή ενός πίνακα, η οποία περιέχει μια μόνο εγγραφή.
- Σχήμα Σχέσεων: Ένα σχήμα σχέσης αντιπροσωπεύει το όνομα της σχέσης με τα χαρακτηριστικά της.
- Βαθμός: Ο συνολικός αριθμός των χαρακτηριστικών στη σχέση ονομάζεται βαθμός της σχέσης.
- Καρδιοτητα: Ο συνολικός αριθμός γραμμών που υπάρχουν στον πίνακα.
- Στήλη: Η στήλη αντιπροσωπεύει το σύνολο των τιμών για ένα συγκεκριμένο χαρακτηριστικό.
- Στιγμιότυπο σχέσης: Μια περίπτωση σχέσης είναι ένα πεπερασμένο σύνολο πλειάδων στο σύστημα RDBMS. Οι περιπτώσεις σχέσης δεν έχουν ποτέ διπλότυπες πλειάδες.
- Κλειδί σχέσης: Κάθε γραμμή έχει ένα, δύο ή πολλαπλά χαρακτηριστικά, τα οποία ονομάζονται κλειδί σχέσης.
- Τομέας χαρακτηριστικού: Κάθε χαρακτηριστικό έχει κάποια προκαθορισμένη τιμή και πεδίο εφαρμογής, η οποία είναι γνωστή ως τομέας χαρακτηριστικών.
Με το λεξιλόγιο στη θέση του, η επόμενη ανησυχία είναι ναping τα δεδομένα σε αυτές τις σχέσεις είναι έγκυρα, κάτι που είναι δουλειά των περιορισμών ακεραιότητας.
Σχετικός Integrity Περιορισμοί
Οι περιορισμοί σχεσιακής ακεραιότητας στο DBMS αναφέρονται σε συνθήκες που πρέπει να υπάρχουν για μια έγκυρη σχέση. Αυτοί οι σχεσιακοί περιορισμοί προέρχονται από τους κανόνες στον μίνι-κόσμο που αντιπροσωπεύει η βάση δεδομένων.
Υπάρχουν πολλοί τύποι περιορισμών ακεραιότητας. Οι περιορισμοί στο σύστημα διαχείρισης σχεσιακών βάσεων δεδομένων χωρίζονται κυρίως σε τρεις κύριες κατηγορίες:
- Περιορισμοί Τομέα
- Βασικοί περιορισμοί
- Αναφορικός Integrity Περιορισμοί
Περιορισμοί Τομέα
Οι περιορισμοί τομέα μπορούν να παραβιαστούν εάν μια τιμή χαρακτηριστικού δεν εμφανίζεται στον αντίστοιχο τομέα ή εάν δεν είναι του κατάλληλου τύπου δεδομένων.
Οι περιορισμοί τομέα καθορίζουν ότι μέσα σε κάθε πλειάδα η τιμή κάθε χαρακτηριστικού πρέπει να είναι ατομική και να προέρχεται από το σωστό τομέα. Οι τομείς καθορίζονται ως τύποι δεδομένων, οι οποίοι περιλαμβάνουν τυπικούς τύπους όπως ακέραιοι, πραγματικοί αριθμοί, χαρακτήρες, λογικά μεγέθη και συμβολοσειρές μεταβλητού μήκους.
Παράδειγμα:
CREATE DOMAIN CustomerName CHECK (value NOT NULL)
Το παράδειγμα που εμφανίζεται δείχνει τη δημιουργία ενός περιορισμού τομέα έτσι ώστε το CustomerName να μην είναι NULL.
Βασικοί περιορισμοί
Ένα χαρακτηριστικό που μπορεί να προσδιορίσει μοναδικά μια πλειάδα σε μια σχέση ονομάζεται κλειδί του πίνακα. Η τιμή του χαρακτηριστικού για διαφορετικές πλειάδες στη σχέση πρέπει να είναι μοναδική.
Παράδειγμα:
Στον δεδομένο πίνακα, το CustomerID είναι ένα βασικό χαρακτηριστικό του πίνακα Customer. Είναι πολύ πιθανό να έχει ένα μόνο κλειδί για έναν πελάτη. Το CustomerID = 1 είναι μόνο για το CustomerName "GoogleΜια πλήρης ανάλυση των διαφόρων τύπων κλειδιών καλύπτεται στον οδηγό για Κλειδιά DBMS.
| Κωδικός πελάτη | Ονομα πελάτη | Κατάσταση |
|---|---|---|
| 1 | Ενεργή | |
| 2 | Amazon | Ενεργή |
| 3 | Apple | Αδρανής |
Αναφορικός Integrity Περιορισμοί
Οι περιορισμοί ακεραιότητας αναφοράς στο ΣΔΒΔ βασίζονται στην έννοια των ξένων κλειδιών. Ένα ξένο κλειδί είναι ένα σημαντικό χαρακτηριστικό μιας σχέσης που θα πρέπει να αναφέρεται σε άλλες σχέσεις. Ένας περιορισμός ακεραιότητας αναφοράς προκύπτει όταν μια σχέση αναφέρεται σε ένα χαρακτηριστικό κλειδιού μιας διαφορετικής ή της ίδιας σχέσης. Αυτό το στοιχείο κλειδιού πρέπει να υπάρχει στον πίνακα αναφοράς.
Παράδειγμα:
Στο παραπάνω παράδειγμα, έχουμε δύο σχέσεις, Customer και BillING.
Η πλειάδα για το CustomerID = 1 αναφέρεται δύο φορές στη σχέση Billing. Έτσι γνωρίζουμε το ΌνομαΠελάτηGoogle«έχει ποσό χρέωσης 300 $.»
Operaστάσεις στο Σχεσιακό Μοντέλο
Στο μοντέλο σχεσιακής βάσης δεδομένων εκτελούνται τέσσερις βασικές λειτουργίες ενημέρωσης: εισαγωγή, ενημέρωση, διαγραφή και επιλογή.
- Η εντολή Insert χρησιμοποιείται για την εισαγωγή δεδομένων στη σχέση.
- Το Delete χρησιμοποιείται για τη διαγραφή πλειάδων από τον πίνακα.
- Το Modify σάς επιτρέπει να αλλάξετε τις τιμές ορισμένων χαρακτηριστικών σε υπάρχουσες πλειάδες.
- Επιλογή σας επιτρέπει να επιλέξετε ένα συγκεκριμένο εύρος δεδομένων.
Κάθε φορά που εφαρμόζεται μία από αυτές τις λειτουργίες, οι περιορισμοί ακεραιότητας που καθορίζονται στο σχήμα της σχεσιακής βάσης δεδομένων δεν πρέπει ποτέ να παραβιάζονται.
Κύριο θέμα Operaσμού
Η λειτουργία εισαγωγής δίνει τιμές των χαρακτηριστικών για μια νέα πλειάδα που πρέπει να εισαχθεί σε μια σχέση.
Ενημέρωση Operaσμού
Μπορείτε να δείτε ότι στον παρακάτω πίνακα σχέσεων, το CustomerName 'Apple' ενημερώνεται από Ανενεργό σε Ενεργό.
Διαγραφή Operaσμού
Για να καθορίσετε τη διαγραφή, μια συνθήκη για τα χαρακτηριστικά της σχέσης επιλέγει την πλειάδα που θα διαγραφεί.
Στο παραπάνω παράδειγμα, το CustomerName “Apple” διαγράφεται από τον πίνακα.
Η λειτουργία διαγραφής θα μπορούσε να παραβιάσει την ακεραιότητα αναφοράς εάν η πλειάδα που διαγράφεται αναφέρεται από ξένα κλειδιά από άλλες πλειάδες στην ίδια βάσεις δεδομένων.
Αγορά Operaσμού
Στο παραπάνω παράδειγμα, το CustomerName “AmazonΈχει επιλεγεί.
Σχεσιακό Μοντέλο έναντι Ιεραρχικών και Δικτυακών Μοντέλων
Το σχεσιακό μοντέλο αντικατέστησε δύο προηγούμενες προσεγγίσεις και η αντίθεση εξηγεί γιατί έγινε κυρίαρχο. Ο παρακάτω πίνακας παρουσιάζει τις τρεις προσεγγίσεις δίπλα-δίπλα.
| Άποψη | Σχεσιακό μοντέλο | Ιεραρχικό Μοντέλο | Μοντέλο δικτύου |
|---|---|---|---|
| Structure | Πίνακες (σχέσεις) | Δέντρο, από γονέα σε παιδί | Γράφημα, πολλά προς πολλά |
| Πρόσβαση δεδομένων | Δηλωτικό, κατά αξία | Πλοήγηση, ανά διαδρομή | Πλοήγηση, με δείκτη |
| Σχέσεις | Εξωτερικά κλειδιά | Σύνδεσμοι γονέα-παιδιού | Σύνολα και δείκτες |
| Γλώσσα ερωτήματος | SQL | Διαδικαστικός κώδικας | Διαδικαστικός κώδικας |
| Ευελιξία | Ψηλά | Χαμηλός | Μέτριας Δυσκολίας |
Επειδή το σχεσιακό μοντέλο αντιμετωπίζει τα δεδομένα με βάση την τιμή και όχι με την πλοήγηση σε φυσικούς συνδέσμους, μια γλώσσα υψηλού επιπέδου όπως SQL μπορεί να εκφράσει ένα ερώτημα χωρίς να γνωρίζει πώς αποθηκεύονται τα δεδομένα.
Καλυτερα Πρακτικές Δημιουργίας Σχεσιακού Μοντέλου
- Τα δεδομένα πρέπει να αναπαρασταθούν ως μια συλλογή σχέσεων.
- Κάθε σχέση θα πρέπει να απεικονίζεται με σαφήνεια στον πίνακα.
- Οι γραμμές θα πρέπει να περιέχουν δεδομένα σχετικά με τις παρουσίες μιας οντότητας.
- Οι στήλες πρέπει να περιέχουν δεδομένα σχετικά με τα χαρακτηριστικά της οντότητας.
- Τα κελιά του πίνακα θα πρέπει να έχουν μία μόνο τιμή.
- Σε κάθε στήλη θα πρέπει να δοθεί ένα μοναδικό όνομα.
- Δεν μπορούν να είναι δύο ίδιες σειρές.
- Οι τιμές ενός χαρακτηριστικού θα πρέπει να προέρχονται από το ίδιο πεδίο ορισμού.
Πλεονεκτήματα του μοντέλου σχεσιακής βάσης δεδομένων
- Απλότητα: Ένα σχεσιακό μοντέλο δεδομένων στο DBMS είναι απλούστερο από τα ιεραρχικά και δικτυακά μοντέλα.
- Δομική ανεξαρτησία: Η σχεσιακή βάση δεδομένων ασχολείται μόνο με δεδομένα και όχι με δομή, κάτι που μπορεί να βελτιώσει την απόδοση του μοντέλου.
- Εύκολο στη χρήση: Το σχεσιακό μοντέλο είναι εύκολο στη χρήση, καθώς οι πίνακες που αποτελούνται από γραμμές και στήλες είναι φυσικοί και εύκολοι στην κατανόηση.
- Δυνατότητα ερωτήματος: Δίνει τη δυνατότητα σε μια γλώσσα ερωτημάτων υψηλού επιπέδου όπως η SQL να αποφεύγει την πολύπλοκη πλοήγηση σε βάσεις δεδομένων.
- Ανεξαρτησία δεδομένων: Η δομή μιας σχεσιακής βάσης δεδομένων μπορεί να αλλάξει χωρίς να χρειάζεται να αλλάξει κάποια εφαρμογή.
- Κλιμακούμενος: Όσον αφορά τον αριθμό των εγγραφών ή των γραμμών και τον αριθμό των πεδίων, μια βάση δεδομένων μπορεί να διευρυνθεί για να βελτιωθεί η χρηστικότητά της.
Μειονεκτήματα του Σχεσιακού Μοντέλου
- Λίγες σχεσιακές βάσεις δεδομένων έχουν όρια στα μήκη πεδίων, τα οποία δεν μπορούν να ξεπεραστούν.
- Οι σχεσιακές βάσεις δεδομένων μπορεί μερικές φορές να γίνουν πολύπλοκες καθώς η ποσότητα των δεδομένων αυξάνεται και οι σχέσεις μεταξύ των δεδομένων γίνονται πιο περίπλοκες.
- Τα πολύπλοκα συστήματα σχεσιακών βάσεων δεδομένων μπορεί να οδηγήσουν σε απομονωμένες βάσεις δεδομένων όπου οι πληροφορίες δεν μπορούν να κοινοποιηθούν από το ένα σύστημα στο άλλο.






