Πίνακας περιεχομένων:
Ορισμός - Τι σημαίνουν οι κανόνες του Codd;
Οι κανόνες του Codd αναφέρονται σε ένα σύνολο 13 κανόνων συστήματος διαχείρισης βάσεων δεδομένων (0-12) που αναπτύχθηκαν από τον EF Codd το 1969-1970. Σχεδίασε αυτούς τους κανόνες ως προαπαιτούμενα για να θεωρήσουν συστήματα διαχείρισης βάσεων δεδομένων (DBMS) ως σύστημα διαχείρισης σχεσιακής βάσης δεδομένων (RDBMS). Παρόλο που οι κανόνες δεν ήταν αρχικά πολύ δημοφιλείς για εμπορική χρήση, αργότερα τα ΣΔΒΔ βασίστηκαν στους κανόνες του Codd. Οι κανόνες του Codd αναφέρονται επίσης ως νόμος του Codd, 12 κανόνες του Codd ή 12 εντολές του Codd.
Η Techopedia εξηγεί τους κανόνες του Codd
Οι κανόνες του CODD καθορίζουν μια ιδανική σχεσιακή βάση δεδομένων, η οποία χρησιμοποιείται σήμερα ως κατευθυντήρια γραμμή για το σχεδιασμό σχεσιακών συστημάτων βάσεων δεδομένων. Παρόλο που κανένα σύστημα εμπορικής βάσης δεδομένων δεν συμμορφώνεται πλήρως με τους 12 κανόνες, ερμηνεύει τη σχεσιακή προσέγγιση. Ακολουθούν οι 12 κανόνες του CODD: Κανόνας 0: Κανόνας θεμελίωσης: Το σύστημα πρέπει να χαρακτηρίζεται ως σχεσιακό ως βάση δεδομένων και ως σύστημα διαχείρισης. Κανόνας 1: Ο κανόνας πληροφοριών: Όλες οι πληροφορίες στη βάση δεδομένων πρέπει να εκπροσωπούνται με έναν και μόνο τρόπο (δηλαδή, ως τιμές σε έναν πίνακα). Κανόνας 2: Ο κανόνας εγγυημένης πρόσβασης: Όλα τα δεδομένα πρέπει να είναι λογικά προσβάσιμα μέσω ενός συνδυασμού ονόματος πίνακα, τιμής πρωτεύοντος κλειδιού και ονόματος στήλης. Κανόνας 3: Συστηματική επεξεργασία των μηδενικών τιμών: Ένα ΣΔΒΔ πρέπει να υποστηρίζει τις μηδενικές αξίες ώστε να αντιπροσωπεύουν τις πληροφορίες που λείπουν και τις μη εφαρμόσιμες πληροφορίες με συστηματικό τρόπο ανεξάρτητα από τους τύπους δεδομένων. Κανόνας 4: Ενεργός ηλεκτρονικός κατάλογος βασισμένος στο σχεσιακό μοντέλο: Η βάση δεδομένων πρέπει να υποστηρίζει σε απευθείας σύνδεση σχεσιακό κατάλογο ο οποίος είναι προσβάσιμος στους εξουσιοδοτημένους χρήστες μέσω της κανονικής γλώσσας ερωτημάτων τους. Κανόνας 5: Ο περιεκτικός κανόνας της υπογλώσσας δεδομένων: Η βάση δεδομένων πρέπει να υποστηρίζει τουλάχιστον μία γλώσσα που ορίζει τη λειτουργικότητα γραμμικής σύνταξης, υποστηρίζει τις διαδικασίες ορισμού και χειρισμού δεδομένων, την ακεραιότητα δεδομένων και τον έλεγχο της συναλλαγής βάσεων δεδομένων. Κανόνας 6: Ο κανόνας ενημέρωσης προβολής: Η αντιπροσώπευση των δεδομένων μπορεί να γίνει χρησιμοποιώντας διαφορετικούς λογικούς συνδυασμούς που ονομάζονται "Προβολές". Όλες οι προβολές που είναι θεωρητικά ενημερωμένες πρέπει επίσης να είναι ενημερωμένες από το σύστημα. Κανόνας 7: Εισαγωγή, ενημέρωση και διαγραφή υψηλού επιπέδου: Το σύστημα πρέπει να υποστηρίζει την εισαγωγή, την ενημέρωση και τη διαγραφή των χειριστών. Κανόνας 8: Ανυπαρξία φυσικών δεδομένων: Οι αλλαγές που έγιναν σε φυσικό επίπεδο δεν πρέπει να επηρεάζουν και να απαιτούν αλλαγή στο πρόγραμμα εφαρμογής. Κανόνας 9: Ανεξαρτησία λογικών δεδομένων: Οι αλλαγές που έγιναν σε λογικό επίπεδο δεν πρέπει να επηρεάζουν και απαιτούν αλλαγή στο πρόγραμμα εφαρμογής. Κανόνας 10: Ακεραιότητα ακεραιότητας: Οι περιορισμοί ακεραιότητας πρέπει να ορίζονται και να διαχωρίζονται από τα προγράμματα εφαρμογής. Η αλλαγή περιορισμού πρέπει να επιτρέπεται χωρίς επηρεασμό των εφαρμογών. Κανόνας 11: Ανεξαρτησία διανομής: Ο χρήστης δεν θα πρέπει να γνωρίζει τη θέση της βάσης δεδομένων, δηλαδή αν η βάση δεδομένων διανέμεται σε πολλαπλές τοποθεσίες. Κανόνας 12: Ο κανόνας της μη υποτροπής: Εάν ένα σύστημα παρέχει μια γλώσσα χαμηλού επιπέδου, τότε δεν πρέπει να υπάρχει τρόπος να υπονομεύσουμε ή να παρακάμψουμε τους κανόνες ακεραιότητας της γλώσσας υψηλού επιπέδου. Από όλους τους κανόνες, ο κανόνας 3 είναι ο πλέον αμφιλεγόμενος. Αυτό οφείλεται σε μια συζήτηση σχετικά με την τρισδιάστατη ή τριμερή λογική. Οι κανόνες του Codd και η SQL χρησιμοποιούν την τριμερή λογική, όπου το null χρησιμοποιείται για να αντιπροσωπεύει τα ελλείποντα δεδομένα και να συγκρίνει οτιδήποτε με null αποτελέσματα σε μια άγνωστη κατάσταση αλήθειας. Ωστόσο, όταν οι booleans ή οι τελεστές είναι ψευδείς, η λειτουργία είναι ψευδής. Επομένως, δεν είναι άγνωστα όλα τα δεδομένα που λείπουν, εξ ου και η διαμάχη.