oracle数据库的5种约束类型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
oracle数据库的5种约束类型
oracle 数据库数据表的5个约束类型: 1.主键约束 2.外键约束 3.唯一约束 4.检查约束
5.非空约束F 主键约束:用来唯一标示表中的一个列,一个表中的主键约束只能有一个,但是可以在一个主键约束中包含多个列,也称为联合约束。外键约束:用来约束两个表中列之间的关系。唯一约束:用来唯一标示表中的列。与主键约束不同的是,在一个数据表中可以有多个唯一约束。检查约束:用来约束表中列的输入值得范围,比如在输入性别时,要求数据库中只能输入男或者女,就可以使用检查约束来约束该列。非空约束:约束该列一定要输入值。
--------------------------------------------------------------------------------------- 创建一个带检查约束的表:使用PL/SQL语句创建检查约束的语法如下所示:CONSTRAINT constraint_name CHECK(condition) [语法说明:] CONSTRAINT:关键词constraint_name:约束名称condition:约束条件列如:创建BOOKINFO表时,给图书价格加上一个检查约束,要求图书价格在10元到100元之间。CREATE TABLE BOOKINFO ( BOOKID INT, BOOKNAME CAHR, PUBLISH
VARCHAR2(20), PUBDATE VARCHAR2(20), PRICE DECIMAL, AUTHOR CHAR, STORE VARCHAR2(1), READER INT, REMARKS VARCHAR2(50), CONSTRAINT CK_PRICE
CHECK(PRICE>=10 AND PRICE );
--------------------------------------------------------------------------------------- 创建一个带非空约束的表:举例:在创建BOOKINFO表时,给图书名称加上一个非空约束。CREATE TABLE BOOKINFO ( BOOKID INT NOT NULL, BOOKNAME CHAR NOT NULL, PUBLISH VARCHAR2(20), PUBDATE VARCHAR2(20), PRICE DECIMAL, AUTHOR CHAR, STORE VARCHAR2(1), READER INT, REMAERKS VARCHAR2(50) );
---------------------------------------------------------------------------------------- 创建一个带唯一约束的表语法格式:CONSTRAINT constraint_name UNIQUE(column_name) 【语法说明】UNIQUE:唯一约束的关键词
column_name:唯一约束的名称。举例:创建BOOKINFO 表时,为图书名称(BOOKNAME)列添加唯一约束create table bookinfo ( bookid int, bookname char, publish varchar2(20), pubdate varchar2(20),
price decimal, author char, store varchar2(1), reader int, remarks varchar2(50), CONSTRAINT UN_BOOKNAME UNIQUE (bookname) );
------------------------------------------------------------------------------------------ 创建一个带外键约束的表语法格式:CONSTRAINT constraint_name FOREIGN KEY (column_name) REFERENCE table_name
(column_name) ON DELETE CASCADE [语法说明:] CONSTRAINT:创建约束的关键字FOREIGN KEY:外键约束的关键字Foreign REFERENCE:引用外表的关键词Referen table_name:需要引用的外表,column_name表示该表的列。举例: create table publishinfo ( publishid varchar(20) primary key, publishname varchar(30) ); create table bookinfo ( bookid int, bookname char, publish
varchar2(20), pubdate varchar2(20), price decimal, author char, store int, reader int, remarks varchar2(50), constraint fk_publish foreign key(publish) references publishinfo(publishid) on delete cascade ); 创建BOOKINFO表,该表带有外键约束,约束名称为
'FK_PUBLISH'。相关列为publish,该外键和PUBLISHINFO 表中的publishid列相关联。