818 lines
29 KiB
Plaintext
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
|