数据库实验一 数据定义与简单查询实验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一数据定义与简单查询实验

一、实验目的

1、要求学生熟练掌握和使用SQL语言、SQL Server企业管理器创建数据库、表索引和修改表结构,并学会使用SQL Server 查询分析器。

2、掌握查看、修改数据库和表的属性的方法

3、在建立好的数据库表中输入部分虚拟数据,学会如何实现基于单表的简单查询。

二、实验内容

1、使用SQL Server 2008企业管理器创建一个“图书读者数据库”(Book_Reader_DB);

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 * from Book

② select * from book where Bclass=’计算机’

③ select count(*) from book group by Bclass

④ select * from Reader

⑤ select * from Borrow

⑥ select rno, count(bno) from Borrow group by rno order by rno

⑦ select bno, count(rno) from Borrow group by bno order by bno

做实验时,还可以虚拟用户的一些其它查询要求,并用Transact-SQL语句予以实现。

上述每项实验内容相应的实验步骤必须进行详细的记录,并将其整理后写在实验报告中。

三、实验环境与实验准备工作

实验环境:Microsoft Windows 2000操作系统,SQL Server 2000数据库管理系统标准版或企业版。

实验准备工作:在开始本实验之前,请回顾教科书的相关内容(数据定义的创建方法和约束的创建)。

四、实验报告要求

1、根据实验内容和每一步骤实验的结果,按课程实验报告的撰写规范完成实验报告。

报告可用手写或打印,尽可能打印,格式一定要规范。

2、实验报告至少包括以下内容:①实验目的;②实验环境;③实验内容、步骤、结果和实验过程中出现的问题;④实验过程中主要使用的Transact-SQL语句。

3、实验报告由每班学习委员统一收齐,并于星期四下午送交至创新大楼407(软件工程教研室)。

方法一:使用企业管理器

新建数据库:

建Book表:

Reader表:

Borrow表:

方法二:使用查询分析器

/**采用查询分析器中用Transact-SQL语句的方法建立图书、读者和借阅三个表**/ Create Database Book_Reader_DB

Create table Book

(

bno nvarchar(50) primary key,

bclass nvarchar(50) not null,

publisher nvarchar(50) not null,

author nvarchar(50) not null,

price float not null,

remark nvarchar(50) not null,

num int not null,

date nvarchar(50) not null

)

Create table Reader

(

rno nvarchar(50) primary key,

rname nvarchar(50) not null,

department nvarchar(50) not null,

sex varchar(2) not null check(sex in('男','女')) default '男',

telephone nvarchar(50) not null

)

Create table Borrow

(

bno nvarchar(50),

rno nvarchar(50),

primary key(bno,rno),

foreign key(bno) references Book(bno),

foreign key(rno) references Reader(rno)

)

/**在“图书”表中,增加两个字段,分别为“数量”和“购买日期”和在“借阅”表中增加一个“还书日期”字段*/

Alter table Reader add constraint cons_sex_chk check(sex in ('男','女')) Alter table Book add num nvarchar(50) not null

Alter table Book add date nvarchar(50) not null

Alter table Borrow add Back_date nvarchar(50) not null

插入数据:

相关文档
最新文档