Gegenereerde SQL opdrachten

De volgende SQL opdrachten zijn daar FCO-IM gegenereerd. Deze zijn niet volledig juist, dit komt door incomplete informatie in het lesboek:

 

CREATE SCHEMA RESERV

 

CREATE DOMAIN ACHTERNAAM AS VARCHAR(7);

CREATE DOMAIN BEGINTIJDSTIP AS VARCHAR(5);

CREATE DOMAIN CLUSTER AS VARCHAR(3);

CREATE DOMAIN DATUM AS VARCHAR(10);

CREATE DOMAIN EINDTIJDSTIP AS VARCHAR(5);

CREATE DOMAIN GEBRUIKSSOORT AS VARCHAR(14);

CREATE DOMAIN GESLACHT AS VARCHAR(7);

CREATE DOMAIN LESUUR AS VARCHAR(8);

CREATE DOMAIN LOKAALNUMMER AS INTEGER;

CREATE DOMAIN SCHOOLTYPE AS VARCHAR(4);

CREATE DOMAIN VAKAFKORTING AS VARCHAR(2);

CREATE DOMAIN VAKNAAM AS VARCHAR(16);

CREATE DOMAIN VOORLETTER AS VARCHAR(1);

 

CREATE TABLE LESGROEP (

   CLUSTER CLUSTER NOT NULL,

   SCHOOLTYPE SCHOOLTYPE NOT NULL,

 

   PRIMARY KEY (CLUSTER),

   UNIQUE (SCHOOLTYPE)

);

 

CREATE TABLE LESUURTIJD (

   LESUUR LESUUR NOT NULL,

   BEGINTIJD BEGINTIJDSTIP NOT NULL,

   EINDTIJD EINDTIJDSTIP NOT NULL,

 

   PRIMARY KEY (LESUUR),

   UNIQUE (BEGINTIJD, EINDTIJD)

);

 

CREATE TABLE LOKAALDOCENT (

   DATUM DATUM NOT NULL,

   LESUUR LESUUR NOT NULL,

   LOKAAL LOKAALNUMMER NOT NULL,

   GESLACHT GESLACHT NOT NULL,

   VOORLETTER VOORLETTER NOT NULL,

   ACHTERNAAM ACHTERNAAM NOT NULL,

 

   PRIMARY KEY (DATUM, LESUUR, LOKAAL)

);

 

CREATE TABLE LOKAALGEBRUIK (

   DATUM DATUM NOT NULL,

   LESUUR LESUUR NOT NULL,

   LOKAAL LOKAALNUMMER NOT NULL,

   GEBRUIK GEBRUIKSSOORT NOT NULL,

 

   PRIMARY KEY (DATUM, LESUUR, LOKAAL)

);

 

CREATE TABLE LOKAALLESGROEP (

   DATUM DATUM NOT NULL,

   LESUUR LESUUR NOT NULL,

   LOKAAL LOKAALNUMMER NOT NULL,

   LESGROEP CLUSTER NOT NULL,

 

   PRIMARY KEY (DATUM, LESUUR, LOKAAL)

);

 

CREATE TABLE LOKAALVAK (

   DATUM DATUM NOT NULL,

   LESUUR LESUUR NOT NULL,

   LOKAAL LOKAALNUMMER NOT NULL,

   VAK VAKAFKORTING NOT NULL,

 

   PRIMARY KEY (DATUM, LESUUR, LOKAAL)

);

 

CREATE TABLE VAK (

   VAKAFKORTING VAKAFKORTING NOT NULL,

   VAKNAAM VAKNAAM NOT NULL,

 

   PRIMARY KEY (VAKAFKORTING),

   UNIQUE (VAKNAAM)

);

 

ALTER TABLE LOKAALVAK

   ADD FOREIGN KEY (VAK)

   REFERENCES VAK (VAKAFKORTING);

 

ALTER TABLE VAK

   ADD CHECK (VAKAFKORTING

      IN (SELECT VAK FROM LOKAALVAK));

 

ALTER TABLE LOKAALLESGROEP

   ADD FOREIGN KEY (LESGROEP)

   REFERENCES LESGROEP (CLUSTER);

 

ALTER TABLE LESGROEP

   ADD CHECK (CLUSTER

      IN (SELECT LESGROEP FROM LOKAALLESGROEP));

 

ALTER TABLE LOKAALGEBRUIK

   ADD CHECK (LOKAAL

      IN (SELECT LOKAAL FROM LOKAALLESGROEP));

 

ALTER TABLE LOKAALVAK

   ADD CHECK (LOKAAL

      IN (SELECT LOKAAL FROM LOKAALLESGROEP));

 

ALTER TABLE LOKAALDOCENT

   ADD CHECK (LOKAAL

      IN (SELECT LOKAAL FROM LOKAALLESGROEP));

 

ALTER TABLE LOKAALGEBRUIK

   ADD CHECK (EXISTS

       (SELECT *

        FROM   LOKAALLESGROEP

        WHERE  DATUM = LOKAALGEBRUIK.DATUM

        AND    LESUUR = LOKAALGEBRUIK.LESUUR));

 

ALTER TABLE LOKAALVAK

   ADD CHECK (EXISTS

       (SELECT *

        FROM   LOKAALLESGROEP

        WHERE  DATUM = LOKAALVAK.DATUM

        AND    LESUUR = LOKAALVAK.LESUUR));

 

ALTER TABLE LOKAALDOCENT

   ADD CHECK (EXISTS

       (SELECT *

        FROM   LOKAALLESGROEP

        WHERE  DATUM = LOKAALDOCENT.DATUM

        AND    LESUUR = LOKAALDOCENT.LESUUR));

 

Ga terug