🏠 » Datenbankdesign Grundlagen » Datenbankdesign » Physisches Datenbankdesign

Physisches Datenbankdesign

Das Physische Datenbankdesign basiert auf der Grundlage des logischen Datenbankdesigns. Hier ist besonders zu beachten, welche Indexstrukturen entworfen werden müssen, um effiziente SQL-Anfragen zu gewährleisten.

Werden zum Beispiel zu viele Indizes erstellt, werden SQL UPDATES-Statements auf eine Datenbank sehr teuer, da die Speicherung länger dauert und die Indizes neu berechnet werden müssen.

Werden zu wenige Indizes in einer Datenbank gesetzt, so werden die Suchoperationen nicht effizient unterstützt und es kommt zu längeren Suchanfragen.

Physisches Datenbankdesign Definition

Das im Schritt des logischen Datenbankdesigns erstellte Relationenmodell wird im physischen Datenbankdesign auf ein konkretes relationales Datenbank-Management-System (RDBMS) angewandt und implementiert.

Für die Anlage von Tabellen und die spätere Speicherung von Daten, verwendet man eine Datenbanksprache. Bei den etablierten relationalen Datenbanksystemen basierte diese fast ausschließlich auf SQL. Wobei die Datenbankhersteller meist einen Zusatz entwickelt haben, auch als SQL-Dialekte bekannt, um Elemente der Programmierung zu integrieren (z. B. PL/SQL von Oracle, T-SQL von Microsoft).

Bestandteile eines physischen Datenbankdesigns

Das physische Datenbankdesign beschreibt die Art und Weise wie Tabellen und Daten strukturiert, verwaltet und zugreifbar gemacht werden. Bei der Überführung des logischen in das physische Modell werden zunächst die Datentypen aller Attribute festgelegt und anschließend das Datenbankskript erstellt.

Datentypen beschreiben welche Attribute einer Tabelle welche physische Repräsentation auf dem Speichermedium besitzt. Ein Datentyp stellt eine Struktur dar, die in einer bestimmten Art und Weise gespeichert wird. Gängige Datentypen sind:

Typische Datentypen in Datenbanksystemen

Nach der Festlegung der Datentypen werden die Tabellen angelegt und deren Beziehungen hinterlegt. Zudem werden die Integritätsbedingungen, die im logischen Modell festgelegt wurden, mittels Datenbanksprachen (SQL) angelegt.

Überführung eines Relationenmodells in ein SQL-Skript

Für die Umsetzung des physischen Datenbankmodells wird das Relationenmodell verwendet. Die Attribute, Bezeichnungen und Relationen werden in SQL-Syntax überführt.

Tabelle Personal für eine Firma – FIR_PER

FIR_PER (PERNR, FIRNR, WERNR, ABTNR, PERUSER, AKTIV, TITEL, GENUS, VORNAME, NAME, STRASSE, PLZ, ORT, LAND, TELEFON, FAX, MOBIL, EMAIL, BEM, GEBDATUM, EINTRITT, AUSTRITT)

Das Relationenschema wird in das folgende SQL-Statement zur Erstellung der Tabelle Personal für eine Firma – FIR_PER umgewandelt:

CREATE TABLE FIR_PER (
PERNR int not null,
FIRNR int not null,
WERNR int not null,
ABTNR int not null,
PERUSER varchar(20) not null,
AKTIV tinyint not null,
TITEL varchar(30),
GENUS tinyint not null,
VORNAME  varchar(40),
NAME  varchar(60),
STRASSE varchar(60),
PLZ varchar(15),
ORT varchar(50),
LAND varchar(50),
TELEFON varchar(30),
FAX varchar(30),
MOBIL varchar(30),
EMAIL varchar(30),
BEM varchar(100),
GEBDATUM date not null,
EINTRITT date not null,
AUSTRITT date
);

Tabelle Abteilung für eine Firma – FIR_ABT

FIR_ABT (ABTNR, FIRNR, ABTUSER)

Das Relationenschema wird in das folgende SQL-Statement zur Erstellung der Tabelle Abteilung für eine Firma – FIR_ABT umgewandelt:

CREATE TABLE FIR_ABT (
ABTNR int not null,
FIRNR int not null,
ABTUSER varchar(50) not null
);

SQL-Statement zur Ergänzung von Fremdschlüsseln

Da beide Tabellen nicht gleichzeitig, sondern sequentiell erstellt werden, müssen die Fremdschlüssel separat mittels ALTER TABLE erstellt werden. Sie stehen in direkter Abhängigkeit zur Tabelle für eine Firma – FIRMA und zur Tabelle für ein Werk – _WERK.

Beim physischen Datenbankdesign können neben strukturellen Informationen auch Zugriffsstrukturen angelegt werden. Beispiele dafür sind Indizes und Partitionen, die einen schnelleren Datenzugriff bei der Abfrage ermöglichen.

Weiterführende Artikel