Files
Database/MLD/MLD_TAB.SRC
Peter Feij 9093b44451 ALTER code uit BES_TAB via PRS_TAB naar hier verplaatst, waar het hoort
svn path=/Database/trunk/; revision=9244
2006-06-12 12:23:20 +00:00

818 lines
29 KiB
Plaintext

#ifdef MLD // 13-03-96 AH
/* $Revision: 59 $
* $Modtime: 12-06-06 14:12 $
*/
#include "comsql.h"
CREATE_TABLE(mld_oorzaak,MLD_BIBLIOTHEEK_PRIVILEGE)
(
mld_oorzaak_key
NUMBER(10)
CONSTRAINT mld_k_mld_oorzaak_key PRIMARY KEY,
mld_oorzaak_omschrijving
VARCHAR2(30)
NOT_NULL(mld_oorzaak_omschrijving, mld_c_mld_oorzaak_omschrijving),
mld_oorzaak_upper
VARCHAR2(30)
#ifndef MS_SQL
NOT_NULL(mld_oorzaak_upper, mld_c_mld_oorzaak_upper)
#endif
,
mld_oorzaak_aanmaak
DATE
DEFAULT SYSDATE
NOT_NULL(mld_oorzaak_aanmaak, mld_c_mld_oorzaak_aanmaak),
mld_oorzaak_verwijder
DATE
DEFAULT NULLDATUM,
CONSTRAINT mld_u_mld_oorzaak_upper UNIQUE(mld_oorzaak_upper, mld_oorzaak_verwijder)
);
CREATE_TABLE(mld_meldbron,MLD_BIBLIOTHEEK_PRIVILEGE)
(
mld_meldbron_key
NUMBER(10)
CONSTRAINT mld_k_mld_meldbron_key PRIMARY KEY,
mld_meldbron_omschrijving
VARCHAR2(30)
NOT_NULL(mld_meldbron_omschrijving, mld_c_mld_meldbron_omschr),
mld_meldbron_upper
VARCHAR2(30)
#ifndef MS_SQL
NOT_NULL(mld_meldbron_upper, mld_c_mld_meldbron_upper)
#endif
,
mld_meldbron_default
NUMBER(1),
mld_meldbron_aanmaak
DATE
DEFAULT SYSDATE
NOT_NULL(mld_meldbron_aanmaak, mld_c_mld_meldbron_aanmaak),
mld_meldbron_verwijder
DATE
DEFAULT NULLDATUM,
CONSTRAINT mld_u_mld_meldbron_upper UNIQUE(mld_meldbron_upper, mld_meldbron_verwijder)
);
CREATE_TABLE(mld_standaardopdr,MLD_BIBLIOTHEEK_PRIVILEGE)
(
mld_standaardopdr_key
NUMBER(10)
CONSTRAINT mld_k_mld_standaardopdr_key PRIMARY KEY,
mld_standaardopdr_omschrijving
VARCHAR2(320)
NOT_NULL(mld_standaardopdr_omschrijving, mld_c_mld_standaardopdr_omschr),
mld_standaardopdr_afk
VARCHAR2(30)
NOT_NULL(mld_standaardopdr_afk, mld_c_mld_standaardopdr_afk),
mld_standaardopdr_afk_upper
VARCHAR2(30)
#ifndef MS_SQL
NOT_NULL(mld_standaardopdr_afk_upper, mld_c_mld_stdopdr_afk_upper)
#endif
,
mld_standaardopdr_uren
NUMBER(8,2),
mld_standaardopdr_materiaal
NUMBER(9,2),
mld_standaardopdr_aanmaak
DATE
DEFAULT SYSDATE
NOT_NULL(mld_standaardopdr_aanmaak, mld_c_mld_stdopdr_aanmaak),
mld_standaardopdr_verwijder
DATE
DEFAULT NULLDATUM,
CONSTRAINT mld_u_mld_stdopdr_afk_upper UNIQUE(mld_standaardopdr_afk_upper, mld_standaardopdr_verwijder)
);
CREATE_TABLE(mld_stdmelding,MLD_BIBLIOTHEEK_PRIVILEGE)
(
mld_stdmelding_key
NUMBER(10)
CONSTRAINT mld_k_mld_stdmelding_key PRIMARY KEY,
mld_ins_discipline_key
NUMBER(10)
NOT_NULL(mld_ins_discipline_key, mld_c_ins_discipline_key)
CONSTRAINT mld_r_ins_discipline_key REFERENCES ins_tab_discipline(ins_discipline_key),
mld_stdmelding_omschrijving
VARCHAR2(30)
NOT_NULL(mld_stdmelding_omschrijving, mld_c_mld_stdmelding_omschr),
mld_stdmelding_upper
VARCHAR2(30)
#ifndef MS_SQL
NOT_NULL(mld_stdmelding_upper, mld_c_mld_stdmelding_upper)
#endif
,
mld_stdmelding_urgentie
NUMBER(4,2)
CONSTRAINT mld_c_mld_srtmelding_urgentie CHECK(mld_stdmelding_urgentie >= 0),
mld_stdmelding_uitvoertijd
NUMBER(3)
CONSTRAINT mld_c_mld_stdmeld_uitvoertijd CHECK(mld_stdmelding_uitvoertijd >= 0),
mld_stdmelding_notfrontend -- 0 : zichtbaar voor alle webusers
NUMBER(1) -- 1 : niet zichtbaar voor front end webusers
DEFAULT 0,
ins_srtinst_key -- optional reference to objecttype (level defined by ins_srtinst_niveau)
NUMBER(10),
ins_srtinst_niveau -- level of ins_srtinst_key
VARCHAR2(1)
CONSTRAINT mld_c_ins_srtinst_niveau CHECK (ins_srtinst_niveau IN ('D','G','S')),
prs_kostensoort_key
NUMBER(10)
CONSTRAINT ins_r_prs_kostensoort_key2 REFERENCES prs_kostensoort(prs_kostensoort_key),
CONSTRAINT mld_u_mld_stdmelding UNIQUE(mld_ins_discipline_key, mld_stdmelding_omschrijving)
);
CREATE_TABLE(mld_typeopdr,MLD_BIBLIOTHEEK_PRIVILEGE)
(
mld_typeopdr_key
NUMBER(10)
CONSTRAINT mld_k_mld_typeopdr_key PRIMARY KEY,
mld_typeopdr_omschrijving
VARCHAR2(30)
NOT_NULL(mld_typeopdr_omschrijving, mld_c_mld_typeopdr_omschr),
mld_typeopdr_upper
VARCHAR2(30)
#ifndef MS_SQL
NOT_NULL(mld_typeopdr_upper, mld_c_mld_typeopdr_upper)
#endif
,
mld_typeopdr_module
VARCHAR2(3)
NOT_NULL(mld_typeopdr_module, mld_c_mld_typeopdr_module),
mld_typeopdr_decentraal
NUMBER(1) DEFAULT(0)
CONSTRAINT mld_c_mld_typeopdr_decentraal CHECK(mld_typeopdr_decentraal IN (0,1)),
CONSTRAINT mld_u_mld_typeopdr_upper UNIQUE(mld_typeopdr_upper, mld_typeopdr_module)
);
CREATE_TABLE(mld_statusopdr,MLD_BIBLIOTHEEK_PRIVILEGE)
(
mld_statusopdr_key
NUMBER(10)
CONSTRAINT mld_k_mld_statusopdr_key PRIMARY KEY,
mld_statusopdr_omschrijving
VARCHAR2(30)
NOT_NULL(mld_statusopdr_omschrijving, mld_c_mld_statusopdr_omschr),
mld_statusopdr_upper
VARCHAR2(30)
NOT_NULL(mld_statusopdr_upper, mld_c_mld_statusopdr_upper),
mld_statusopdr_module
VARCHAR2(3)
NOT_NULL(mld_statusopdr_module, mld_c_mld_statusopdr_module),
CONSTRAINT mld_u_mld_statusopdr_upper UNIQUE(mld_statusopdr_upper, mld_statusopdr_module)
);
CREATE_TABLE(mld_statuses ,MLD_NORMAAL_PRIVILEGE)
(
mld_statuses_key
NUMBER(10)
CONSTRAINT mld_k_statuses_key PRIMARY KEY,
mld_statuses_omschrijving
VARCHAR2(30)
);
CREATE_TABLE(mld_adres, MLD_NORMAAL_PRIVILEGE)
(
mld_adres_key
NUMBER(10)
CONSTRAINT mld_k_mld_adres_key PRIMARY KEY,
mld_adres_naam
VARCHAR2(30)
NOT_NULL(mld_adres_naam, mld_c_mld_adres_naam),
mld_adres_upper
VARCHAR2(30)
#ifndef MS_SQL
NOT_NULL(mld_adres_upper, mld_c_mld_adres_upper)
#endif
,
mld_adres_bezoek_adres
VARCHAR2(35),
mld_adres_bezoek_postcode
VARCHAR2(12),
mld_adres_bezoek_plaats
VARCHAR2(30),
mld_adres_bezoek_land
VARCHAR2(30),
mld_adres_post_adres
VARCHAR2(35),
mld_adres_gebouw_ruimte
VARCHAR2(30),
mld_adres_post_postcode
VARCHAR2(12),
mld_adres_post_plaats
VARCHAR2(30),
mld_adres_post_land
VARCHAR2(30),
mld_adres_contactpersoon
VARCHAR2(30),
mld_adres_contactpers_telefoon
VARCHAR2(15),
mld_adres_contactpers_fax
VARCHAR2(15),
mld_adres_contactpers_bureau
VARCHAR2(20),
mld_adres_telefoon
VARCHAR2(15),
mld_adres_fax
VARCHAR2(15),
alg_locatie_key
NUMBER(10)
CONSTRAINT mld_r_alg_locatie_key3 REFERENCES alg_locatie (alg_locatie_key) ON DELETE CASCADE,
mld_adres_aanmaak
DATE
DEFAULT SYSDATE,
mld_adres_verwijder
DATE,
mld_adres_factuuradres
NUMBER(1)
CONSTRAINT mld_c_mld_adres_factuuradres CHECK(mld_adres_factuuradres IS NULL
OR mld_adres_factuuradres = 1),
mld_adres_opdrachtadres
NUMBER(1)
CONSTRAINT mld_c_mld_adres_opdrachtadres CHECK(mld_adres_opdrachtadres IS NULL
OR mld_adres_opdrachtadres = 1),
mld_adres_afleveradres
NUMBER(1)
CONSTRAINT mld_c_mld_adres_afleveradres CHECK(mld_adres_afleveradres IS NULL
OR mld_adres_afleveradres = 1),
CONSTRAINT mld_c_mld_adressen CHECK(mld_adres_factuuradres IS NOT NULL
OR mld_adres_opdrachtadres IS NOT NULL
OR mld_adres_afleveradres IS NOT NULL)
);
ALTER TABLE alg_gebouw ADD
mld_adres_key NUMBER(10)
CONSTRAINT alg_r_mld_adres_key1 REFERENCES mld_adres(mld_adres_key);
ALTER TABLE prs_bedrijf ADD
(
mld_adres_key_lev
NUMBER(10)
CONSTRAINT prs_r_mld_adres_key1 REFERENCES mld_adres(mld_adres_key),
mld_adres_key_fac
NUMBER(10)
CONSTRAINT prs_r_mld_adres_key_fac1 REFERENCES mld_adres(mld_adres_key)
);
ALTER TABLE prs_afdeling ADD
mld_adres_key
NUMBER(10)
CONSTRAINT alg_r_mld_adres_key2 REFERENCES mld_adres(mld_adres_key);
ALTER TABLE prs_perslid ADD
mld_adres_key
NUMBER(10)
CONSTRAINT prs_r_mld_adres_key2 REFERENCES mld_adres(mld_adres_key);
ALTER TABLE prs_project ADD
mld_adres_key
NUMBER(10)
CONSTRAINT prs_r_mld_adres_key3 REFERENCES mld_adres(mld_adres_key);
CREATE_TABLE(mld_melding,MLD_NORMAAL_PRIVILEGE)
(
mld_melding_key
NUMBER(10)
CONSTRAINT mld_k_mld_melding_key PRIMARY KEY,
mld_melding_module
VARCHAR2(3)
NOT_NULL(mld_melding_module, mld_c_mld_melding_module),
mld_ins_discipline_key
NUMBER(10)
NOT_NULL(mld_ins_discipline_key, mld_c_ins_discipline_key2)
CONSTRAINT mld_r_ins_discipline_key2 REFERENCES ins_tab_discipline(ins_discipline_key),
mld_ins_srtinst_keys
NUMBER(10),
mld_meldbron_key
NUMBER(10)
NOT_NULL(mld_meldbron_key, mld_r_mld_meldbron_key1)
CONSTRAINT mld_r_mld_meldbron_key2 REFERENCES mld_meldbron,
mld_meldbron_nr
VARCHAR2(12),
mld_oorzaak_key
NUMBER(10)
CONSTRAINT mld_r_mld_oorzaak_key REFERENCES mld_oorzaak,
mld_alg_locatie_key
NUMBER(10)
#ifndef MS_SQL
NOT_NULL(mld_alg_locatie_key, mld_r_alg_locatie_key1)
#endif
CONSTRAINT mld_r_alg_locatie_key2 REFERENCES alg_locatie(alg_locatie_key),
mld_alg_onroerendgoed_keys
NUMBER(10)
NOT_NULL(mld_alg_onroerendgoed_keys, mld_c_alg_onroerendgoed_keys),
mld_melding_datum
DATE
NOT_NULL(mld_melding_datum, mld_c_mld_melding_datum),
mld_melding_omschrijving
VARCHAR2(1024),
mld_melding_opmerking
VARCHAR2(4000),
mld_melding_melder_naam
VARCHAR2(30),
mld_melding_user_key
NUMBER(10)
CONSTRAINT mld_r_prs_perslid_key0 REFERENCES prs_perslid(prs_perslid_key),
mld_melding_ingezien
DATE,
mld_melding_ingezien_user
NUMBER(10)
CONSTRAINT mld_r_prs_perslid_key1 REFERENCES prs_perslid(prs_perslid_key),
mld_melding_afgewezen
DATE,
mld_melding_geaccepteerd
DATE,
mld_melding_geaccepteerd_user
VARCHAR2(30),
mld_melding_afgemeld
DATE,
mld_melding_afgemeld_user
NUMBER(10)
CONSTRAINT mld_r_prs_perslid_key4 REFERENCES prs_perslid(prs_perslid_key),
mld_melding_verwerkt
DATE,
mld_stdmelding_key
NUMBER(10)
NOT_NULL(mld_stdmelding_key, mld_c_mld_stdmelding_key)
CONSTRAINT mld_r_mld_stdmelding_key REFERENCES mld_stdmelding,
mld_melding_uitvoertijd
NUMBER(3)
CONSTRAINT mld_c_mld_melding_uitvoertijd2 CHECK
(mld_melding_uitvoertijd is not null and mld_melding_uitvoertijd >= 0),
mld_melding_uitvoertijd2
NUMBER(3)
CONSTRAINT mld_c_mld_melding_uitvoertijd3 CHECK(mld_melding_uitvoertijd2 >= 0),
mld_melding_geprint
NUMBER(1)
CONSTRAINT mld_c_mld_melding_geprint CHECK(mld_melding_geprint IS NULL
OR mld_melding_geprint = 1),
-- prs_afdeling_key
-- NUMBER(10)
-- CONSTRAINT mld_r_prs_afdeling_key REFERENCES prs_afdeling,
prs_kostenplaats_key
NUMBER(10)
CONSTRAINT mld_r_prs_kostenplaats_key1 REFERENCES prs_kostenplaats(prs_kostenplaats_key),
mld_kosten_klant
NUMBER(1)
CONSTRAINT mld_c_mld_kosten_klant CHECK(mld_kosten_klant IS NULL
OR mld_kosten_klant = 1),
mld_melding_document
VARCHAR2(512),
mld_melding_ordernr
VARCHAR2(30),
prs_perslid_key
NUMBER(10)
CONSTRAINT mld_r_prs_perslid_key REFERENCES prs_perslid(prs_perslid_key),
mld_melding_melder_telefoon
VARCHAR2(15),
mld_melding_melder_plaats
VARCHAR2(35),
mld_melding_status
NUMBER(10)
CONSTRAINT mld_r_mld_statuses_key REFERENCES mld_statuses(mld_statuses_key),
mld_adres_key
NUMBER(10)
CONSTRAINT mld_r_mld_adres_key1 REFERENCES mld_adres(mld_adres_key),
mld_melding_spoed /* 1 = spoed */
NUMBER(1),
CONSTRAINT mld_c_afgewezen_opmerking CHECK(mld_melding_afgewezen IS NULL
OR (mld_melding_afgewezen IS NOT NULL
AND mld_melding_opmerking IS NOT NULL))
);
CREATE_TABLE(mld_opdr,MLD_NORMAAL_PRIVILEGE)
(
mld_opdr_key
NUMBER(10)
CONSTRAINT mld_k_mld_opdr_key PRIMARY KEY,
mld_opdr_module
VARCHAR2(3)
NOT_NULL(mld_opdr_module, mld_c_mld_opdr_module),
mld_melding_key
NUMBER(10)
NOT_NULL(mld_melding_key, mld_r_mld_melding_key1)
CONSTRAINT mld_r_mld_melding_key2 REFERENCES mld_melding ON DELETE CASCADE,
mld_uitvoerende_keys
NUMBER(10)
NOT_NULL(mld_uitvoerende_keys, mld_c_mld_uitvoerende_keys),
mld_typeopdr_key
NUMBER(10)
NOT_NULL(mld_typeopdr_key, mld_r_mld_typeopdr_key1)
CONSTRAINT mld_r_mld_typeopdr_key2 REFERENCES mld_typeopdr,
mld_statusopdr_key
NUMBER(10)
NOT_NULL(mld_statusopdr_key, mld_r_mld_statusopdr_key1)
CONSTRAINT mld_r_mld_statusopdr_key2 REFERENCES mld_statusopdr,
mld_standaardopdr_key
NUMBER(10)
CONSTRAINT mld_r_mld_standaardopdr_key REFERENCES mld_standaardopdr,
mld_opdr_omschrijving
VARCHAR2(1024),
mld_opdr_aanmaak
DATE
DEFAULT SYSDATE,
mld_opdr_datumbegin
DATE
NOT_NULL(mld_opdr_datumbegin, mld_c_mld_opdr_datumbegin),
mld_opdr_dagen
NUMBER(3)
CONSTRAINT mld_c_mld_opdr_dagen2 CHECK
(mld_opdr_dagen is not null and mld_opdr_dagen > 0),
mld_opdr_werkzaamheden
VARCHAR2(80),
mld_opdr_datumuitgevoerd
DATE,
mld_opdr_afgemeld_user
NUMBER(10)
CONSTRAINT mld_r_prs_perslid_key3 REFERENCES prs_perslid(prs_perslid_key),
mld_opdr_uren
NUMBER(5,2)
DEFAULT 0
CONSTRAINT mld_c_mld_opdr_uren CHECK(mld_opdr_uren >= 0),
mld_opdr_materiaal
NUMBER(8,2)
DEFAULT 0
CONSTRAINT mld_c_mld_opdr_materiaal CHECK(mld_opdr_materiaal >= 0),
mld_opdr_kosten
NUMBER(12,2)
DEFAULT 0,
prs_kostenplaats_key
NUMBER(10)
CONSTRAINT mld_r_prs_kostenplaats_key2 REFERENCES prs_kostenplaats(prs_kostenplaats_key),
mld_opdr_contactpersoon
VARCHAR2(30),
mld_opdr_geprint
NUMBER(1)
CONSTRAINT mld_c_mld_opdr_geprint CHECK(mld_opdr_geprint IS NULL
OR mld_opdr_geprint = 1),
mld_opdr_verzonden
DATE,
mld_opdr_verwerkt
DATE,
mld_opdr_bedrijfopdr_volgnr
NUMBER(10),
mld_opdr_uurloon
NUMBER(6,2),
prs_perslid_key -- Internal contactperson
NUMBER(10)
CONSTRAINT mld_r_prs_perslid_key5 REFERENCES prs_perslid(prs_perslid_key),
prs_contactpersoon_key -- External contactperson
NUMBER(10)
CONSTRAINT mld_r_prs_contactpersoon_key REFERENCES prs_contactpersoon(prs_contactpersoon_key),
prs_perslid_key_fiat
NUMBER(10)
CONSTRAINT mld_r_prs_perslid_key6 REFERENCES prs_perslid(prs_perslid_key),
mld_opdr_datumfiatvraag
DATE,
mld_opdr_datumfiat_ok
DATE,
mld_opdr_datumfiat_nok
DATE,
mld_opdr_opmerking_fiat
VARCHAR2(1024),
CONSTRAINT mld_c_opdr_fiat CHECK (mld_opdr_datumfiat_ok IS NULL OR mld_opdr_datumfiat_nok IS NULL)
);
CREATE_TABLE(mld_vrije_dagen, MLD_BIBLIOTHEEK_PRIVILEGE)
(
mld_vrije_dagen_key
NUMBER(10)
CONSTRAINT mld_k_mld_vrije_dagen_key PRIMARY KEY,
mld_vrije_dagen_datum
DATE
NOT_NULL(mld_vrije_dagen_datum, mld_c_mld_vrije_dagen_datum)
CONSTRAINT mld_u_mld_vrije_dagen_datum UNIQUE
);
CREATE_TABLE(mld_melding_object, MLD_NORMAAL_PRIVILEGE)
(
mld_melding_object_key
NUMBER(10)
CONSTRAINT mld_k_mld_object_key PRIMARY KEY,
mld_melding_key
NUMBER(10)
NOT_NULL(mld_melding_key, mld_c_mld_melding_key),
ins_deel_key
NUMBER(10)
CONSTRAINT mld_r_ins_deel_key1 REFERENCES ins_deel(ins_deel_key),
mld_melding_object_aanmaak
DATE
DEFAULT SYSDATE
NOT_NULL(mld_melding_object_aanmaak, mld_c_mld_object_aanmaak),
mld_melding_object_verwijder
DATE
DEFAULT NULLDATUM
);
CREATE_TABLE(mld_refsrtkenmerk, MLD_BIBLIOTHEEK_PRIVILEGE)
( mld_refsrtkenmerk_key
NUMBER(10)
CONSTRAINT mld_k_mld_refsrtkenmerk_key PRIMARY KEY
, mld_refsrtkenmerk_omschrijving
VARCHAR2(50)
, mld_refsrtkenmerk_upper
VARCHAR2(50)
, mld_refsrtkenmerk_objectnaam
VARCHAR2(30)
, mld_refsrtkenmerk_kolomnaam
VARCHAR2(30)
, mld_refsrtkenmerk_kolomtxt
VARCHAR2(30)
, fac_usrtab_key
NUMBER(10)
, mld_refsrtkenmerk_aanmaak
DATE
DEFAULT SYSDATE
, mld_refsrtkenmerk_verwijder
DATE
DEFAULT NULLDATUM
, CONSTRAINT mld_c_mld_refsrtkenmerk_omschr CHECK(mld_refsrtkenmerk_omschrijving IS NOT NULL)
#ifndef MS_SQL
, CONSTRAINT mld_c_mld_refsrtkenmerk_upper CHECK(mld_refsrtkenmerk_upper IS NOT NULL)
#endif
, CONSTRAINT mld_u_mld_refsrtkenmerk_upper UNIQUE(mld_refsrtkenmerk_upper, mld_refsrtkenmerk_verwijder)
, CONSTRAINT mld_c_mld_refsrtkenm_objnaam CHECK(mld_refsrtkenmerk_objectnaam IS NOT NULL)
, CONSTRAINT mld_c_mld_refsrtkenm_kolnaam CHECK(mld_refsrtkenmerk_kolomnaam IS NOT NULL)
, CONSTRAINT mld_c_mld_refsrtkenm_kolomtxt CHECK(mld_refsrtkenmerk_kolomtxt IS NOT NULL)
, CONSTRAINT mld_r_fac_usrtab_key1 FOREIGN KEY(fac_usrtab_key) REFERENCES fac_usrtab(fac_usrtab_key)
, CONSTRAINT mld_c_mld_refsrtkenmerk_aanm CHECK(mld_refsrtkenmerk_aanmaak IS NOT NULL)
);
CREATE_TABLE(mld_srtkenmerk, MLD_BIBLIOTHEEK_PRIVILEGE)
( mld_srtkenmerk_key
NUMBER(10)
CONSTRAINT mld_k_mld_srtkenmerk_key PRIMARY KEY
, mld_srtkenmerk_omschrijving
VARCHAR2(50)
, mld_srtkenmerk_upper
VARCHAR2(50)
, mld_srtkenmerk_dimensie
VARCHAR2(10)
, mld_srtkenmerk_kenmerktype
VARCHAR2(1)
, mld_srtkenmerk_systeem
NUMBER(1)
, mld_srtkenmerk_lengte
NUMBER(3)
, mld_srtkenmerk_dec
NUMBER(3)
, mld_srtkenmerk_nmin
NUMBER(10)
, mld_srtkenmerk_nmax
NUMBER(10)
, mld_refsrtkenmerk_key
NUMBER(10)
, mld_srtkenmerk_aanmaak
DATE
DEFAULT SYSDATE
, mld_srtkenmerk_verwijder
DATE
DEFAULT NULLDATUM
, CONSTRAINT mld_c_mld_srtkenmerk_omschr CHECK(mld_srtkenmerk_omschrijving IS NOT NULL)
, CONSTRAINT mld_srtkenmerk_omschrijving CHECK(mld_srtkenmerk_omschrijving IS NOT NULL)
, CONSTRAINT mld_u_mld_srtkenmerk_upper UNIQUE(mld_srtkenmerk_upper, mld_srtkenmerk_verwijder)
, CONSTRAINT mld_c_mld_srtkenmerk_kenmtype CHECK(mld_srtkenmerk_kenmerktype IN ('C','N','D','R','X','L','Q'))
, CONSTRAINT mld_c_mld_srtkenmerk_systeem CHECK(mld_srtkenmerk_systeem IS NULL
OR mld_srtkenmerk_systeem = 1)
, CONSTRAINT mld_c_mld_srtkenmerk_lengte CHECK(mld_srtkenmerk_lengte >= 1
AND mld_srtkenmerk_lengte <= 255)
, CONSTRAINT mld_c_mld_srtkenmerk_max_min CHECK(mld_srtkenmerk_nmax >= mld_srtkenmerk_nmin)
, CONSTRAINT mld_r_mld_refsrtkenmerk_key2 CHECK(mld_srtkenmerk_kenmerktype <> 'R'
OR mld_refsrtkenmerk_key IS NOT NULL)
, CONSTRAINT mld_c_mld_srtkenmerk_dec CHECK(mld_srtkenmerk_dec >= 0
AND mld_srtkenmerk_dec <= mld_srtkenmerk_lengte)
, CONSTRAINT mld_c_mld_srtkenmerk_aanm CHECK(mld_srtkenmerk_aanmaak IS NOT NULL)
, CONSTRAINT mld_r_mld_refsrtkenmerk_key1 FOREIGN KEY(mld_refsrtkenmerk_key)
REFERENCES mld_refsrtkenmerk(mld_refsrtkenmerk_key)
);
CREATE_TABLE(mld_kenmerk, MLD_BIBLIOTHEEK_PRIVILEGE)
( mld_kenmerk_key
NUMBER(10)
CONSTRAINT mld_k_mld_kenmerk_key PRIMARY KEY
, mld_srtkenmerk_key
NUMBER(10)
, mld_stdmelding_key
NUMBER(10)
, mld_kenmerk_niveau
VARCHAR2(1)
, mld_kenmerk_verplicht
NUMBER(1)
, mld_kenmerk_toonbaar
NUMBER(1)
, mld_kenmerk_volgnummer
NUMBER(3)
, mld_kenmerk_locatiekolom
VARCHAR2(30)
, mld_kenmerk_uniek
NUMBER(1)
, mld_kenmerk_aanmaak
DATE
DEFAULT SYSDATE
, mld_kenmerk_default
VARCHAR2(255)
, mld_kenmerk_verwijder
DATE
DEFAULT NULLDATUM
, CONSTRAINT mld_r_mld_srtkenmerk_key1 CHECK(mld_srtkenmerk_key IS NOT NULL)
, CONSTRAINT mld_r_mld_srtkenmerk_key2 FOREIGN KEY(mld_srtkenmerk_key) REFERENCES mld_srtkenmerk(mld_srtkenmerk_key)
, CONSTRAINT mld_c_mld_kenmerk_niveau1 CHECK(mld_kenmerk_niveau IS NOT NULL)
, CONSTRAINT mld_c_mld_kenmerk_niveau2 CHECK(mld_kenmerk_niveau IN ('D','S'))
, CONSTRAINT mld_c_mld_kenmerk_verplicht CHECK(mld_kenmerk_verplicht IS NULL
OR mld_kenmerk_verplicht = 1)
, CONSTRAINT mld_c_mld_kenmerk_toonbaar CHECK(mld_kenmerk_toonbaar IS NULL
OR mld_kenmerk_toonbaar = 1)
, CONSTRAINT mld_c_mld_kenmerk_aanmaak CHECK(mld_kenmerk_aanmaak IS NOT NULL)
, CONSTRAINT mld_u_mld_kenmerk UNIQUE(mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau)
);
CREATE_TABLE(mld_kenmerkmelding, MLD_NORMAAL_PRIVILEGE)
( mld_kenmerkmelding_key
NUMBER(10)
CONSTRAINT mld_k_mld_kenmerkmelding_key PRIMARY KEY
, mld_melding_key
NUMBER(10)
, mld_kenmerk_key
NUMBER(10)
, mld_kenmerkmelding_waarde
VARCHAR2(255)
, mld_kenmerkmelding_aanmaak
DATE
DEFAULT SYSDATE
, mld_kenmerkmelding_verwijder
DATE
DEFAULT NULLDATUM
, CONSTRAINT mld_r_mld_kenmerk_melding_key1 CHECK(mld_melding_key IS NOT NULL)
, CONSTRAINT mld_r_mld_kenmerk_key1 CHECK(mld_kenmerk_key IS NOT NULL)
, CONSTRAINT mld_r_mld_kenmerk_key2 FOREIGN KEY(mld_kenmerk_key) REFERENCES mld_kenmerk(mld_kenmerk_key)
, CONSTRAINT mld_c_mld_kenmerkmelding_aanm CHECK(mld_kenmerkmelding_aanmaak IS NOT NULL)
, CONSTRAINT mld_u_mld_kenmerkmelding UNIQUE(mld_kenmerk_key, mld_melding_key, mld_kenmerkmelding_verwijder)
);
CREATE_TABLE(mld_kenmerkopdr, MLD_NORMAAL_PRIVILEGE)
( mld_kenmerkopdr_key
NUMBER(10)
CONSTRAINT mld_k_mld_kenmerkopdr_key PRIMARY KEY,
mld_opdr_key
NUMBER(10),
mld_kenmerk_key
NUMBER(10),
mld_kenmerkopdr_waarde
VARCHAR2(255),
mld_kenmerkopdr_aanmaak
DATE
DEFAULT SYSDATE,
mld_kenmerkopdr_verwijder
DATE
DEFAULT NULLDATUM,
CONSTRAINT mld_r_mld_kenmerk_opdr_key1 CHECK(mld_opdr_key IS NOT NULL),
CONSTRAINT mld_r_mld_kenmerk_key3 CHECK(mld_kenmerk_key IS NOT NULL),
CONSTRAINT mld_r_mld_kenmerk_key4 FOREIGN KEY(mld_kenmerk_key) REFERENCES mld_kenmerk(mld_kenmerk_key),
CONSTRAINT mld_c_mld_kenmerkopdr_aanm CHECK(mld_kenmerkopdr_aanmaak IS NOT NULL),
CONSTRAINT mld_u_mld_kenmerkopdr UNIQUE(mld_kenmerk_key, mld_opdr_key, mld_kenmerkopdr_verwijder)
);
ALTER TABLE MLD_KENMERK ADD mld_typeopdr_key NUMBER(10);
ALTER TABLE MLD_KENMERK DROP CONSTRAINT mld_c_mld_kenmerk_niveau2;
ALTER TABLE MLD_KENMERK ADD CONSTRAINT mld_c_mld_kenmerk_niveau2
CHECK(mld_kenmerk_niveau IN ('D','S','O'));
ALTER TABLE MLD_KENMERK ADD
CONSTRAINT mld_r_mld_srtkenmerk_key3 FOREIGN KEY(mld_typeopdr_key) REFERENCES mld_typeopdr(mld_typeopdr_key);
ALTER TABLE MLD_KENMERK DROP CONSTRAINT mld_r_mld_srtkenmerk_key1;
ALTER TABLE MLD_KENMERK ADD
CONSTRAINT mld_r_mld_srtkenmerk_keys
CHECK( (mld_typeopdr_key IS NULL AND mld_stdmelding_key IS NOT NULL)
OR (mld_typeopdr_key IS NOT NULL AND mld_stdmelding_key IS NULL));
ALTER TABLE MLD_KENMERK DROP
CONSTRAINT mld_u_mld_kenmerk;
ALTER TABLE MLD_KENMERK ADD
CONSTRAINT mld_u_mld_kenmerk UNIQUE(mld_srtkenmerk_key, mld_stdmelding_key, mld_typeopdr_key, mld_kenmerk_niveau, mld_kenmerk_verwijder);
/* Used to restrict the mld_typeopdr values for a ins_srtdiscipline */
CREATE_TABLE(mld_typeopdr_srtdiscipline, MLD_BIBLIOTHEEK_PRIVILEGE)
(
mld_typeopdr_srtdiscipline_key
NUMBER(10)
PRIMARY KEY,
mld_typeopdr_key
NUMBER(10)
NOT_NULL(mld_typeopdr_key, mld_c_mld_typeopdr_key1)
CONSTRAINT mld_r_mld_typeopdr_key3 REFERENCES mld_typeopdr(mld_typeopdr_key) ON DELETE CASCADE,
ins_srtdiscipline_key
NUMBER(10)
NOT_NULL(ins_srtdiscipline_key, mld_c_ins_srtdiscipline_key1)
CONSTRAINT mld_r_ins_srtdiscipline_key2 REFERENCES ins_srtdiscipline(ins_srtdiscipline_key) ON DELETE CASCADE
);
/* Workflow tables */
CREATE_TABLE(mld_workflowstep, MLD_NORMAAL_PRIVILEGE)
( mld_workflowstep_key
NUMBER(10)
CONSTRAINT mld_k_mld_workflowstep_key PRIMARY KEY,
mld_workflowstep_start_key
NUMBER(10)
CONSTRAINT mld_r_mld_workflowstep_key1 REFERENCES mld_workflowstep(mld_workflowstep_key),
mld_stdmelding_key
NUMBER(10)
NOT_NULL(mld_stdmelding_key, mld_c_mld_stdmelding_key2)
CONSTRAINT mld_r_mld_stdmelding_key2 REFERENCES mld_stdmelding,
mld_workflowstep_omschrijving
VARCHAR2(60)
);
CREATE_TABLE(mld_workflowrule, MLD_NORMAAL_PRIVILEGE)
( mld_workflowrule_key
NUMBER(10)
CONSTRAINT mld_k_mld_workflowrule_key PRIMARY KEY,
mld_workflowstep_key
NUMBER(10)
NOT_NULL(mld_workflowstep_key, mld_c_mld_workflowstep_key1)
CONSTRAINT mld_r_mld_workflowstep_key2 REFERENCES mld_workflowstep ON DELETE CASCADE,
mld_workflowrule_omschrijving
VARCHAR2(60),
mld_workflowrule_result
NUMBER(1)
CONSTRAINT mld_c_mld_workflowrule_result CHECK(mld_workflowrule_result IN (0,1)),
mld_workflowstep_next_key
NUMBER(10)
NOT_NULL(mld_workflowstep_next_key, mld_c_mld_workflowstep_key2)
CONSTRAINT mld_r_mld_workflowstep_key3 REFERENCES mld_workflowstep(mld_workflowstep_key)
);
COMMENT ON COLUMN mld_workflowrule.mld_workflowrule_result IS '0 is failure/rejection, 1 is success';
ALTER TABLE mld_melding ADD
mld_workflowstep_key
NUMBER(10)
CONSTRAINT mld_r_mld_workflowstep_key4 REFERENCES mld_workflowstep(mld_workflowstep_key);
COMMENT ON COLUMN mld_melding.mld_workflowstep_key IS 'references the workflow step that this melding corresponds to';
ALTER TABLE mld_melding ADD
mld_melding_start_key
NUMBER(10)
CONSTRAINT mld_r_mld_melding_key4 REFERENCES mld_melding(mld_melding_key);
COMMENT ON COLUMN mld_melding.mld_melding_start_key IS 'references the initiating mld_melding if this is a workflow step';
// Since OLEDB does NOT support CLOB's, and a PL/SQL LONG is shorter than a database LONG,
// we need this table to store our PL/SQL CLOB into a database LONG that IS supported.
CREATE_TABLE (mld_melding_xml,0)
(
mld_melding_key NUMBER(10),
mld_melding_xml LONG,
mld_melding_xml_datum DATE DEFAULT SYSDATE NOT NULL,
mld_melding_xml_volgnr NUMBER,
CONSTRAINT mld_r_mld_melding_xml_key FOREIGN KEY (mld_melding_key)
REFERENCES mld_melding (mld_melding_key)
ON DELETE CASCADE
);
CREATE_TABLE (mld_opdr_xml,0)
(
mld_opdr_key NUMBER(10),
mld_opdr_xml LONG,
mld_opdr_xml_datum DATE DEFAULT SYSDATE NOT NULL,
mld_opdr_xml_volgnr NUMBER,
CONSTRAINT mld_r_mld_opdr_xml_key FOREIGN KEY (mld_opdr_key)
REFERENCES mld_opdr (mld_opdr_key)
ON DELETE CASCADE
);
CREATE OR REPLACE TRIGGER mld_t_mld_melding_xml_a_iu
AFTER INSERT OR UPDATE
ON mld_melding_xml
BEGIN
DELETE FROM mld_melding_xml
WHERE mld_melding_xml_datum < SYSDATE - 2;
END;
/
CREATE OR REPLACE TRIGGER mld_t_mld_opdr_xml_a_iu
AFTER INSERT OR UPDATE
ON mld_opdr_xml
BEGIN
DELETE FROM mld_opdr_xml
WHERE mld_opdr_xml_datum < SYSDATE - 2;
END;
/
SHOW ERRORS;
#endif // MLD