数据库原理与应用上机实验.docx
《数据库原理与应用上机实验.docx》由会员分享,可在线阅读,更多相关《数据库原理与应用上机实验.docx(15页珍藏版)》请在冰豆网上搜索。
数据库原理与应用上机实验
实验二创建和修改数据库
实验内容及步骤
分别使用SQLServer2005ManagementStudio和Transact-SQL语句,按下列要求创建和修改用户数据库。
1.创建一个数据库,要求如下:
(1)数据库名"租借"。
(2)数据库中包含一个数据文件,逻辑文件名为租借_data,磁盘文件名为租借_data.mdf,文件初始容量为10MB,最大容量为50MB,文件容量递增值为5MB。
(3)事务日志文件,逻辑文件名为租借_log,磁盘文件名为租借_log.ldf,文件初始容量为5MB,最大容量为25MB,文件容量递增值为1MB。
2.对该数据库做如下修改:
(1)添加一个数据文件,逻辑文件名为租借1_data,实际文件为租借1_data.ndf,文件初始容量为10MB,最大容量为50MB,文件容量递增值为5MB。
(2)将日志文件的最大容量增加为45MB,递增值改为2MB。
3.创建一个能够容纳老师、学生、家长信息的学校数据库:
(1)老师、学生、家长的信息分别存放在不同的文件组内。
(2)文件的初始大小均为10MB,最大容量均为50MB,递增值均为10MB。
(3)为了增加数据库的数据添加、查询性能,每个文件组都包含两个数据文件。
(4)在你的D盘下创建一个名叫school的文件加,将学校的数据文件与日志文件都放在这个文件夹下。
4.将northwind和pubs数据库附加到你的数据库实例上。
并查看northwind和pubs数据库的创建代码。
5.为学校数据库做一个完全备份。
6.将备份数据库恢复。
实验三创建和修改表
实验内容及步骤
1.分别使用SQLServer2005ManagementStudio和Transact-SQL语句,按下列要求为“租借”数据库添加表结构。
(1)职工(职工工号,姓名,性别,职位编号,月工资,分公司编号,雇佣日期,审批经理)
(2)分公司(分公司包含,分公司名称,街道,城市,省市,电话号码,邮政编码,经理工号)
(3)影碟(影片号,影片名,类型编号,日租金,单价,内容简介,演员,角色,导演)
(4)会员(会员号、会员姓名,地址,联系电话,注册日期,操作员号,有效证号,证件名称,会费)
(5)库存(库存号,影片号,分公司编号,总量,借出量,操作员号,存入日期)
(6)会员需求(登记日期,会员号,库存号,影片名,演员,导演,角色)
(7)
租借(租借号,借出日期,归还日期,会员号,库存号,操作员号,数量,预租天数,借还标志)
(8)影片类型(类型编号,类型名)
(9)职位(职位编号,职位名)
针对以上的9个关系,设计表结构。
并输入信息(自己设计,注意数据之间的一致性)。
2.在学校数据库中创建老师、家长、学生信息表:
学生基本信息表:
列中文名称
学号
学生姓名
学生性别
学生年龄
学生所在年级
学生所在班级
学生的班主任ID
学生的家长ID
列英文名称
Id
name
gender
age
grade
class
teacher_id
parent_id
数据类型
Int
char(20)
char
(2)
smallint
smallint
smallint
int
int
教师基本信息表:
列中文名称
教师编号
教师姓名
教师性别
教师年龄
执教课程
教学年龄
职称
列英文名称
Id
name
gender
age
subject
teaching_age
position
数据类型
Int
char(20)
char
(2)
smallint
char(20)
smallint
char(20)
家长基本信息表:
列中文名称
家长编号
父亲姓名
母亲姓名
父亲联系方式
母亲联系方式
家庭固定电话
父亲所在单位
母亲所在单位
父亲所在单位职务
母亲所在单位职务
列英文名称
Id
father
mother
f_telephone
m_telephone
phone
f_company
f_company
f_position
m_position
数据类型
Int
char(20)
char(20)
char(20)
char(20)
char(20)
varchar(50)
varchar(50)
char(20)
char(20)
(10)创建以上关系的表结构,并分别存储在对应的文件组上。
(11)为以上三个关系添加数据。
学生基本信息:
Id
name
gender
age
grade
class
teacher_id
parent_id
2008001
Alice
女
15
1
1
101
2001
2008002
Rose
女
15
1
2
102
2001
2008003
Jack
男
16
1
2
102
2002
2008004
Tom
男
14
1
1
101
2003
2008005
Peter
男
17
1
3
103
2004
教师基本信息表:
Id
name
gender
age
subject
teaching_age
position
101
MSZhang
女
30
语文
10
特级教师
102
Sonddan
女
23
法语
1
初级教师
103
Jacky
男
50
数学
31
学年组长
104
CoCo
女
48
化学
25
特级教师
家长基本信息表:
Id
father
mother
f_telephone
m_telephone
phone
f_company
f_company
f_position
m_position
2001
Edd.Cott
Rose.Li
989001
338453
null
IBM
BMW
Engineer
Worker
2002
Jack.Chen
Lily
757980
null
00-76876
Oracle
NULL
Mgr.
null
2003
Tom.Wang
Misto
991871
777444
00-23534
HP
NULL
Worker
null
2004
Peter.Zhang
Null
887653
597555
00-45654
microsoft
eEbay
Engineer
Engineer
(12)为学生表添加一个毕业日期列,列名为graduation,数据类型为char(20)。
(13)为学生表添加一个所在城市列,列名为city,数据类型为varchar(10)。
(14)使用update语句将学生表的毕业日期列数值补全(自己设计数据)。
3.SQL查询:
(15)将student表的信息全部显示出来。
(16)只显示student表中的学号、姓名、性别列的数值。
(17)显示学生表的前两条记录。
(18)查询学生表中,有哪些不重复的教师信息。
教师信息:
家长信息:
学生信息:
实验四数据查询
实验内容及步骤
1.在租借数据库中,完成下列查询:
(1)查询在长沙市的分公司的情况。
(2)按照员工的名字顺序查询指定B003分公司的员工名称、职务、月薪等。
(3)按照分公司号顺序列出每个分公司的经理名称。
(4)分类列出某分公司的影像名称、种类和可租借情况。
(5)查询某个会员租借的全部影像的详细情况。
(6)
查询每个分公司影像《谍中谍》的情况。
(7)查询动画片这一类的所有影像的名称,按照影片名排序。
(8)查询每个分公司可能的租金收入,按照分公司号进行排序。
2.在pubs数据库中,完成下列查询:
titles表:
该表用于记录已出版图书的信息。
authors表:
用于记录已出版图书的作者信息。
titleauthor表:
用于将titles表和authors表关联起来,说明每个作者的著书情况。
publishers表:
用于记录出版社信息。
pub_info表:
用于记录出版社信息。
discounts表:
用于保存不同用户所给的折扣幅度。
sales表:
用于记录书店的图书订购情况。
stores表:
用于记录每个书店的信息。
employee表:
用于记录出版社的雇员信息。
jobs表:
用于存储工作描述信息。
roysched表:
用于保存每本书的销售范围以及该销售量相对应的版税。
(1)查询图书信息表中哪几类图书(使用type字段,这里需要去掉重复的类)。
(2)使用BETWEEN表示范围,找出图书价格不在10~20之间的所有图书信息。
(3)找出作者所在城市为Oakland、Covelo和PaloAlto的所有作者信息。
(条件使用IN)
(4)统计一共有几类图书。
(5)统计每一个州(按state分类)的作者人数,统计结果中包含州名称和作者人数。
(提示:
groupby实现分类汇总)
(6)统计每一类图书(按type分类)的平均价格(price),要求显示每一类图书的明细内容后再显示该类图书的平均价格,明细中要求显示书名、类型和单价。
(提示:
使用computeby)
(7)查询每一个作者所编著的图书的图书标识。
查询结果包括作者姓名和对应的图书标识。
对于没有编著图书的作者,在查询结果中要同样列出,其对应的图书标识显示为空(NULL)(提示:
使用外连接,使用authors表和titleauthor表)。
(8)使用子查询实现:
查询比图书标识为‘PS2091’的书价还低的所有书名。
(提示:
使用titles)。
(9)使用EXIST谓词查询有著书的作者标识和作者姓名。
查询结果按作者标识降序排序。
(提示:
使用authors表和titleauthor表)
(10)使用合并查询(UNION)查找所有作者和所有出版社共包含了哪些城市。
查询结果按城市名称升序排序。
(提示:
使用authors表和publishers表)