PMG2426 4/DB Beleg/Sophia

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>SQL</language>

=='''Datenbankprojekt: Datenbank einer Arztpraxis'''==


==Ziel der Datenbank==
==Modellierung in einem ERM-Modell==
==Transformation in das Relationenmodell==
==Erstellen der DB==
==Erstellen von verschiedenen Abfragen==
==Kritische Reflexion zu Modellierung und Umsetzung==
==Verwendete Quellen, Tools, etc.==

<code id="52dcdf16795a2">
CREATE TABLE Arztpraxis (
  Arztpraxis_ID INT PRIMARY KEY,
  Telefonnummer VARCHAR(15),
  Anschrift VARCHAR(255),
  Postleitzahl VARCHAR(10),
  Spezialisierung VARCHAR(50)
);

CREATE TABLE Arzt (
  Arzt_ID INT PRIMARY KEY,
  Vorname VARCHAR(50),
  Nachname VARCHAR(50),
  Geburtsjahr INT,
  Arztpraxis_ID INT,
  FOREIGN KEY (Arztpraxis_ID) REFERENCES Arztpraxis(Arztpraxis_ID)
);

CREATE TABLE Patient (
  Patient_ID INT PRIMARY KEY,
  Vorname VARCHAR(50),
  Nachname VARCHAR(50),
  Geburtsjahr INT,
  Wohnort VARCHAR(50),
  Krankenkasse VARCHAR(50)
);

CREATE TABLE Diagnose (
  Diagnose_ID INT PRIMARY KEY,
  Informationen TEXT,
  Patient_ID INT,
  FOREIGN KEY (Patient_ID) REFERENCES Patient(Patient_ID)
);

CREATE TABLE ArztBehandeltPatient (
  Arzt_ID INT,
  Patient_ID INT,
  PRIMARY KEY (Arzt_ID, Patient_ID),
  FOREIGN KEY (Arzt_ID) REFERENCES Arzt(Arzt_ID),
  FOREIGN KEY (Patient_ID) REFERENCES Patient(Patient_ID)
);

INSERT INTO Arztpraxis VALUES (1, '030-1234567', 'Musterstraße 1, Berlin', '10115', 'Allgemeinmedizin');
INSERT INTO Arztpraxis VALUES (2, '040-2345678', 'Lindenweg 5, Hamburg', '20095', 'Dermatologie');
INSERT INTO Arztpraxis VALUES (3, '089-3456789', 'Kirchplatz 3, München', '80331', 'Pädiatrie');
INSERT INTO Arztpraxis VALUES (4, '069-4567890', 'Wiesenweg 10, Frankfurt', '60311', 'Orthopädie');
INSERT INTO Arztpraxis VALUES (5, '0221-5678901', 'Bahnhofstraße 8, Köln', '50667', 'Neurologie');

INSERT INTO Arzt VALUES (1, 'Hans',    'Müller',    1978, 1);
INSERT INTO Arzt VALUES (2, 'Maria',   'Schmidt',   1973, 2);
INSERT INTO Arzt VALUES (3, 'Thomas',  'Meier',     1988, 3);
INSERT INTO Arzt VALUES (4, 'Sabine',  'Schneider', 1983, 4);
INSERT INTO Arzt VALUES (5, 'Michael', 'Weber',     1968, 5);

INSERT INTO Patient VALUES (1, 'Peter', 'Becker',  1993, 'Berlin',    'AOK');
INSERT INTO Patient VALUES (2, 'Anna',  'Schulz',  1998, 'Hamburg',   'TK');
INSERT INTO Patient VALUES (3, 'Julia', 'Fischer', 1983, 'München',   'Barmer');
INSERT INTO Patient VALUES (4, 'Markus','Weiß',    1968, 'Frankfurt', 'DAK');
INSERT INTO Patient VALUES (5, 'Laura', 'Wagner',  1963, 'Köln',      'Barmer');

INSERT INTO Diagnose VALUES (1, 'Grippe',         1);
INSERT INTO Diagnose VALUES (2, 'Erkältung',      1);
INSERT INTO Diagnose VALUES (3, 'Allergie',       2);
INSERT INTO Diagnose VALUES (4, 'Diabetes Typ 2', 3);
INSERT INTO Diagnose VALUES (5, 'Bluthochdruck',  4);

INSERT INTO ArztBehandeltPatient VALUES (1, 1);
INSERT INTO ArztBehandeltPatient VALUES (1, 2);
INSERT INTO ArztBehandeltPatient VALUES (2, 3);
INSERT INTO ArztBehandeltPatient VALUES (3, 4);
INSERT INTO ArztBehandeltPatient VALUES (4, 5);

</code>

----

Ausgabe aller Patienten
SELECT * FROM Patient;

Ausgabe aller Ärzte mit Vorname und Nachname 
<run id="25be826dd6b8"> 
SELECT Vorname, Nachname FROM Arzt; </run>