M3 Auktion Übung

auktion.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
CREATE TABLE benutzerprofil (
    id      char(30)    PRIMARY KEY,
    text    char(100),

    benutzer_id char(30) NOT NULL,
    -- benutzer_id char(30) NOT NULL UNIQUE REFERENCES benutzer ON DELETE CASCADE,

    CONSTRAINT benutzer_fkey FOREIGN KEY (benutzer_id) REFERENCES benutzer ON DELETE CASCADE,
    CONSTRAINT benutzer_unique UNIQUE (benutzer_id)
);

CREATE TABLE auktion (
    id              char(12)                    PRIMARY KEY                     ,
    beginn          timestamp with time zone    NOT NULL                        ,
    ende            timestamp with time zone    NOT NULL                        ,
    startpreis      decimal(9, 2)                                               ,
    ist_sofortkauf  boolean                                                     ,

    id_verkaeufer   char(30)                    NOT NULL    REFERENCES benutzer ,
    id_artikel      char(12)                    NOT NULL    REFERENCES artikel
);

CREATE TABLE gebot (
    zeit            timestamp                               ,
    id_auktion      char(12)        REFERENCES auktion      ,
    id_benutzer     char(30)        REFERENCES benutzer     ,
    betrag          decimal(9, 2)                           ,

    PRIMARY KEY (zeit, id_auktion, id_benutzer)
);

CREATE TABLE bewertung (
    id_auktion      char(12)        REFERENCES auktion  ,
    id_benutzer     char(30)        REFERENCES benutzer ,
    ist_positiv     boolean                             ,
    text            varchar(200)                        ,

    PRIMARY KEY (id_benutzer, id_auktion)
);

to join this conversation. Already have an account? Sign in