Tom Suthamma
Datenbanken entwickeln
Dieses ebook wurde erstellt bei
Inhaltsverzeichnis
Titel Tom Suthamma Datenbanken entwickeln Dieses ebook wurde erstellt bei
Datenbanken verstehen Datenbanken verstehen Datenbanken entwickeln • Die Entwicklung einer DB vollzieht sich in mehreren Schritten. • Zunächst ist festzustellen, welche Informationen die Anwender vom DBS erwarten. Aufgrund dieser Erhebung kann man sich dann überlegen, welche Tabellen benötigt werden. • Ferner muß festgelegt werden, welche Datentypen für die einzelnen Tabellenspalten benötigt werden. Diesen Prozeß bezeichnet man als Datenmodellierung. Erst wenn die Datenmodellierung abgeschlossen ist, können die Tabellen angelegt werden. Man sollte sich für diesen Schritt ruhig ein wenig Zeit nehmen, weil es nachher häufig unmöglich ist, ohne großen Aufwand Fehler zu beheben. • Um sich einigen Ärger zu ersparen, empfiehlt es sich, ein paar Grundsätze bei der Datenmodellierung zu beachten: • Keine Redundanz Unter Redundanz versteht man das doppelte Vorhandensein einzelner Daten. Beispiel: Vor-/Nachname Vorname Straße Hans Maier Hans Musterstr. 5Michael Meier Michel Michelweg99 Wie man leicht erkennen kann, kommt der jeweilige Vorname in zwei Spalten vor. • Dies bringt zwei Nachteile mit sich: Zum einen kostet es mehr Speicherplatz, was bei einigen 1000 Datensätzen schon etwas ausmacht; zum anderen werden Änderungen schwieriger, anfälliger für Fehler und auch aufwendiger, da ja zwei Attribute geändert werden müssen. Wenn dies nicht erfolgt, treten Inkonsistenzen auf.
Schlüssel
Beispiele
Relationen
SQL
Zugabe - Open Source
Impressum neobooks
Datenbanken entwickeln • Die Entwicklung einer DB vollzieht sich in mehreren Schritten.
• Zunächst ist festzustellen, welche Informationen die Anwender vom DBS erwarten. Aufgrund dieser Erhebung kann man sich dann überlegen, welche Tabellen benötigt werden.
• Ferner muß festgelegt werden, welche Datentypen für die einzelnen Tabellenspalten benötigt werden. Diesen Prozeß bezeichnet man als Datenmodellierung. Erst wenn die Datenmodellierung abgeschlossen ist, können die Tabellen angelegt werden. Man sollte sich für diesen Schritt ruhig ein wenig Zeit nehmen, weil es nachher häufig unmöglich ist, ohne großen Aufwand Fehler zu beheben.
• Um sich einigen Ärger zu ersparen, empfiehlt es sich, ein paar Grundsätze bei der Datenmodellierung zu beachten:
• Keine Redundanz Unter Redundanz versteht man das doppelte Vorhandensein einzelner Daten. Beispiel: Vor-/Nachname Vorname Straße Hans Maier Hans Musterstr. 5Michael Meier Michel Michelweg99 Wie man leicht erkennen kann, kommt der jeweilige Vorname in zwei Spalten vor.
• Dies bringt zwei Nachteile mit sich: Zum einen kostet es mehr Speicherplatz, was bei einigen 1000 Datensätzen schon etwas ausmacht; zum anderen werden Änderungen schwieriger, anfälliger für Fehler und auch aufwendiger, da ja zwei Attribute geändert werden müssen. Wenn dies nicht erfolgt, treten Inkonsistenzen auf.
Ein DBMS verfügt nicht über einen definierten Zugriffsweg auf einen bestimmten Datensatz. Deshalb muß in jeder Zeile einer Tabelle ein Wert enthalten sein, der diesen Eintrag eindeutig kennzeichnet bzw. identifiziert. Um die Eindeutigkeit der Tabellenzeilen zu gewährleisten, erweitert man den Datensatz um ein Identifikationsmerkmal, z.B. wird einem Artikeldatensatz eine Artikelnummer zugeordnet. Dieses Merkmal nennt man Schlüssel.
Beim Festlegen des Schlüssels kann man einen Schlüssel selbst definieren oder einen fremddefinierten übernehmen. Bei einem Buch würde sich da die ISBN-Nummer anbieten. Um nicht Gefahr zu laufen, daß durch eine Änderung solcher fremddefinierten Schlüssel im DBS Inkonsistenzen auftreten, zum Beispiel, weil der Schlüssel nicht mehr eindeutig ist, empfiehlt es sich häufig, einen eigenen zu nehmen.Prozeßdaten sind Daten, die durch einen Rechenprozeß aus gespeicherten Attributen gewonnen werden. Beispiel: Neben dem Geburtsdatum wird auch noch das Alter gespeichert. Spätestens nach einem Jahr ist dieser Eintrag falschDeshalb sollten diese Daten bei jeder Abfrage neu errechnet werden.Eine Möglichkeit ist, erst einmal darüber nachzudenken, was man eigentlich machen will, dann die entsprechenden Prozeduren entwickeln und dabei sehen, welche Art von Daten man braucht. Diese Vorgehensweise kennen diejenigen, die schon einmal programmiert haben. Andererseits kann man sich auch zuerst überlegen, welche Daten überhaupt anfallen und wie diese am besten organisiert werden. Anschließend kann man sich dazu die entsprechenden Funktionen ausdenken. Da Datenbanken in der Regel zum Speichern von Daten gedacht sind, empfiehlt sich letztere Vorgehensweise; man sollte aber trotzdem die benötigten Funktionen nicht aus dem Auge verlieren.Als erstes muß man feststellen, welche Daten gebraucht werden bzw. anfallen und wie diese organisiert werden sollen. Im nächsten Schritt ist zu überlegen, ob alle Anforderungen realisierbar sind.
Um die benötigten Tabellen zu entwickeln, gibt es für einfache DBs im Prinzip zwei Möglichkeiten: Entweder stur nach Schema-F über die fünf Normalformen oder etwas intuitiver über das ER-Modell Erst wenn man größere DBs entwickelt, muß man mit beiden Möglichkeiten gleichzeitig arbeiten. Das heißt, erst mit dem ER-Modell eine Grundstruktur festlegen und diese dann mit den fünf Normalformen überprüfen.
Komponenten eines Datenbanksystems
Eine Datenbank (DB, engl. Database) ist eine systematische Sammlung von Daten. Zur Nutzung und Verwaltung der in der DB gespeicherten Daten benötigt der Anwender ein Datenbank-Verwaltungssystem (DBMS, engl. Database Management System).Die Kombination aus DB und DBMS ist das Datenbanksystem (DBS, engl.: Database System), das jedoch häufig fälschlicherweise als Datenbank bezeichnet wird.Ebenen eines Datenbanksystems sind Betriebssystem/Hardware als die unterste Ebene, auf der jede Computeranwendung basiert. Neben dem DBS bauen auch alle anderen Programme auf dieser Ebene auf.Auf der internen Ebene erfolgt die physische Speicherung der Daten. Die Speicherlogik, die dabei verwendet wird, hängt vom DBMS ab und kann dem Entwickler ziemlich egal sein, da er lediglich über die konzeptionelle Ebene auf die DB zugreift.Den Anwender braucht weder die interne noch die konzeptionelle Ebene zu kümmern, da er erst über die oberste, nämlich die externe Ebene auf die DB zugreift.
Auf der dritten, der konzeptionellen Ebene, wird das Datenmodell beschrieben.Unter einem Datenmodell versteht man die datenmäßige Abbildung eines bestimmten Ausschnitts der realen Umwelt. Im Datenmodell sind die Strukturen der Daten und ihre Beziehung zueinander festgelegt. Nach der Art, wie die Beziehungen in dem Datenmodell geregelt werden, unterscheidet man zwischen hierarchischen, vernetzten und relationalen Datenmodellen. Beim relationalen Datenmodell werden die Daten in zweidimensionalen Tabellen angeordnet.Jede Tabelle hat einen eindeutigen Relationsnamen. Alle Zeilen der Tabelle werden als Relation, jede einzelne Zeile davon als Datensatz, die Spaltenüberschriften als Attributnamen oder Attribute und alle Attributnamen zusammen werden als Relationsschema bezeichnet. Beispiel: MNr AbtNr Name GebDat TelefonDamit man jede Zeile gezielt ansprechen kann, wird ein Schlüsselattribut eingeführt. Der Schlüssel muß immer eindeutig sein und wird auch als Primärschlüssel bezeichnet. Der Primärschlüssel muß nicht immer aus nur einem Attribut bestehen. Es ist auch möglich, mehrere Attribute zusammen als (zusammengesetzten) Primärschlüssel zu verwenden. Teilweise hat man in einer Relation mehrere Attribute, die eindeutig sind, d.h. Schlüssel sein könnten; in diesem Fall werden die anderen Attribute als Schlüsselkandidaten bezeichnet. Oder anders herum: Jeder Schlüsselkanditat kann jederzeit als Primärschlüssel benutzt werden. Es kann aber für eine Tabelle immer nur einen Primärschlüssel gleichzeitig geben. Die fünf NormalformenEin Relationstyp ist in der 1. Normalform, wenn alle Attribute maximal einen Wert haben. Am Kreuzungspunkt einer Spalte mit einer Reihe darf also maximal ein Datenwert stehen. Das Nichtvorhandensein von Daten ist zulässig.
Читать дальше