Was ist eine relationale Datenbank?

Eine Datenbank ist eine Anwendung, die Daten sehr schnell speichern und abrufen kann. Das relationale Bit bezieht sich darauf, wie die Daten in der Datenbank gespeichert und wie sie organisiert sind. Wenn wir über eine Datenbank sprechen, meinen wir eine relationale Datenbank, in der Tat ein RDBMS: Relational Database Management System.

In einer relationalen Datenbank werden alle Daten in Tabellen gespeichert. Diese haben dieselbe Struktur, die sich in jeder Zeile wiederholt (wie eine Tabelle), und es sind die Beziehungen zwischen den Tabellen, die sie zu einer "relationalen" Tabelle machen.

Bevor relationale Datenbanken erfunden wurden (in den 1970er Jahren), wurden andere Datenbanktypen wie hierarchische Datenbanken verwendet. Relationale Datenbanken waren jedoch für Unternehmen wie Oracle, IBM und Microsoft sehr erfolgreich. Die Open Source-Welt hat auch RDBMS.

Kommerzielle Datenbanken

  • Orakel
  • IBM DB 2
  • Microsoft SQL Server
  • Ingres. Das erste kommerzielle RDBMS.

Free / Open Source-Datenbanken

  • MySQL
  • PostgresSQL
  • SQLite

Streng genommen handelt es sich nicht um relationale Datenbanken, sondern um RDBMS. Sie bieten Sicherheit, Verschlüsselung und Benutzerzugriff und können SQL-Abfragen verarbeiten.

Wer war Ted Codd??

Codd war ein Informatiker, der 1970 die Normalisierungsgesetze entwickelte. Dies war eine mathematische Methode, um die Eigenschaften einer relationalen Datenbank mithilfe von Tabellen zu beschreiben. Er entwickelte 12 Gesetze, die beschreiben, was eine relationale Datenbank und ein RDBMS tun, und mehrere Normalisierungsgesetze, die die Eigenschaften relationaler Daten beschreiben. Nur normalisierte Daten können als relational betrachtet werden.

Was ist Normalisierung??

Betrachten Sie eine Tabelle mit Clientdatensätzen, die in eine relationale Datenbank gestellt werden soll. Einige Kunden haben die gleichen Informationen, beispielsweise verschiedene Niederlassungen desselben Unternehmens mit der gleichen Rechnungsadresse. In einer Tabelle befindet sich diese Adresse in mehreren Zeilen.

Wenn Sie die Tabelle in eine Tabelle verwandeln, müssen alle Textadressen des Kunden in eine andere Tabelle verschoben und jeder eine eindeutige ID zugewiesen werden, z. B. die Werte 0,1,2. Diese Werte werden in der Hauptclient-Tabelle gespeichert, sodass alle Zeilen die ID und nicht den Text verwenden. Eine SQL-Anweisung kann den Text für eine bestimmte ID extrahieren.

Was ist ein Tisch??

Stellen Sie es sich wie eine rechteckige Tabelle aus Zeilen und Spalten vor. Jede Spalte gibt den Typ der gespeicherten Daten an (Zahlen, Zeichenfolgen oder Binärdaten - wie Bilder)..

Im Gegensatz zu einer Tabelle, in der der Benutzer in jeder Zeile unterschiedliche Daten haben kann, kann in einer Datenbanktabelle jede Zeile nur die Datentypen enthalten, die angegeben wurden.

In C und C ++ ähnelt dies einem Array von Strukturen, wobei eine Struktur die Daten für eine Zeile enthält.

  • Weitere Informationen finden Sie unter Normalisieren einer Datenbank im Abschnitt Datenbankdesign von database.about.com.

Welche unterschiedlichen Möglichkeiten gibt es, Daten in einer Datenbank zu speichern??

Es gibt zwei Möglichkeiten:

  • Über einen Datenbankserver.
  • Über eine Datenbankdatei.

Die Verwendung einer Datenbankdatei ist die ältere Methode, die eher für Desktopanwendungen geeignet ist. Z.B. Microsoft Access, obwohl dies zugunsten von Microsoft SQL Server ausläuft. SQLite ist eine hervorragende Public Domain-Datenbank in C, die Daten in einer Datei enthält. Es gibt Wrapper für C, C ++, C # und andere Sprachen.

Ein Datenbankserver ist eine Serveranwendung, die lokal oder auf einem vernetzten PC ausgeführt wird. Die meisten großen Datenbanken basieren auf Servern. Diese erfordern mehr Administration, sind jedoch normalerweise schneller und robuster.

Wie kommuniziert eine Anwendung mit Datenbankservern??

Im Allgemeinen erfordern diese die folgenden Details.

  • IP oder Domain Name des Servers. Wenn Sie sich auf demselben PC wie Sie befinden, verwenden Sie 127.0.0.1 oder localhost als der DNS-Name.
  • Server Port Bei MySQL ist dies normalerweise 3306, bei Microsoft SQL Server 1433.
  • Benutzername und Passwort
  • Name der Datenbank

