Υπολογιστές

Σχεσιακές βάσεις δεδομένων και συστήματα πληροφοριών

Συγγραφέας: Laura McKinney
Ημερομηνία Δημιουργίας: 6 Απρίλιος 2021
Ημερομηνία Ενημέρωσης: 14 Ενδέχεται 2024
Anonim
Σχεσιακές Βάσεις Δεδομένων (1ο μέρος)
Βίντεο: Σχεσιακές Βάσεις Δεδομένων (1ο μέρος)

Περιεχόμενο

Ο Charles είναι μηχανικός λογισμικού και καθηγητής κολεγίου που ενδιαφέρεται για την τεχνολογία, την ιατρική, τα οικονομικά και τη διατροφή.

Σε τι χρησιμεύουν οι βάσεις δεδομένων;

Οι περισσότεροι άνθρωποι θα πουν ότι αποθηκεύουν δεδομένα. Αυτό δεν είναι αληθινό.

Οι βάσεις δεδομένων είναι τρομερές κατά την αποθήκευση δεδομένων. Εάν θέλετε απλώς να αποθηκεύσετε δεδομένα, χρησιμοποιήστε αρχεία. Συμπίεση των αρχείων και δημιουργία εφεδρικών αντιγράφων ασφαλείας. Μια βάση δεδομένων θα καταλάβει εύκολα 10 φορές τον αποθηκευτικό χώρο.

Οι βάσεις δεδομένων είναι καλές για την απάντηση ερωτήσεων. Για να το κάνουν αυτό, χρησιμοποιούν επιπλέον RAM και χώρο οδήγησης για να βελτιώσουν την ταχύτητα. Μεταξύ ταχύτητας και χώρου, η ταχύτητα κερδίζει πάντα μέχρι να εξαντληθεί ο χώρος.

Σε αυτό το σεμινάριο, θα καλύψω βασικές έννοιες της βάσης δεδομένων, ώστε να μπορείτε να κατανοήσετε τις βάσεις δεδομένων που χρησιμοποιείτε και ελπίζουμε να επικοινωνείτε αποτελεσματικότερα προβλήματα και αιτήματα λειτουργιών. Ας αρχίσουμε.


Πέντε τύποι δεδομένων

Το μικρότερο μέρος μιας βάσης δεδομένων ονομάζεται πεδίο. Τα δεδομένα σε ένα πεδίο είναι ένας από τους πέντε βασικούς τύπους.

  1. Οι τύποι συμβολοσειρών εφαρμόζονται ως CHAR, VARCHAR, VARCHAR2. Η διαφορά μεταξύ αυτών των τύπων δεν είναι σημαντική εκτός αν είστε DBA. Οι χορδές χρησιμοποιούνται για την αποθήκευση οτιδήποτε μπορείτε να πληκτρολογήσετε σε πληκτρολόγιο. Ανάλογα με το λογισμικό που χρησιμοποιείτε, μια συμβολοσειρά μπορεί να περιέχει έως και 1000 χαρακτήρες. Οι συμβολοσειρές είναι ο πιο κοινός και σημαντικός τύπος δεδομένων και θα μπορούσατε να τα χρησιμοποιήσετε για τα πάντα, αλλά μερικές φορές υπάρχει ένας πιο κατάλληλος, πιο εξειδικευμένος τύπος.
  2. Οι ακέραιοι, που ονομάζονται επίσης INT χρησιμοποιούνται για την καταμέτρηση, εκφράζοντας ποια ή πόσα. Χρησιμοποιούνται επίσης συχνά ως ευρετήρια, τα οποία εξηγούνται αργότερα.
  3. Οι αριθμοί κυμαινόμενου σημείου, που ονομάζονται επίσης ΑΡΙΘΜΟΙ, χρησιμοποιούνται για μετρήσεις, εκφράζοντας πόσο ή για γενικά μαθηματικά.
  4. Οι ημερομηνίες, που αντιπροσωπεύονται με τους τύπους DATE ή DATETIME χρησιμοποιούνται για πληροφορίες ημερολογίου ή προγράμματος. Τα γενέθλια, οι γάμοι, τα μαθήματα τάξεων, τα προγράμματα εργασίας, τα ραντεβού και οι κρατήσεις χρησιμοποιούν όλες τις ΗΜΕΡΟΜΗΝΙΕΣ για να υποδείξουν μια χρονική στιγμή που συνέβη κάτι ή υποτίθεται ότι θα συμβεί.
  5. Τα δυαδικά μεγάλα αντικείμενα, επίσης γνωστά ως BLOB στη γλώσσα βάσης δεδομένων χρησιμοποιούνται για την αποθήκευση οτιδήποτε είναι πολύ μεγάλο για μια συμβολοσειρά ή είναι σε ειδική μορφή που δεν είναι συμβατή με κείμενο.Τα BLOB μπορούν να περιέχουν συμπιεσμένα δεδομένα, εικόνες, ήχους ή ταινίες και μπορούν να αποθηκεύσουν εκατοντάδες MB.

