Suchen und Finden
Service
Infos und Kontakt
Datenbanken (S. 89)
Eine der am häufigsten benötigten Funktionalitäten bei der Erstellung dynamischer Websites ist die Anbindung von Datenbanken. ASP.NET stellt Ihnen mit ADO.NET ein sehr mächtiges Werkzeug zur Verfügung, mit dessen Hilfe Sie auf viele verschiedene Datenbanktypen zugreifen können, die über einen entsprechenden Treiber verfügen. Auf kleineren Websites werden oft Microsoft Access Datenbanken eingesetzt. Bei größeren Projekten bedient man sich meist eines Datenbankservers, wie z.B. Microsoft SQL Server, Oracle oder auch MySQL als Datenquelle.
Für alle genannten Systeme sind entsprechende Datenbankprovider verfügbar, so dass man jede dieser Datenbanken über ADO.NET ansprechen kann. Hinsichtlich der SQL-Statements sind allerdings meist datenbankspezifische Eigenheiten zu berücksichtigen. Wir haben uns allerdings größte Mühe gegeben, die Beispiele so zu schreiben, dass möglichst viele davon mit jedem oben genannten Datenbanksystem funktionieren.
Da bei einer Datenbank, wie im richtigen Leben auch, viele Wege nach Rom führen, d.h. dass es mehrere Lösungen für Problemstellungen geben kann, können manche der vorgestellten Beispiele von Ihnen evtl. schon bekannten Lösungen abweichen. Wie Sie aus der Programmierung wissen, bzw. es noch erfahren werden, sind die Standardlösungen aber nicht immer die besten Lösungen. Manchmal lohnt es sich, etwas unorthodoxe Methoden zu verwenden, wenn hierdurch beispielsweise eine Abfrage um einiges schneller abgearbeitet wird. Wenn Sie dies tun sollten, müssen Sie sich aber im Klaren darüber sein, dass dies zu weiteren Problemen führen kann. Man sollte also wissen, was man tut.
Und dies wollen wir Ihnen in den folgenden Rezepten vermitteln. Eines sei vorweg noch gesagt. ADO.NET hat gegenüber ADO (das bei Classic ASP verwendet wurde) meiner Meinung nach einen immensen Nachteil. Es ist nicht ohne weiteres möglich, die verwendete Datenbank z.B. nur durch Austauschen des Connectionstrings zu ändern. Da ADO.NET für jeden Datenbanktyp (OleDb, SqlServer usw.) eigene Klassen und Methoden mitbringt, deren Methoden, Eigenschaften, ... zu allem Übel auch noch unterschiedlich benannt wurden, steht man hier bei einem notwendigen Datenbankwechsel, z.B. von Access zu Microsoft SQL Server, vor dem großen Problem, dass man die gesamte Anwendung umschreiben müsste. Wir haben daher nach einer Lösung gesucht und auch eine gefunden.
Durch die Kapselung aller Datenbankzugriffe in die Klasse cbDatabaseClient (die wir Ihnen in einem der folgenden Abschnitte vorstellen) ist es möglich, ohne Codeänderung zwischen verschiedenen Datenbanken zu wechseln, bzw. die hinter der Website liegende Datenbank auszutauschen. Unsere Beispiele basieren alle auf Access, MS SQL und MySQL. Somit ist der Zugriff auf diese drei Datenbanktypen mit der Klasse cbDatabaseClient kein Problem mehr.
13 Aufbau einer Datenbank
Um mit einer Datenbank sinnvoll arbeiten zu können, benötigt man im Allgemeinen auch Daten. Diese werden innerhalb einer Datenbank in so genannten Tabellen gehalten. Diese Tabellen sind immer in ein oder mehrere Spalten unterteilt. Die einzelnen Spalten können unterschiedliche Datentypen haben, z.B. gibt es Datentypen zum Speichern von Strings, numerischen Werten, Datum/Uhrzeit oder auch Binärdateien. Letzterer zählt zu den so genannten BLOBs (Binary Large Object), dient also zur Speicherung großer Datenmengen, die im Binärformat vorliegen, wie dies bei vielen Dateiarten der Fall ist.
Man sollte diesen Datentyp mit Bedacht wählen, da er zu enormen Performanceeinbußen führen kann. Es gibt auch nur sehr wenige sinnvolle Fälle, in denen die Verwendung eines BLOBs zu empfehlen ist. Aus diesem Grund widmen wir uns hier überwiegend den gängigeren Datentypen. Erstellen einer Datenbank in Access Sehr verbreitet und daher gut für unser Vorhaben geeignet sind beispielsweise Adresstabellen. in diesen speichert man z.B. Adressen von Kunden, Interessenten, Bekannten usw. Zu allererst muss die Tabellenstruktur definiert werden. Am komfortabelsten geht dies über den in Access integrierten Tabellendesigner. Hierfür öffnen Sie Access und wählen dann aus dem Menü DATEI den Eintrag NEU. in dem daraufhin erscheinenden Dialog doppelklicken Sie auf den Eintrag DATENBANK.
Wählen Sie dann noch den Speicherort und den Dateinamen der neuen Datenbank aus. Wenn Sie die Beispiele ohne Änderung nutzen wollen, sollte die Datenbank den Namen codebook.mdb tragen und in ein Verzeichnis database unterhalb des Verzeichnisses, in dem Sie Ihre Skripte ablegen gespeichert werden.
Alle Preise verstehen sich inklusive der gesetzlichen MwSt.; Ersparnis im Vergleich zur Printversion


















