数据库实验三:数据库原理与应用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数据库实验三:数据库的原理与应用一、实验目的与要求:1.实验目的(1)掌握对表中数据的插入、删除、修改等操作;(2)深入体会数据完整性及约束的作用。2.实验要求在实验三建立的表的基础上:(1)自行设计各个表的记录,其中院系表至少10条记录、学生表至少30条记录、课程表至少10条记录、教师表至少10条记录、选课表至少50条记录。(2)设计一组记录执行插入操作,要求分别设计若干违反实体完整性规则、参照完整性规则和用户完整性规则的插入操作,并分析原因。(3)设计几个删除操作,体会执行删除操作时检查参照完整性规则的效果(要求涉及拒绝删除、空值删除和级联删除等不同的处理方式)。(4)设计一组更新操作,体会执行更新操作时检查参照完整性规则、参照完整性规则和用户完整性规则的效果。(5)在实验报告中要给出具体的记录和设计的操作,并针对各种数据完整性检查给出具体的分析和讨论。二、实验内容1、实验原理(1)插入语句的命令格式:INSERTINTOschema_name.table_or_view_name[(column_list)]VALUES({expression|DEFAULT|NULL)}[,…n])(2)更新语句的命令格式:UPDATEschema_name.table_or_view_nameSETcolumn_name={expression|DEFALUT|NULL}[,…n][WHEREsearch_condition](3)删除语句的命令格式:DELETE[FROM]schema_name.table_or_view_name[WHEREsearch_condition]2、实验步骤与结果(1)调出SQLServer2005软件的用户界面,进入SQLSERVERMANAGEMENTSTUDIO。(2)输入自己编好的程序。(3)检查已输入的程序正确与否。(4)运行程序,并分析运行结果是否合理和正确。在运行时要注意当输入不同的数据时所得到的结果是否正确。(5)输出程序清单和运行结果。程序源代码:insertinto院系values(1,'计科系','张伟','400'),(2,'经济系','张伟','401'),(3,'机械系','张伟','402'),(4,'电子系','张伟','403'),(5,'教育系','张伟','404'),(6,'数理系','张伟','405'),(7,'艺术系','张伟','406'),(8,'旅游系','张伟','407'),(9,'外语系','张伟','408'),(10,'化工系','张伟','409')insertinto教师values('1',1,'李凡','男','教授','网工',300.00),('2',1,'张豪','男','助教','网工',500.00),('3',2,'楚锐','男','讲师','网工',200.00),('4',2,'陈俊','男','助教','网工',400.00),('5',3,'白丽','女','教授','网管',300.00),('6',3,'刘婷','女','助教','网管',600.00),('7',4,'何丹','女','讲师','网管',500.00),('8',4,'汤霞','女','教授','网管',300.00)insertinto课程values('01','高数','1','8','公共基础'),('02','高数','2','8','公共基础'),('03','高数','3','8','公共基础'),('04','高数','4','8','公共基础'),('05','高数','5','8','公共基础'),('06','高数','6','8','公共基础'),('07','高数','7','8','公共基础'),('08','高数','8','8','公共基础')insertinto选课values('001','01','10'),('002','02','20'),('003','01','30'),('004','02','40'),('005','01','50'),('006','02','60'),('007','01','70'),('008','02','80')insertinto学生values('001','1','张伟','男','江苏','正常','64'),('002','2','张伟','男','江苏','留级','64'),('003','3','张伟','男','江苏','休学','64'),('004','4','张伟','男','江苏','退学','64'),('005','5','张伟','男','江苏','正常','64'),('006','6','张伟','男','江苏','留级','64'),('007','7','张伟','男','江苏','休学','64'),('008','8','张伟','男','江苏','退学','64'),('009','9','张伟','男','江苏','正常','64'),('010','10','张伟','男','江苏','休学','64')违反实体完整性:insertinto院系values('1','计科系','张伟','400')因为表中已经有这条记录了,所以会提示错误。违反参照完整性:insertinto教师values('1',11,'李凡','男','教授','网工',300.00)在定义教师表示定义了院系为外部关键字,它参照院系表的编号,而在编号中没有“11”的记录,因此会插入失败。违法用户完整性:insertinto选课values('001','01','110')拒绝删除:deletefrom院系where编号='1'空值删除:deletefrom教师where院系='1'级联更新:update院系set办公地点='401'where办公地点='111'三、实验分析与小结:(实验过程中的问题分析、产生的原因以及解决方法;实验结果分析;有待优化思路)在建立学生这个表的时候,学生所属的院系是参照院系表的编号字段,所以在记录的时候不能用院系的名称,只能填写院系的编号。其他的一些参照字段也是一样。实验过程中要注意一些约束说明,比如:教师职称只能是“教授”、“副教授”、“讲师”、“助教”这四个,而不能是别的。四、其它思考题:1.执行SQL的数据操作时是如何检查完整性规则的?答:数据完整性一般包括域完整性、实体完整性、参照完整性三部分。域完整性就是字段的取值范围是合法的,在指定的取值范围内,用check来定义;实体完整性就是每个关系表都要有主键,且不能是空的,不能有重复记录;参照完整性就是指外键要和另外一个表对应的主键值相同,且两者必须同时在各自的表中出现。得分(百分制)

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功