Suchen und Finden
Service
Infos und Kontakt
KAPITEL 16 ADO.NET und relationale Datenbanken (S. 379-380)
Wenn Sie mit einer relationalen Datenbank arbeiten, haben Sie die Wahl, auf Ihre Daten per LINQ, per LINQ und ADO.NET oder direkt per ADO.NET zuzugreifen. ADO.NET wurde entworfen, um eine verbindungslose Architektur bereitzustellen (da Datenbankverbindungen üblicherweise als sehr »wertvoll« gelten), obwohl es auch eine verbindungshafte Alternative gibt.
In einer verbindungslosen Architektur werden Daten aus einer Datenbank geholt und auf Ihrem lokalen Rechner zwischengespeichert. Sie bearbeiten die Daten auf dem lokalen Computer und verbinden sich nur dann mit der Datenbank, wenn Sie Datensätze ändern oder neue Daten abrufen möchten. Die Trennung Ihrer Datenarchitektur von der Datenbank hat bedeutende Vorteile. Der größte Vorteil besteht darin, dass Ihre Anwendung, egal ob sie im Web oder auf einem lokalen Rechner läuft, den Datenbank-Server nur in reduzierter Weise belastet. Und dies kann Ihrer Anwendung zu einer besseren Skalierung verhelfen. Datenbankverbindungen sind ressourcenintensiv, und es ist schwierig, Tausende (oder Hunderttausende) von Verbindungen gleichzeitig herzustellen. Eine verbindungslose Architektur schont die Ressourcen, obwohl Sie sich manchmal einfach nur mit der Datenbank verbinden, einen Sack voll Daten lesen und sich dann wieder trennen wollen. ADO.NET hat dafür auch eine Reader-Klasse.
Üblicherweise verbindet sich ADO.NET mit der Datenbank zunächst, um Daten abzurufen, und später noch einmal, um die Daten zu aktualisieren, nachdem Sie Änderungen vorgenommen haben. Die meisten Anwendungen verbringen einen Großteil ihrer Zeit damit, die Daten einfach zu lesen und anzuzeigen, ADO.NET hingegen stellt eine verbindungslose Teilmenge von Daten zur Verfügung, die Sie nutzen können, wenn Sie sie nur lesen oder anzeigen wollen. Aber es liegt an Ihnen als Entwickler, daran zu denken, dass sich die Daten in der Datenbank ändern können, während die Verbindung nicht besteht. Dafür müssen Sie Vorsorge treffen. Ich werde dies noch detaillierter behandeln.
Relationale Datenbanken und SQL
Über relationale Datenbanken könnte man zwar ein ganzes Buch schreiben und ein weiteres über SQL, aber die Grundlagen dieser Technologien sind nicht schwer zu verstehen. Eine Datenbank ist ein Aufbewahrungsort für Daten, und eine relationale Datenbank organisiert die Daten in Tabellen. Ein Beispiel dafür ist die mit Microsoft SQL Server ausgelieferte Northwind-Datenbank und die mit den Versionen von Microsoft Access mitgelieferte deutsche Übersetzung dieser Datenbank (Nordwind). Mit Ausnahme von Beispiel 16-1 beziehen sich alle folgenden Beispiele auf die englischsprachige Version der Datenbank.
Microsoft stellt die Northwind-Datenbank kostenlos auf Microsoft.com bereit (suchen Sie einfach nach »Northwind database« – der erste Link sollte Sie zur Download-Seite führen. Sie können die Datei (SQL200SampleDb. msi) aber auch von meiner Site (http://www.JesseLiberty.com) herunterladen, indem Sie auf Books und dann wieder auf Books klicken, dann bis zu diesem Buch herunterscrollen und auf Northwind Database klicken. Packen Sie die Datei aus, und klicken Sie doppelt auf die .msi-Datei, um sie zu installieren.
Tabellen, Datensätze und Spalten
Die Northwind-Datenbank beschreibt eine fiktive Firma, die mit Lebensmitteln handelt. Die Daten in Northwind sind in 13 Tabellen aufgeteilt, darunter Kunden, Personal, Bestellungen, Bestelldetails, Artikel usw. Jede Tabelle in einer relationalen Datenbank ist in Zeilen organisiert, wobei jede Zeile einen einzelnen Datensatz darstellt. Die Zeilen wiederum sind in Spalten organisiert. Alle Zeilen einer Tabelle haben die gleiche Spaltenstruktur. So hat z.B. die Tabelle Orders die folgenden Spalten: OrderID, CustomerID, EmployeeID, OrderDate usw.
Alle Preise verstehen sich inklusive der gesetzlichen MwSt.; Ersparnis im Vergleich zur Printversion























