Таблицы, цель которых состоять из внешних ключей, структурируются так:
1. Если записи этой таблицы не используются как справочники в других таблицах, то отдельного поля для ID лучше не создавать.
2. Определить, какие поляне должны быть нулевыми.
3. Первичный ключ накладывается на несколько внешних полей, которые должны быть уникальными.
читать дальше
CREATE TABLE NDISTRIBUTOR
(
FIDVIDEO NUMBER(7) NOT NULL,
FIDCOUNTRY NUMBER(7) NOT NULL,
ORD NUMBER(2)
)
TABLESPACE FILM
PCTUSED 40
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;
COMMENT ON TABLE NDISTRIBUTOR IS 'Список стран выпустивши::Г видео';
CREATE UNIQUE INDEX PK_NDISTRIBUTOR ON NDISTRIBUTOR
(FIDVIDEO, FIDCOUNTRY)
LOGGING
TABLESPACE FILM
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
)
NOPARALLEL;
ALTER TABLE NDISTRIBUTOR ADD (
CONSTRAINT PK_NDISTRIBUTOR
PRIMARY KEY
(FIDVIDEO, FIDCOUNTRY)
USING INDEX
TABLESPACE FILM
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
));
ALTER TABLE NDISTRIBUTOR ADD (
CONSTRAINT FK_NDISTRIBUTOR_DCOUNTRY
FOREIGN KEY (FIDCOUNTRY)
REFERENCES DCOUNTRY (IDCOUNTRY));
ALTER TABLE NDISTRIBUTOR ADD (
CONSTRAINT FK_NDISTRIBUTOR_MVIDEO
FOREIGN KEY (FIDVIDEO)
REFERENCES MVIDEO (IDVIDEO));