主键约束:创建表时,在列类型的后页面可以用PRIMARY KEY关键字指定列的类型为主键,当指定列的类型为主键后,列被强制为NOT NULL,并且列中的每行被强制为一个唯一值。
创建主键的建议方法:在列或者表级别使用CONSTRAINT关键字,为约束指定一个约束名,一般CONSTRANIT后面是约束名。
列级别主键约束定义语法:invoice_id NUMBER CINSTRANINT invoice_pk PRIMARY KEY;
表级别主键约束定义语法:CONSTRAINT invoice_pk PRIMARY KEY (invoice_id)
外键约束:又名引用约束,主要用来在多个表之间定义关系,并强制引用其完整性,与主键约束一致,外键约束也可以在列级别或者表级别创建,使用关键之REFERENCES
外键约束语法:[CONSTRANINT constraint_name] REFERENCRS tabel_name (column_name) [ON DELETE {CASCADE|SET NULL}]
[ON DELETE {CASCADE}]用来指示是否级联删除,当两个表中的两个字段建立外键关联后,如果主键所在表中的值被删除,使用NOT DELETE指定是否级联删除。CASCADE表示关联表中的内容一并删除,SET NULL表示表中的值设为NULL。默认为CASCADE删除。
使用CONSTRAINT创建外键约束语法:
CONSTRAINT invoice_fk_vendors FORENGN KEY (vendor_id) REFERENCES vendors (vendor_id)ON CASCADE;
使用CONSTRAINT语法的不同之处在于需要为外键指定一个名称,使用FORENGN KEY指定外键, REFERENCES指定关联表和关联字段,使用CASCADE指定级联删除。