当前位置:文档之家› 数据库实验报告大全 广工 蔡延光版

数据库实验报告大全 广工 蔡延光版

自动化学院自动化专业班学号姓名实验时间2011.3.14 教师评定实验题目数据定义实验报告一一、实验目的与要求目的:使用SQL语言实现数据库的创建、删除;基本表的创建、删除、更新工作;以及索引的创建、删除工作。

要求:1、在SQL SERVER 2000查询分析器中,利用SQL语言中CREATE、DROP 命令实现数据库的创建及删除工作。

2、在SQL SERVER 2000查询分析器中,利用SQL语言中CREATE、ALTER及DROP命令进行基本表的创建、更新、删除工作,并实现基本表中各类完整性约束条件的限定。

3、在SQL SERVER 2000查询分析器中,利用SQL语言中CREATE、ALTER及DROP命令进行基本表中索引的创建、更新、删除工作。

4、完成上述工作后,在SQL SERVER 2000企业管理器中,查看是否成功创建实验所要求数据库、基本表、各类完整性约束条件及索引等内容。

二、实验方案所有实验内容必须在SQL Server 2000的查询分析器中完成,设置查询分析器的结果区为Standard Execute(标准执行)或Executed Grid(网格执行)方式.发布执行命令.并在结果区中查看查询结果,如果结果不正确则需要进行修改,直到正确为止。

要求完成如下内容:1.定义数据库定义一个借阅数据库,要求所定义的数据库大小为1M,且数据库名称为Labery_学号。

2.定义下列数据库基本表在所定义的借阅数据库Labery_学号中,按要求定义如下数据库表:1)书(book)列名别名类型及长度是否可为空书号bno char(8)否类别category varchar(10)否书名title varchar(40)否出版社press varchar(30)是年份book_year Int否作者author char(20)是价格price decimal(7,2)否总藏书量book_total Int否2)借书证(card)列名别名类型及长度是否可为空卡号cno char(7)否姓名name char(8)否单位department varchar(40)是类别type char(1)否3)借书记录(borrow)列名别名类型及长度是否可为空卡号cno char(7)否书号bno char(8)否借书日期borrow_date smalldatetime否还书日期return_date smalldatetime是3.完整性约束条件:主要内容为:1)确定各基本表的主码;2)确定各基本表的外码;3)要求在定义各基本表的同时,确定如下完整性约束条件1、定义各基本表主码,并且要求主属性不能为空;2、如果有外码,定义各基本表外码;3、要求检查借书证中属性Type的值是否为('T','G','U','F'));4、借书记录borrow基本表中borrow_date默认日期为当前时间。

4)确定各基本表哪些字段需要建立索引。

三、实验结果和数据处理1.SQL语句:CREATE DATABASE Labery_3108001518ON PRIMARY(NAME=Labery_3108001518,FILENAME='C:\Documents and Settings\Administrator\桌面\数据库实验\3108001518.MDF',SIZE=1MB,MAXSIZE=6MB,FILEGROWTH=1MB)运行结果:2.SQL语句:USE labery_3108001518;CREATE TABLE book(bno char(8) not null primary key,category varchar(10) not null,title varchar(40) not null,press varchar(30),book_year int not null,author char(20),price decimal(7,2) not null,book_total int not null)运行结果:SQL语句:CREATE TABLE card(cno char(7) not null primary key,name char(8) not null,department varchar(40),type char(1) not null check(type in('T','G','U','F')))运行结果:SQL语句:CREATE TABLE borrow(cno char(7) not null foreign key(cno)references card(cno),bno char(8) not null foreign key(bno)references book(bno),borrow_date smalldatetime not null default getdate(),return_date smalldatetime)运行结果:建立索引:CREATE INDEX b_book_year ON book(book_year desc)CREATE INDEX b_borrow_date ON borrow(borrow_date desc)四、结论通过本实验基本学会使用SQL语言实现数据库的创建、删除;基本表的创建、删除、更新工作;以及索引的创建、删除工作。

五、问题与讨论1)如果在创建关系数据库基本表时,未创建完整性约束条件,对于数据库会有何影响?答:以后增加数据库数据时,有可能插入无效或重复的数据。

