数据库SQL各类实验报告Word文档下载推荐.docx
- 文档编号:18868511
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:31
- 大小:289.76KB
数据库SQL各类实验报告Word文档下载推荐.docx
《数据库SQL各类实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据库SQL各类实验报告Word文档下载推荐.docx(31页珍藏版)》请在冰豆网上搜索。
是
年份
book_year
Int
作者
author
char(20)
价格
price
decimal(7,2)
总藏书量
book_total
2)借书证(card)
卡号
cno
char(7)
姓名
name
单位
department
type
char
(1)
3)借书记录(borrow)
借书日期
borrow_date
smalldatetime
还书日期
return_date
是
3.完整性约束条件:
主要内容为:
1)确定各基本表的主码;
2)确定各基本表的外码;
3)要求在定义各基本表的同时,确定如下完整性约束条件
1、定义各基本表主码,并且要求主属性不能为空;
2、如果有外码,定义各基本表外码;
3、要求检查借书证中属性Type的值是否为('
T'
'
G'
U'
F'
));
4、借书记录borrow基本表中borrow_date默认日期为当前时间。
4)确定各基本表哪些字段需要建立索引。
三、实验结果和数据处理
1.SQL语句:
CREATEDATABASELabery_3108001518
ONPRIMARY(NAME=Labery_3108001518,
FILENAME='
C:
\DocumentsandSettings\Administrator\桌面\数据库实验\3108001518.MDF'
SIZE=1MB,
MAXSIZE=6MB,
FILEGROWTH=1MB)
运行结果:
2.SQL语句:
USElabery_3108001518;
CREATETABLEbook
(bnochar(8)notnullprimarykey,
categoryvarchar(10)notnull,
titlevarchar(40)notnull,
pressvarchar(30),
book_yearintnotnull,
authorchar(20),
pricedecimal(7,2)notnull,
book_totalintnotnull)
SQL语句:
CREATETABLEcard
(cnochar(7)notnullprimarykey,
namechar(8)notnull,
departmentvarchar(40),
typechar
(1)notnullcheck(typein('
)))
CREATETABLEborrow
(cnochar(7)notnullforeignkey(cno)referencescard(cno),
bnochar(8)notnullforeignkey(bno)referencesbook(bno),
borrow_datesmalldatetimenotnulldefaultgetdate(),
return_datesmalldatetime)
建立索引:
CREATEINDEXb_book_yearONbook(book_yeardesc)
CREATEINDEXb_borrow_dateONborrow(borrow_datedesc)
四、结论
通过本实验基本学会使用SQL语言实现数据库的创建、删除;
五、问题与讨论
1)如果在创建关系数据库基本表时,未创建完整性约束条件,对于数据库会有何影响?
答:
以后增加数据库数据时,有可能插入无效或重复的数据。
当想删除有多张表中的一张时,由于删除了该表导致其他表数据不完整不能用。
2)如果在创建关系数据库基本表时,未创建索引,对于数据库的运行性能会有何影响?
索引是以牺牲内存空间换取检索时间的,未创建索引时会使运行时的检索变得很慢。
姓名实验时间2011.3.14教师评定
实验题目数据库的的建立与维护
实验报告二
要求学生熟练掌握和使用Transact-SQL及SQLserver企业管理器向数据库中输入数据、修改数据和删除数据的操作。
要求学生按要求实现基本表数据更新,并在数据更新过程中,验证各类数据完整性约束条件,即实体完整性、参照完整性及用户定义完整性约束条件。
1、使用SQLSERVER2000查询分析器,并用INSERT、UPDATE、DELETE语句进行基本表数据更新,要求在进行数据的更新时,所修改的记录不仅满足数据完整性约束条件,并注意各个数据表之间的关联性;
2、在数据更新过程中,通过分析SQL命令执行后数据的差异,来验证SQL命令的正确性,并通过查看运行结果的合法性,来验证各类完整性约束条件正确性。
3、熟练使用企业管理器进行数据库的建立和维护操作,并掌握利用查询分析器进行数据维护的方法。
第1、2项实验内容必须在SQLServer2000的查询分析器中完成,设置查询分析器的结果区为StandardExecute(标准执行)或ExecutedGrid(网格执行)方式.发布执行命令.并在结果区中查看查询结果,如果结果不正确则需要进行修改,直到正确为止。
具体实验步骤如下:
1、数据输入
分别向book、card、borrow三个基本表中输入10条数据(备注:
考虑到以后的可操作性,希望数据的数据具有一定的现实意义),其次插入的数据满足数据完整性约束条件及表与表之间的关联性的要求。
表1书
O001
计算机类
数据库系统
机械工业出版社
2004
张三
28
4
0002
操作系统
清华大学出版社
2000
李四
35
3
0003
数学类
高等数学
科学出版社
1998
王五
15
10
0004
离散数学
2006
赵六
22
2
0005
C语言
2005
钱七
40
1
0006
文学类
心灵鸡汤
电子工业出版社
2002
NULL
19
5
0007
白鹿原
1999
25
6
0008
历史类
中国近代史
文艺出版社
2001
李立
32
0009
中国古代史
0010
JAVA语言
王明
38
表2借书证
T001
李媛媛
自动化学院
T
T002
王丽丽
T003
张强
计算机学院
T004
赵刚
理学院
G001
吴明
G
G002
钱清
U001
李峰
U
U002
白岚
艺术学院
F001
张卫国
F
F002
李爱国
表3借书记录
借书日期(月/日/年)
还书日期(月/日/年)
0001
2011-1-1
2011-1-4
2011-2-15
2011-3-4
20011-2-15
2011-2-5
2011-3-14
2011-8-10
2011-2-2
2011-3-9
2011-2-12
2011-3-11
2009-2-12
2011-1-20
2、修改数据
修改book、card、borrow三个基本表的数据,并要求将book表中price属性的值全部打8折、‘清华大学出版社’的书籍总藏书量增加10本等,同时满足数据完整性约束条件。
3、删除操作
删除book、card、borrow三个数据表中的某些数据,并注意数据完整性约束条件的限制。
要求删除borrow表中借书日期为1年前的数据,以及要求删除‘电子工业出版社’的书籍。
1、输入数据SQL语句:
INSERTINTObookVALUES('
0001'
计算机'
数据库系统'
机械工业出版社'
2004,'
张三'
28,4)
0002'
操作系统'
清华大学出版社'
2000,'
李四'
35,3)
0003'
数学类'
高等数学'
科学出版社'
1998,'
王五'
15,10)
0004'
离散数学'
2006,'
赵六'
22,2)
0005'
C语言'
2005,'
钱七'
40,1)
0006'
文学类'
心灵鸡汤'
电子工业出版社'
2002,null,19,5)
0007'
白鹿原'
null,1999,null,25,6)
0008'
历史类'
中国近代史'
文艺出版社'
2001,'
李立'
32,4)
0009'
0010'
JAVA语言'
王明'
38,2)
Select*frombook运行结果如下:
INSERTINTOcardVALUES('
T001'
李媛媛'
自动化学院'
)
T002'
王丽丽'
T003'
张强'
计算机学院'
T004'
赵刚'
理学院'
G001'
吴明'
G002'
钱清'
U001'
李峰'
U002'
白岚'
艺术学院'
F001'
张卫国'
NULL,'
F002'
李爱国'
)
Select*fromcard运行结果如下:
INSERTINTOborrowVALUES('
2011-1-1'
2011-1-4'
2011-2-15'
2011-3-4'
2011-2-5'
2011-3-14'
INSERTINTOborrow(cno,bno,borrow_date)VALUES('
2011-8-10'
2011-2-2'
2011-3-9'
2009-2-12'
2011-3-11'
2011-1-20'
Select*fromborrow运行结果:
UPDATEBOOKSETPRICE=0.8*PRICE
UPDATEBOOKSETbook_total=book_total+10WHEREpress='
deletefromborrowwhereborrow_date<
=getdate()-365
deletefromborrowwherebnoin(selectbnofrombookwherepress='
deletefrombookwherepress='
通过本实验基本学会掌握和使用Transact-SQL及SQLserver企业管理器向数据库中输入数据、修改数据和删除数据的操作,实现带参照完整性的数据操作。
1)如果在实验一中,没有定义数据完整性约束条件,则在数据录入或删除过程中会对数据库造成什么影响?
录入数据时,有可能插入无效或重复的数据。
删除数据时系统没提示有可能残留一些待删除的数据,导致其他表数据不完整不能用。
2)思考如何利用SQLServer2000中所提供的时间函数实现对时间的操作,如需要查询当前时间50天以前的图书的借阅数据该如何处理?
调用getdate()函数可以返回当前系统日期,如下:
Select*fromborrowwhereborrow_date<
=getdate()-50
自动化学院自动化专业班学号
姓名实验时间2011.3.16教师评定
实验题目数据库的简单查询和连接查询
实验报告三
使学生熟练掌握简单表的数据查询、数据联接查询以及数据排序的操作方法,并加深对SQL和Transact-SQL语言的查询语句的理解。
使用SQLSERVER2000查询分析器,并用SELECT语句及WHERE查询条件进行简单查询及连接查询实验,其次使用ORDERBY排序子句实现输出结果的排序。
主要实验内容包括:
1、简单查询
2、连接查询
所有查询必须在SQLServer2000的查询分析器中完成,设置查询分析器的结果区为StandardExecute(标准执行)或ExecutedGrid(网格执行)方式.发布执行命令.并在结果区中查看查询结果,如果结果不正确则需要进行修改,直到正确为止。
要求完成以下查询要求:
1、将计算机类的书存入永久的计算机图书表;
2、查询发生了借阅关系的借书证卡号,并按卡号降序排列;
3、查询清华大学出版社出版的图书情况;
4、查询目前被借出去的书籍的书号、借书证号以及借出日期,并按借出日期排序;
5、查询“李媛媛”老师所借阅的书籍的书名;
6、查询借书者的编号,姓名,单位,所借书号,书名和借阅日期,并按读者编号排序。
三、实验结果和数据处理
1、输入SQL语句:
CREATETABLEbcompute
insertintobcompute
select*frombookwherecategory='
2、selectdistinctcnofromborroworderbycnodesc
3、select*frombookwherepress='
4、selectbno,cno,borrow_datefromborrow
wherereturn_dateisnullorderbyborrow_date
5、selecttitlefrombook,card,borrow
where(o=o)and(borrow.bno=book.bno)and(name='
6、selecto,name,department,borrow.bno,title,borrow_datefromborrow,card,book
where(o=o)and(borrow.bno=book.bno)orderbyo
三、结论
通过本实验基本学会掌握简单表的数据查询、数据联接查询以及数据排序的操作方法,并加深对SQL和Transact-SQL语言的查询语句的理解。
四、问题与讨论
1、对于该条查询语句——查询"
U002"
所借阅的书籍的信息,分别使用左连接、右连接和自然连接命令,试比较所产生的结果有何不同,说明其原因,并指出对于该查询要求,哪种连接更符合实际要求。
使用左连接:
selectbook.*frombookleftjoinborrowon(book.bno=borrow.bnoandcno='
使用右连接:
sele
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 SQL 各类 实验 报告