数据库实验报告完整性约束.doc
文本预览下载声明
大连海事大学
数据库原理课程实验大纲
实验名称:实验七 完整性实验学时:2适用专业:智能科学与技术实验环境:Microsoft SQL server 2014实验目的
掌握实体完整性、参照完整性和用户自定义完整性约束的创建方法。
掌握完整性约束的运行检查机制。
掌握参照完整性的级联删除和修改方法。
掌握正确设计关系模式完整性约束的方法。
实验内容
掌握实体完整性约束的创建和使用方法
创建表时定义由一个属性组成的主键(给约束命名)。
创建表时定义由两个或两个以上属性组成的主键(给约束命名)。
删除以上两个主键约束。
利用ALTER TABLE语句定义上述两个主键。
掌握参照完整性约束的创建和使用方法
创建表时定义一个列级参照完整性约束(给约束命名)。
创建表时定义一个表级的由两个属性组成的参照完整性约束(给约束命名)。
设计数据更新语句检查参照完整性约束是否起作用。
删除上述完整性约束。
利用ALTER TABLE 建立上述参照完整性约束,并且规定UPDATE/DELETE时的动作。
设计数据更新语句检查参照完整性约束及其相应的动作是否起作用。
掌握用户自定完整性约束的创建和使用方法
定义一个检查约束,检查其值在某个取值范围内,并设计相应的更新语句检查该约束是否起作用?
定义一个检查其值符合某个匹配模式的检查约束(使用LIKE),并设计相应的更新语句检查该约束是否起作用?
定义一个检查其值符合某个正则表达式的检查约束(使用SIMILAR TO),并设计相应的更新语句检查该约束是否起作用?
定义一个UNIQUE约束,并设计相应的更新语句检查该约束是否起作用?
定义一个DEFAULT约束,设计一个INSERT语句检查该约束是否起作用。
实验要求
深入复习教材第五章数据库完整性约束内容。
根据书上的例子,针对TPCH数据库模式设计各种完整性约束,每种类型完整性约束至少要设计一个,描述清楚完整性约束要求,设计和运行触发完整性约束检查的数据更新语句,并截图相应的实验结果,每幅截图并要有较为详细的描述。也可以按照附1所列示例做实验。
实验步骤和实验总结中要详细描述实验过程中出现的问题、原因和解决方法。
思考题:完整性约束的违约处理有哪几种方式?
实验步骤
掌握实体完整性约束的创建和使用方法
创建表时定义由一个属性组成的主键(给约束命名)。
CREATE TABLE PART
(PARTKEY INTEGER,
MFGR CHAR(100),
TYPE CHAR(25),
SIZE INTEGER,
NAME CHAR(55),
CONTAINER CHAR(10),
BRAND CHAR(10),
RETAILPRICE REAL,
COMMENT VARCHAR(23),
CONSTRAINT PARTY PRIMARY KEY(PARTKEY)
);
创建表时定义由两个或两个以上属性组成的主键(给约束命名)。
CREATE TABLE PARTSUPP
(PARTKEY INTEGER,
AVAILQTY INTEGER,
SUPPKEY INTEGER,
COMMENT VARCHAR(199),
SUPPLYCOST REAL,
FOREIGN KEY (PARTKEY) REFERENCES PART,
FOREIGN KEY (SUPPKEY) REFERENCES SUPPLIER,
CONSTRAINT PARTSUPPY PRIMARY KEY(PARTKEY,SUPPKEY)
);
删除以上两个主键约束。
ALTER TABLE PARTSUPP
DROP CONSTRAINT PARTSUPPY;
利用ALTER TABLE语句定义上述两个主键。
SELECT *
FROM information_schema.table_constraints;
ALTER TABLE LINEITEM
ADD CONSTRAINT LINEITEMKEY PRIMARY KEY (ORDERKEY,LINENUMBER);
掌握参照完整性约束的创建和使用方法
创建表时定义一个列级参照完整性约束(给约束命名)。
ALTER TABLE PARTSUPP
ADD CONSTRAINT C1 check(partkey between 1 and 999999);
创建表时定义一个表级的由两个属性组成的参照完整性约束(给约束命名)。
ALTER TABLE lineitem
add constraint linepartkey foreign key(partkey) references part;
设计数据更新语句检查参照完整性约束是否起作用。
insert
into lineitem(orderkey,partkey
显示全部