Как указать ключ-кандидат и внешний ключ при создании таблицы в Oracle 10g? - PullRequest
0 голосов
/ 20 сентября 2010

Как указать ключ-кандидат и внешний ключ при создании таблицы в Oracle 10g?

Ответы [ 2 ]

1 голос
/ 20 сентября 2010

Исходя из rics:

CREATE TABLE supplier
(   supplier_id     numeric(10)     not null,
    supplier_name   varchar2(50)    not null,
    CONSTRAINT supplier_pk PRIMARY KEY (supplier_id),
    CONSTRAINT supplier_unique_name UNIQUE (supplier_name)
);

CREATE TABLE supplier_parts
(   supplier_id     numeric(10)     not null,
    part_name       varchar2(50)    not null,
    CONSTRAINT supplier_id_fk FOREIGN KEY (supplier_id)
       REFERENCES supplier (supplier_id)  
);

CREATE TABLE silly
(   supplier_name   varchar2(50),
    CONSTRAINT supplier_name_fk FOREIGN KEY (supplier_name)
       REFERENCES supplier (supplier_name)  
);

В приведенном выше примере supplier_pk - это первичный ключ. supplier_pk и supplier_unique_name - ключи-кандидаты. supplier_id_fk и supplier_name_fk являются ограничениями ссылочной целостности (или внешними ключами).

0 голосов
/ 20 сентября 2010

Ключ-кандидат - это ключ, который однозначно идентифицирует строки в таблице.Может использоваться как первичный ключ таблицы.Например:

CREATE TABLE supplier
(   supplier_id     numeric(10)     not null,
    supplier_name   varchar2(50)    not null,
    contact_name    varchar2(50),   
    CONSTRAINT supplier_pk PRIMARY KEY (supplier_id)
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...