|
|
Physikalisches Datenbank Model
Mit sogenannten Design Tools wie z.B. von Sybase Powerdesigner [www.sybase.com]
lassen sich komplette Datenbank Designs grafisch entwerfen.
Aus dem Conceptional Model generieren die Tools dann automatisch entsprechende pysikalischen Modele die dann die entsprechende Datenbanken berücksichtigen.
Das folgende Physikalische Model ging aus dem Conceptional Model des Filmbeispiels in der 3. Normalform hervor. Es deckt den Sprachumfang von Postgresql ab.
Aus diesem Pysikalischen Model erzeugen die Tools dann automatisiert SQL Statements.
Beispielhaft folgen der SQL CODE für das FIlm Beispiel für MySQL 3.23 und Postgresql (das FK unterstützt).
/*==============================================================*/ /* DBMS name: MySQL 3.23 */
/* Table: REGISSEUR */ /*==============================================================*/ create table if not exists REGISSEUR ( REGISSEUR_NAME varchar(1024) not null, KONTONUMMER numeric(255,0), primary key (REGISSEUR_NAME) );
/* Table: SCHAUSPIELER */ /*==============================================================*/ create table if not exists SCHAUSPIELER ( NAME varchar(1024) not null, ADRESSE varchar(1024), primary key (NAME) );
/* Table: STUDIO */ /*==============================================================*/ create table if not exists STUDIO ( NAME_STUDIO varchar(255) not null, ADRESSE_STUDIO varchar(1024), primary key (NAME_STUDIO) );
/* Table: FILM */ /*==============================================================*/ create table if not exists FILM ( NAME_DES_FILMS varchar(1024) not null, NAME_STUDIO varchar(255) not null, REGISSEUR_NAME varchar(1024) not null, primary key (NAME_DES_FILMS) );
/* Table: FILM_SCHAUSPIELER */ /*==============================================================*/ create table if not exists FILM_SCHAUSPIELER ( NAME_DES_FILMS varchar(1024) not null, NAME varchar(1024) not null, primary key (NAME_DES_FILMS, NAME) );
|
/* DBMS name: PostgreSQL 7 */
/*==============================================================*/ /* Table: REGISSEUR */
create table REGISSEUR ( REGISSEUR_NAME VARCHAR(1024) not null, KONTONUMMER NUMERIC(255) null, constraint PK_REGISSEUR primary key (REGISSEUR_NAME) );
/*==============================================================*/ /* Table: SCHAUSPIELER */
create table SCHAUSPIELER ( NAME VARCHAR(1024) not null, ADRESSE VARCHAR(1024) null, constraint PK_SCHAUSPIELER primary key (NAME) );
/*==============================================================*/ /* Table: STUDIO */
create table STUDIO ( NAME_STUDIO VARCHAR(255) not null, ADRESSE_STUDIO VARCHAR(1024) null, constraint PK_STUDIO primary key (NAME_STUDIO) );
/*==============================================================*/ /* Table: FILM */
create table FILM ( NAME_DES_FILMS VARCHAR(1024) not null, NAME_STUDIO VARCHAR(255) not null, REGISSEUR_NAME VARCHAR(1024) not null, constraint PK_FILM primary key (NAME_DES_FILMS), constraint FK_FILM_WIRD_GEDR_REGISSEU foreign key (REGISSEUR_NAME) references REGISSEUR (REGISSEUR_NAME) on delete restrict on update restrict, constraint FK_FILM_WIRD_PROD_STUDIO foreign key (NAME_STUDIO) references STUDIO (NAME_STUDIO) on delete restrict on update restrict );
/*==============================================================*/ /* Table: FILM_SCHAUSPIELER */
create table FILM_SCHAUSPIELER ( NAME_DES_FILMS VARCHAR(1024) not null, NAME VARCHAR(1024) not null, constraint PK_FILM_SCHAUSPIELER primary key (NAME_DES_FILMS, NAME), constraint FK_FILM_SCH_ENTSTEHEN_FILM foreign key (NAME_DES_FILMS) references FILM (NAME_DES_FILMS) on delete restrict on update restrict, constraint FK_FILM_SCH_ENTSTEHEN_SCHAUSPI foreign key (NAME) references SCHAUSPIELER (NAME) on delete restrict on update restrict );
|
|
|