梁付新数据库实验报告2.docx
- 文档编号:14077738
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:14
- 大小:54.33KB
梁付新数据库实验报告2.docx
《梁付新数据库实验报告2.docx》由会员分享,可在线阅读,更多相关《梁付新数据库实验报告2.docx(14页珍藏版)》请在冰点文库上搜索。
梁付新数据库实验报告2
长安大学电控学院
数据库课程设计报告
实验二:
查询的创建与操作
姓名:
梁付新
班级:
自动化二班
专业:
自动化(交通信息与控制)
学号:
201132010215
指导教师:
司利云
问题描述
1、实验目的
1)熟悉对表的基本操作;
2)练习常用的SQL语句;
2、实验环境:
1)操作系统:
WindowsXP简体中文版
2)数据库系统:
SQLSever2000
3、实验学时:
4
4、实验要求:
1)列出西安所有旅馆(不少于20家)的情况;
2)列出住在西安的所有客人的姓名和抵制,按字母表顺序排列;
3)列出每晚房价在200元以下的所有双人间(doubleroom)和套间(familyroom),按价格升序排列;
4)列出有多少旅馆;
5)列出房间的平均价格是多少;
6)列出所有双人间每晚的总收入是多少;
7)列出西安宾馆所有房间的价格和类型;
8)列出每个旅馆的房间数量;
9)列出在西安的,有100间以上房间的旅馆的房间数量;
10)列出西安每个旅馆最常订的房间类型。
5、实验步骤
在查询分析器在窗口下依次用SELECT语句完成表格的查询。
6、本次实验出现问题、解决方法,以及对实验的意见。
二、需求分析
此次数据库实验应该先建立相应的数据库,按照要求,我们应该建立Hotel关系数据库,对于此数据库,应该包含四个实体集,分别是Hotel,Room,Booking,Guest,每个实体集都有不同的属性,且每个实体集也有各自的主码与外码来对相互之间的关系进行约束,通过这些约束规则,我们可以对数据库插入数据,编辑字段,也可以进行删除等操作。
数据库程序的设计任务就是数据库查询的创建与操作,依据以上的查询与操作相应的要求,,可以发现此次数据库的任务的要求如下所示:
1)数据库示例分析;
2)数据库、关系表定义;
3)学习定义关系表的约束(主键、外键、自定义);DBMS系统的功能定义该数据库的关系表和数据约束;了解DBMS的操纵功能;
用DBMS系统的功能直接操纵数据库;
4)向数据库输入大量的数据,用来查询以上所示的各个问题,熟悉并掌握基本的查询语句;
数据测试:
双击进入SQLServer2000,并连接服务器,在左侧栏里,寻找到以“hotel”命名的数据库,并进行一系列数据处理;
若要圆满地完成题目的要求,则需要解决以下几个问题:
1、建立Hotel关系数据库,输入一定的约束规则,并确定相应的主码、外码;
2、学会用Excel表格的方式插入大量数据,并对数据进行核对,无误进行操作;
3、正确完成以上所有的查询语句并掌握查询的基本SQL语句;
三、概要设计
Hotel数据库主要通过已经建立好的规则,实现整个库对各个元
组信息进行记录、查询、修改和删除的操作。
以下是使用CreateTable语句创建表的具体写法:
USEhotel
createtableHotel
(hotel_novarchar(20),
hotel_namevarchar(20),
hotel_cityvarchar(20),
primarykey(hotel_no));
createtableRoom
(room_novarchar(20),
hotel_novarchar(20),
typvarchar(20),
pricenumeric(3,0)
primarykey(room_no),
foreignkey(hotel_no)referencesHotel);
createtableGuest
(guest_novarchar(20),
guest_namevarchar(20),
guest_addressvarchar(20),
primarykey(guest_no))
createtableBooking
(hotel_novarchar(20),
guest_novarchar(20),
datafromvarchar(20),
datatovarchar(20),
room_novarchar(20),
primarykey(hotel_no,guest_no,room_no),
foreignkey(hotel_no)referencesHotel,
foreignkey(room_no)referencesRoom,
foreignkey(guest_no)referencesGuest
四、详细设计
1、先熟悉好SQLServer2000操作环境与基本功能,如数据库的建立,SQL语言的输入等,然后根据该数据库的需要,建立Hotel数据库(由于版本不同,SQLServer2008版不用输入建立数据库的条件语句,这里我介绍SQLServer2000版建立数据库的条件语句),建立数据库语言如下所示:
/*创建一个简单的宾馆业务数据库*/
CREATEDATABASEhotel
ON
(NAME='hotel_data',
FILENAME='c:
\DocumentsandSettings\STD\桌面\hotel_data.mdf',
SIZE=12,
MAXSIZE=24,
FILEGROWTH=2)
LOGON
(NAME='hotel_log',
FILENAME='c:
\DocumentsandSettings\STD\桌面\hotel_log.ldf',
SIZE=12,
MAXSIZE=24,
FILEGROWTH=2)
2、Hotel关系数据库建立好,就开始使用CreateTable语句创建表,按照实验要求,我将会建立四个实体集,分别是Hotel,Room,Booking,Guest,并将各自的属性标志好,其基本语法如下:
USEhotel
createtableHotel
(hotel_novarchar(20),
hotel_namevarchar(20),
hotel_cityvarchar(20),
primarykey(hotel_no));
createtableRoom
(room_novarchar(20),
hotel_novarchar(20),
typvarchar(20),
pricenumeric(3,0)
primarykey(room_no),
foreignkey(hotel_no)referencesHotel);
createtableGuest
(guest_novarchar(20),
guest_namevarchar(20),
guest_addressvarchar(20),
primarykey(guest_no))
createtableBooking
(hotel_novarchar(20),
guest_novarchar(20),
datafromvarchar(20),
datatovarchar(20),
room_novarchar(20),
primarykey(hotel_no,guest_no,room_no),
foreignkey(hotel_no)referencesHotel,
foreignkey(room_no)referencesRoom,
foreignkey(guest_no)referencesGuest
3、按照要求,我将继续写进几组数据,从而方便以后的基本查询、编辑、删除等操作,输入数据组成元组信息,输入的数据的基本语法在实验一已经学会,由于本次输入实验数据量较大,我采用用Excel表格导入数据的方法进行插入数据,这里就不一一列举表格了,我将会在后面附上表格等记录。
五、调试分析
1、在编辑基本语句,执行操作时,会出现“该语句无效”,紧接着便会出现是哪几行出现错误,我按照指示所指,找到错误根源;我将单引号写成了双引号,正确显示时,单引号以及引起的内容以红色字体显示。
2、在实体集Booking和Room中,分别有hotel_no,guest_no,room_no三个主码和room_no一个主码,我在导入数据表格时,多次发生错误而得不到改正,经检验,我发现在主码数据中有重复元素,改正过后,终能导入。
3、在利用Excel表格导入数据时,我首先导入的是Hotel表格,再次是Room表格均成功,接下来,我又导入Booking表格,结果失败;经检验,我发现表中的guest_no是Guest表格中的主码,所以应该先导入Guest表格,再导入Booking表格才对。
六、实验步骤与结果(以SQLServer2000为例)
1、列出西安所有旅馆(不少于20家)的情况,查询语句与结果如下图所示;
2、列出住在西安的所有客人的姓名和地址,按姓名的字母表顺序排列;
3、列出每晚房价在200元以下的所有双人间(doubleroom)和套间(familyroom),按价格升序排列,图如下表;
4、列出有多少旅馆,图如下表;
5、列出房间的平均价格是多少,图如下所示;
6、列出所有双人间每晚的总收入是多少,图如下所示;
7、列出西安宾馆所有房间的价格和类型,图如下所示;
8、列出每个旅馆的房间数量,图如下所示;
9、列出在西安的,有100间以上房间的旅馆的房间数量,图如
下所示;
10、列出西安每个旅馆最常订的房间类型,图如下所示:
七、附录
/*创建一个简单的宾馆业务数据库*/
CREATEDATABASEhotel
ON
(NAME='hotel_data',
FILENAME='c:
\DocumentsandSettings\STD\桌面\hotel_data.mdf',
SIZE=12,
MAXSIZE=24,
FILEGROWTH=2)
LOGON
(NAME='hotel_log',
FILENAME='c:
\DocumentsandSettings\STD\桌面\hotel_log.ldf',
SIZE=12,
MAXSIZE=24,
FILEGROWTH=2)
/*在此宾馆内创建数据库相应的实体集,并标明属性与规格*/
USEhotel
createtableHotel
(hotel_novarchar(20),
hotel_namevarchar(20),
hotel_cityvarchar(20),
primarykey(hotel_no));
createtableRoom
(room_novarchar(20),
hotel_novarchar(20),
typvarchar(20),
pricenumeric(3,0)
primarykey(room_no),
foreignkey(hotel_no)referencesHotel);
createtableGuest
(guest_novarchar(20),
guest_namevarchar(20),
guest_addressvarchar(20),
primarykey(guest_no))
createtableBooking
(hotel_novarchar(20),
guest_novarchar(20),
datafromvarchar(20),
datatovarchar(20),
room_novarchar(20),
primarykey(hotel_no,guest_no,room_no),
foreignkey(hotel_no)referencesHotel,
foreignkey(room_no)referencesRoom,
foreignkey(guest_no)referencesGuest)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 梁付新 数据库 实验 报告