\"\" \"\" \"\"
Go up to Narkoseprotokoll-Projekt
Go forward to Application

Datenbank-Modell

Das vorgegebene Objektmodell wurde mit Hilfe von SILVERRUN modelliert und um die Klasse Fälle erweitert. Ein Fall modelliert einen zeitlich begrenzten Aufenthalt eines Patienten im Krankenhaus, so daß es zu einem Patienten mehrere Fälle geben kann. Das entstandene ER-Modell wurde in das Modell eines Relationalen DBMS - hier Oracle - übertragen.
Das Datenbank-Modell
CLEAR SCREEN
DROP TABLE Protokoll;
DROP TABLE Komplikation_OP;
DROP TABLE Risiko_Fall;
DROP TABLE Risikofaktor;
DROP TABLE Operation;
DROP TABLE Fall;
DROP TABLE Med_Fachkraft;
DROP TABLE Patient;
DROP TABLE Person;
DROP TABLE OP_Team;
DROP TABLE Komplikation;

CREATE TABLE Komplikation
(   ID                                   INTEGER NOT NULL,
    Art_der_Komplikation        VARCHAR(40) NOT NULL,
    PRIMARY KEY (ID)
);

CREATE TABLE OP_Team
(   ID                 INTEGER NOT NULL,
    PRIMARY KEY (ID)
);

CREATE TABLE Person
(   ID                         INTEGER NOT NULL,    
    Vorname               VARCHAR(40) NOT NULL,
    Nachname             VARCHAR(40) NOT NULL,
    Strasse                VARCHAR(40) NOT NULL,
    PLZ                      VARCHAR(5) NOT NULL,
    Ort                      VARCHAR(40) NOT NULL,
    PRIMARY KEY (ID)
);

CREATE TABLE Med_Fachkraft
(   ID                           INTEGER NOT NULL,
    OPTeam_ID             INTEGER NOT NULL,
    Funktion                 VARCHAR(40) NOT NULL,
    Abteilung               VARCHAR(40) NOT NULL,
    PRIMARY KEY (ID),
    FOREIGN KEY (OPTeam_ID)  REFERENCES OP_Team (ID),
    FOREIGN KEY (ID) REFERENCES  Person(ID) 
);

CREATE TABLE Patient
(   ID                          INTEGER NOT NULL,
    Geschlecht             CHARACTER(1) NOT NULL,
    Geburtsdatum         DATE NOT NULL,
    PRIMARY KEY (ID),
    FOREIGN KEY (ID)
        REFERENCES Person(ID)
);

CREATE TABLE Fall
(  ID                          INTEGER NOT NULL,
   Nachname                     VARCHAR(40) NOT NULL,
        Aufnahmedatum     DATE NOT NULL,
   Groesse                 INTEGER NOT NULL,
   Gewicht                 INTEGER NOT NULL,
   PRIMARY KEY (ID, Aufnahmedatum),
   FOREIGN KEY (ID)
        REFERENCES Patient(ID)
);

CREATE TABLE Operation
(   ID                  INTEGER NOT NULL,
    Aufnahmedatum      DATE NOT NULL,
    Datum            DATE NOT NULL,
    Bezeichnung  VARCHAR(40) NOT NULL,
    Dringlichkeit                VARCHAR(40) NOT NULL,
    Blutdruck                VARCHAR(40) NOT NULL,
    Puls                NUMBER(3) NOT NULL,
    Medikament     VARCHAR(40) NOT NULL,
    Methode           VARCHAR(40) NOT NULL,
    OPTeam_ID INTEGER NOT NULL,
    PRIMARY KEY (ID, Aufnahmedatum, Datum),
    FOREIGN KEY (OPTeam_ID)
        REFERENCES OP_Team(ID),
    FOREIGN KEY (ID, Aufnahmedatum)
        REFERENCES Fall
);

CREATE  TABLE Risikofaktor
(   ID                 INTEGER NOT NULL,
    Name              VARCHAR(40) NOT NULL,
    PRIMARY KEY (ID)
);

CREATE  TABLE Risiko_Fall
(  ID_Fall            INTEGER NOT NULL,
   ID_Risiko          INTEGER NOT NULL,
   Datum_Fall         DATE NOT NULL,
   PRIMARY KEY (ID_Fall,ID_Risiko,Datum_Fall),
   FOREIGN KEY (ID_Fall,Datum_Fall)
        REFERENCES Fall(ID,Aufnahmedatum),
   FOREIGN KEY (ID_Risiko)
        REFERENCES Risikofaktor(ID)
);

CREATE TABLE Komplikation_OP
(   ID                 INTEGER NOT NULL,
    OP_ID     INTEGER NOT NULL,
    Aufnahmedatum                DATE NOT NULL,
    Datum                DATE NOT NULL,
    PRIMARY KEY (ID, OP_ID, Aufnahmedatum, Datum),
    FOREIGN KEY (Op_ID, Aufnahmedatum, Datum)
        REFERENCES Operation,
    FOREIGN KEY (ID)
        REFERENCES Komplikation(ID)
);

CREATE  TABLE Protokoll
(   ID                 INTEGER NOT NULL,
    Aufnahmedatum                DATE NOT NULL,
    Datum                DATE NOT NULL,
    Protokoll_Beginn         DATE NOT NULL,
    Einleitung                DATE NOT NULL,
    Intubation                DATE NOT NULL,
    Lagerung                DATE NOT NULL,
    OP_Beginn             DATE NOT NULL,
    Ausleitung                DATE NOT NULL,
    OP_Ende             DATE NOT NULL,
    Extubation                DATE NOT NULL,
    PRIMARY KEY (ID, Aufnahmedatum, Datum),
   FOREIGN KEY (ID, Aufnahmedatum, Datum)
        REFERENCES Operation 
);

schaefer@fh-heilbronn.de

\"\" \"\" \"\"