当想删除有多张表中的一张时,由于删除了该表导致其他表数据不完整不能用。

2)如果在创建关系数据库基本表时,未创建索引,对于数据库的运行性能会有何影响?答:索引是以牺牲内存空间换取检索时间的,未创建索引时会使运行时的检索变得很慢。

自动化学院自动化专业班学号姓名实验时间2011.3.14 教师评定实验题目数据更新实验报告二一、实验目的与要求目的:要求学生熟练掌握和使用Transact-SQL及SQL server 企业管理器向数据库中输入数据、修改数据和删除数据的操作。

要求学生按要求实现基本表数据更新,并在数据更新过程中,验证各类数据完整性约束条件,即实体完整性、参照完整性及用户定义完整性约束条件。

要求:1、使用SQL SERVER 2000查询分析器,并用INSERT、UPDATE、DELETE语句进行基本表数据更新,要求在进行数据的更新时,所修改的记录不仅满足数据完整性约束条件,并注意各个数据表之间的关联性;2、在数据更新过程中,通过分析SQL命令执行后数据的差异,来验证SQL 命令的正确性,并通过查看运行结果的合法性,来验证各类完整性约束条件正确性。

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

二、实验方案第1、2项实验内容必须在SQL Server 2000的查询分析器中完成,设置查询分析器的结果区为Standard Execute(标准执行)或Executed Grid(网格执行)方式.发布执行命令.并在结果区中查看查询结果,如果结果不正确则需要进行修改,直到正确为止。

具体实验步骤如下:1、数据输入分别向book、card、borrow三个基本表中输入10条数据(备注:考虑到以后的可操作性,希望数据的数据具有一定的现实意义),其次插入的数据满足数据完整性约束条件及表与表之间的关联性的要求。

表1 书书号类别书名出版社年份作者价格总藏书量O001 计算机类数据库系统机械工业出版社2004 张三28 40002 计算机类操作系统清华大学出版社2000 李四35 30003 数学类高等数学科学出版社1998 王五15 100004 数学类离散数学机械工业出版社2006 赵六22 20005 计算机类C语言清华大学出版社2005 钱七40 10006 文学类心灵鸡汤电子工业出版社2002 NULL 19 50007 文学类白鹿原1999 NULL 25 60008 历史类中国近代史文艺出版社2001 李立32 40009 历史类中国古代史文艺出版社2001 李立32 40010 计算机类JAVA语言机械工业出版社2004 王明38 2表2 借书证卡号姓名单位类别T001 李媛媛自动化学院TT002 王丽丽自动化学院TT003 张强计算机学院TT004 赵刚理学院TG001 吴明自动化学院GG002 钱清计算机学院GU001 李峰自动化学院UU002 白岚艺术学院UF001 张卫国 FF002 李爱国 F表3 借书记录卡号书号借书日期(月/日/年)还书日期(月/日/年)T001 0001 2011-1-1 2011-1-4T001 0002 2011-1-1 2011-1-4T001 0005 2011-1-1 2011-1-4T001 0010 2011-1-1 2011-1-4T003 0001 2011-2-15 2011-3-4T003 0002 2011-2-152011-3-4T003 0003 20011-2-152011-3-4T003 0004 2011-2-152011-3-4G002 0005 2011-2-5 2011-3-14G002 0007 2011-8-10G002 0010 2011-8-10U001 0009 2011-2-2 2011-3-9U001 0008 2011-2-2 2011-3-9U002 0007 2011-2-2 2011-3-9U002 0004 2011-2-2 2011-3-9F001 0001 2011-2-12 2011-3-11F001 0002 2009-2-122011-3-11F001 0003 2011-2-122011-3-11F002 0006 2011-1-202、修改数据修改book、card、borrow三个基本表的数据,并要求将book表中price 属性的值全部打8折、‘清华大学出版社’的书籍总藏书量增加10本等,同时满足数据完整性约束条件。

3、删除操作删除book、card、borrow三个数据表中的某些数据,并注意数据完整性约束条件的限制。

要求删除borrow表中借书日期为1年前的数据,以及要求删除‘电子工业出版社’的书籍。

