Menu

 

MySQL Datenbankstruktur

Planung der Datenbankstruktur

Im folgenden wird anhand eines prakischen Beispiels die Umsetzung von der Idee bis zur fertigen Datenbank beschrieben. Typische Fehler bei der Planung und Umsetzung der Implementierung einer relationalen Datenbank unter MySQL werden dargestellt und aufgekärt. Wer sich unnötig mit theoretischem Ballast zunebeln möchte, dem sei das Standardwerk von Gottfried Vossen: Datenbankmodelle, Datenbanksprachen und Datenbank-Management-Systeme empfohlen.

Zum Verständnis der in der Datenbanktechnik gebräuchlichen Sprache sei das Lexikon am Ende den Handbuches emfohlen. Zu einer Datenbank gehört immer Paperware als Dokumentation dazu. Man kann zwar spontan Datenbanken implementieren, jedoch passieren auch Profis Fehler bei der Planung der Struktur, die dann eventuell langwierige Änderungen im Quellcode der WWW-Interfaces oder der Datenbankstruktur nach sich ziehen. Besonders unangenehm wird es, wenn bereits die Datenbank genutzt wird, und dann aber dringende Änderungen der Struktur notwendig sind. Es müssen dann ja auch alle Frontends gleichzeitig ausgetauscht werden, was dann sicher zum Stillstand des Unternehmens führen würde.

Wer ACCESS als Frontend einsetzt, der wird bei vielen Clients dann sicher große Probleme haben. Diese dürften Datenintegrität, Funktionalität und die Konvertierung der unterschiedlichen Datenbankstrukturen ineinander betreffen. Es lohn sich also stets, schon vorher mögliche Änderungen der Struktur mit einzuplanen. Das ERM bzw. das ERD (Diagramm) gehört zu den wichtigsten Modellen, mit denen Datenbankstrukturen entworfen werden.


Aus den Entity - Relationship Modellen können nicht nur die Strukturen von SQL Datenbanken, sondern auch die Strukturen von allen anderen Datenbanken erstellt werden. Hierzu geht man nach einem Frage - Antwortschema vor. Bevor wir nun diese Strukturen erstellen, müssen unbedingt noch die Fachtermini geklärt werden:

  1. Eine Entity ist immer ein existierendes Objekt, eine Beobachtung, eine Transaktion oder Person, über welches Informationen in einer Datenbank abgelegt werden.
  2. Eine Entitätsmenge (Entity - Set) ist die Zusammenfassung einzelner Entities, die ähnliche oder vergleichbare Eigenschaften haben. Beispiel: Alle Bücher in einer Bibliothek, die Einwohner einer Stadt oder alle Raucher.
  3. Attribute sind Eigenschaften oder Merkmale einer Entität. Sie sind die typischen Eigenschaften einer Entität und charakterisieren diese Entität. Beispielsweise sind die Kunden einer Firma eine Entitätsmenge, also eine Ansammlung von einzelnen Entitäten. Sowohl eine Entity als auch eine Entitätsmenge werden durch Attribute charakterisiert. Als Attribute werden z.B. Kundennummer, Name, Vorname, Wohnort oder Straße bezeichnet. Es gibt sowohl einwertige Attribute zusammengesetzte Attribute. Ein Buch (also eine Entity) kann mahrere Autoren haben, ist also eine Entity mit mehrwertigem Attribut.
  4. Ein Entitätstyp beschreibt eine Menge von Entitäten mit gleichen Attributen. Ein Entitätstyp könnte ein Buch sein, welches mit den Attributen: Titel, Autor, Verlag, ISBN-Nummer in der Datenbank definiert wurde. Der Entitätstyp darf nicht mit Entitätsmenge verwechselt werden ! Eine Entitätsmenge ist eine Sammlung von vielen Büchern mit bestimmten Gemeinsamkeiten (alle eines Autors), ein Entitätstyp ist mehr als nur die Bücher eines Autors, es sind alle Bücher, die einen Autor, einen Verlag, eine ISBN-Nummer haben. Damit lassen sich alle im Buchhandel käuflichen Bücher beschreiben, aber nicht die privat gedruckten (wie z.B. dieses Handbuch für MySQL hier). Der Grund liegt darin, daß dieses Handbuch keine ISBN-Nummer besitzt.
  5. Schlüssel (key) oder Schlüsselkandidaten (candidate key) ist die minimale Kombination von Attributen, die eine Entität aus einer Entitätsmenge eindeutig identifiziert. Minimal bedeutet hier, daß man nicht alle Attribute angeben muß, damit man eine Person oder ein Buch eindeutig identifizieren kann. Die Zahl der notwendigen oder auch hinreichenden Attribute hängt natürlich stark von den Inhalten ab. Möchte man z.B. eine Person eindeutig identifizieren, so muß man sich die Attribute einer Person (also Entity) anschauen: · PERSON, beschrieben durch PersNr, Name, Vorname, Adresse, Geburtsdatum, Beruf
  6. Primärschlüssel (primary key) ist häufig identisch mit einem Schlüssel, z.B: ·PERSON (PersNr, Name, Vorname, Adresse, Geburtsdatum, Beruf). Wenn man sich zwischen mehreren eindeutigen Schlüsseln oder auch zusammengesetzen Schlüsseln entscheiden kann, nimmt man immer den einfachsten Schlüssel, der eine Entität (PERSON) eindeutig beschreibt. Dies ist heir die PersNr, also die Personalnummer. Es häfig eine laufende Nummer (Siehe hier Kapitel CREATE unter "autoincrement").

So, nun sind vorläufig alle wichtigen Begriffe der Datenbanktechnik erklärt worden. Man muß sich also viele Gedanken darüber machen, welche Attribute zu welcher Entität gehören, welche veränderlich sind, welche von anderen abhängig sind (Adresse und Postleitzahl), und wie man diese am besten so ordnet, daß z.B. Redundanzen vermieden werden. Wir möchten ja nicht unsere Datenbank unnötig aufblähen.

 

 


 

 
   Anzeigen

Navigation:    Webdesign - Programmierung - Web Grafiken - Software Guides - Tools - Templates - Schriftarten - Seminare - IT News
Partner:   Template OK - PCopen - SITEopen - PCopen Schweiz - HTMLopen Schweiz - VirtualUniversity.ch - WEB-SET.com - YesMMS - Job und Karriere