Τρία επίπεδα οργάνωσης

Οι σχεσιακές βάσεις δεδομένων αποτελούνται από πίνακες, οι οποίοι αποτελούνται από αρχεία, τα οποία αποτελούνται από πεδία.


  1. Πεδία είναι αυτό που μόλις καλύψαμε με τους πέντε τύπους δεδομένων. Κάθε πεδίο έχει ένα όνομα και έναν τύπο.
  2. Εγγραφές υπάρχουν σε πίνακες. Ένας πίνακας μπορεί να έχει 0 ή περισσότερες εγγραφές, αλλά δύο εγγραφές δεν μπορούν να είναι ακριβώς οι ίδιες.
  3. Πίνακες το καθένα έχει ένα όνομα και μια λίστα πεδίων. Κάθε εγγραφή στον πίνακα θα είναι ένα σύνολο αυτών των πεδίων.

NULL και ΜΟΝΑΔΙΚΟ

Από προεπιλογή, οποιοδήποτε πεδίο μπορεί να είναι NULL που σημαίνει ότι τα δεδομένα λείπουν. Εάν απαιτούνται τα δεδομένα στο πεδίο, μπορείτε να τα επισημάνετε ως ΔΕΝ NULL. Εάν ένα πεδίο ΔΕΝ NULL, τότε μπορείτε επίσης να το επισημάνετε ως ΜΟΝΑΔΙΚΟ, πράγμα που σημαίνει ότι κάθε εγγραφή σε αυτόν τον πίνακα πρέπει να έχει διαφορετική τιμή για αυτό το πεδίο.

Το UNIQUE είναι πολύτιμο σε μεγάλες βάσεις δεδομένων, διότι σημαίνει ότι μπορείτε να εγγυηθείτε ότι θα λάβετε είτε μία είτε μηδενική απάντηση, ποτέ δύο ή περισσότερες. Σε έναν πίνακα με εκατομμύρια εγγραφές, η έλλειψη αυτής της εγγύησης μπορεί εύκολα να οδηγήσει σε σελίδες και σελίδες δεδομένων όταν αναζητάτε μόνο ένα πεδίο.


SQL

Το Structured Query Language (SQL) είναι το μέσο για την υποβολή ερωτήσεων στη βάση δεδομένων σας. Το πιο σημαντικό SQL είναι μια δήλωση SELECT που σύμφωνα με το όνομα σας επιτρέπει να επιλέξετε ένα υποσύνολο των δεδομένων σας και να τα συμπεριλάβετε σε μια αναφορά.

Μια δήλωση SELECT έχει τρία μέρη.

  1. Το πρώτο μέρος είναι η λέξη-κλειδί SELECT που ακολουθείται από μια λίστα πεδίων. Αυτά τα πεδία είναι αυτά που θέλετε να είναι η απάντησή σας.
  2. Το δεύτερο μέρος είναι η λέξη-κλειδί FROM ακολουθούμενη από μια λίστα πινάκων. Αυτοί οι πίνακες λένε στη SQL πού να αναζητήσουν δεδομένα, μεταξύ των πιθανώς εκατοντάδων πινάκων στη βάση δεδομένων σας.
  3. Το τρίτο και προαιρετικό μέρος είναι η λέξη-κλειδί ΠΟΥ μπορείτε να σκεφτείτε ότι σημαίνει "εάν". Εάν λείπει η ρήτρα WHERE, επιστρέφονται όλες οι πιθανές απαντήσεις. Εάν υπάρχει, η ρήτρα WHERE περιορίζει τις απαντήσεις σε εκείνες που αξιολογούνται ως αληθείς.

Προσθέστε σε αυτό μερικές ρυτίδες για ευκολία. Εάν η λίστα των πεδίων μετά το SELECT αντικατασταθεί από *, τότε όλα τα ισχύοντα πεδία θα είναι μέρος της απάντησής σας. Εάν η λίστα των πεδίων αντικατασταθεί από COUNT ( *), τότε η απάντησή σας θα είναι ένας ακέραιος αριθμός πόσων απαντήσεων πέρασαν το λογικό τεστ στον όρο WHERE.

SELECT COUNT ( *) ΑΠΟ ΒΙΒΛΙΟΘΗΚΕΣ_ΒΙΒΛΙΑ.

Αυτό το παράδειγμα θα σας πει πόσες εγγραφές υπάρχουν στον πίνακα LIBRARY_BOOKS. Μόλις καταλάβετε το SELECT, το UPDATE λειτουργεί το ίδιο, αλλά επιλέγει ποιες εγγραφές θα τροποποιηθούν.

Συμμετοχή

