„Datenbankdesign“ – Versionsunterschied

[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Sparti (Diskussion | Beiträge)
kat
Artikel komplett überarbeitet
Zeile 1:Zeile 1:
[[Image:Datenbankdiagram.png|thumb|120px|Datenbankdiagramm]]
[[Image:Datenbankdiagram.png|thumb|120px|Datenbankdiagramm]]
'''Datenbankdesign''' ist das Planen und Erstellen von [[Datenbanken]] oder besser [[Datenbankmodell]]en und [[Schema (Informatik)|Schemata]]. Da es eine Menge unterschiedlicher Datenbankentypen gibt fällt eine solche Planung auch typischerweise unterschiedlich aus. So werden viele relationale Datenbanken nach ähnlichen Prinzipien entworfen, die eben nur für eben solche [[Relationale Datenbank|Relationalen Datenbanksysteme]] gelten.
'''Datenbankdesign''' ist das Planen und Erstellen einer [[Datenbank]]. Da es eine Menge unterschiedlicher Datenbankentypen gibt, fällt eine solche Planung auch typischerweise unterschiedlich aus.


== Design von relationalen Datenbanken ==
Dieser Prozess in der [[Softwareentwicklung]] kann durch weitere Software als Hilfsmittel unterstützt werden. Diese dokumentieren meist die Struktur oder das Modell und können diese sowohl als [[Diagramm]] oder aber auch als Anweisungen für eine Datenbanksoftware ausgeben, sodass die Datenbankstruktur dem Entwurf entsprechend angelegt wird.
Die Struktur einer [[Relationale Datenbank|relationalen Datenbank]] wird meistens durch ein [[ER-Diagramm]] modelliert. Wenn performenskritische Zugriffe vorauszusehen sind, dann kann noch ein Schritt der [[Denormalisierung]] folgen. Viele Datenmodellierungs-Tools bieten eine Unterstützung an, dass aus dem [[Datenbankmodell|Datenmodell]] die SQL-[[Data Definition Language|DDL]]-Statements zum Aufbau der Datenbank generiert werden können. Durch das Ausführen der SQL-DDL-Statements werden die Datenbank-Objekte erstellt:

* [[Schema (Informatik)|Schema]]
* [[Tablespace]]
* [[Datenbanktabelle|Tabelle]]
* [[Integritätsbedingung]]
* [[Datenbankindex|Index]]
* [[Sicht (Datenbank)|View]]

Nachdem die Datenbank-Objekte erstellt sind, können die [[Datensatz|Datensätze]] in die Datenbank eingefügt werden.

== Speicherplatz planen ==
Bei Datenbanken mit einem großen Datenvolumen ist es wichtig, den benötigten [[Datenspeicher|Speicherplatz]] genau zu planen.

=== Umfang ===
Der Speicherplatzbedarf der gesamten Datenbank wird wesentlich durch das Datenvolumen der einzelnen Tabellen bestimmt. Wenn man die durchschnittliche Satzlänge einer Tabelle abschätzt und die voraussichtliche Anzahl der Datensätze, dann müssen diese beiden Werte miteinander multipliziert werden, um den Speicherplatzbedarf der gesamten Tabelle anzuschätzen. Der Speicherplatzbedarf der einzelnen Tabellen wird addiert und man erhält den Platzbedarf für alle in der Datenbank zu speichernden Daten. Oft werden solche Zahlen für den Zeitpunkt der Inbetriebnahme mit einer Planung der jährlichen Zuwachsrate kalkuliert.

Zu dem Platz der Nettodaten kommen noch 10% bis 50% weiterer Speicherplatzbedarf für die Strukturen zur Verwaltung der Datenbank. ( z.B. [[Datenbankindex|Indices]], Interne Tabellen zur Verwaltung von Zugriffsrechten und zur Speicherplatzverwaltung)

=== Qualität des Speichermediums ===
Die Auswahl der geeigneten Hardware spielt bei großen Datenbanken eine bedeutende Rolle. Es werden [[Festplatte]]n mit unterschiedlichen Größen und Zugriffsgeschwindigkeiten angeboten. Da alle Festplatten ein zwar geringes, aber dennoch vorhandenes Risiko eines Datenverlustes tragen, sind unterschiedliche Konzepte zur Reduzierung dieser Risiken entwickelt worden. (Siehe [[RAID|Redundant Array of Independent Disks (RAID)]])

== Datensicherung ==
Bei jeder Datenbank sollte die regelmäßige Herstellung von [[Datensicherung]]en geplant werden. Wesentliche Parameter sind dabei die Zeit, die bei einem Totalausfall des Speichermediuns gebraucht wird, um den Betrieb wieder aufzunehmen. Aber auch die Zeit, die zur Wiederherstellung einzelner Tabellen erforderlich ist, ist eine wichtige Größe. Ferner muss festgelegt werden, wie lange Datensicherungen aufgehoben werden sollen.

== Ausfallsicherheit ==
Wenn ein Ausfall der Datenbank für einige Tage nicht kritisch ist, dann kann bei einem Ausfall einer Systemkomponente diese ersetzt werden und der Betrieb kann nach einem Einspielen einer Datensicherung fortgesetzt werden.

Wenn jedoch unternehmenskritische Daten in der Datenbank gespeichert werden, dann kann es sein, dass ein Ausfall von wenigen Stunden bereits einen emensen Schaden verursacht, weil wichtige Geschäfte einer Firma nicht mehr ausgeführt werden können. [[Hochverfügbarkeit]] eines Systems bezeichnet die Fähigkeit, bei Ausfall einer seiner Komponenten einen uneingeschränkten Betrieb zu gewährleisten. Sie wird im Wesentlichen durch eine redundante Ausstattung aller Systemkomponenten erreicht.


== Software ==
== Software ==
Zeile 11:Zeile 40:
== Siehe auch ==
== Siehe auch ==
* [[Strukturiertes Design]]
* [[Strukturiertes Design]]
* [[Liste von Datenmodellierungswerkzeugen]]


[[Kategorie:Datenbankmodellierung]]
[[Kategorie:Datenbankmodellierung]]

Version vom 7. Februar 2009, 22:11 Uhr

Datenbankdiagramm

Datenbankdesign ist das Planen und Erstellen einer Datenbank. Da es eine Menge unterschiedlicher Datenbankentypen gibt, fällt eine solche Planung auch typischerweise unterschiedlich aus.

Design von relationalen Datenbanken

Die Struktur einer relationalen Datenbank wird meistens durch ein ER-Diagramm modelliert. Wenn performenskritische Zugriffe vorauszusehen sind, dann kann noch ein Schritt der Denormalisierung folgen. Viele Datenmodellierungs-Tools bieten eine Unterstützung an, dass aus dem Datenmodell die SQL-DDL-Statements zum Aufbau der Datenbank generiert werden können. Durch das Ausführen der SQL-DDL-Statements werden die Datenbank-Objekte erstellt:

Nachdem die Datenbank-Objekte erstellt sind, können die Datensätze in die Datenbank eingefügt werden.

Speicherplatz planen

Bei Datenbanken mit einem großen Datenvolumen ist es wichtig, den benötigten Speicherplatz genau zu planen.

Umfang

Der Speicherplatzbedarf der gesamten Datenbank wird wesentlich durch das Datenvolumen der einzelnen Tabellen bestimmt. Wenn man die durchschnittliche Satzlänge einer Tabelle abschätzt und die voraussichtliche Anzahl der Datensätze, dann müssen diese beiden Werte miteinander multipliziert werden, um den Speicherplatzbedarf der gesamten Tabelle anzuschätzen. Der Speicherplatzbedarf der einzelnen Tabellen wird addiert und man erhält den Platzbedarf für alle in der Datenbank zu speichernden Daten. Oft werden solche Zahlen für den Zeitpunkt der Inbetriebnahme mit einer Planung der jährlichen Zuwachsrate kalkuliert.

Zu dem Platz der Nettodaten kommen noch 10% bis 50% weiterer Speicherplatzbedarf für die Strukturen zur Verwaltung der Datenbank. ( z.B. Indices, Interne Tabellen zur Verwaltung von Zugriffsrechten und zur Speicherplatzverwaltung)

Qualität des Speichermediums

Die Auswahl der geeigneten Hardware spielt bei großen Datenbanken eine bedeutende Rolle. Es werden Festplatten mit unterschiedlichen Größen und Zugriffsgeschwindigkeiten angeboten. Da alle Festplatten ein zwar geringes, aber dennoch vorhandenes Risiko eines Datenverlustes tragen, sind unterschiedliche Konzepte zur Reduzierung dieser Risiken entwickelt worden. (Siehe Redundant Array of Independent Disks (RAID))

Datensicherung

Bei jeder Datenbank sollte die regelmäßige Herstellung von Datensicherungen geplant werden. Wesentliche Parameter sind dabei die Zeit, die bei einem Totalausfall des Speichermediuns gebraucht wird, um den Betrieb wieder aufzunehmen. Aber auch die Zeit, die zur Wiederherstellung einzelner Tabellen erforderlich ist, ist eine wichtige Größe. Ferner muss festgelegt werden, wie lange Datensicherungen aufgehoben werden sollen.

Ausfallsicherheit

Wenn ein Ausfall der Datenbank für einige Tage nicht kritisch ist, dann kann bei einem Ausfall einer Systemkomponente diese ersetzt werden und der Betrieb kann nach einem Einspielen einer Datensicherung fortgesetzt werden.

Wenn jedoch unternehmenskritische Daten in der Datenbank gespeichert werden, dann kann es sein, dass ein Ausfall von wenigen Stunden bereits einen emensen Schaden verursacht, weil wichtige Geschäfte einer Firma nicht mehr ausgeführt werden können. Hochverfügbarkeit eines Systems bezeichnet die Fähigkeit, bei Ausfall einer seiner Komponenten einen uneingeschränkten Betrieb zu gewährleisten. Sie wird im Wesentlichen durch eine redundante Ausstattung aller Systemkomponenten erreicht.

Software

Siehe auch