4 Datenbankanbindung

4.1 Was ist eine relationale Datenbank?
4.2 SQL
4.3 PostgreSQL

Da der Friese über eine Schnittstelle zu verschiedenen Datenbanken verfügt, wollen wir dieses Kapitel den Datenbanken widmen. Zunächst werden ein paar grundlegende Fragen zu relationalen Datenbanken und der Abfragesprache SQL geklärt. Am Ende dieses Kapitels wird die Datenbank PostgreSQL vorgestellt.

4.1 Was ist eine relationale Datenbank?

Datenbanken sind komplex strukturierte Sammlungen von Daten, die dauerhaft gespeichert sind und von vielen Anwendern oder Anwendungsprogrammen, auch gleichzeitig, als gemeinsame Informationsbasis genutzt werden können. Sie bieten die Möglichkeit, grosse Datenbestände effizient zu verwalten und flexibel abzufragen. Nicht nur die Daten als solche können in einer Datenbank gespeichert werden, sondern auch Beziehungen der Daten untereinander. Bei einer Abfrage können diese Daten miteinander verknüpft und zugeordnet werden. Diese Eigenschaft macht Datenbanken zu einem mächtigen Instrument zur Speicherung und Gewinnung von Informationen.

Die Struktur einer Datenbank ist ein Geflecht von Tabellen, in denen jeweils gleich strukturierte Daten angeordnet sind. Jede Tabelle hat einen Namen, mehrere Spalten und Reihen, in denen die Informationen abgelegt sind. Der Benutzer sieht die Datenbank in Form von Tabellen.

Relational wird eine Datenbank genannt, wenn ihre Organisation und ihre Operationen auf den mengentheoretischen Relationen aufbauen. Mehr zu diesem Thema finden Sie unter http://postgresql.de/entwickler.whtml unter dem Stichwort Datenbankdesign.

4.2 SQL

Benutzer müssen Sprachmittel oder Werkzeuge zur Hand haben, um auf die Daten in der Datenbank zugreifen zu können. Der Administrator des Onlinekatalogs muss Artikeldaten aktualisieren können und der Besucher der Webseite muss Daten auswählen können. Änderungen oder Abfragen von Daten werden an den Datenbankserver geschickt, welcher die angeforderten Daten von den Speichern liest und an den Benutzer zurückgibt. Bei relationalen Systemen ist SQL (Structured Query Language) die Standardsprache zum Zugriff auf Datenbanken und auch zur Datendefinition. SQL-Anweisungen werden ganz allgemein queries (Abfragen) genannt, obwohl sie ganz unterschiedliche Aktionen bewirken können, beispielsweise Daten definieren, lesen oder modifizieren. SQL ist die Standardsprache, die von den meisten Datenbankprogrammierern gesprochen wird und die die meisten Datenbanksysteme "verstehen".

4.3 PostgreSQL

http://postgresql.de - die deutsche Seite zu PostgreSQLPostgreSQL ist ein hochentwickeltes relationales Open-Source-Datenbankmanagementsystem, das den SQL-Standard vollständig implementiert. Es ist eine Weiterentwicklung des ursprünglichen Berkeley-Codes und kann von der PostgreSQL-Seite kostenlos heruntergeladen werden. Auf dieser Seite findet sich ebenfalls eine ausführliche Dokumentation.

Mit dem Friesen wird bereits die jeweils aktuelle compilierte Version von PostgreSQL mitgeliefert. Auf der CD sind SQL-Quelltexte der Datenbank die für die Beispielseiten des Friesen benötigt werden. Da die WHTML-Seiten unterhalb von wwwDemo des Friesenverzeichnisses auf Tabellen der Datenbank Friese zugreifen, ist es zu empfehlen, dass Sie zuerst die Datenbank "Friese" anlegen und anschließend die SQL-Datei einspielen.

Alternativ kann natürlich auch das ganze Datenbankverzeichnis kopiert werden.
Der Schalter -i, der dem postmaster mitgegeben werden kann, weist diesen an, sowohl über TCP/IP als auch über UNIX-Domain-Sockets eine Verbindung bereitzustellen. Natürlich bekommt der Friese nur so eine Verbindung zu der Datenbank.