三、实验结果和数据处理1、输入数据SQL语句:INSERT INTO book V ALUES('0001','计算机','数据库系统','机械工业出版社',2004,'张三',28,4) INSERT INTO book V ALUES('0002','计算机','操作系统','清华大学出版社',2000,'李四',35,3) INSERT INTO book V ALUES('0003','数学类','高等数学','科学出版社',1998,'王五',15,10) INSERT INTO book V ALUES('0004','数学类','离散数学','机械工业出版社',2006,'赵六',22,2) INSERT INTO book V ALUES('0005','计算机','C语言','清华大学出版社',2005,'钱七',40,1) INSERT INTO book V ALUES('0006','文学类','心灵鸡汤','电子工业出版社',2002,null,19,5) INSERT INTO book V ALUES('0007','文学类','白鹿原',null,1999,null,25,6)INSERT INTO book V ALUES('0008','历史类','中国近代史','文艺出版社',2001,'李立',32,4) INSERT INTO book V ALUES('0009','历史类','中国近代史','文艺出版社',2001,'李立',32,4) INSERT INTO book V ALUES('0010','JAV A语言','数据库系统','机械工业出版社',2004,'王明',38,2)Select * from book运行结果如下:INSERT INTO card V ALUES('T001','李媛媛','自动化学院','T')INSERT INTO card V ALUES('T002','王丽丽','自动化学院','T')INSERT INTO card V ALUES('T003','张强','计算机学院','T')INSERT INTO card V ALUES('T004','赵刚','理学院','T')INSERT INTO card V ALUES('G001','吴明','自动化学院','G')INSERT INTO card V ALUES('G002','钱清','计算机学院','G')INSERT INTO card V ALUES('U001','李峰','自动化学院','U')INSERT INTO card V ALUES('U002','白岚','艺术学院','U')INSERT INTO card V ALUES('F001','张卫国',NULL,'F')INSERT INTO card V ALUES('F002','李爱国',NULL,'F')Select * from card运行结果如下:INSERT INTO borrow V ALUES('T001','0001','2011-1-1','2011-1-4')INSERT INTO borrow V ALUES('T001','0002','2011-1-1','2011-1-4')INSERT INTO borrow V ALUES('T001','0005','2011-1-1','2011-1-4')INSERT INTO borrow V ALUES('T001','0010','2011-1-1','2011-1-4')INSERT INTO borrow V ALUES('T003','0001','2011-2-15','2011-3-4')INSERT INTO borrow V ALUES('T003','0002','2011-2-15','2011-3-4')INSERT INTO borrow V ALUES('T003','0003','2011-2-15','2011-3-4')INSERT INTO borrow V ALUES('T003','0004','2011-2-15','2011-3-4')INSERT INTO borrow V ALUES('G002','0005','2011-2-5','2011-3-14')INSERT INTO borrow(cno,bno,borrow_date) V ALUES('G002','0007','2011-8-10') INSERT INTO borrow(cno,bno,borrow_date) V ALUES('G002','0010','2011-8-10') INSERT INTO borrow V ALUES('U001','0009','2011-2-2','2011-3-9')INSERT INTO borrow V ALUES('U001','0008','2011-2-2','2011-3-9')INSERT INTO borrow V ALUES('U002','0007','2011-2-2','2011-3-9')INSERT INTO borrow V ALUES('U002','0004','2011-2-2','2011-3-9')INSERT INTO borrow V ALUES('F001','0001','2009-2-12','2011-3-11')INSERT INTO borrow V ALUES('F001','0002','2009-2-12','2011-3-11')INSERT INTO borrow V ALUES('F001','0003','2009-2-12','2011-3-11')INSERT INTO borrow(cno,bno,borrow_date) V ALUES('F002','0006','2011-1-20') Select *from borrow运行结果:2、修改数据UPDATE BOOK SET PRICE=0.8*PRICEUPDATE BOOK SET book_total=book_total+10 WHERE press='清华大学出版社'3、删除操作delete from borrow where borrow_date<=getdate()-365delete from borrow where bno in(select bno from book where press='电子工业出版社')delete from book where press='电子工业出版社'四、结论通过本实验基本学会掌握和使用Transact-SQL及SQL server 企业管理器向数据库中输入数据、修改数据和删除数据的操作,实现带参照完整性的数据操作。

相关主题