Es gibt viele Clientanwendungen, die mit einem Datenbankserver kommunizieren können. Microsoft SQL Server verfügt über Enterprise Manager zum Erstellen von Datenbanken, Festlegen der Sicherheit, Ausführen von Wartungsaufträgen und Abfragen sowie natürlich zum Entwerfen und Ändern von Datenbanktabellen.

Was ist SQL ?:

SQL steht für Structured Query Language und ist eine einfache Sprache, die Anweisungen zum Erstellen und Ändern der Struktur von Datenbanken und zum Ändern der in den Tabellen gespeicherten Daten enthält. Die wichtigsten Befehle zum Ändern und Abrufen von Daten sind:

  • Wählen - Ruft Daten ab.
  • Einfügen - Fügt eine oder mehrere Datenzeilen ein.
  • Aktualisieren - Ändert vorhandene Datenzeilen
  • Löschen - Löscht Datenzeilen.

Es gibt verschiedene ANSI / ISO-Standards wie ANSI 92, einen der beliebtesten. Dies definiert eine minimale Teilmenge der unterstützten Anweisungen. Die meisten Compiler-Anbieter unterstützen diese Standards.

Fazit

Jede nicht-triviale Anwendung kann eine Datenbank verwenden, und eine SQL-basierte Datenbank ist ein guter Ausgangspunkt. Wenn Sie die Konfiguration und Verwaltung der Datenbank beherrschen, müssen Sie SQL lernen, damit es funktioniert.

Die Geschwindigkeit, mit der eine Datenbank Daten abrufen kann, ist erstaunlich, und moderne RDBMS sind komplexe und hochoptimierte Anwendungen.

Open-Source-Datenbanken wie MySQL nähern sich schnell der Leistungsfähigkeit und Benutzerfreundlichkeit der kommerziellen Konkurrenten und treiben viele Datenbanken auf Websites an.

Herstellen einer Verbindung mit einer Datenbank in Windows mithilfe von ADO

Programmatisch gibt es verschiedene APIs, die den Zugriff auf Datenbankserver ermöglichen. Unter Windows gehören dazu ODBC und Microsoft ADO. [h3 [Verwenden von ADO Solange es eine Anbietersoftware gibt, die eine Datenbank mit ADO verbindet, kann auf die Datenbank zugegriffen werden. Windows ab 2000 hat dies eingebaut.

Versuche Folgendes. Es sollte unter Windows XP und Windows 2000 funktionieren, wenn Sie MDAC installiert haben. Wenn Sie dies nicht versucht haben und möchten, besuchen Sie Microsoft.com, suchen Sie nach "MDAC-Download" und laden Sie eine beliebige Version 2.6 oder höher herunter.

Erstellen Sie eine leere Datei mit dem Namen test.udl. Rechtsklicke im Windows Explorer auf die Datei und mache "Öffnen mit", das solltest du sehen Microsoft Data Access - OLE DB-Kerndienste ". In diesem Dialogfeld können Sie eine Verbindung zu jeder Datenbank mit einem installierten Anbieter herstellen, auch Excel-Tabellen!

Wählen Sie auf der Registerkarte Verbindung die erste Registerkarte (Anbieter) aus, die standardmäßig geöffnet wird. Wählen Sie einen Anbieter aus und klicken Sie auf Weiter. Der Datenquellenname zeigt die verschiedenen verfügbaren Gerätetypen an. Nachdem Sie Benutzername und Passwort eingegeben haben, klicken Sie auf die Schaltfläche "Verbindung testen". Nachdem Sie die OK-Taste gedrückt haben, können Sie die Datei test.udl mit Wordpad öffnen. Es sollte Text wie diesen enthalten.

 [oledb]
; Alles nach dieser Zeile ist ein OLE DB-Initstring
Provider = SQLOLEDB.1; Persist Security Info = False; Benutzer-ID = sa; Initial Catalog = dhbtest; Datenquelle = 127.0.0.1

Die dritte Zeile ist wichtig und enthält die Konfigurationsdetails. Wenn Ihre Datenbank über ein Kennwort verfügt, wird dieses hier angezeigt. Dies ist also keine sichere Methode! Diese Zeichenfolge kann in Anwendungen integriert werden, die ADO verwenden, und ermöglicht es ihnen, eine Verbindung mit der angegebenen Datenbank herzustellen.

ODBC verwenden

ODBC (Open Database Connectivity) bietet eine API-basierte Schnittstelle zu Datenbanken. Es gibt ODBC-Treiber für nahezu jede vorhandene Datenbank. ODBC bietet jedoch eine andere Kommunikationsebene zwischen einer Anwendung und der Datenbank, was zu Leistungseinbußen führen kann.