Skip to content

Instantly share code, notes, and snippets.

@westphahl
Created October 24, 2010 17:56
Show Gist options
  • Save westphahl/643740 to your computer and use it in GitHub Desktop.
Save westphahl/643740 to your computer and use it in GitHub Desktop.
Exercise 2 (DBSYS)
CREATE TABLE disziplinen (
dnr INTEGER CONSTRAINT pk_disziplinen PRIMARY KEY,
weltrekord VARCHAR(50),
sport_gattung VARCHAR(50),
mannschaft INTEGER,
bezeichnung VARCHAR(50)
);
CREATE TABLE wettkaempfe (
wnr INTEGER CONSTRAINT pk_wettkaempfe PRIMARY KEY,
bezeichnung_Wk VARCHAR(50),
beginn DATE,
dauer TIMESTAMP,
einnahmen FLOAT(2),
disziplin INTEGER CONSTRAINT fk_disziplin_wk REFERENCES disziplinen(dnr),
gnr INTEGER CONSTRAINT fk_gnr_wk REFERENCES gebaeude(gnr)
);
CREATE TABLE gebaeude (
gnr INTEGER CONSTRAINT pk_gebaeude PRIMARY KEY,
baukosten FLOAT(2),
Name VARCHAR(50),
plaetze INTEGER,
ort VARCHAR(50),
strasse VARCHAR(75)
);
CREATE TABLE teilnehmer (
tnr INTEGER CONSTRAINT pk_teilnehmer PRIMARY KEY,
gemeldet_am DATE,
zugelassen_am DATE
);
CREATE TABLE mannschaft (
mnr INTEGER CONSTRAINT pk_mannschaft PRIMARY KEY,
name VARCHAR(50),
nation VARCHAR(50),
tnr INTEGER CONSTRAINT fk_tnr_mschft REFERENCES teilnehmer(tnr)
);
CREATE TABLE personen (
pnr INTEGER CONSTRAINT pk_personen PRIMARY KEY,
name VARCHAR(50),
nation VARCHAR(50),
geburtsdatum DATE,
geschlecht CHAR(1)
);
CREATE TABLE betreuer (
funktion VARCHAR(50),
pnr INTEGER CONSTRAINT fk_pnr_betr references personen(pnr),
CONSTRAINT pk_betreuer PRIMARY KEY(pnr)
);
CREATE TABLE sportler (
medikamente VARCHAR(100),
tnr INTEGER CONSTRAINT fk_tnr_sprtl REFERENCES teilnehmer(tnr),
pnr INTEGER CONSTRAINT fk_pnr_sprtl references personen(pnr),
CONSTRAINT pk_sportler PRIMARY KEY(pnr)
);
CREATE TABLE mannschaftsmitglieder (
pnr INTEGER CONSTRAINT fk_pnr_mamit REFERENCES sportler(pnr),
mnr INTEGER CONSTRAINT fk_mnr_mamit REFERENCES mannschaft(mnr)
);
CREATE TABLE teilnehmer_betreuungen (
tnr INTEGER CONSTRAINT fk_tnr_tnbetr REFERENCES teilnehmer(tnr),
pnr INTEGER CONSTRAINT fk_pnr_tnbetr REFERENCES betreuer(pnr)
);
CREATE TABLE ausgeuebte_sportarten (
tnr INTEGER CONSTRAINT fk_tnr_sporta REFERENCES teilnehmer(tnr),
dnr INTEGER CONSTRAINT fk_dnr_sporta REFERENCES disziplinen(dnr)
);
CREATE TABLE wettkampf_teilnehmer (
tnr INTEGER CONSTRAINT fk_tnr_wk_tn REFERENCES teilnehmer(tnr),
wnr INTEGER CONSTRAINT fk_wnr_wk_tn REFERENCES wettkaempfe(wnr),
ergebnis VARCHAR(100)
);
CREATE TABLE disziplinen_geeignet_gebaeude (
dnr INTEGER CONSTRAINT fk_dnr_gb_dz REFERENCES disziplinen(dnr),
gnr INTEGER CONSTRAINT fk_gnr_gb_dz REFERENCES gebaeude(gnr)
);
CREATE TABLE teilnehmer_disziplinen (
tnr INTEGER CONSTRAINT fk_tnr_tn_dz REFERENCES teilnehmer(tnr),
dnr INTEGER CONSTRAINT fk_dnr_tn_dz REFERENCES disziplinen(dnr)
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment