Умные вы все такие, я же сказал - нет у меня этой упавшей БД. А все рекомендации я знаю уже лет 6.
Код: Выделить всё
CREATE TABLE REGROD (
REC_NO "Int_1" NOT NULL /* "Int_1" = INTEGER DEFAULT 1 NOT NULL */,
BOOK "IntSmall_0" DEFAULT 0 NOT NULL /* "IntSmall_0" = SMALLINT DEFAULT 0 NOT NULL */,
NAKT "Int_1" DEFAULT 0 NOT NULL /* "Int_1" = INTEGER DEFAULT 1 NOT NULL */,
ADOP "IntSmall_0" DEFAULT 0 NOT NULL /* "IntSmall_0" = SMALLINT DEFAULT 0 NOT NULL */,
BUKA "Char1" DEFAULT '' NOT NULL COLLATE PXW_CYRL /* "Char1" = CHAR(1) DEFAULT '' NOT NULL */,
DAKT "DateToday" DEFAULT 'TODAY' /* "DateToday" = DATE DEFAULT 'TODAY' NOT NULL */,
FAMB FIO_TEXT NOT NULL COLLATE PXW_CYRL /* FIO_TEXT = VARCHAR(30) DEFAULT '' NOT NULL */,
NAMB FIO_TEXT NOT NULL COLLATE PXW_CYRL /* FIO_TEXT = VARCHAR(30) DEFAULT '' NOT NULL */,
OTB FIO_TEXT NOT NULL COLLATE PXW_CYRL /* FIO_TEXT = VARCHAR(30) DEFAULT '' NOT NULL */,
POL "IntSmall_1" DEFAULT 1 NOT NULL /* "IntSmall_1" = SMALLINT DEFAULT 1 NOT NULL */,
DATAB "DateToday" DEFAULT 'TODAY' NOT NULL /* "DateToday" = DATE DEFAULT 'TODAY' NOT NULL */,
MRB_STA "Int_1" NOT NULL /* "Int_1" = INTEGER DEFAULT 1 NOT NULL */,
MRB_OBL "Int_1" NOT NULL /* "Int_1" = INTEGER DEFAULT 1 NOT NULL */,
MRB_RAY "Int_1" NOT NULL /* "Int_1" = INTEGER DEFAULT 1 NOT NULL */,
MRB_NPR "Int_1" NOT NULL /* "Int_1" = INTEGER DEFAULT 1 NOT NULL */,
MRB_TEXT LINETEXT100 NOT NULL COLLATE PXW_CYRL /* LINETEXT100 = VARCHAR(100) DEFAULT '' NOT NULL */,
N1 "IntSmall_1" DEFAULT 1 NOT NULL /* "IntSmall_1" = SMALLINT DEFAULT 1 NOT NULL */,
N3 "IntSmall_1" DEFAULT 1 NOT NULL /* "IntSmall_1" = SMALLINT DEFAULT 1 NOT NULL */,
N2 "IntSmall_0" DEFAULT 0 NOT NULL /* "IntSmall_0" = SMALLINT DEFAULT 0 NOT NULL */,
N4 "IntSmall_1" DEFAULT 1 NOT NULL /* "IntSmall_1" = SMALLINT DEFAULT 1 NOT NULL */,
PD_BABY "Char5" DEFAULT '' NOT NULL COLLATE PXW_CYRL /* "Char5" = CHAR(5) DEFAULT '' NOT NULL */,
PD_MOTHER "Char5" DEFAULT '' NOT NULL COLLATE PXW_CYRL /* "Char5" = CHAR(5) DEFAULT '' NOT NULL */,
PDEAD_TEXT LINETEXT300 NOT NULL COLLATE PXW_CYRL /* LINETEXT300 = VARCHAR(300) DEFAULT '' NOT NULL */,
VID_DOC_R "Int_1" DEFAULT 1 NOT NULL /* "Int_1" = INTEGER DEFAULT 1 NOT NULL */,
TEXT_DOC_R LINETEXT100 NOT NULL COLLATE PXW_CYRL /* LINETEXT100 = VARCHAR(100) DEFAULT '' NOT NULL */,
DATA_DOC_R "DateNull" DEFAULT 'TODAY' /* "DateNull" = DATE DEFAULT null */,
SUD LINETEXT100 NOT NULL COLLATE PXW_CYRL /* LINETEXT100 = VARCHAR(100) DEFAULT '' NOT NULL */,
DATA_SUD "DateNull" /* "DateNull" = DATE DEFAULT null */,
FAMF FIO_TEXT NOT NULL COLLATE PXW_CYRL /* FIO_TEXT = VARCHAR(30) DEFAULT '' NOT NULL */,
NAMF FIO_TEXT NOT NULL COLLATE PXW_CYRL /* FIO_TEXT = VARCHAR(30) DEFAULT '' NOT NULL */,
OTF FIO_TEXT NOT NULL COLLATE PXW_CYRL /* FIO_TEXT = VARCHAR(30) DEFAULT '' NOT NULL */,
DATAF "DateNull" /* "DateNull" = DATE DEFAULT null */,
DATAF_TEXT LINETEXT20 COLLATE PXW_CYRL /* LINETEXT20 = VARCHAR(20) */,
VOZF "IntSmall_0" DEFAULT 0 NOT NULL /* "IntSmall_0" = SMALLINT DEFAULT 0 NOT NULL */,
GRAZF "IntSmall_1" DEFAULT 1 NOT NULL /* "IntSmall_1" = SMALLINT DEFAULT 1 NOT NULL */,
NACF "IntSmall_1" DEFAULT 1 NOT NULL /* "IntSmall_1" = SMALLINT DEFAULT 1 NOT NULL */,
MRF_STA "Int_0" NOT NULL /* "Int_0" = INTEGER DEFAULT 0 NOT NULL */,
MRF_OBL "Int_1" NOT NULL /* "Int_1" = INTEGER DEFAULT 1 NOT NULL */,
MRF_RAY "Int_1" NOT NULL /* "Int_1" = INTEGER DEFAULT 1 NOT NULL */,
MRF_NPR "Int_0" NOT NULL /* "Int_0" = INTEGER DEFAULT 0 NOT NULL */,
MRF_TEXT LINETEXT100 NOT NULL COLLATE PXW_CYRL /* LINETEXT100 = VARCHAR(100) DEFAULT '' NOT NULL */,
MGF_STA "Int_1" NOT NULL /* "Int_1" = INTEGER DEFAULT 1 NOT NULL */,
MGF_OBL "Int_1" NOT NULL /* "Int_1" = INTEGER DEFAULT 1 NOT NULL */,
MGF_RAY "Int_1" NOT NULL /* "Int_1" = INTEGER DEFAULT 1 NOT NULL */,
MGF_NPR "Int_0" NOT NULL /* "Int_0" = INTEGER DEFAULT 0 NOT NULL */,
MGF_STR "Int_0" NOT NULL /* "Int_0" = INTEGER DEFAULT 0 NOT NULL */,
MGF_HOM "Int_0" NOT NULL /* "Int_0" = INTEGER DEFAULT 0 NOT NULL */,
MGF_AP VCHAR_15 NOT NULL COLLATE PXW_CYRL /* VCHAR_15 = VARCHAR(15) DEFAULT '' NOT NULL */,
MGF_TEXT LINETEXT100 NOT NULL COLLATE PXW_CYRL /* LINETEXT100 = VARCHAR(100) DEFAULT '' NOT NULL */,
DOCF_COD "IntSmall_1" NOT NULL /* "IntSmall_1" = SMALLINT DEFAULT 1 NOT NULL */,
DOCF_SER LINE_TEXT12 COLLATE PXW_CYRL /* LINE_TEXT12 = VARCHAR(12) DEFAULT NULL */,
DOCF_N DOC_DOMAIN COLLATE PXW_CYRL /* DOC_DOMAIN = VARCHAR(20) DEFAULT NULL */,
DOCF_DV "DateNull" /* "DateNull" = DATE DEFAULT null */,
DOCF_TEXT LINETEXT100 NOT NULL COLLATE PXW_CYRL /* LINETEXT100 = VARCHAR(100) DEFAULT '' NOT NULL */,
FAMM FIO_TEXT COLLATE PXW_CYRL /* FIO_TEXT = VARCHAR(30) DEFAULT '' NOT NULL */,
NAMM FIO_TEXT COLLATE PXW_CYRL /* FIO_TEXT = VARCHAR(30) DEFAULT '' NOT NULL */,
OTM FIO_TEXT COLLATE PXW_CYRL /* FIO_TEXT = VARCHAR(30) DEFAULT '' NOT NULL */,
DATAM "DateNull" /* "DateNull" = DATE DEFAULT null */,
DATAM_TEXT LINETEXT20 COLLATE PXW_CYRL /* LINETEXT20 = VARCHAR(20) */,
VOZM "IntSmall_0" DEFAULT 0 NOT NULL /* "IntSmall_0" = SMALLINT DEFAULT 0 NOT NULL */,
GRAZM "IntSmall_1" DEFAULT 1 NOT NULL /* "IntSmall_1" = SMALLINT DEFAULT 1 NOT NULL */,
NACM "IntSmall_1" DEFAULT 1 NOT NULL /* "IntSmall_1" = SMALLINT DEFAULT 1 NOT NULL */,
MRM_STA "Int_1" NOT NULL /* "Int_1" = INTEGER DEFAULT 1 NOT NULL */,
MRM_OBL "Int_1" NOT NULL /* "Int_1" = INTEGER DEFAULT 1 NOT NULL */,
MRM_RAY "Int_1" NOT NULL /* "Int_1" = INTEGER DEFAULT 1 NOT NULL */,
MRM_NPR "Int_0" NOT NULL /* "Int_0" = INTEGER DEFAULT 0 NOT NULL */,
MRM_TEXT LINETEXT100 COLLATE PXW_CYRL /* LINETEXT100 = VARCHAR(100) DEFAULT '' NOT NULL */,
MGM_STA "Int_1" NOT NULL /* "Int_1" = INTEGER DEFAULT 1 NOT NULL */,
MGM_OBL "Int_1" NOT NULL /* "Int_1" = INTEGER DEFAULT 1 NOT NULL */,
MGM_RAY "Int_1" NOT NULL /* "Int_1" = INTEGER DEFAULT 1 NOT NULL */,
MGM_NPR "Int_0" NOT NULL /* "Int_0" = INTEGER DEFAULT 0 NOT NULL */,
MGM_STR "Int_0" NOT NULL /* "Int_0" = INTEGER DEFAULT 0 NOT NULL */,
MGM_HOM "Int_0" NOT NULL /* "Int_0" = INTEGER DEFAULT 0 NOT NULL */,
MGM_AP VCHAR_15 NOT NULL COLLATE PXW_CYRL /* VCHAR_15 = VARCHAR(15) DEFAULT '' NOT NULL */,
MGM_TEXT LINETEXT100 COLLATE PXW_CYRL /* LINETEXT100 = VARCHAR(100) DEFAULT '' NOT NULL */,
DOCM_COD "IntSmall_1" NOT NULL /* "IntSmall_1" = SMALLINT DEFAULT 1 NOT NULL */,
DOCM_SER LINE_TEXT12 COLLATE PXW_CYRL /* LINE_TEXT12 = VARCHAR(12) DEFAULT NULL */,
DOCM_N DOC_DOMAIN COLLATE PXW_CYRL /* DOC_DOMAIN = VARCHAR(20) DEFAULT NULL */,
DOCM_DV "DateNull" /* "DateNull" = DATE DEFAULT null */,
DOCM_TEXT LINETEXT100 NOT NULL COLLATE PXW_CYRL /* LINETEXT100 = VARCHAR(100) DEFAULT '' NOT NULL */,
SVED "IntSmall_1" DEFAULT 1 NOT NULL /* "IntSmall_1" = SMALLINT DEFAULT 1 NOT NULL */,
SVEDTEXT LINETEXT100 COLLATE PXW_CYRL /* LINETEXT100 = VARCHAR(100) DEFAULT '' NOT NULL */,
NOMER_ZBRAKA "Int_0" NOT NULL /* "Int_0" = INTEGER DEFAULT 0 NOT NULL */,
DATA_ZBRAKA "DateNull" /* "DateNull" = DATE DEFAULT null */,
FIOZ LINETEXT300 COLLATE PXW_CYRL /* LINETEXT300 = VARCHAR(300) DEFAULT '' NOT NULL */,
NSVID "Int_0" DEFAULT 0 NOT NULL /* "Int_0" = INTEGER DEFAULT 0 NOT NULL */,
PRIM LINETEXT600 COLLATE PXW_CYRL /* LINETEXT600 = VARCHAR(600) DEFAULT '' NOT NULL */,
SERIA "Char12" DEFAULT '' NOT NULL COLLATE PXW_CYRL /* "Char12" = CHAR(12) DEFAULT '' NOT NULL */,
ZAGSRAY "Int_0" DEFAULT 0 NOT NULL /* "Int_0" = INTEGER DEFAULT 0 NOT NULL */,
DATAB_ "DateNull" /* "DateNull" = DATE DEFAULT null */,
FAMB_ FIO_TEXT_ COLLATE PXW_CYRL /* FIO_TEXT_ = VARCHAR(30) */,
NAMB_ FIO_TEXT_ COLLATE PXW_CYRL /* FIO_TEXT_ = VARCHAR(30) */,
OTB_ FIO_TEXT_ COLLATE PXW_CYRL /* FIO_TEXT_ = VARCHAR(30) */,
FAMF_ FIO_TEXT_ COLLATE PXW_CYRL /* FIO_TEXT_ = VARCHAR(30) */,
NAMF_ FIO_TEXT_ COLLATE PXW_CYRL /* FIO_TEXT_ = VARCHAR(30) */,
OTF_ FIO_TEXT_ COLLATE PXW_CYRL /* FIO_TEXT_ = VARCHAR(30) */,
FAMM_ FIO_TEXT_ COLLATE PXW_CYRL /* FIO_TEXT_ = VARCHAR(30) */,
NAMM_ FIO_TEXT_ COLLATE PXW_CYRL /* FIO_TEXT_ = VARCHAR(30) */,
OTM_ FIO_TEXT_ COLLATE PXW_CYRL /* FIO_TEXT_ = VARCHAR(30) */,
SPECIALIST FIO_TEXT_ COLLATE PXW_CYRL /* FIO_TEXT_ = VARCHAR(30) */,
DATE_LAST "DTime" /* "DTime" = TIMESTAMP DEFAULT NULL */,
MRB_SOK "Int_0" NOT NULL /* "Int_0" = INTEGER DEFAULT 0 NOT NULL */,
MRF_SOK "Int_0" NOT NULL /* "Int_0" = INTEGER DEFAULT 0 NOT NULL */,
MGF_SOK "Int_0" NOT NULL /* "Int_0" = INTEGER DEFAULT 0 NOT NULL */,
MRM_SOK "Int_0" NOT NULL /* "Int_0" = INTEGER DEFAULT 0 NOT NULL */,
MGM_SOK "Int_0" NOT NULL /* "Int_0" = INTEGER DEFAULT 0 NOT NULL */,
DATAB_TEXT LINETEXT20 DEFAULT '' NOT NULL COLLATE PXW_CYRL /* LINETEXT20 = VARCHAR(20) */,
REGYEAR "Int_1" NOT NULL /* "Int_1" = INTEGER DEFAULT 1 NOT NULL */
);
/******************************************************************************/
/**** Unique Constraints ****/
/******************************************************************************/
ALTER TABLE REGROD ADD CONSTRAINT REGROD_NABZY UNIQUE (NAKT, ADOP, BUKA, ZAGSRAY, REGYEAR);
/******************************************************************************/
/**** Primary Keys ****/
/******************************************************************************/
ALTER TABLE REGROD ADD CONSTRAINT PK_REGROD PRIMARY KEY (REC_NO);
/******************************************************************************/
/**** Foreign Keys ****/
/******************************************************************************/
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_DOCF FOREIGN KEY (DOCF_COD) REFERENCES COD_DOCUM (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_DOCM FOREIGN KEY (DOCM_COD) REFERENCES COD_DOCUM (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_GRAZF FOREIGN KEY (GRAZF) REFERENCES COD_GRAZ (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_GRAZM FOREIGN KEY (GRAZM) REFERENCES COD_GRAZ (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_HOM_GF FOREIGN KEY (MGF_HOM) REFERENCES HOMES (DOM_COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_HOM_GM FOREIGN KEY (MGM_HOM) REFERENCES HOMES (DOM_COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_NACF FOREIGN KEY (NACF) REFERENCES COD_NACIONAL (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_NACM FOREIGN KEY (NACM) REFERENCES COD_NACIONAL (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_NPR_GF FOREIGN KEY (MGF_NPR) REFERENCES COD_NPR (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_NPR_GM FOREIGN KEY (MGM_NPR) REFERENCES COD_NPR (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_NPR_RB FOREIGN KEY (MRB_NPR) REFERENCES COD_NPR (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_NPR_RF FOREIGN KEY (MRF_NPR) REFERENCES COD_NPR (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_NPR_RM FOREIGN KEY (MRM_NPR) REFERENCES COD_NPR (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_OBL_GF FOREIGN KEY (MGF_OBL) REFERENCES COD_OBL (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_OBL_GM FOREIGN KEY (MGM_OBL) REFERENCES COD_OBL (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_OBL_RB FOREIGN KEY (MRB_OBL) REFERENCES COD_OBL (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_OBL_RF FOREIGN KEY (MRF_OBL) REFERENCES COD_OBL (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_OBL_RM FOREIGN KEY (MRM_OBL) REFERENCES COD_OBL (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_RAY_GF FOREIGN KEY (MGF_RAY) REFERENCES COD_RAY (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_RAY_GM FOREIGN KEY (MGM_RAY) REFERENCES COD_RAY (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_RAY_RB FOREIGN KEY (MRB_RAY) REFERENCES COD_RAY (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_RAY_RF FOREIGN KEY (MRF_RAY) REFERENCES COD_RAY (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_RAY_RM FOREIGN KEY (MRM_RAY) REFERENCES COD_RAY (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_SOK_GF FOREIGN KEY (MGF_SOK) REFERENCES COD_SOK (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_SOK_GM FOREIGN KEY (MGM_SOK) REFERENCES COD_SOK (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_SOK_RB FOREIGN KEY (MRB_SOK) REFERENCES COD_SOK (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_SOK_RF FOREIGN KEY (MRF_SOK) REFERENCES COD_SOK (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_SOK_RM FOREIGN KEY (MRM_SOK) REFERENCES COD_SOK (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_STA_GF FOREIGN KEY (MGF_STA) REFERENCES COD_STA (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_STA_GM FOREIGN KEY (MGM_STA) REFERENCES COD_STA (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_STA_RB FOREIGN KEY (MRB_STA) REFERENCES COD_STA (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_STA_RF FOREIGN KEY (MRF_STA) REFERENCES COD_STA (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_STA_RM FOREIGN KEY (MRM_STA) REFERENCES COD_STA (COD);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_STR_GF FOREIGN KEY (MGF_STR) REFERENCES STREETS (COD_STREET);
ALTER TABLE REGROD ADD CONSTRAINT FK_REGROD_STR_GM FOREIGN KEY (MGM_STR) REFERENCES STREETS (COD_STREET);
/******************************************************************************/
/**** Indices ****/
/******************************************************************************/
CREATE INDEX REGROD_DAKT ON REGROD (DAKT);
CREATE INDEX REGROD_FAMB ON REGROD (FAMB, NAMB);
CREATE INDEX REGROD_YEARS ON REGROD (REGYEAR);