Files
Database/INS/INS_TAB.SRC
2012-05-06 12:54:48 +00:00

679 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),
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
/* NOT_NULL(ins_deel_aantal, ins_c_ins_deel_aantal1) */
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)
/* I.o.m. MB is deze constraint verwijderd
NOT_NULL(ins_discipline_key, ins_r_ins_deel_discipline1) */
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),
/* 03/09/1988/BIV - # 1993 */
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),
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),
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')),
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_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_deel_key
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),
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