CREATE TABLE POSTINUMERO ( PostiNro VARCHAR(30) NOT NULL , Toimipaikka VARCHAR(30) NOT NULL , Maakunta VARCHAR(30) NOT NULL , Lääni VARCHAR(30) NOT NULL , CONSTRAINT PostiNro_PK PRIMARY KEY (PostiNro) ); CREATE TABLE YRITYS ( YTunnus VARCHAR(30) NOT NULL , Nimi VARCHAR(30) NOT NULL , Toimiala VARCHAR(30) NOT NULL , Osoite VARCHAR(30) NOT NULL , PostiNro VARCHAR(30) NOT NULL , YhtHlo VARCHAR(30) NOT NULL , Email VARCHAR(30) NOT NULL , GSM VARCHAR(30) NOT NULL , Puhelin VARCHAR(30) NOT NULL , Lisätieto VARCHAR(30) NOT NULL , CONSTRAINT YTunnus_PK PRIMARY KEY (YTunnus), CONSTRAINT PostiNroY_FK FOREIGN KEY (PostiNro) REFERENCES POSTINUMERO(PostiNro) ); CREATE TABLE ASIAKAS ( AsiakasNro VARCHAR(30) NOT NULL , Ytunnus VARCHAR(30) NOT NULL , Etunimi VARCHAR(30) NOT NULL , Sukunimi VARCHAR(30) NOT NULL , Osoite VARCHAR(30) NOT NULL , PostiNro VARCHAR(30) NOT NULL , Email VARCHAR(30) NOT NULL , GSM VARCHAR(30) NOT NULL , Puhelin VARCHAR(30) NOT NULL , Lisätieto VARCHAR(30) NOT NULL , CONSTRAINT AsiakasNro_PK PRIMARY KEY (AsiakasNro) , CONSTRAINT PostiNroA_FK FOREIGN KEY (PostiNro) REFERENCES POSTINUMERO(PostiNro), CONSTRAINT YTunnusA_FK FOREIGN KEY (Ytunnus) REFERENCES YRITYS(Ytunnus) ); CREATE TABLE KOULUTTAJA ( KouluttajaNro VARCHAR(30) NOT NULL , Etunimi VARCHAR(30) NOT NULL , Sukunimi VARCHAR(30) NOT NULL , Osoite VARCHAR(30) NOT NULL , PostiNro VARCHAR(30) NOT NULL , Email VARCHAR(30) NOT NULL , GSM VARCHAR(30) NOT NULL , Puhelin VARCHAR(30) NOT NULL , Lisätieto VARCHAR(30) NOT NULL , CONSTRAINT KouluttajaNro_PK PRIMARY KEY (KouluttajaNro), CONSTRAINT PostiNroK_FK FOREIGN KEY (PostiNro) REFERENCES POSTINUMERO(PostiNro) ); CREATE TABLE OSAAMISALA ( Ala VARCHAR(30) NOT NULL , Taso VARCHAR(30) NOT NULL , CONSTRAINT Ala_PK PRIMARY KEY(Ala,Taso) ); CREATE TABLE ALAT ( Avain VARCHAR(30) NOT NULL , Ala VARCHAR(30) NOT NULL , Taso VARCHAR(30) NOT NULL , KouluttajaNro VARCHAR(30) NOT NULL , CONSTRAINT Avain_PK PRIMARY KEY (Avain), CONSTRAINT Alat_FK FOREIGN KEY (Ala,Taso) REFERENCES OSAAMISALA(Ala,Taso), CONSTRAINT KouluttajaNroA_FK FOREIGN KEY (KouluttajaNro) REFERENCES KOULUTTAJA(KouluttajaNro) ); CREATE TABLE KURSSITARJONTA ( Nimi VARCHAR(30) NOT NULL , Tyyppi VARCHAR(30) NOT NULL , Ala VARCHAR(30) NOT NULL , Taso VARCHAR(30) NOT NULL , SuositusKesto VARCHAR(30) NOT NULL , Lisätieto VARCHAR(30) NOT NULL , CONSTRAINT Nimi_PK PRIMARY KEY (Nimi), CONSTRAINT Alak_FK FOREIGN KEY (Ala,Taso) REFERENCES OSAAMISALA(Ala,Taso) ); CREATE TABLE PAIKKA ( PaikkaNro VARCHAR(30) NOT NULL , Nimi VARCHAR(30) NOT NULL , Huone VARCHAR(30) NOT NULL , Osoite VARCHAR(30) NOT NULL , PostiNro VARCHAR(30) NOT NULL , YhtHlo VARCHAR(30) NOT NULL , Email VARCHAR(30) NOT NULL , GSM VARCHAR(30) NOT NULL , Puhelin VARCHAR(30) NOT NULL , Lisätieto VARCHAR(30) NOT NULL , CONSTRAINT PaikkaNro_PK PRIMARY KEY (PaikkaNro), CONSTRAINT PostiNroP_FK FOREIGN KEY (PostiNro) REFERENCES POSTINUMERO(PostiNro) ); CREATE TABLE KOODIT ( Koodi VARCHAR(30) NOT NULL , Selite VARCHAR(30) NOT NULL , CONSTRAINT Koodi_PK PRIMARY KEY (Koodi) ); CREATE TABLE STATUS ( StatusNro VARCHAR(30) NOT NULL , KurssiNro VARCHAR(30) NOT NULL , Koodi VARCHAR(30) NOT NULL , Pvm VARCHAR(30) NOT NULL , Tekijä VARCHAR(30) NOT NULL , Kommentti VARCHAR(30) NOT NULL , CONSTRAINT StatusNro_PK PRIMARY KEY (StatusNro), CONSTRAINT Koodi_FK FOREIGN KEY (Koodi) REFERENCES KOODIT(Koodi) ); CREATE TABLE KURSSI ( KurssiNro VARCHAR(30) NOT NULL , Nimi VARCHAR(30) NOT NULL , Tyyppi VARCHAR(30) NOT NULL , StatusNro VARCHAR(30) NOT NULL , AlkamisPv VARCHAR(30) NOT NULL , KestoPv VARCHAR(30) NOT NULL , PvKesto VARCHAR(30) NOT NULL , MaxOsallist VARCHAR(30) NOT NULL , KouluttajaNro VARCHAR(30) NOT NULL , PaikkaNro VARCHAR(30) NOT NULL , Lisätieto VARCHAR(30) NOT NULL , CONSTRAINT KurssiNro_PK PRIMARY KEY (KurssiNro), CONSTRAINT KouluttajaNro_FK FOREIGN KEY (KouluttajaNro) REFERENCES KOULUTTAJA(KouluttajaNro), CONSTRAINT PaikkaNro_FK FOREIGN KEY (PaikkaNro) REFERENCES PAIKKA(PaikkaNro), CONSTRAINT StatusNro_FK FOREIGN KEY (StatusNro) REFERENCES STATUS(StatusNro) ); CREATE TABLE KURSSITAPAHTUMA ( TapahtumaNro VARCHAR(30) NOT NULL , AsiakasNro VARCHAR(30) NOT NULL , KurssiNro VARCHAR(30) NOT NULL , CONSTRAINT TapahtumaNro_PK PRIMARY KEY (TapahtumaNro), CONSTRAINT AsiakasNro_FK FOREIGN KEY (AsiakasNro) REFERENCES ASIAKAS(AsiakasNro), CONSTRAINT KUrssiNro_FK FOREIGN KEY (KUrssiNro) REFERENCES KURSSI(KUrssiNro) );