收藏 分享(赏)

数据库实验报告完整性约束.doc

上传人:精品资料 文档编号:7981024 上传时间:2019-06-02 格式:DOC 页数:6 大小:55.50KB
下载 相关 举报
数据库实验报告完整性约束.doc_第1页
第1页 / 共6页
数据库实验报告完整性约束.doc_第2页
第2页 / 共6页
数据库实验报告完整性约束.doc_第3页
第3页 / 共6页
数据库实验报告完整性约束.doc_第4页
第4页 / 共6页
数据库实验报告完整性约束.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、大连海事大学数据库原理课程实验大纲实验名称: 实验七 完整性 实验学时: 2 适用专业: 智能科学与技术 实验环境: Microsoft SQL server 2014 1 实验目的(1) 掌握实体完整性、参照完整性和用户自定义完整性约束的创建方法。(2) 掌握完整性约束的运行检查机制。(3) 掌握参照完整性的级联删除和修改方法。(4) 掌握正确设计关系模式完整性约束的方法。2 实验内容2.1掌握实体完整性约束的创建和使用方法(1) 创建表时定义由一个属性组成的主键(给约束命名) 。(2) 创建表时定义由两个或两个以上属性组成的主键(给约束命名) 。(3) 删除以上两个主键约束。(4) 利用

2、ALTER TABLE 语句定义上述两个主键。2.2掌握参照完整性约束的创建和使用方法(5) 创建表时定义一个列级参照完整性约束(给约束命名) 。(6) 创建表时定义一个表级的由两个属性组成的参照完整性约束(给约束命名) 。(7) 设计数据更新语句检查参照完整性约束是否起作用。(8) 删除上述完整性约束。(9) 利用 ALTER TABLE 建立上述参照完整性约束,并且规定 UPDATE/DELETE 时的动作。(10) 设计数据更新语句检查参照完整性约束及其相应的动作是否起作用。2.3掌握用户自定完整性约束的创建和使用方法(11) 定义一个检查约束,检查其值在某个取值范围内,并设计相应的更新

3、语句检查该约束是否起作用?(12) 定义一个检查其值符合某个匹配模式的检查约束(使用 LIKE) ,并设计相应的更新语句检查该约束是否起作用?(13) 定义一个检查其值符合某个正则表达式的检查约束(使用 SIMILAR TO) ,并设计相应的更新语句检查该约束是否起作用?(14) 定义一个 UNIQUE 约束,并设计相应的更新语句检查该约束是否起作用?(15) 定义一个 DEFAULT 约束,设计一个 INSERT 语句检查该约束是否起作用。3 实验要求(1) 深入复习教材第五章数据库完整性约束内容。(2) 根据书上的例子,针对 TPCH 数据库模式设计各种完整性约束,每种类型完整性约束至少要

