Οι σχέσεις και οι ιεραρχικές βάσεις δεδομένων είναι δύο από τα πιο κοινά είδη βάσεων δεδομένων.
Οι βάσεις δεδομένων είναι προγράμματα υπολογιστών που αποθηκεύουν δεδομένα ή "εγγραφές". Το πιο σημαντικό, περιγράφουν επίσης πώς αυτά τα δεδομένα σχετίζονται με άλλα δεδομένα στη βάση δεδομένων. Υπάρχουν πολλά διαφορετικά είδη βάσεων δεδομένων, συμπεριλαμβανομένων ιεραρχικών, δικτυακών, σχεσιακών και αντικειμενοστρεφών. Όλα εξυπηρετούν διαφορετικούς σκοπούς και επιτρέπουν την περιγραφή των αρχείων τους με διαφορετικούς τρόπους.
Ιεραρχικές Βάσεις Δεδομένων
Οι ιεραρχικές βάσεις δεδομένων είναι μερικά από τα παλαιότερα και απλούστερα είδη βάσεων δεδομένων. Τακτοποιούν τα δεδομένα σε μια δομή "δέντρου", η οποία είναι παρόμοια με φακέλους και αρχεία σε έναν υπολογιστή. Ακριβώς όπως ένα αρχείο σε έναν υπολογιστή βρίσκεται σε έναν φάκελο, κάθε εγγραφή στη βάση δεδομένων έχει έναν "γονέα". Τα ιεραρχικά διατεταγμένα δεδομένα συχνά περιγράφονται ως έχοντα μόνο σχέσεις γονέα/παιδιού.
Το βίντεο της ημέρας
Προβλήματα με βάσεις δεδομένων Heirachical
Ενώ το ιεραρχικό μοντέλο είναι κατάλληλο για απλές δομές, είναι εύκολο να δούμε πώς μπορεί να προκύψουν προβλήματα, καθώς κάθε «παιδί» μπορεί να έχει μόνο έναν «γονέα». Εάν η βάση δεδομένων περιείχε τα ονόματα των πραγματικών γονέων και των παιδιών τους σε μια εταιρεία, δεν θα μπορούσατε να περιγράψετε το γεγονός ότι και οι δύο γονείς ενός μόνο παιδιού εργάζονταν σε αυτήν Εταιρία. Στη γλώσσα των βάσεων δεδομένων, αυτή θα ήταν μια σχέση "πολλά προς ένα" (ή "πολλά προς πολλά" εάν εμπλέκονται περισσότερα από ένα παιδιά) και οι ιεραρχικές βάσεις δεδομένων δεν τις περιγράφουν καλά.
Σχεσιακές Βάσεις Δεδομένων
Οι σχεσιακές βάσεις δεδομένων δεν έχουν προβλήματα με τις σχέσεις πολλά-προς-ένα ή πολλά-προς-πολλά. Οι εγγραφές τους είναι χτισμένες ως πολλαπλοί «πίνακες», αντί για δομές δέντρων, και κάθε εγγραφή σε έναν πίνακα έχει ένα μοναδικό αναγνωριστικό. Στη συνέχεια, μια εταιρεία θα μπορούσε να έχει έναν πίνακα με τα ονόματα όλων των γονέων, έναν πίνακα με τα ονόματα όλων των παιδιών και κάθε εγγραφή στον πίνακα γονέων θα μπορούσε να έχει σχέση με έναν (ή περισσότερες, ή καμία) από τις μοναδικές εγγραφές στο θυγατρικό τραπέζι -- αυτή η σχέση είναι "είναι ο γονέας". Η ικανότητα να δίνονται εγγραφές τέτοιες σχέσεις είναι αυτό που δίνει στις σχεσιακές βάσεις δεδομένων τη δική τους όνομα.
Πλεονεκτήματα των Σχεσιακών Βάσεων Δεδομένων
Οι σχεσιακές βάσεις δεδομένων αποτρέπουν σφάλματα επιτρέποντας σε μία εγγραφή να εφαρμόζεται σε οποιονδήποτε αριθμό άλλων πινάκων. Ένα αρχείο παιδιού θα μπορούσε να χρησιμοποιηθεί σε μια σχέση "είναι το παιδί του" και το ίδιο αρχείο θα μπορούσε να αναφέρεται σε έναν πίνακα "παιδιά που παρακολουθούν το πικνίκ της εταιρείας." Αποτρέποντας την επανάληψη, οι ίδιες πληροφορίες μπορούν να χρησιμοποιηθούν με πολλούς διαφορετικούς τρόπους, χωρίς να αλλοιωθεί κατά λάθος Ρεκόρ.
Επίσης, οι σχεσιακές βάσεις δεδομένων είναι πολύ καλές για την παροχή άλλων ειδών δεδομένων που κρύβονται στις εγγραφές, χρησιμοποιώντας ερωτήματα γραμμένα σε δομημένη γλώσσα ερωτημάτων ή SQL. Αυτό σας δίνει τη δυνατότητα να εξερευνήσετε τη βάση δεδομένων με τρόπους που δεν είναι άμεσα εμφανείς, όπως να βρείτε όλα τα παιδιά πάνω από μια συγκεκριμένη ηλικία ή όλους τους γονείς με τρία ή περισσότερα παιδιά.
Χρήση ιεραρχικών βάσεων δεδομένων
Μπορεί να φαίνεται ότι οι σχεσιακές βάσεις δεδομένων είναι ανώτερες από τις ιεραρχικές, και είναι αλήθεια ότι είναι πιο ευέλικτες. Αλλά αυτή η ευελιξία δεν είναι πάντα απαραίτητη για κάθε βάση δεδομένων. Οι βιβλιοθήκες χρησιμοποιούν ιεραρχικές βάσεις δεδομένων για την καταγραφή των βιβλίων τους, καθώς το σύστημα Dewey Decimal είναι ιεραρχικής φύσης. Μια λίστα με αριθμούς τηλεφώνου επαφών μπορεί να εξυπηρετείται τέλεια από μια ιεραρχική βάση δεδομένων. Μια βάση δεδομένων είναι ένα εργαλείο και το κατάλληλο εργαλείο για την εργασία εξαρτάται από την εργασία που έχετε στο χέρι.