689 lines
23 KiB
Plaintext
689 lines
23 KiB
Plaintext
#ifdef INS
|
|
/* $Revision$
|
|
* $Id$
|
|
*/
|
|
|
|
CREATE_TABLE(ins_srtdiscipline,0)
|
|
(
|
|
ins_srtdiscipline_key
|
|
NUMBER(10)
|
|
CONSTRAINT ins_k_ins_srtdiscipline_key PRIMARY KEY,
|
|
ins_srtdiscipline_module
|
|
VARCHAR2(3)
|
|
DEFAULT 'INS'
|
|
NOT_NULL(ins_srtdiscipline_module, ins_c_ins_srtdisc_module),
|
|
ins_srtdiscipline_omschrijving
|
|
VARCHAR2(30)
|
|
NOT_NULL(ins_srtdiscipline_omschrijving, ins_c_ins_srtdisc_omschr),
|
|
ins_srtdiscipline_opmerking
|
|
VARCHAR(2000 CHAR),
|
|
ins_srtdiscipline_prefix
|
|
VARCHAR2(3),
|
|
ins_srtdiscipline_kostenklant
|
|
NUMBER(1),
|
|
ins_srtdiscipline_alg
|
|
NUMBER(1) DEFAULT(1)
|
|
CONSTRAINT ins_c_ins_srtdiscipline_alg CHECK(ins_srtdiscipline_alg IN (0,1)),
|
|
ins_srtdiscipline_ins
|
|
NUMBER(1) DEFAULT(1)
|
|
CONSTRAINT ins_c_ins_srtdiscipline_ins CHECK(ins_srtdiscipline_ins IN (0,1)),
|
|
ins_srtdiscipline_mld
|
|
NUMBER(1) DEFAULT (0)
|
|
CONSTRAINT ins_c_ins_srtdiscipline_mld CHECK(ins_srtdiscipline_mld IN (0,1)),
|
|
ins_srtdiscipline_bes /* reserved for future use */
|
|
NUMBER(1) DEFAULT (0)
|
|
CONSTRAINT ins_c_ins_srtdiscipline_bes CHECK(ins_srtdiscipline_bes IN (0,1)),
|
|
ins_srtdiscipline_prs /* reserved for future use */
|
|
NUMBER(1) DEFAULT (0)
|
|
CONSTRAINT ins_c_ins_srtdiscipline_prs CHECK(ins_srtdiscipline_prs IN (0,1)),
|
|
ins_srtdiscipline_res /* reserved for future use */
|
|
NUMBER(1) DEFAULT (0)
|
|
CONSTRAINT ins_c_ins_srtdiscipline_res CHECK(ins_srtdiscipline_res IN (0,1)),
|
|
ins_srtdiscipline_cnt /* reserved for future use */
|
|
NUMBER(1) DEFAULT (0)
|
|
CONSTRAINT ins_c_ins_srtdiscipline_cnt CHECK(ins_srtdiscipline_cnt IN (0,1)),
|
|
ins_srtdiscipline_aanmaak
|
|
DATE
|
|
DEFAULT SYSDATE
|
|
NOT_NULL(ins_srtdiscipline_aanmaak, ins_c_ins_srtdisc_aanmaak),
|
|
ins_srtdiscipline_verwijder
|
|
DATE
|
|
DEFAULT NULLDATUM,
|
|
CONSTRAINT ins_u_ins_srtdisc_omschr UNIQUE (ins_srtdiscipline_omschrijving,
|
|
ins_srtdiscipline_module)
|
|
);
|
|
|
|
|
|
CREATE_TABLE(ins_tab_discipline,0)
|
|
(
|
|
ins_discipline_key
|
|
NUMBER(10)
|
|
CONSTRAINT ins_k_ins_discipline_key PRIMARY KEY,
|
|
ins_discipline_module
|
|
VARCHAR2(3)
|
|
DEFAULT 'INS'
|
|
NOT_NULL(ins_discipline_module, ins_c_ins_discipline_module),
|
|
ins_discipline_omschrijving
|
|
VARCHAR2(30)
|
|
NOT_NULL(ins_discipline_omschrijving, ins_c_ins_discipline_omschr),
|
|
ins_discipline_opmerking
|
|
VARCHAR(2000 CHAR),
|
|
ins_discipline_aanmaak
|
|
DATE
|
|
DEFAULT SYSDATE
|
|
NOT_NULL(ins_discipline_aanmaak, ins_c_ins_discipline_aanmaak),
|
|
ins_discipline_verwijder
|
|
DATE
|
|
DEFAULT NULLDATUM,
|
|
ins_discipline_min_level
|
|
NUMBER(1),
|
|
ins_discipline_kpnverplicht
|
|
NUMBER(1) DEFAULT(0)
|
|
CONSTRAINT ins_c_ins_discipline_kpn CHECK(ins_discipline_kpnverplicht IN (0,1)),
|
|
ins_srtdiscipline_key
|
|
NUMBER(10)
|
|
//NOT_NULL(ins_srtdiscipline_key, ins_c_ins_srtdiscipline_key1)
|
|
CONSTRAINT ins_r_ins_srtdiscipline_key1 REFERENCES ins_srtdiscipline,
|
|
ins_discipline_email
|
|
VARCHAR2(200),
|
|
// Note: this column is defined in PRS_TAB.SRC
|
|
// prs_kostensoort_key
|
|
// NUMBER(10)
|
|
// CONSTRAINT ins_r_prs_kostensoort_key1 REFERENCES prs_kostensoort(prs_kostensoort_key),
|
|
ins_discipline_btw -- 1=Incl. BTW
|
|
NUMBER(1) DEFAULT(1)
|
|
CONSTRAINT ins_c_ins_discipline_btw CHECK(ins_discipline_btw IN (0,1)),
|
|
ins_discipline_ktopercentage /* percentage dat evt. deelneemt aan KTO (klanttevredenheidsonderzoek), voor MLD, RES, BES */
|
|
NUMBER(3)
|
|
CONSTRAINT ins_c_discipline_ktopercentage CHECK(ins_discipline_ktopercentage BETWEEN 0 AND 100),
|
|
ins_discipline_ktodrempel /* minimum aantal dat evt. deelneemt aan KTO */
|
|
NUMBER(3),
|
|
ins_discipline_volgnr
|
|
NUMBER(4),
|
|
CONSTRAINT ins_u_ins_discipline_omschr UNIQUE (ins_discipline_omschrijving,
|
|
ins_srtdiscipline_key,
|
|
ins_discipline_verwijder,
|
|
ins_discipline_module)
|
|
);
|
|
|
|
ALTER TABLE fac_menu ADD
|
|
(
|
|
ins_discipline_key
|
|
NUMBER(10)
|
|
CONSTRAINT fac_r_menu3 REFERENCES ins_tab_discipline (ins_discipline_key)
|
|
);
|
|
ALTER TABLE fac_menu ADD
|
|
(
|
|
ins_srtdiscipline_key
|
|
NUMBER(10)
|
|
CONSTRAINT fac_r_menu4 REFERENCES ins_srtdiscipline (ins_srtdiscipline_key)
|
|
);
|
|
|
|
ALTER TABLE fac_groeprechten
|
|
ADD CONSTRAINT fac_r_groeprechten_disc FOREIGN KEY (ins_discipline_key)
|
|
REFERENCES ins_tab_discipline(ins_discipline_key) ON DELETE CASCADE;
|
|
|
|
ALTER TABLE fac_profielwaarde ADD
|
|
(
|
|
ins_discipline_key
|
|
NUMBER(10)
|
|
REFERENCES ins_tab_discipline(ins_discipline_key) ON DELETE CASCADE
|
|
);
|
|
|
|
ALTER TABLE fac_import_app ADD
|
|
(
|
|
ins_discipline_key
|
|
NUMBER(10)
|
|
REFERENCES ins_tab_discipline(ins_discipline_key) ON DELETE CASCADE
|
|
);
|
|
|
|
ALTER TABLE fac_faq ADD
|
|
(
|
|
ins_discipline_key
|
|
NUMBER(10)
|
|
CONSTRAINT fac_r_mld_discipline_key1 REFERENCES ins_tab_discipline(ins_discipline_key)
|
|
);
|
|
|
|
CREATE_TABLE(ins_srtgroep,0)
|
|
(
|
|
ins_srtgroep_key
|
|
NUMBER(10)
|
|
CONSTRAINT ins_k_ins_srtgroep_key PRIMARY KEY,
|
|
ins_discipline_key
|
|
NUMBER(10)
|
|
NOT_NULL(ins_discipline_key, ins_r_ins_discipline_key1)
|
|
CONSTRAINT ins_r_ins_discipline_key2 REFERENCES ins_tab_discipline,
|
|
ins_srtgroep_module
|
|
VARCHAR2(3)
|
|
DEFAULT 'INS'
|
|
NOT_NULL(ins_srtgroep_module, ins_c_ins_srtgroep_module),
|
|
ins_srtgroep_omschrijving
|
|
VARCHAR2(60)
|
|
NOT_NULL(ins_srtgroep_omschrijving, ins_c_ins_srtgroep_omschr),
|
|
ins_srtgroep_upper
|
|
VARCHAR2(60)
|
|
NOT_NULL(ins_srtgroep_upper, ins_c_ins_srtgroep_upper),
|
|
ins_srtgroep_aanmaak
|
|
DATE
|
|
DEFAULT SYSDATE
|
|
NOT_NULL(ins_srtgroep_aanmaak, ins_c_ins_srtgroep_aanmaak),
|
|
ins_srtgroep_verwijder
|
|
DATE
|
|
DEFAULT NULLDATUM,
|
|
CONSTRAINT ins_u_ins_srtgroep_upper UNIQUE(ins_discipline_key, ins_srtgroep_upper, ins_srtgroep_verwijder, ins_srtgroep_module)
|
|
);
|
|
|
|
CREATE_TABLE(ins_srtdeel,0)
|
|
(
|
|
ins_srtdeel_key
|
|
NUMBER(10)
|
|
CONSTRAINT ins_k_ins_srtdeel_key PRIMARY KEY,
|
|
ins_srtgroep_key
|
|
NUMBER(10)
|
|
NOT_NULL(ins_srtgroep_key, ins_r_ins_srtgroep_key1)
|
|
CONSTRAINT ins_r_ins_srtgroep_key2 REFERENCES ins_srtgroep,
|
|
ins_srtdeel_module
|
|
VARCHAR2(3)
|
|
DEFAULT 'INS'
|
|
NOT_NULL(ins_srtdeel_module, ins_c_ins_srtdeel_module),
|
|
ins_srtdeel_code
|
|
VARCHAR2(10)
|
|
NOT_NULL(ins_srtdeel_code, ins_c_ins_srtdeel_code),
|
|
ins_srtdeel_code_upper
|
|
VARCHAR2(10)
|
|
NOT_NULL(ins_srtdeel_code_upper, ins_c_ins_srtdeel_upcode),
|
|
ins_srtdeel_omschrijving
|
|
VARCHAR2(100)
|
|
NOT_NULL(ins_srtdeel_omschrijving, ins_c_ins_srtdeel_omschrijving),
|
|
ins_srtdeel_upper
|
|
VARCHAR2(100)
|
|
NOT_NULL(ins_srtdeel_upper, ins_c_ins_srtdeel_upper),
|
|
ins_srtdeel_opmerking
|
|
VARCHAR(2000 CHAR),
|
|
ins_srtdeel_aanmaak
|
|
DATE
|
|
DEFAULT SYSDATE
|
|
NOT_NULL(ins_srtdeel_aanmaak, ins_c_ins_srtdeel_aanmaak),
|
|
ins_srtdeel_verwijder
|
|
DATE
|
|
DEFAULT NULLDATUM,
|
|
ins_srtdeel_volgnr
|
|
NUMBER(3),
|
|
ins_srtdeel_prijs
|
|
NUMBER(8,2),
|
|
ins_srtdeel_inkprijs
|
|
NUMBER(8,2),
|
|
ins_srtdeel_btw
|
|
NUMBER(3),
|
|
ins_srtdeel_eenheid
|
|
VARCHAR2(30),
|
|
ins_srtdeel_dimensie
|
|
NUMBER(1),
|
|
ins_srtdeel_acadsymbol /* ACADSYMBOL vanuit INV_TAB veplaatst */
|
|
VARCHAR2(256),
|
|
ins_srtdeel_acad_tagvalue /* TAGVALUE vanuit ACAD */
|
|
VARCHAR2(30),
|
|
ins_srtdeel_cadlayer
|
|
VARCHAR2(256),
|
|
ins_srtdeel_cadlaylinetype
|
|
VARCHAR2(256),
|
|
ins_srtdeel_cadlaycolor
|
|
NUMBER(3)
|
|
CONSTRAINT ins_c_ins_srtdeel_cadlaycolor CHECK(ins_srtdeel_cadlaycolor > 0 AND
|
|
ins_srtdeel_cadlaycolor < 256),
|
|
ins_srtdeel_opmaat /* INS: niet(0)/wel(1) op maat getekend BES: wel(1)/geen(0) preview tonen voor bestellen */
|
|
NUMBER(1)
|
|
DEFAULT 0,
|
|
ins_srtdeel_binding /* 32=Kan als onderdeel,16=Kan persoonsgebonden,8=Kan afdelingsgebonden,4=Kan terreingebonden,2=Kan werkplekgebonden,1=Kan ruimtegebonden, 63=alles mag */
|
|
NUMBER(3),
|
|
ins_srtdeel_nr
|
|
VARCHAR2(32),
|
|
-- In: PRS_TAB.SRC
|
|
-- prs_bedrijf_key
|
|
-- NUMBER(10)
|
|
-- CONSTRAINT bes_r_prs_bedrijf_key2 REFERENCES prs_bedrijf(prs_bedrijf_key),
|
|
ins_srtdeel_vervaldatum
|
|
DATE,
|
|
ins_srtdeel_image
|
|
VARCHAR2(255),
|
|
ins_srtdeel_veelvoud
|
|
NUMBER(6),
|
|
ins_srtdeel_minimum
|
|
NUMBER(6),
|
|
ins_srtdeel_prsflex /* kan wel(1) of geen (0)persoonsafhankelijke flexkenmerken bevatten */
|
|
NUMBER(1)
|
|
DEFAULT 0,
|
|
ins_srtdeel_uitleenbaar /* Objectsoort kan wel(1) of niet(0) uitgeleend worden */
|
|
NUMBER(1)
|
|
DEFAULT 0,
|
|
ins_srtdeel_voorraadmin
|
|
NUMBER(6),
|
|
ins_srtdeel_voorraadmax
|
|
NUMBER(6),
|
|
CONSTRAINT ins_c_ins_srtdeel_binding CHECK ((ins_srtdeel_module ='INS' AND ins_srtdeel_binding > 0) OR ins_srtdeel_module <> 'INS')
|
|
);
|
|
|
|
/* New table for relations between object types; designed for key management (formerly SLE)*/
|
|
CREATE_TABLE(ins_srtdeel_srtdeel, 0)
|
|
(
|
|
ins_srtdeel_srtdeel_key NUMBER(10) primary key,
|
|
ins_srtdeel_key_1 NUMBER(10) not null references ins_srtdeel,
|
|
ins_srtdeel_key_2 NUMBER(10) not null references ins_srtdeel,
|
|
ins_module VARCHAR2(3),
|
|
CONSTRAINT ins_u_ins_srtdeel_srtdeel UNIQUE (ins_srtdeel_key_1, ins_srtdeel_key_2)
|
|
);
|
|
|
|
|
|
CREATE_TABLE(ins_deel,0)
|
|
(
|
|
ins_deel_key
|
|
NUMBER(10)
|
|
CONSTRAINT ins_k_ins_deel_key PRIMARY KEY,
|
|
ins_deel_module
|
|
VARCHAR2(3)
|
|
DEFAULT 'INS'
|
|
NOT_NULL(ins_deel_module, ins_c_ins_deel_module),
|
|
ins_srtdeel_key
|
|
NUMBER(10)
|
|
NOT_NULL(ins_srtdeel_key, ins_r_deel_srtdeel_key1)
|
|
CONSTRAINT ins_r_deel_srtdeel_key2 REFERENCES ins_srtdeel,
|
|
ins_alg_ruimte_key
|
|
NUMBER(10),
|
|
ins_alg_ruimte_type
|
|
VARCHAR2(1),
|
|
/*
|
|
* INS_ALG_RUIMTE_TYPE heeft de volgende waarden:
|
|
* 'R' : als INS_ALG_RUIMTE_KEY een ruimte aanduidt.
|
|
* 'T' : als INS_ALG_RUIMTE_KEY een terreinsector aanduidt.
|
|
* 'W' : als INS_ALG_RUIMTE_KEY een werkplek aanduidt.
|
|
* 'A' : als INS_ALG_RUIMTE_KEY een afdeling aanduidt.
|
|
* 'P' : als INS_ALG_RUIMTE_KEY een persoon aanduidt.
|
|
* Dit wordt in de B_IU-trigger gecontroleerd.
|
|
*/
|
|
ins_deel_aantal
|
|
NUMBER(6)
|
|
DEFAULT 1
|
|
CONSTRAINT ins_c_ins_deel_aantal2 CHECK
|
|
(ins_deel_aantal is not null and ins_deel_aantal > 0),
|
|
ins_deel_omschrijving
|
|
VARCHAR2(60)
|
|
NOT_NULL(ins_deel_omschrijving, ins_c_ins_deel_omschrijving),
|
|
ins_deel_opmerking
|
|
VARCHAR2(320),
|
|
ins_deel_upper
|
|
VARCHAR2(60),
|
|
ins_deel_aanmaak
|
|
DATE
|
|
DEFAULT SYSDATE
|
|
NOT_NULL(ins_deel_aanmaak, ins_c_ins_deel_aanmaak),
|
|
ins_deel_vervaldatum
|
|
DATE,
|
|
ins_deel_verwijder
|
|
DATE
|
|
DEFAULT NULLDATUM,
|
|
ins_deel_getekend
|
|
DATE
|
|
DEFAULT NULLDATUM,
|
|
ins_discipline_key
|
|
NUMBER(10)
|
|
CONSTRAINT ins_r_ins_deel_discipline2 REFERENCES ins_tab_discipline(ins_discipline_key),
|
|
ins_alg_locatie_key
|
|
NUMBER(10)
|
|
CONSTRAINT ins_r_ins_deel_locatie2 REFERENCES alg_locatie(alg_locatie_key),
|
|
ins_deel_parent_key
|
|
NUMBER(10)
|
|
CONSTRAINT ins_r_ins_deel_key REFERENCES ins_deel(ins_deel_key),
|
|
ins_deel_omtrek
|
|
NUMBER(8,2),
|
|
ins_deel_oppervlak
|
|
NUMBER(8,2),
|
|
ins_deel_dwgx
|
|
NUMBER(16,3),
|
|
ins_deel_dwgy
|
|
NUMBER(16,3),
|
|
ins_deel_dwgz
|
|
NUMBER(16,3),
|
|
ins_deel_dwgrotatie
|
|
NUMBER(5,1),
|
|
ins_deel_dwgschaal
|
|
NUMBER(5,2),
|
|
ins_deel_x
|
|
NUMBER(16,6),
|
|
ins_deel_y
|
|
NUMBER(16,6),
|
|
ins_alg_ruimte_key_org
|
|
NUMBER(10),
|
|
ins_alg_ruimte_type_org
|
|
VARCHAR2(1),
|
|
ins_deel_state
|
|
VARCHAR2(128),
|
|
CONSTRAINT ins_u_ins_deel_upper2 UNIQUE(ins_alg_locatie_key,
|
|
ins_deel_parent_key, ins_srtdeel_key, ins_deel_upper,
|
|
ins_deel_verwijder)
|
|
);
|
|
|
|
/* welke inspecties, controles etc gelden er voor objecten van deze soorten */
|
|
CREATE_TABLE(ins_srtcontrole, 0)
|
|
(
|
|
ins_srtcontrole_key
|
|
NUMBER(10)
|
|
PRIMARY KEY,
|
|
ins_srtinstallatie_key
|
|
NUMBER(10),
|
|
ins_srtcontrole_niveau
|
|
VARCHAR2(1)
|
|
CONSTRAINT ins_c_srtcontrole_niveau1 CHECK
|
|
(ins_srtcontrole_niveau IS NOT NULL AND (ins_srtcontrole_niveau IN( 'D', 'G', 'S'))),
|
|
ins_srtcontrole_omschrijving
|
|
VARCHAR2(60)
|
|
NOT_NULL(ins_srtcontrole_omschrijving, ins_c_srtcontrole_omschrijving),
|
|
ins_srtcontrole_info
|
|
VARCHAR2(320),
|
|
ins_srtcontrole_periode /* in dagen */
|
|
NUMBER(4)
|
|
NOT_NULL(ins_srtcontrole_periode, ins_c_ins_srtcontrole_periode)
|
|
);
|
|
|
|
CREATE_TABLE(ins_controlemode, 0)
|
|
(
|
|
ins_controlemode_key
|
|
NUMBER(10)
|
|
PRIMARY KEY,
|
|
ins_controlemode_oms
|
|
VARCHAR(30 CHAR)
|
|
NOT_NULL(ins_controlemode_oms, ins_c_controlemode_oms),
|
|
ins_controlemode_opmerking
|
|
VARCHAR(2000 CHAR),
|
|
CONSTRAINT ins_u_ins_controlemode_oms UNIQUE (ins_controlemode_oms)
|
|
);
|
|
|
|
|
|
/* wanneer zijn de inspecties uitgevoerd */
|
|
CREATE_TABLE(ins_deelsrtcontrole, 0)
|
|
(
|
|
ins_deelsrtcontrole_key
|
|
NUMBER(10)
|
|
PRIMARY KEY,
|
|
ins_deel_key
|
|
NUMBER(10)
|
|
NOT NULL REFERENCES ins_deel ON DELETE CASCADE,
|
|
ins_srtcontrole_key
|
|
NUMBER(10)
|
|
NOT NULL REFERENCES ins_srtcontrole ON DELETE CASCADE,
|
|
ins_deelsrtcontrole_datum
|
|
DATE
|
|
NOT NULL,
|
|
ins_controlemode_key
|
|
NUMBER(10)
|
|
NOT NULL REFERENCES ins_controlemode ON DELETE SET NULL,
|
|
ins_deelsrtcontrole_opmerking
|
|
VARCHAR(2000 CHAR),
|
|
// Note: this column is defined in PRS_TAB.SRC
|
|
// prs_perslid_key
|
|
// NUMBER(10)
|
|
// CONSTRAINT ins_r_prs_perslid_key REFERENCES prs_perslid(prs_perslid_key) ON DELETE SET NULL
|
|
CONSTRAINT ins_u_ins_deelsrtcontrole UNIQUE (ins_deel_key, ins_srtcontrole_key, ins_deelsrtcontrole_datum)
|
|
);
|
|
|
|
CREATE_TABLE(ins_import,0)
|
|
(
|
|
ins_import_key
|
|
NUMBER(10)
|
|
CONSTRAINT ins_k_ins_import_key PRIMARY KEY,
|
|
alg_ruimte_acadkey
|
|
VARCHAR2(10),
|
|
ins_srtdeel_acadsymbol
|
|
VARCHAR2(8),
|
|
ins_srtdeel_acad_tagvalue
|
|
VARCHAR2(30),
|
|
ins_import_aanmaak
|
|
DATE
|
|
DEFAULT SYSDATE
|
|
CONSTRAINT ins_c_ins_import_aanmaak NOT NULL,
|
|
ins_import_verwijder
|
|
DATE
|
|
DEFAULT NULLDATUM
|
|
);
|
|
|
|
/* Tabellen voor INS_KENMERK-zaken */
|
|
|
|
CREATE_TABLE(ins_srtkenmerk, 0)
|
|
(
|
|
ins_srtkenmerk_key
|
|
NUMBER(10)
|
|
CONSTRAINT ins_k_ins_srtkenmerk_key PRIMARY KEY,
|
|
ins_srtkenmerk_omschrijving
|
|
VARCHAR2(50)
|
|
NOT_NULL(ins_srtkenmerk_omschrijving, ins_c_ins_srtkenmerk_omschr),
|
|
ins_srtkenmerk_upper
|
|
VARCHAR2(50)
|
|
NOT_NULL(ins_srtkenmerk_upper, ins_c_ins_srtkenmerk_upper),
|
|
ins_srtkenmerk_dimensie
|
|
VARCHAR2(10),
|
|
ins_srtkenmerk_kenmerktype
|
|
VARCHAR2(1)
|
|
CONSTRAINT ins_c_ins_srtkenmerk_kenmtype CHECK(ins_srtkenmerk_kenmerktype IN('C', 'N', 'D', 'R', 'X', 'L', 'Q','F','M','E','S', 'l')),
|
|
ins_srtkenmerk_systeem
|
|
NUMBER(1)
|
|
CONSTRAINT ins_c_ins_srtkenmerk_systeem CHECK(ins_srtkenmerk_systeem IS NULL
|
|
OR ins_srtkenmerk_systeem = 1),
|
|
ins_srtkenmerk_lengte
|
|
NUMBER(4)
|
|
CONSTRAINT ins_c_ins_srtkenmerk_lengte CHECK(ins_srtkenmerk_lengte >= 1
|
|
AND ins_srtkenmerk_lengte <= 4000),
|
|
ins_srtkenmerk_dec
|
|
NUMBER(3),
|
|
ins_srtkenmerk_nmin
|
|
NUMBER(10),
|
|
ins_srtkenmerk_nmax
|
|
NUMBER(10),
|
|
fac_kenmerkdomein_key
|
|
NUMBER(10)
|
|
CONSTRAINT fac_r_kenmerkdomein_key1 REFERENCES fac_kenmerkdomein(fac_kenmerkdomein_key),
|
|
ins_srtkenmerk_aanmaak
|
|
DATE
|
|
DEFAULT SYSDATE
|
|
CONSTRAINT ins_c_ins_srtkenmerk_aanm NOT NULL,
|
|
ins_srtkenmerk_verwijder
|
|
DATE
|
|
DEFAULT NULLDATUM,
|
|
CONSTRAINT ins_u_ins_srtkenmerk_upper UNIQUE (ins_srtkenmerk_upper, ins_srtkenmerk_verwijder),
|
|
CONSTRAINT ins_c_ins_srtkenmerk_max_min CHECK(ins_srtkenmerk_nmax >= ins_srtkenmerk_nmin),
|
|
CONSTRAINT ins_c_ins_srtkenmerk_dec CHECK(ins_srtkenmerk_dec >= 0
|
|
AND ins_srtkenmerk_dec <= ins_srtkenmerk_lengte)
|
|
);
|
|
|
|
CREATE_TABLE(ins_kenmerk, 0)
|
|
(
|
|
ins_kenmerk_key
|
|
NUMBER(10)
|
|
CONSTRAINT ins_k_ins_kenmerk_key PRIMARY KEY,
|
|
ins_srtkenmerk_key
|
|
NUMBER(10)
|
|
NOT_NULL(ins_srtkenmerk_key, ins_r_ins_srtkenmerk_key1)
|
|
CONSTRAINT ins_r_ins_srtkenmerk_key2 REFERENCES ins_srtkenmerk(ins_srtkenmerk_key),
|
|
ins_srtinstallatie_key
|
|
NUMBER(10),
|
|
ins_kenmerk_niveau
|
|
VARCHAR2(1)
|
|
/* NOT_NULL(ins_kenmerk_niveau, ins_c_ins_kenmerk_niveau1) */
|
|
CONSTRAINT ins_c_ins_kenmerk_niveau2 CHECK
|
|
(ins_kenmerk_niveau is not null and (ins_kenmerk_niveau IN( 'D', 'G', 'S'))),
|
|
ins_kenmerk_bewerkniveau
|
|
VARCHAR2(1) DEFAULT 'D' NOT NULL
|
|
CONSTRAINT ins_c_ins_kenmerk_bewerk CHECK(ins_kenmerk_bewerkniveau IN ('D', 'S')),
|
|
ins_kenmerk_verplicht
|
|
NUMBER(1),
|
|
ins_kenmerk_toonbaar
|
|
NUMBER(1)
|
|
CONSTRAINT ins_c_ins_kenmerk_toonbaar CHECK(ins_kenmerk_toonbaar IS NULL
|
|
OR ins_kenmerk_toonbaar = 1),
|
|
ins_kenmerk_meetwaarde
|
|
NUMBER(1)
|
|
CONSTRAINT ins_c_ins_kenmerk_meetwaarde CHECK(ins_kenmerk_meetwaarde IS NULL
|
|
OR ins_kenmerk_meetwaarde = 1),
|
|
ins_kenmerk_volgnummer
|
|
NUMBER(3),
|
|
ins_kenmerk_locatiekolom
|
|
VARCHAR2(30),
|
|
ins_kenmerk_uniek
|
|
NUMBER(1),
|
|
ins_kenmerk_regexp
|
|
VARCHAR2(255),
|
|
ins_kenmerk_default
|
|
VARCHAR2(255),
|
|
ins_kenmerk_hint
|
|
VARCHAR2(255 CHAR),
|
|
ins_kenmerk_aanmaak
|
|
DATE
|
|
DEFAULT SYSDATE
|
|
CONSTRAINT ins_c_ins_kenmerk_aanmaak NOT NULL,
|
|
ins_kenmerk_verwijder
|
|
DATE
|
|
DEFAULT NULLDATUM,
|
|
CONSTRAINT ins_r_ins_srtinstallatie_key1 CHECK(ins_srtinstallatie_key IS NOT NULL
|
|
OR ins_kenmerk_niveau = 'D'),
|
|
CONSTRAINT ins_u_ins_kenmerk UNIQUE(ins_srtkenmerk_key, ins_srtinstallatie_key, ins_kenmerk_niveau, ins_kenmerk_verwijder)
|
|
);
|
|
|
|
/* De waarde mag in de tabel NULL zijn, maar om de database niet
|
|
* overbodig te vullen worden de NULL-records after-statement weer verwijderd.
|
|
*/
|
|
CREATE_TABLE(ins_kenmerkdeel,0)
|
|
( ins_kenmerkdeel_key
|
|
NUMBER(10)
|
|
CONSTRAINT ins_k_ins_kenmerkdeel_key PRIMARY KEY,
|
|
ins_deel_key // Kan ook naar ins_srtdeel wijzen
|
|
NUMBER(10)
|
|
NOT_NULL(ins_deel_key, ins_r_ins_kenmerk_deel_key1),
|
|
ins_kenmerk_key
|
|
NUMBER(10)
|
|
NOT_NULL(ins_kenmerk_key, ins_r_ins_kenmerk_key1)
|
|
CONSTRAINT ins_r_ins_kenmerk_key2 REFERENCES ins_kenmerk(ins_kenmerk_key),
|
|
ins_kenmerkdeel_waarde
|
|
VARCHAR2(4000),
|
|
ins_kenmerkdeel_aanmaak
|
|
DATE
|
|
DEFAULT SYSDATE
|
|
CONSTRAINT ins_c_ins_kenmerkdeel_aanmaak NOT NULL,
|
|
ins_kenmerkdeel_verwijder
|
|
DATE
|
|
DEFAULT NULLDATUM,
|
|
CONSTRAINT ins_u_ins_kenmerkdeel UNIQUE(ins_kenmerk_key, ins_deel_key, ins_kenmerkdeel_verwijder)
|
|
// Kan ook naar ins_srtdeel wijzen CONSTRAINT ins_r_kenmerk_deel FOREIGN KEY (ins_deel_key) REFERENCES ins_deel(ins_deel_key) ON DELETE CASCADE
|
|
);
|
|
|
|
/* De velden aanmaak en verwijder zijn hier toegevoegd om het mechanisme van
|
|
* CASCADE verwijderen in triggers op te kunnen lossen. In de after-statement-trigger
|
|
* van INS_DEELKOPPELING worden de logisch-verwijderde deelkoppelingen echt verwijderd.
|
|
*/
|
|
CREATE_TABLE(ins_deelkoppeling,0)
|
|
(
|
|
ins_deelkoppeling_key
|
|
NUMBER(10)
|
|
CONSTRAINT ins_k_ins_deelkoppeling_key PRIMARY KEY,
|
|
ins_deelkoppeling_van_key
|
|
NUMBER(10)
|
|
NOT_NULL(ins_deelkoppeling_van_key, ins_r_deelkoppeling_van_key1)
|
|
CONSTRAINT ins_r_deelkoppeling_van_key2 REFERENCES ins_deel(ins_deel_key),
|
|
ins_deelkoppeling_naar_key
|
|
NUMBER(10)
|
|
NOT_NULL(ins_deelkoppeling_naar_key, ins_r_deelkoppeling_naar_key1)
|
|
CONSTRAINT ins_r_deelkoppeling_naar_key2 REFERENCES ins_deel(ins_deel_key),
|
|
ins_deelkoppeling_omschrijving
|
|
VARCHAR2(50 CHAR),
|
|
ins_deelkoppeling_aanmaak
|
|
DATE
|
|
DEFAULT SYSDATE
|
|
NOT_NULL(ins_deelkoppeling_aanmaak, ins_c_deelkoppeling_aanmaak),
|
|
ins_deelkoppeling_verwijder
|
|
DATE
|
|
DEFAULT NULLDATUM,
|
|
CONSTRAINT ins_c_deelkoppeling_van_naar CHECK(ins_deelkoppeling_van_key <> ins_deelkoppeling_naar_key),
|
|
CONSTRAINT ins_u_deelkoppeling_van_naar UNIQUE(ins_deelkoppeling_van_key, ins_deelkoppeling_naar_key)
|
|
);
|
|
|
|
|
|
CREATE_TABLE(ins_compositie, 0)
|
|
(
|
|
ins_compositie_key
|
|
NUMBER(10)
|
|
CONSTRAINT ins_k_ins_compositie_key PRIMARY KEY,
|
|
ins_compositie_naam
|
|
VARCHAR2(10)
|
|
NOT_NULL(ins_compositie_naam, ins_c_ins_compositie_naam),
|
|
ins_compositie_upper
|
|
VARCHAR2(10)
|
|
NOT_NULL(ins_compositie_upper, ins_c_ins_compositie_upper),
|
|
ins_compositie_omschrijving
|
|
VARCHAR2(255),
|
|
ins_compositie_aanmaak
|
|
DATE
|
|
DEFAULT SYSDATE
|
|
NOT_NULL(ins_compositie_aanmaak, ins_c_ins_compositie_aanmaak),
|
|
ins_compositie_verwijder
|
|
DATE
|
|
DEFAULT NULLDATUM,
|
|
CONSTRAINT ins_u_ins_compositie_upper UNIQUE(ins_compositie_upper, ins_compositie_verwijder)
|
|
);
|
|
|
|
|
|
CREATE_TABLE(ins_srtdeel_compositie,0)
|
|
(
|
|
ins_srtdeel_comp_key
|
|
NUMBER(10)
|
|
CONSTRAINT ins_k_ins_srtdeel_comp_key PRIMARY KEY,
|
|
ins_srtdeel_key
|
|
NUMBER(10)
|
|
NOT_NULL(ins_srtdeel_key, ins_r_ins_srtdeel_key1)
|
|
CONSTRAINT ins_r_ins_srtdeel_key2 REFERENCES ins_srtdeel(ins_srtdeel_key),
|
|
ins_compositie_key
|
|
NUMBER(10)
|
|
NOT_NULL(ins_compositie_key, ins_r_ins_compositie_key)
|
|
CONSTRAINT ins_r_ins_compositie_key2 REFERENCES ins_compositie(ins_compositie_key),
|
|
ins_srtdeel_comp_offsetX
|
|
NUMBER(6,2)
|
|
DEFAULT 0,
|
|
ins_srtdeel_comp_offsetY
|
|
NUMBER(6,2)
|
|
DEFAULT 0,
|
|
ins_srtdeel_comp_offsetR
|
|
NUMBER(6,2)
|
|
DEFAULT 0,
|
|
ins_srtdeel_comp_aanmaak
|
|
DATE
|
|
DEFAULT SYSDATE
|
|
NOT_NULL(ins_srtdeel_comp_aanmaak, ins_c_ins_srtdeel_comp_aanmaak),
|
|
ins_srtdeel_comp_verwijder
|
|
DATE
|
|
DEFAULT NULLDATUM
|
|
);
|
|
|
|
CREATE_TABLE(ins_verbinding,0)
|
|
(
|
|
ins_verbinding_sessionid
|
|
NUMBER(10),
|
|
ins_deel_key
|
|
NUMBER(10),
|
|
ins_verbinding_level
|
|
NUMBER(3),
|
|
CONSTRAINT ins_u_ins_verbinding_key UNIQUE(ins_verbinding_sessionid, ins_deel_key)
|
|
|
|
);
|
|
|
|
CREATE_TABLE(ins_disc_params,0)
|
|
(
|
|
ins_disc_params_key NUMBER(10),
|
|
ins_discipline_key NUMBER(10),
|
|
ins_disc_params_cadlayers VARCHAR2(500),
|
|
ins_disc_params_type NUMBER(2), /* bitwise: 1=binnen, 2=buiten 1+2=binnen en buiten */
|
|
CONSTRAINT ins_c_ins_discipline_key CHECK (ins_discipline_key IS NOT NULL),
|
|
CONSTRAINT ins_k_res_disc_params_key PRIMARY KEY (ins_disc_params_key),
|
|
CONSTRAINT ins_r_ins_discipine_key FOREIGN KEY (ins_discipline_key)
|
|
REFERENCES ins_tab_discipline (ins_discipline_key)
|
|
);
|
|
|
|
REGISTERONCE('$Workfile: INS_TAB.SRC $','$Revision$')
|
|
|
|
#endif // INS
|