资源预览内容
第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
第9页 / 共13页
第10页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
数据库完整性约束第一部分:创建如下两张表student和course:学生表中:有如下字段与约束要求: sno/*列级完整性约束,设置sno属性为主键*/ sname /*列级完整性约束,要求sname属性的值唯一*/ ssex /*DEFAULT默认值约束,CHECK约束限制ssex属性的取值范围*/ sage /*检查约束的实现,范围可以自行定义*/ sdeptCREATE TABLE STUDENT(SNO INT CONSTRAINT STUDENT_SNO_PK PRIMARY KEY,SNAME VARCHAR(10) UNIQUE,SSEX VARCHAR(2) DEFAULT 男 CONSTRAINT STUDENT_SSEX_CHK CHECK(SSEX IN(男, 女),SAGE INT CONSTRAINT STUDENT_SAGE_CHK CHECK(SAGE = 0 AND SAGE = 0 AND GRADE = 90000 AND SNO = 0 AND SAGE =30),SSEX NVARCHAR2(4) CONSTRAINT SSEX_CHECK CHECK(SSEX IN (男, 女),CONSTRAINT SNO_PK PRIMARY KEY(SNO);二、 删除约束三、删除其中某条约束ALTER TABLE STUDENT_E10 DROP CONSTRAINT XXX;四、 管理其他约束SELECT * FROM USER_CONS_COLUMNS WHERE TABLE_NAME = STUDENT_E10;准备工作:创建没有任何约束的表dept1. 部门编号 数值型2. 部门名称 字符型CREATE TABLE DEPT (DNO INT,DNAME VARCHAR(20);1、 增加删除空值非空值约束,并观察结果ALTER TABLE DEPT MODIFY 列名 NULL/NOT NULL;SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME = DEPT;2、 增加删除主键约束,并观察约束在哪里ALTER TABLE DEPT ADD/DROP CONSTRAINT 约束名 PRIMARY KEY(列名);SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME = DEPT;3、 增加删除唯一约束,并观察约束在哪里ALTER TABLE DEPT ADD/DROP CONSTRAINT 约束名 UNIQUE(列名);SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME = DEPT;4、 增加删除默认值约束,并观察约束在哪里ALTER TABLE DEPT MODIFY/DROP 列名 DEFAULT(默认值);SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME = DEPT;5、 增加删除检查约束,并观察约束在哪里要求部门名称末尾一定要有部。如业务部ALTER TABLE DEPT ADD/DROP CONSTRAINT 约束名 CHECK(DNAME LIKE %部);SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME = DEPT;6、 增加删除外键约束,并观察约束在哪里ALTER TABLE DEPT ADD/DROP CONSTRAINT 约束名 FOREIGN KEY(列名) REFERENCES 表名(列名);第二部分:创建表book,用于记录书本信息,要求字段如下-编号:用于记录书本的编号书名:记录书名,不超过200个字符出版社编号:编号,从出版社表引用作者编号:编号,从作者表引用CREATE TABLE BOOK (BID INT,BNAME VARCHAR(200) CONSTRAINT BNAME_CHECK CHECK(LENGTH(BNAME) = 200),PID INT,AID INT,CONSTRAINT PID_FK FOREIGN KEY(PID) REFERENCES PUBLISHER(PID),CONSTRAINT AID_FK FOREIGN KEY(AID) REFERENCES AUTHOR(AID)2、创建表publisher,用于记录出版社信息。-编号:出版社的编号。如:1、2、3、4出版社名字:记录出版社的名字,不操作200个字符出版社地址:记录出版社地址,不超过200个字符。CREATE TABLE PUBLISHER (PID INT CONSTRAINT PID_PK PRIMARY KEY,PNAME VARCHAR(200) CONSTRAINT PNAME_CHECK CHECK(LENGTH(PNAME) = 200),PADDR VARCHAR(200) CONSTRAINT PADDR_CHECK CHECK(LENGTH(PADDR) = 200)3、创建表author,用于记录书籍的作者信息-编号:用于记录作者的编号姓名:用于记录作者的名字联系地址:用于记录该作者的联系地址CREATE TABLE AUTHOR (AID INT CONST
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号