Η ένταξη είναι απλώς όταν έχετε μια ρήτρα όπου ελέγχεται η ισότητα δύο πεδίων. Συνήθως, αυτά είναι βασικά πεδία σε διαφορετικούς πίνακες, αλλά μπορεί επίσης να είναι το ίδιο πεδίο στον ίδιο πίνακα.

Το παραπάνω γράφημα δείχνει διάφορα είδη συμμετοχών ανάλογα με το αν η δοκιμή βρήκε αγώνα ή όχι. Αυτό είναι ένα βαρύ θέμα και θα το μελετήσετε περισσότερο εάν γράφετε πολλές σύνθετες δηλώσεις SELECT.

Πλήκτρα και ευρετήρια

Ένα κλειδί για έναν πίνακα είναι κάτι που αναζητάτε για να βρείτε τις εγγραφές που θέλετε. Ένα κλειδί είναι συχνά ένα πεδίο, αλλά μπορεί να είναι ένα σύνολο πολλών πεδίων μαζί.

Για να κάνετε αυτήν την αναζήτηση γρήγορα, προσθέστε ένα ευρετήριο στον πίνακα. Τα ευρετήρια κάνουν την αναζήτηση πιο γρήγορη, αλλά η προσθήκη ή η αλλαγή των δεδομένων του πίνακα είναι πιο αργή επειδή πρέπει να ενημερώσετε τον πίνακα και επίσης να ενημερώσετε το ευρετήριο. Συνήθως αυτό βγαίνει υπέρ της ύπαρξης του ευρετηρίου, αλλά για αποδοτικότητα, ένας δείκτης πρέπει να έχει όσο το δυνατόν λιγότερα πεδία και όσο το δυνατόν μικρότερα πεδία (σε byte). Τα ευρετήρια INT είναι τα καλύτερα.

Ένα πρωτεύον κλειδί είναι ένα ειδικό είδος κλειδιού όπου κάθε τιμή κλειδιού έχει το πολύ μία εγγραφή στον πίνακα. Αυτό είναι καλό για αποδοτικότητα, επειδή όταν η βάση δεδομένων εντοπίσει μια εγγραφή που ταιριάζει με ένα πρωτεύον κλειδί, μπορεί να σταματήσει την αναζήτηση.

Σχέσεις οντοτήτων

  • One-to-one (μοντέλο δεδομένων) - Wikipedia, η δωρεάν εγκυκλοπαίδεια
    Η σχέση «ένα προς ένα» είναι το απλούστερο είδος και σημαίνει ότι για κάθε πλευρά το πολύ ένας αγώνας υπάρχει στην άλλη πλευρά. Οι σχέσεις ενός προς έναν περιλαμβάνουν ένα βιβλίο με το εξώφυλλο, το αριστερό παπούτσι στα δεξιά του και μια αράχνη στον ιστό της.
  • One-to-many (μοντέλο δεδομένων) - Wikipedia, η δωρεάν εγκυκλοπαίδεια
    Οι σχέσεις One-to-Many υπάρχουν όταν η μία πλευρά μπορεί να έχει πολλές από τις άλλες, όπως ένα πορτοφόλι που περιέχει πολλές πιστωτικές κάρτες, μια τάξη γεμάτη μαθητές και κλειδιά σε ένα πληκτρολόγιο.
  • Many-to-many (μοντέλο δεδομένων) - Wikipedia, η δωρεάν εγκυκλοπαίδεια
    Πολλές προς πολλές σχέσεις υπάρχουν όταν το One-to-Many πηγαίνει προς τις δύο κατευθύνσεις. Οι μαθητές έχουν εγγραφεί σε μαθήματα, εικόνες σε μια ιστοσελίδα και φίλοι που έχουν φίλους είναι όλα καλά παραδείγματα.

Ομαλοποίηση

Η ομαλοποίηση της βάσης δεδομένων είναι πολύ στεγνή και δεν χρειάζεται να ανησυχείτε πολύ αν δεν είστε DBA. Ακόμη και τα περισσότερα DBA για τις περισσότερες βάσεις δεδομένων δεν χρειάζεται να κατανοήσουν πολύ περισσότερο κανονικοποίηση από τα ακόλουθα.

Υπάρχουν διαφορετικά επίπεδα ομαλοποίησης, αλλά η ουσία του είναι αυτό. Θέλετε μόνο να αποθηκεύσετε κάθε απαραίτητο κομμάτι δεδομένων στη βάση δεδομένων σας μία φορά, όχι μηδενικές φορές και όχι δύο φορές.

