数据库实验一数据定义与简单查询实验Word格式文档下载.docx
《数据库实验一数据定义与简单查询实验Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库实验一数据定义与简单查询实验Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。
![数据库实验一数据定义与简单查询实验Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2023-2/1/076a2e12-865a-441d-9d21-0c7243a83fd4/076a2e12-865a-441d-9d21-0c7243a83fd41.gif)
2、使用企业管理器和在查询分析器中用Transact-SQL语句的两种方法建立图书、读者和借阅三个表,其结构为:
图书Book(书号bno,类别bclass,出版社publisher,作者author,书名bname,定价price,备注remark);
读者Reader(编号rno,姓名name,单位department,性别sex,电话telephone);
借阅Borrow(书号bno,读者编号rno,借阅日期bdata)。
要求:
①对每个属性选择合适的数据类型;
②定义每个表的主码、是否允许空值和默认值等列级数据约束;
③对每个表的名字和表中属性的名字尽可能用英文符号标识。
4、实现相关约束:
①使用企业管理器来建立上述三个表的联系,即实现:
借阅表与图书表之间、借阅表与读者表之间的外码约束;
②实现读者性别只能是“男”或“女”的约束。
5、分别用企业管理器和查询分析器修改表的结构。
在“图书”表中,增加两个字段,分别为“数量”和“购买日期”。
在“借阅”表中增加一个“还书日期”字段。
6、用企业管理器在上述三个表中输入部分虚拟数据。
7、在查询分析器中实现基于单个表的查询
①select*fromBook
②select*frombookwhereBclass=’计算机’
③selectcount(*)frombookgroupbyBclass
④select*fromReader
⑤select*fromBorrow
⑥selectrno,count(bno)fromBorrowgroupbyrnoorderbyrno
⑦selectbno,count(rno)fromBorrowgroupbybnoorderbybno
做实验时,还可以虚拟用户的一些其它查询要求,并用Transact-SQL语句予以实现。
上述每项实验内容相应的实验步骤必须进行详细的记录,并将其整理后写在实验报告中。
三、实验环境与实验准备工作
实验环境:
MicrosoftWindows2000操作系统,SQLServer2000数据库管理系统标准版或企业版。
实验准备工作:
在开始本实验之前,请回顾教科书的相关内容(数据定义的创建方法和约束的创建)。
四、实验报告要求
1、根据实验内容和每一步骤实验的结果,按课程实验报告的撰写规范完成实验报告。
报告可用手写或打印,尽可能打印,格式一定要规范。
2、实验报告至少包括以下内容:
①实验目的;
②实验环境;
③实验内容、步骤、结果和实验过程中出现的问题;
④实验过程中主要使用的Transact-SQL语句。
3、实验报告由每班学习委员统一收齐,并于星期四下午送交至创新大楼407(软件工程教研室)。
方法一:
使用企业管理器
新建数据库:
建Book表:
Reader表:
Borrow表:
方法二:
使用查询分析器
/**采用查询分析器中用Transact-SQL语句的方法建立图书、读者和借阅三个表**/
CreateDatabaseBook_Reader_DB
CreatetableBook
(
bnonvarchar(50)primarykey,
bclassnvarchar(50)notnull,
publishernvarchar(50)notnull,
authornvarchar(50)notnull,
pricefloatnotnull,
remarknvarchar(50)notnull,
numintnotnull,
datenvarchar(50)notnull
)
CreatetableReader
rnonvarchar(50)primarykey,
rnamenvarchar(50)notnull,
departmentnvarchar(50)notnull,
sexvarchar
(2)notnullcheck(sexin('
男'
'
女'
))default'
telephonenvarchar(50)notnull
CreatetableBorrow
bnonvarchar(50),
rnonvarchar(50),
primarykey(bno,rno),
foreignkey(bno)referencesBook(bno),
foreignkey(rno)referencesReader(rno)
/**在“图书”表中,增加两个字段,分别为“数量”和“购买日期”和在“借阅”表中增加一个“还书日期”字段*/
AltertableReaderaddconstraintcons_sex_chkcheck(sexin('
))
AltertableBookaddnumnvarchar(50)notnull
AltertableBookadddatenvarchar(50)notnull
AltertableBorrowaddBack_datenvarchar(50)notnull
插入数据:
1-⑦查询:
/**实验一查询语句如下**/
select*fromBook
select*frombookwherebclass='
计算机语言'
selectcount(*)种类数量frombookgroupbybclass
select*fromReader
select*fromBorrow
selectrno,count(bno)数量fromBorrowgroupbyrnoorderbyrno
selectbno,count(rno)数量fromBorrowgroupbybnoorderbybno
execsp_rename'
'
rdate'
column'
;