4、设计一个,描述清楚完整性约束要求,设计和运行触发完整性约束检查的数据更新语句,并截图相应的实验结果,每幅截图并要有较为详细的描述。也可以按照附 1 所列示例做实验。(3) 实验步骤和实验总结中要详细描述实验过程中出现的问题、原因和解决方法。(4) 思考题:完整性约束的违约处理有哪几种方式?4 实验步骤4.1掌握实体完整性约束的创建和使用方法(1) 创建表时定义由一个属性组成的主键(给约束命名) 。CREATE TABLE PART(PARTKEY INTEGER,MFGR CHAR(100),TYPE CHAR(25),SIZE INTEGER,NAME CHAR(55),CONTAINER

5、CHAR(10),BRAND CHAR(10),RETAILPRICE REAL,COMMENT VARCHAR(23),CONSTRAINT PARTY PRIMARY KEY(PARTKEY);(2) 创建表时定义由两个或两个以上属性组成的主键(给约束命名) 。CREATE TABLE PARTSUPP(PARTKEY INTEGER,AVAILQTY INTEGER,SUPPKEY INTEGER,COMMENT VARCHAR(199),SUPPLYCOST REAL,FOREIGN KEY (PARTKEY) REFERENCES PART,FOREIGN KEY (SUPPKEY)

6、 REFERENCES SUPPLIER,CONSTRAINT PARTSUPPY PRIMARY KEY(PARTKEY,SUPPKEY);(3) 删除以上两个主键约束。ALTER TABLE PARTSUPPDROP CONSTRAINT PARTSUPPY;(4) 利用 ALTER TABLE 语句定义上述两个主键。SELECT * FROM information_schema.table_constraints;ALTER TABLE LINEITEMADD CONSTRAINT LINEITEMKEY PRIMARY KEY (ORDERKEY,LINENUMBER);4.2掌握参

7、照完整性约束的创建和使用方法(5) 创建表时定义一个列级参照完整性约束(给约束命名) 。ALTER TABLE PARTSUPPADD CONSTRAINT C1 check(partkey between 1 and 999999);(6) 创建表时定义一个表级的由两个属性组成的参照完整性约束(给约束命名) 。ALTER TABLE lineitemadd constraint linepartkey foreign key(partkey) references part;(7) 设计数据更新语句检查参照完整性约束是否起作用。insertinto lineitem(orderkey,par

8、tkey,suppkey,linenumber,quantity)values(222010,234,1234,2,34);(8) 删除上述完整性约束。alter table lineitemdrop constraint LINEITEM_ORDERKEY_FKEY;(9) 利用 ALTER TABLE 建立上述参照完整性约束,并且规定 UPDATE/DELETE 时的动作。alter table lineitemadd constraint LINEITEM_ORDERKEY_FKEY foreign key(orderkey) references orders(orderkey)on

9、delete cascade;(10) 设计数据更新语句检查参照完整性约束及其相应的动作是否起作用。delete from lineitemwhere orderkey=915811;4.3掌握用户自定完整性约束的创建和使用方法(11) 定义一个检查约束,检查其值在某个取值范围内,并设计相应的更新语句检查该约束是否起作用?ALTER TABLE lineitem ADD CONSTRAINT discountk CHECK (discount between 0 and 1 );(12) 定义一个检查其值符合某个匹配模式的检查约束(使用 LIKE) ,并设计相应的更新语句检查该约束是否起作用?

10、alter table nationadd constraint namek check(name like%国);(13) 定义一个检查其值符合某个正则表达式的检查约束(使用 SIMILAR TO) ,并设计相应的更新语句检查该约束是否起作用?alter table customeradd constraint puonek check(phone similar to_);(14) 定义一个 UNIQUE 约束,并设计相应的更新语句检查该约束是否起作用?ALTER TABLE nationadd constraint namek unique(name);(15) 定义一个 DEFAULT

11、 约束,设计一个 INSERT 语句检查该约束是否起作用。ALTER TABLE supplier ADD CONSTRAINT supplierkDEFAULT 40for nationkey;5 总结与体会5.1实验中出现的问题及其解决方案经过查书与上网查询,问题解决5.2总结数据库的完整性是指数据的正确性和相容性,非常的复杂。5.3体会数据库编写程序时非常复杂,各种约束并不是能熟练运用,还需要继续联系附 1: 数据库完整性约束以 TPCH 数据模式为例,完成如下各实验项目。(1) 创建表时定义由一个属性组成的主键(给约束命名) 。创建零件表 part 时定义主键。(2) 创建表时定义由两

12、个或两个以上属性组成的主键(给约束命名) 。创建零件供应关系表 partsupp 时定义主键。(3) 删除以上两个主键约束。删除零件表和零件供应关系表的主键。(4) 利用 ALTER TABLE 语句定义上述两个主键。利用 ALTER TABLE 增加 part 和 partsupp 表的主键。(5) 创建表时定义一个列级参照完整性约束(给约束命名) 。定义 partsupp 表的列级参照完整性约束。(6) 创建表时定义一个表级的由两个属性组成的参照完整性约束(给约束命名) 。定义 lineitem 的参照完整性约束。(7) 设计数据更新语句检查参照完整性约束是否起作用。设计 INSERT、D

13、ELETE 和 UPDATE 语句检查上述完整性约束是否有效。(8) 删除上述完整性约束。删除 partsupp 和 lineitem 的参照完整性约束。(9) 利用 ALTER TABLE 建立上述参照完整性约束,并且规定 UPDATE/DELETE 时的动作。利用 ALTER TABLE 建立上述两个完整性约束,并规定 UPDATE 和 DELETE 级联修改和删除。(10) 设计数据更新语句检查参照完整性约束及其相应的动作是否起作用。删除零件供应记录 partsupp 或者是 orders 表中的记录,检查约束是否起作用?(11) 定义一个检查约束,检查其值在某个取值范围内,并设计相应的

14、更新语句检查该约束是否起作用?定义一个检查 Lineitem 中的折扣只能在 0 和 1 之间的 CHECK 约束,并设计 INSERT 语句检查约束是否起作用。(12) 定义一个检查其值符合某个匹配模式的检查约束(使用 LIKE) ,并设计相应的更新语句检查该约束是否起作用?定义一个 CHECK 约束,检查国家表 nation 中的国家名称的最后一个字必须为“国”字。设计一个 INSERT 语句检查该约束是否有效。(13) 定义一个检查其值符合某个正则表达式的检查约束(使用 SIMILAR TO) ,并设计相应的更新语句检查该约束是否起作用?定义一个 CHECK 约束,检查 CUSTOMER 表中的 PHONE 必须由 12 位数字组成。并设计一个 INSERT 语句或者是 UPDATE 语句检查该约束是否有效。(14) 定义一个 UNIQUE 约束,并设计相应的更新语句检查该约束是否起作用?在 NATION 表的 NAME 字段上定义一个 UNIQUE 约束,不允许国家名重复。设计一个INSERT 语句检查约束是否有效。(15) 定义一个 DEFAULT 约束,设计一个 INSERT 语句检查该约束是否起作用。在 SUPPLIER 表中的 NATIONKEY 字段上定义一个 DEFAULT 约束,默认取值为中国的国家代码。并设计一个 INSERT 语句检查该约束是否有效。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报