Σχεσιακές Βάσεις Δεδομένων, Κανονικοποίηση και SQL

Μια βάση δεδομένων είναι μια εφαρμογή που μπορεί να αποθηκεύσει και να ανακτήσει δεδομένα πολύ γρήγορα. Το σχεσιακό δυαδικό ψηφίο αναφέρεται στο πώς αποθηκεύονται τα δεδομένα στη βάση δεδομένων και πώς οργανώνεται. Όταν μιλάμε για μια βάση δεδομένων, εννοούμε μια σχεσιακή βάση δεδομένων, στην πραγματικότητα, ένα RDBMS: Σχεσιακό Σύστημα Διαχείρισης Βάσεων Δεδομένων.

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

Πριν από την εφευρετικότητα των σχεσιακών βάσεων δεδομένων (στη δεκαετία του '70), χρησιμοποιήθηκαν άλλοι τύποι βάσεων δεδομένων όπως οι ιεραρχικές βάσεις δεδομένων. Ωστόσο, οι σχεσιακές βάσεις δεδομένων ήταν πολύ επιτυχημένες για εταιρείες όπως η Oracle, η IBM και η Microsoft. Ο κόσμος ανοιχτού κώδικα έχει επίσης RDBMS.

Εμπορικές βάσεις δεδομένων

  • Μαντείο
  • IBM DB 2
  • Microsoft SQL Server
  • Ingres. Το πρώτο εμπορικό RDBMS.
instagram viewer

Ελεύθερες / ανοιχτές βάσεις δεδομένων

  • MySQL
  • PostgresSQL
  • SQLite

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

Ποιος ήταν ο Ted Codd;

Ο Codd ήταν επιστήμονας ηλεκτρονικών υπολογιστών που κατάρτισε τους νόμους της ομαλοποίησης το 1970. Αυτός ήταν ένας μαθηματικός τρόπος περιγραφής των ιδιοτήτων μιας σχεσιακής βάσης δεδομένων χρησιμοποιώντας πίνακες. Έκανε 12 νόμους που περιγράφουν τι κάνει μια σχεσιακή βάση δεδομένων και ένα RDBMS και αρκετούς νόμους ομαλοποίησης που περιγράφουν τις ιδιότητες των σχεσιακών δεδομένων. Μόνο δεδομένα που είχαν κανονικοποιηθεί θα μπορούσαν να θεωρηθούν σχεσιακά.

Τι είναι η κανονικοποίηση;

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

Για να μετατρέψετε το υπολογιστικό φύλλο σε ένα τραπέζι, όλες οι διευθύνσεις κειμένου του πελάτη πρέπει να μετακινηθούν σε άλλο πίνακα και το κάθε ένα να αντιστοιχιστεί μοναδική ταυτότητα- λένε τις τιμές 0,1,2. Αυτές οι τιμές αποθηκεύονται στον κύριο πίνακα πελατών, έτσι ώστε όλες οι σειρές να χρησιμοποιούν το αναγνωριστικό, όχι το κείμενο. Μια εντολή SQL μπορεί να εξαγάγει το κείμενο για ένα δεδομένο αναγνωριστικό.

Τι είναι ένας πίνακας;

Σκεφτείτε ότι είναι σαν ένα ορθογώνιο υπολογιστικό φύλλο που αποτελείται από σειρές και στήλες. Κάθε στήλη προσδιορίζει το είδος δεδομένων αποθηκεύονται (αριθμοί, συμβολοσειρές ή δυαδικά δεδομένα - όπως εικόνες).

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

Σε C και C ++, αυτό είναι σαν ένα πίνακας του διαρθρώνει, όπου ένα struct διατηρεί τα δεδομένα για μια σειρά.

  • Για περισσότερες πληροφορίες, ανατρέξτε στην ενότητα Κανονικοποίηση βάσης δεδομένων στο τμήμα Σχεδίαση βάσης δεδομένων του databases.about.com.

Ποιοι είναι οι διαφορετικοί τρόποι αποθήκευσης δεδομένων σε μια βάση δεδομένων;

Υπάρχουν δύο τρόποι:

  • Μέσω ενός διακομιστή βάσης δεδομένων.
  • Μέσω αρχείου βάσης δεδομένων.

Η χρήση ενός αρχείου βάσης δεδομένων είναι η παλαιότερη μέθοδος, πιο κατάλληλη για εφαρμογές γραφείου. Π.Χ. Microsoft Access, αν και αυτό καταργείται σταδιακά υπέρ του Microsoft SQL Server. Το SQLite είναι μια εξαιρετική βάση δεδομένων δημόσιου τομέα γραμμένη σε C που περιέχει δεδομένα σε ένα αρχείο. Υπάρχουν περιτυλίξεις για C, C ++, ΝΤΟ# και άλλες γλώσσες.

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

Πώς επικοινωνεί μια εφαρμογή με διακομιστές βάσεων δεδομένων;

Γενικά, αυτές απαιτούν τις ακόλουθες λεπτομέρειες.

  • IP ή το όνομα τομέα του διακομιστή. Αν είναι στον ίδιο υπολογιστή με εσάς, χρησιμοποιήστε το 127.0.0.1 ή localhost ως DNS όνομα.
  • Θύρα διακομιστή Για τη MySQL αυτό είναι συνήθως 3306, 1433 για τον Microsoft SQL Server.
  • Ονομα χρήστη και κωδικός
  • Όνομα της βάσης δεδομένων

Υπάρχουν πολλές εφαρμογές πελάτη που μπορούν να μιλήσουν σε διακομιστή βάσης δεδομένων. Ο Microsoft SQL Server διαθέτει Enterprise Manager για να δημιουργεί βάσεις δεδομένων, να ρυθμίζει την ασφάλεια, να τρέχει εργασίες συντήρησης, ερωτήματα και φυσικά να σχεδιάζει και να τροποποιεί πίνακες βάσεων δεδομένων.

Τι είναι το SQL;:

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

  • Επιλέγω - Φέρνει δεδομένα.
  • Εισάγετε - Εισάγει μία ή περισσότερες σειρές δεδομένων.
  • Εκσυγχρονίζω - Τροποποιεί υπάρχουσες σειρές δεδομένων
  • Διαγράφω - Διαγράφει σειρές δεδομένων.

Υπάρχουν πολλά πρότυπα ANSI / ISO όπως το ANSI 92, ένα από τα πιο δημοφιλή. Αυτό ορίζει ένα ελάχιστο υποσύνολο υποστηριζόμενων δηλώσεων. Οι περισσότεροι πωλητές μεταγλωττών υποστηρίζουν αυτά τα πρότυπα.

συμπέρασμα

Κάθε μη τρίβει εφαρμογή μπορεί να χρησιμοποιήσει μια βάση δεδομένων και μια βάση δεδομένων που βασίζεται σε SQL είναι ένα καλό μέρος για να ξεκινήσετε. Μόλις καταλάβετε τη διαμόρφωση και τη διαχείριση της βάσης δεδομένων τότε θα πρέπει να μάθετε SQL για να λειτουργήσει σωστά.

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

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

Πώς να συνδεθείτε σε μια βάση δεδομένων στα Windows χρησιμοποιώντας το ADO

Από προγραμματισμό, υπάρχουν διάφορα API που παρέχουν πρόσβαση σε διακομιστές βάσης δεδομένων. Στα Windows, αυτά περιλαμβάνουν ODBC και Microsoft ADO. [h3 [Χρήση ADO Εφόσον υπάρχει λογισμικό παροχέα-λογισμικού που διασυνδέει μια βάση δεδομένων με την ADO, τότε μπορεί να γίνει πρόσβαση στη βάση δεδομένων. Τα Windows από το 2000 έχουν ενσωματωθεί.

Δοκιμάστε τα παρακάτω. Θα πρέπει να λειτουργεί στα Windows XP και στα Windows 2000 εάν έχετε εγκαταστήσει MDAC. Αν δεν το έχετε και θέλετε να δοκιμάσετε αυτό, επισκεφθείτε τη Microsoft.com, κάνετε μια αναζήτηση για "MDAC Download" και κατεβάστε οποιαδήποτε έκδοση, 2.6 ή νεότερη έκδοση.

Δημιουργήστε ένα κενό αρχείο που καλείται test.udl. Κάντε δεξί κλικ στην Εξερεύνηση των Windows στο αρχείο και κάντε "άνοιγμα με", θα πρέπει να δείτε Microsoft Data Access - OLE DB Core Services ". Αυτός ο παράθυρο διαλόγου σάς επιτρέπει να συνδεθείτε σε οποιαδήποτε βάση δεδομένων με έναν εγκατεστημένο παροχέα, ακόμα και σε υπολογιστικά φύλλα Excel!

Επιλέξτε την πρώτη καρτέλα (Παροχέας) όπως ανοίγει από προεπιλογή στην καρτέλα Σύνδεση. Επιλέξτε παροχέα και κάντε κλικ στο κουμπί Επόμενο. Το όνομα της πηγής δεδομένων εμφανίζει τους διάφορους τύπους διαθέσιμων συσκευών. Αφού συμπληρώσετε το όνομα χρήστη και τον κωδικό πρόσβασης, κάντε κλικ στο κουμπί "Δοκιμή σύνδεσης". Αφού πατήσετε το κουμπί ok, μπορείτε να ανοίξετε το αρχείο test.udl με αρχείο με το Wordpad. Θα πρέπει να περιέχει κείμενο όπως αυτό.

 [oledb]
; Όλα μετά από αυτή τη γραμμή είναι ένα initstring του OLE DB
Παροχέας = SQLOLEDB.1, Persist Ασφάλεια Info = False; User ID = sa; Αρχικός κατάλογος = dhbtest; Πηγή δεδομένων = 127.0.0.1

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

Χρησιμοποιώντας το ODBC

ODBC (Open Database Connectivity) παρέχει μια διεπαφή βασισμένη σε API σε βάσεις δεδομένων. Υπάρχουν διαθέσιμα προγράμματα οδήγησης ODBC για σχεδόν κάθε υπάρχουσα βάση δεδομένων. Ωστόσο, το ODBC παρέχει ένα άλλο επίπεδο επικοινωνίας μεταξύ μιας εφαρμογής και της βάσης δεδομένων και αυτό μπορεί να προκαλέσει κυρώσεις επιδόσεων.

instagram story viewer