文档库

最新最全的文档下载
当前位置:文档库 > 数据库实验4报告

数据库实验4报告

一.实验目的

要求学生熟练掌握和使用Transact-SQL及SQL server 企业管理器向数据库中输入数据、修改数据和删除数据的操作。要求学生按要求实现基本表数据更新,并在数据更新过程中,验证各类数据完整性约束条件,即实体完整性、参照完整性及用户定义完整性约束条件。

二.实验软件环境

SQL Server 2000

三.实验内容

(一)实验要求:

1)使用SQL Server 2000查询分析器,并用INSERT、UPDATE、DELETE语句进行基本表数据更新,要求在进行数据的更新时,所修改的记录不仅满足数据完整性约束条件,并注意各个数据表之间的关联性。

2)在数据更新过程中,通过分析SQL命令执行后数据的差异,来验证SQL命令的正确性,并通过查看运行结果的合法性,来验证各类完整性约束条件正确性。

3)熟练使用企业管理器进行数据库的建立和维护操作,并掌握利用查询分析器进行数据维护的方法。

(二)具体实验步骤:

1)数据输入分别向Book、Card、Borrow三个基本表中输入10条数据,其次输入的数据满足数据完整性约束条件及表与表之间的关联性的要求。

2)修改数据修改Book、Card、Borrow三个基本表的数据,并要求将Book表中price属性的值全部打8折、“清华大学出版社”的书籍总藏书量增加100本等,同时满足数据完整性约束条件。

3)删除操作删除Book、Card、Borrow三个数据表中的某些数据,并注意数据完整性约束条件的限制。要求删除Book表中借书日期为1年前的数据,以及要求删除“电子工业出版社”

的书籍。

四.实验的结果及分析

1)数据输入

INSERT INTO Book V ALUES('0001','计算机','数据库系统','电子工业出版社','2004','蔡延光','28','4') INSERT INTO Book V ALUES('0002','计算机','Java编程思想','清华大学出版社','2000','布鲁斯','35','13')

INSERT INTO Book V ALUES('0003','计算机','数据结构','机械工业出版社','1999','唐平','15','10') INSERT INTO Book V ALUES('0004','计算机','计算机网络','电子工业出版社','200','谢希仁','90','15') INSERT INTO Book V ALUES('0005','数学','线性代数','清华大学出版社','2012','黄学为','20','12') INSERT INTO Book V ALUES('0006','数学','高等数学','电子工业出版社','2012','吴赣昌','30','30')

INSERT INTO Book V ALUES('0007','计算机','C++程序设计','电子工业出版社','2012','潭浩强','40','10')

INSERT INTO Book V ALUES('0008','计算机','网络安全','机械工业出版社','2012','胡建伟','110','10') INSERT INTO Book V ALUES('0009','计算机','软件工程','清华大学出版社','2012','李燕翔','120','10') INSERT INTO Book V ALUES('0010','英语','大学英语','电子工业出版社','2012','杜鲁','60','10')

INSERT INTO Card V ALUES('3110001','赖同学,'老师','T')

INSERT INTO Card V ALUES('3110002','何同学','计算机学院','G')

INSERT INTO Card V ALUES('3110003','陈同学','外国语学院','U')

INSERT INTO Card V ALUES('3110004','冯同学','土木工程学院','T')

INSERT INTO Card V ALUES('3110005','雷同学','物理学院','O')

INSERT INTO Card V ALUES('3110006','李同学','化学学院','U')

INSERT INTO Card V ALUES('3110007','黎同学','数学学院','T')

INSERT INTO Card V ALUES('3110008','刘同学','生物学院','G')

INSERT INTO Card V ALUES('3110009','史同学','历史学院','O')

INSERT INTO Card V ALUES('3110010','张同学','研究生学院','O')

INSERT INTO Borrow V ALUES('3110001','0001','2004-9-1')

INSERT INTO Borrow V ALUES('3110001','0002','2010-1-1','2012-2-3')

INSERT INTO Borrow V ALUES('3110002','0010','2012-1-1','2013-2-3')

INSERT INTO Borrow V ALUES('3110003','0001','2013-2-1','2013-4-3')

INSERT INTO Borrow V ALUES('3110004','0003','2013-1-5','2013-2-3')

INSERT INTO Borrow V ALUES('3110005','0008','2013-2-1')

INSERT INTO Borrow V ALUES('3110006','0006','2013-1-2','2013-4-3')

INSERT INTO Borrow V ALUES('3110006','0008','2013-1-11','2013-3-3')

INSERT INTO Borrow V ALUES('3110010','0007','2013-1-11','2013-2-14')

INSERT INTO Borrow V ALUES('3110005','0007','2013-3-1','2013-4-3')

SELECT *FROM Book--运行可以查看Book表

SELECT *FROM Card--运行可以查看Card表

SELECT *FROM Borrow --运行可以查看Borrow表

2)修改数据

UPDATE Book SET price=0.8*price

UPDATE Book SET book_total=book_total+100 WHERE press='清华大学出版社'

3)删除数据

DELETE FROM Borrow WHERE Borrow_date<=GETDATE()-365

DELETE FROM Borrow WHERE bno IN(SELECT bno FROM Book WHERE press='电子工业出版社')

DELETE FROM Book WHERE press='电子工业出版社'

五. 实验心得体会

录入数据时,有可能插入无效或重复的数据。删除数据时系统没提示有可能残留一些待删除的数据,导致其他表数据不完整不能用。通过本实验基本学会掌握和使用Transact-SQL及SQL server 企业管理器向数据库中输入数据、修改数据和删除数据的操作,实现带参照完整性的数据操作。