FSN#14942

svn path=/Database/trunk/; revision=9933
This commit is contained in:
Peter Feij
2008-11-28 15:06:56 +00:00
parent 54d810417e
commit dd46357de1
5 changed files with 94 additions and 38 deletions

View File

@@ -1,14 +1,15 @@
#ifdef PRJ
/* PRJ_SEQ.SRC
*
* $Revision: 5 $
* $Modtime: 22-06-06 11:46 $
* $Revision: 6 $
* $Modtime: 6-11-08 14:47 $
*/
CREATE SEQUENCE prj_s_prj_scenario_key MINVALUE 1 NOCACHE;
CREATE SEQUENCE prj_s_prj_scenario_note_key MINVALUE 1 NOCACHE;
CREATE SEQUENCE prj_s_prj_ruimte_key MINVALUE 1 NOCACHE;
CREATE SEQUENCE prj_s_prj_werkplek_key MINVALUE 1 NOCACHE;
CREATE SEQUENCE prj_s_prj_ruimteafdeling_key MINVALUE 1 NOCACHE;
CREATE SEQUENCE prj_s_prj_perslidwerkplek_key MINVALUE 1 NOCACHE;
CREATE SEQUENCE prj_s_prj_deel_key MINVALUE 1 NOCACHE;
CREATE SEQUENCE prj_s_prj_selectie_key MINVALUE 1;

View File

@@ -1,8 +1,8 @@
#ifdef PRJ
/* PRJ_TAB.SRC
*
* $Revision: 23 $
* $Modtime: 25-06-08 17:30 $
* $Revision: 24 $
* $Modtime: 19-11-08 14:33 $
*/
#include "comsql.h"
@@ -137,6 +137,36 @@ CREATE_TABLE(prj_werkplek, 0)
CONSTRAINT prj_u_prj_werkplek_volgnr UNIQUE(prj_ruimte_key, prj_werkplek_volgnr, prj_werkplek_verwijder)
);
CREATE_TABLE(prj_ruimteafdeling,0)
(
prj_ruimteafdeling_key
NUMBER(10)
CONSTRAINT prj_k_prs_ruimteafdeling_key PRIMARY KEY,
prs_ruimteafdeling_key
NUMBER(10)
CONSTRAINT prj_r_prs_ruimteafd_key REFERENCES prs_ruimteafdeling(prs_ruimteafdeling_key) ON DELETE CASCADE,
prs_afdeling_key
NUMBER(10)
CONSTRAINT prj_c_prs_afdeling_key3 CHECK(prs_afdeling_key IS NOT NULL)
CONSTRAINT prj_r_prs_ra_afdeling_key REFERENCES prs_afdeling(prs_afdeling_key) ON DELETE CASCADE,
prj_ruimte_key
NUMBER(10)
CONSTRAINT prj_c_alg_ruimte_key CHECK(prj_ruimte_key IS NOT NULL)
CONSTRAINT prj_r_alg_ruimte_key1 REFERENCES prj_ruimte(prj_ruimte_key) ON DELETE CASCADE,
prj_ruimteafdeling_bezetting
NUMBER(3)
DEFAULT 100
CONSTRAINT prj_c_prs_ruimteafd_bezetting2 CHECK
(prj_ruimteafdeling_bezetting is not null AND prj_ruimteafdeling_bezetting BETWEEN 0 AND 100),
prj_ruimteafdeling_aanmaak
DATE
DEFAULT SYSDATE,
prj_ruimteafdeling_verwijder
DATE
DEFAULT NULLDATUM,
CONSTRAINT prj_u_ruimteafdeling UNIQUE(prs_afdeling_key, prj_ruimte_key, prj_ruimteafdeling_verwijder)
CREATE_TABLE(prj_perslidwerkplek, 0)
(
prj_perslidwerkplek_key
@@ -147,10 +177,11 @@ CREATE_TABLE(prj_perslidwerkplek, 0)
CONSTRAINT prj_r_prs_perslidwp_key REFERENCES prs_perslidwerkplek(prs_perslidwerkplek_key) ON DELETE CASCADE,
prs_perslid_key
NUMBER(10)
NOT_NULL (prs_perslid_key, prj_c_prs_perslid_key)
CONSTRAINT prj_r_prs_perslid_key REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE,
prs_afdeling_key
NUMBER(10)
CONSTRAINT prj_r_prs_pw_afdeling_key REFERENCES prs_afdeling(prs_afdeling_key) ON DELETE CASCADE,
// prs_afdeling_key
// NUMBER(10)
// CONSTRAINT prj_r_prs_pw_afdeling_key REFERENCES prs_afdeling(prs_afdeling_key) ON DELETE CASCADE,
prj_werkplek_key
NUMBER(10)
CONSTRAINT prj_r_prj_werkplek_key REFERENCES prj_werkplek(prj_werkplek_key) ON DELETE CASCADE,
@@ -166,11 +197,11 @@ CREATE_TABLE(prj_perslidwerkplek, 0)
prj_perslidwerkplek_verwijder
DATE
DEFAULT NULLDATUM,
CONSTRAINT prj_c_prj_perslidwp_koppeling CHECK(
(prs_perslid_key IS NULL AND prs_afdeling_key IS NOT NULL) OR
(prs_afdeling_key IS NULL AND prs_perslid_key IS NOT NULL)
),
CONSTRAINT prj_u_perslidwerkplek UNIQUE(prs_perslid_key, prs_afdeling_key, prj_werkplek_key,prj_perslidwerkplek_verwijder)
// CONSTRAINT prj_c_prj_perslidwp_koppeling CHECK(
// (prs_perslid_key IS NULL AND prs_afdeling_key IS NOT NULL) OR
// (prs_afdeling_key IS NULL AND prs_perslid_key IS NOT NULL)
// ),
CONSTRAINT prj_u_perslidwerkplek UNIQUE(prs_perslid_key, prj_werkplek_key, prj_perslidwerkplek_verwijder)
);
/* Noot: waar in de real world met een gecombineerde key+type wordt gewerkt, hebben we hier twee aparte verwijzingen