1. Erstelle die Tabelle PKT

PK

numerisch, 3 Stellen, Primärschlüssel

C1

alphanumerisch, 20 Stellen, 1. Stelle muss A oder F sein

C2

numerisch, 3 Vorkommastellen, 1 Nachkommastelle, Werte zwischen 0.0 und 199.9 erlaubt

create table PKT (
    PK number(3) primary key,
    C1 varchar(20),
    C2 decimal(3, 1),
    constraint c1_first_letter check(C1 like 'A%' or C1 like 'F%'),
    constraint c2_between check(C2 >= 0.0 and C2 <= 199.9)
);

2. Erstelle die Tabelle FKT mit

PK1

numerisch, 2 Stellen

PK2

numerisch, 1 Stelle, Primärschlüssel (PK1,PK2)

C1

Datum

C2

alphanumerisch, 1 Stelle. Es sind nur die Werte 'J' und 'N' erlaubt

FK

numerisch, 3 Stellen, Fremdschlüssel, verweist auf PKT, wird ein Satz in PKT gelöscht, so sollen alle entsprechenden Sätze aus FKT automatisch mitgelöscht werden

create table FKT (
    PK1 number(2),
    PK2 number(1),
    C1 date,
    C2 varchar(1),
    FK number(3),
    constraint primary_key PRIMARY KEY (PK1, PK2),
    constraint C2_yes_no check(C2 = 'J' or C2 = 'N'),
    constraint fkt_pkt foreign key (FK) references PKT on delete cascade
);

3. Löschen der Integritätsbedingung auf C1 in PKT

alter table PKT drop constraint C1_FIRST_LETTER;

4. Löschen der beiden Tabellen

drop table FKT;
drop table PKT;

5. Schulungsinstitut

Ein Schulungsinstitut veranstaltet Kurse. Aus didaktischen und platztechnischen Gründen wird lediglich eine bestimmte Höchstteilnehmerzahl zugelassen (als Stan- dard wird der Wert 15 vorgesehen). Um den Schulungserfolg weitgehend zu sichern bzw. eine homogene Teilnehmergruppe sicherzustellen, sind für die Teilnahme an bestimmten Kursen Voraussetzungskurse Bedingung (es kann davon ausgegangen werden, dass 1 Voraussetzungskurs hinreichend ist).+ Jeder Kurs wird mehrmals veranstaltet - wobei jede Kursveranstaltung von unter- schiedlichen Referenten abgewickelt werden kann. Jede Kursveranstaltung wird ge- sondert beurteilt (Schulnoten!)

  • Zeichne das ERD

  • Wandle das ERD in ein relationales Modell um und erstelle ein Script der CREATE TABLES mit den notwendigen Constraints.

  • Teste das System durch Eingabe von Datensätzen.

  • Lösche die Tables

5.1. ERD

5 schulungsinstut

Lösung des Lehrers:

5 schulinstitut solution

5.2. RM

  • Kurs(KID, SKID, Maximal, Name)

  • Veranstaltung(VID, Name, KID, Datum)

5.3. Create tables

create table KURS (
    KID number primary key,
    SKID number,
    NAME varchar(30),
    constraint fkt_SKID foreign key (SKID) references KURS
);

create table VERANSTALTUNG(
    VID number primary key,
    NAME varchar(30),
    KID number,
    DATUM date,
    constraint fkt_KID foreign key (KID) references KURS
);

this is not finished yet, it will be later