2010-09-19 71 views

回答

1

從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_pksupplier_unique_name是候選鍵。 supplier_id_fksupplier_name_fk是參照完整性約束(或外鍵)。

0

候選鍵是唯一標識表中的行的鍵。它可以用作表格的主鍵。例如:

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) 
); 
+0

是的,那麼表中的候選鍵是什麼,我想指定它,但我不知道語法。 – Rn2dy 2010-09-19 21:18:55

+0

supplier_id - 主鍵後面的字段列表 - 還可以爲另一個候選鍵添加唯一約束 – Mark 2010-09-19 21:36:42

+0

@baboonWorksFine:沒有「候選鍵」,候選鍵就是這個 - 列(或組作爲主鍵的*候選人*)。 – 2010-09-24 23:57:20