Επεκτείνοντας τον πίνακα LIBRARY_BOOKS για επεξήγηση, ας υποθέσουμε ότι κάθε βιβλίο στη βιβλιοθήκη έχει ένα δεσμευτικό υλικό που είναι είτε δέρμα ή χαρτί και ένα δεσμευτικό χρώμα που είναι πάντα μαύρο για δέρμα και καφέ για χαρτί. Εάν υπάρχουν πολλά βιβλία κάθε τύπου, το υλικό και το χρώμα είναι περιττά πεδία και μόνο ένα από αυτά πρέπει να αποθηκευτεί για κάθε βιβλίο. Η τοποθέτηση των συσχετισμών μαύρου δέρματος και καφέ χαρτιού σε ξεχωριστό πίνακα δεν σας επιτρέπει να αποθηκεύετε αυτά τα δεδομένα περισσότερες από μία φορές.

Τι συμβαίνει εάν το αποθηκεύσετε περισσότερες από μία φορές; Προφανώς χάνετε χώρο, αλλά αυτό δεν είναι το πιο σημαντικό πράγμα. Ενδέχεται επίσης να εισαγάγετε σφάλματα ή παραλείψεις στα δεδομένα σας. Τι γίνεται αν για κάποιο λόγο η βιβλιοθήκη έχασε όλα τα δερμάτινα βιβλία; Τότε ο συσχετισμός μαύρου δέρματος δεν θα ήταν πουθενά στη βάση δεδομένων.

Αυτό είναι ένα ασήμαντο παράδειγμα για απλότητα, αλλά φανταστείτε ότι μια βάση δεδομένων αποθηκεύει το όνομα ή τον αριθμό τηλεφώνου ενός ατόμου πολλές φορές. Μία τοποθεσία μπορεί να ενημερωθεί και μια άλλη αριστερά με λανθασμένες πληροφορίες.

Για την επίλυση αυτού του προβλήματος γενικά, η κανονικοποίηση θέτει την ερώτηση: Υπάρχουν πεδία σε αυτόν τον πίνακα που καθορίζονται πλήρως από ένα άλλο σύνολο πεδίων μη πρωτεύοντος κλειδιού; (Το χρώμα δέσμευσης του βιβλίου καθορίζεται πλήρως από το δεσμευτικό υλικό;) Εάν υπάρχουν, τότε ίσως θελήσετε να ομαλοποιήσετε αυτά τα πεδία σε έναν ξεχωριστό πίνακα.

Συγχαρητήρια!

Το καταφέρατε στο τέλος. Είστε DBA τώρα;

Ναι είσαι! Αλλά μόνο αν ήσασταν DBA όταν άρχισες να διαβάζεις. Η δημιουργία μιας μικρής σχεσιακής βάσης δεδομένων σε MySQL ή SQLite είναι πολύ εύκολη και μπορεί να γίνει χωρίς καν την ελάχιστη γείωση από αυτό το εισαγωγικό άρθρο. Το να γνωρίζετε τι κάνετε τώρα μπορεί να σας κάνει λιγότερο επικίνδυνο.

Η διαδρομή από εδώ μπορεί να σας οδηγήσει σε ένα επίσημο μάθημα βάσης δεδομένων, ή σε βιβλίο, ή σε σειρές διαλέξεων βίντεο, ή τουλάχιστον σε καλύτερη εκτίμηση των δεδομένων στις βάσεις δεδομένων που χρησιμοποιείτε και του έργου που γίνεται από τη φιλική σας γειτονιά DBA. Ασφαλή ταξίδια!

Αυτό το άρθρο είναι ακριβές και πιστό από ό, τι γνωρίζουν οι συγγραφείς. Το περιεχόμενο προορίζεται μόνο για ενημερωτικούς ή ψυχαγωγικούς σκοπούς και δεν υποκαθιστά προσωπικές συμβουλές ή επαγγελματικές συμβουλές σε επιχειρηματικά, οικονομικά, νομικά ή τεχνικά θέματα.

Κοίτα

Δημοφιλής

Δωρεάν online εργαλεία δημιουργίας λέξεων-σύννεφων
Υπολογιστές

Δωρεάν online εργαλεία δημιουργίας λέξεων-σύννεφων

Είμαι προγραμματιστής ιστότοπων, βοηθός συναλλαγών eBay, μαμά, συγγραφέας και δημιουργός!Το Word Cloud είναι ένας διασκεδαστικός και ενδιαφέρων τρόπος για να εμφανίσετε μια ιδέα.Λένε ότι μόνο ένα μικρ...
10 εναλλακτικές λύσεις Hootsuite: Παραμείνετε στην κορυφή των κοινωνικών σας προφίλ
Διαδίκτυο

10 εναλλακτικές λύσεις Hootsuite: Παραμείνετε στην κορυφή των κοινωνικών σας προφίλ

Το Car on είναι iO και Android junkie. Το παιχνίδι με νέες εφαρμογές και ιστότοπους κάνει τα σαββατοκύριακά της απασχολημένα.Κάθε διαχειριστής κοινωνικών μέσων γνωρίζει το Hoot uite. Είναι μια χρήσιμη...