学年第1学期数据库实验指导书.docx
- 文档编号:6161230
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:26
- 大小:271.62KB
学年第1学期数据库实验指导书.docx
《学年第1学期数据库实验指导书.docx》由会员分享,可在线阅读,更多相关《学年第1学期数据库实验指导书.docx(26页珍藏版)》请在冰豆网上搜索。
学年第1学期数据库实验指导书
目录
实验一安装SQLServer20052
实验二启动SQLServer2005和建库、表3
实验三SQLServer2005查询分析器6
实验四SQL语言的DDL10
实验五SQL语言的DML初步12
实验六DML的数据查询14
实验七SQL语言综合练习18
实验八数据库设计21
实验九嵌入式SQL的使用22
实验目的22
实验平台22
预备知识22
初始化环境:
24
实验活动27
实验一安装SQLServer2005
一、实验目的
SQLServer2005是Mircosoft公司推出的关系型网络数据库管理系统,是一个逐步成长起来的大型数据库管理系统。
本次实验了解SQLServer2005的安装过程,熟悉SQLServer2005软件环境。
学会安装SQLServer2005的安装。
二、实验内容
1.安装Microsoft的数据库服务软件SQLServer2005:
运行服务器目录SQL2005下的可执行文件autorun.exe,进行SQLServer2005的安装。
。
三、实验任务
1.在计算机上安装数据库软件SQLServer2005;
2.熟悉软件的使用
实验二启动SQLServer2005和建库、表
一、实验目的
SQLServer2005的启动和管理工作由服务管理器和企业管理器来实现。
本次实验了解SQLServer2005的启动,熟悉如何在SQLServer2005图形环境下建立数据库和表。
学会安装SQLServer2005的启动和建库、表的操作。
二、实验内容
1.启动数据库服务软件SQLServer2005选择其下的工具SQLServerManagementStudio,在其“对象资源管理器”面板中单击展开服务器,右击“数据库”结点,选择“新建数据库”:
2.在“常规”中输入新数据库名Test和日志文件
3.在Test数据库上建立表:
输入列名,数据类型,长度等信息,点击
图标,出现选择表名窗口,如图所示:
输入表名,点击确定按钮,将新建的表存盘。
三、实验任务
1.用数据库SQLServer2005的服务管理器启动数据库服务;
2.用数据库SQLServer2005的对象资源管理器建立一个数据文件名为demodata、大小50M,日志文件名为demolog、大小25M的新数据库,该数据库名为Demo。
3.在数据库Demo上,建立如下所示的表customer:
字段名
类型
长度
含义
customid
varchar
17
顾客编号
name
varchar
10
姓名
sex
varchar
2
性别
age
int
4
年龄
xfg
dec
10,2
消费金额
address
varchar
50
地址
memo
varchar
100
备注
练习
T-SQL命令
表结构的创建、修改和删除
1、表结构的创建
例1
为sales数据库创建一个销售人员表Salers,它包括销售人员编号(SaleID)、姓名(SaleName)、性别(Sex)、出生日期(Birthday)、雇用日期(HireDate)、地址(Address)、电话(telephone)、备注(Note)字段,其中SaleID、SaleName这两列不允许为空。
CREATETABLEsalers
(SaleIDchar(3)NOTNULL,
SaleNamechar(8)NOTNULL,
Sexchar
(2),
Birthdaydatetime,
HireDatedatetime,
Addresschar(60),
Telephonechar(13),
Notechar(200)
)
注意:
NOTNULL参数指出了该字段是不可以为空的。
和他相对的还有一个NULL(指出了字段可以为空)。
例2
为sales数据库创建订单表Orders,包括OrderID、CustomerID、SaleID和OrderDate字段,其中OrderID为标识列,起始值为10248,增值为1;CustomerID和SaleID字段不允许为空值;OrderDate字段的默认值为当前日期。
CREATETABLEOrders
(OrderIDintIDENTITY(10248,1),
CustomerIDchar(3)NOTNULL,
SaleIDchar(3)NOTNULL,
OrderDatedatetimeDEFAULTgetdate()
)
注:
getdate()是系统函数,返回系统当前日期。
Orders表有一个标识列OrderID,该列以10248为起始值,以1为增值,因此在插入数据时,用户不需提供该列的值,SQLServer自动填充该列,该列的值依次是10248,10249,10250……
Orders表中OrderDate列带有默认值,因此当用户插入数据时,如果没有给该列提供值,SQLServer就自动用默认值填充该列。
默认值为系统当前日期。
例3
为sales数据库在文件组USER1上创建类别Categories表。
CREATETABLECategories
(CategoryIDintNOTNULL,
CategoryNamenvarchar(15),
Descriptionnvarchar(200)
)
ONUSER1
注意:
文件组USER1必须已经定义。
在前两例中没有使用ON关键字指出文件组,则表存储在默认的文件组中。
2、表结构的修改
例1
sales数据库中的Customers表包含CustomerID,CompanyName和ConnectName三个字段,现为该表添加公司地址(Address)、邮政编码(ZipCode)、和电话号码字段(Telephone)。
EXECsp_addtypetelephone_code,’varchar(15)’,’NULL’
EXECsp_addtypezip,’char(6)’,’NOTNULL’
GO
ALTERTABLECustomers
ADDAddresschar(40),ZipCodezip,Telephonetelephone_code
在该列中,添加的ZipCode和Telephone字段的数据类型为用户自定义数据类型。
例2
将表Salers中的Sex列删除。
ALTERTABLESalers
DROPCOLUMNSex
例3
将Salers表中的Address字段的长度改为30,并且不能为空。
ALTERTABLESalers
ALTERCOLUMNAddressvarchar(30)NOTNULL
注意:
只能修改列的数据类型,以及列值是否为空。
3、表结构的删除
例:
删除当前数据库中一个名为example1的表。
DROPTABLEexample1
实验三SQLServer2005查询分析器的使用
一、实验目的
SQLServer2005ManagementStudio工具中的查询分析器(新建查询)是一种特别用于交互式执行SQL语句和脚本的极好的工具。
本次实验了解SQLServer2005ManagementStudio工具中查询分析器的启动,熟悉如何在SQLServer2005ManagementStudio工具中的查询分析器中建表、插入记录、查询记录。
学会SQLServer2005的查询分析器中建表、插入记录、查询记录。
二、实验内容
1.启动数据库服务软件SQLServer2005的ManagementStudio工具,选择“新建查询”:
2.在查询分析器中建立表:
在查询分析器的查询窗口中输入SQL语句
提示命令成功完成,或者报告出错信息。
3.查询分析器中向表添加数据:
在查询分析器的查询窗口中输入SQL语句,如图所示。
点击按钮,执行该SQL语句,在查询窗口下部出现一个输出窗口,如图所示。
1.从表中查询数据:
在查询分析器的查询窗口中输入SQL语句,如图所示。
点击
按钮,执行该SQL语句,在查询窗口下部出现一个输出窗口,如图所示。
三、实验任务
1.打开数据库SQLServer2005的查询分析器,用SQL语言建表student,表结构如下图所示:
字段名
类型
长度
含义
id
varchar
17
学生编号
name
varchar
10
姓名
sex
varchar
2
性别
age
integer
年龄
score
numeric
6,2
总成绩
2.用SQL语言向表student插入如下6条记录:
A0001
赵一
男
20
580.00
B0002
钱二
女
19
540.00
C0003
孙三
男
21
555.50
D0004
李四
男
22
480.00
E0005
周五
女
20
495.50
F0006
吴六
男
19
435.00
3.练习查询语句,查找年龄大于等于20岁,成绩低于500分的记录。
实验四SQL语言的DDL
一、实验目的
SQL(StructuredQueryLanguage)语言是关系数据库的标准语言。
是一种介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询,SQL语言是一个通用的、功能极强的关系数据库语言。
从本次实验开始,我们将详细的学习SQL的DDL(数据定义语言)、DML(数据操纵语言)、DCL(数据控制语言)。
本次实验了解DDL语言的CREATE、DROP、ALTER对表、索引、视图的操作,学会SQLServer2005的查询分析器中用DDL语言进行对表、索引、视图的增加、删除和改动。
二、实验内容
1.启动数据库服务软件SQLServer2005的查询分析器,用如下语句对表进行操作,详细的语法格式参看课本相应章节:
CreateTable建表
DropTable删除表
AlterTable更改表
2.用如下语句对视图进行操作,详细的语法格式参看课本相应章节:
CreateView建视图
DropView删除视图
3.如下语句对索引进行操作,详细的语法格式参看课本相应章节:
CreateIndex建立索引
DropIndex删除索引
三、实验任务
1.打开数据库SQLServer2005的查询分析器,用CreateTable建表aa,表结构如下所示:
字段名
类型
长度
含义
Aa1
Varchar
20
字段1
Aa2
Int
字段2
Aa3
Dec
10,2
字段3
2.用CreateTable建表bb,表结构如下所示:
字段名
类型
长度
含义
Bb1
Varchar
30
字段1
Bb2
Int
字段2
Bb3
Dec
6,2
字段3
3.用DropTable删除表aa。
4.用AlterTable修改表bb,添加一个字段Bb4,类型Varchar,长度20。
5.用CreateView对表Bb的Bb1和Bb4建立一个视图Viewbb,字段名为Viewbb1和Viewbb2。
6.DropView删除视图Viewbb。
7.用CreateIndex对表Bb的Bb3字段建立一个升序索引,索引名Indexbb。
8.用DropIndex删除索引Indexbb。
9.将以上的SQL语言存盘,以备老师检查。
实验五SQL语言的DML初步
一、实验目的
SQL的数据操纵功能通过DML(数据库操作语言)实现。
DML包括数据查询和数据更新两种数据操作语句。
其中,数据查询指对数据库中的数据查询、统计、分组、排序等操作;数据更新指数据的插入、删除和修改等数据维护操作。
本次实验了解DML语言的INSERT、UPDATE、DELETE对数据的操作,学会SQLServer2005的查询分析器中用DML语言对表中的数据进行插入、删除和修改。
二、实验内容
1.启动数据库服务软件SQLServer2005的查询分析器,用INSERT语句对表进行插入操作,语法格式如下:
InsertInto<表名>[(<属性列1>[,<属性列2>]…)]
Values(<常量1>[,<常量2>]…);
2.用UPDATE语句对表中已有的记录进行修改,语法格式如下:
Update<表名>Set<列名>=<表达式>[,<列名>=
<表达式>][,…n][Where<条件>];
3.用DELETE语句对表中已有的记录进行删除,语法格式如下:
DeleteFrom<表名>[Where<条件>];
三、实验任务
1.打开数据库SQLServer2005的查询分析器,用CreateTable建表cc,表结构如下所示:
字段名
类型
长度
含义
Cc1
Varchar
20
字段1
Cc2
Int
字段2
Cc3
Dec
10,2
字段3
Cc4
Varchar
60
字段4
2.用INSERT语句对表cc插入6条记录
Cc1
Cc2
Cc3
Cc4
赵一
20
580.00
重邮宿舍12-3-5
钱二
19
540.00
南福苑5-2-9
孙三
21
555.50
学生新区21-5-15
李四
22
480.00
重邮宿舍8-2-22
周五
20
495.50
学生新区23-4-8
吴六
19
435.00
南福苑2-5-12
3.用UPDATE语句,将表cc中cc2小于等于20的记录,把cc3字段加5。
4.用DELETE语句将表cc中cc2大于等于20和cc3大于等于500的记录删除。
5.将以上的SQL语言存盘,以备老师检查。
实验六DML的数据查询
一、实验目的
DML的数据查询指对数据库中的数据查询、统计、分组、排序等操作。
查询语句可以分为简单查询、连接查询、嵌套查询和组合查询。
本次实验了解DML语言的SELECT语句对数据的查询,学会SQLServer2005的查询分析器中用DML语言对表中的数据进行简单查询、连接查询、嵌套查询和组合查询。
二、实验内容
1.启动数据库服务软件SQLServer2005的查询分析器,用SELECT语句对表进行简单查询操作,整个查询过程只涉及到一个表,是最基本的查询语句。
语法格式如下:
Select<目标列组>From<数据源>[Where<元组选择条件>]
[Groupby<分组列>[Having<组选择条件>]]
[Orderby<排序列1><排序要求>[,…n]]
2.用SELECT语句对表进行连接查询操作,连接查询涉及被连接和连接两个表,所以数据源一般为多个表。
用来连接两个表的条件称为连接条件,一般格式为:
[<表名1>.]<列名1><比较运算符>[<表名2>.]<列名2>
其中比较运算符主要有:
=、>、<、>=、<=、!
=。
3.用SELECT语句对表进行嵌套查询操作,一个Select…From…Where语句称为一个查询块,将一个查询块嵌套在另一个查询块的Where子句或Having短语的条件中的查询,就是嵌套查询。
主要有使用In操作符、使用比较运算符的嵌套查询方式。
4.用SELECT语句对表进行组合查询操作,将SELECT语句的查询结果集再进行集合运算就构成了SQL的组合查询。
组合查询操作符有Union(并操作)、Intersect(交操作)和Minus(差操作)。
三、实验任务
1.打开数据库SQLServer2005的查询分析器,用CreateTable建表Student,表结构如下所示:
字段名
类型
长度
含义
ID
Varchar
20
学号
Name
Varchar
10
姓名
Age
Int
年龄
Department
Varchar
30
所在系
2.用CreateTable建表Course,表结构如下所示:
字段名
类型
长度
含义
CourseID
Varchar
15
课程号
CourseName
Varchar
30
课程名
CourseBefore
Varchar
15
先行课
3.用CreateTable建表Choose,表结构如下所示:
字段名
类型
长度
含义
ID
Varchar
20
学号
CourseID
Varchar
30
课程号
Score
Dec
5,2
成绩
4.用INSERT语句向表Student中插入3条记录:
ID
Name
Age
Department
00001
张三
20
计算机系
00002
李四
19
计算机系
00003
王五
21
计算机系
5.INSERT语句向表Course中插入3条记录:
CourseID
CourseName
CourseBefore
C1
计算机引论
-
C2
PASCAL语言
C1
C3
数据结构
C2
6.用INSERT语句向表Choose中插入7条记录:
ID
CourseID
Score
00001
C1
95
00001
C2
80
00001
C3
84
00002
C1
80
00002
C2
85
00003
C1
78
00003
C3
70
7.用SELECT语句求计算机系学生的学号和姓名。
8.用SELECT语句求学生的学号、姓名、选的课程名及成绩。
9.用SELECT语句求C1课程的成绩低于张三的学生的学号和成绩。
10.用SELECT语句求选了C2课程并且也选了C3课程的学生的学号。
11.用select语句求计算机系年龄在20岁以下的学生的详细信息.
12.查询所有学生的详细信息,结果按学号降序排列。
13.查询每个系学生的人数。
14.查询每个系学生的平均年龄。
15.查询计算机系学生的最大年龄和最小年龄。
16,查询每个学生的平均分。
17.查询每个学生的选课门数。
18.查询每门课程的选课人数。
19,查询选修课程c1并且成绩在80分以上的学生的学号。
20.查询所有选修了才c2课程的学生的学号。
21.查询所有选了课的学生的学号。
22.查询选修人数大于2的课程号。
23.查询选修人数大于2并且平均成绩大于80分的课程
实验七SQL语言综合练习
一、实验目的
SQL语言是数据库语言领域中的主流语言,对SQL语言的掌握程度直接关系到数据库学习的好坏。
本次实验通过一个SQL语言的综合练习,对前面的学习的内容进行复习,并加以巩固,希望大家对SQL语言有一个较好的掌握。
二、实验内容
1.启动数据库服务软件SQLServer2005的查询分析器,用CreateTable建表;
2.用InsertInto向表中插入记录;
3.用CreateIndex在表上建立索引;
4.用CreateView建立视图;
5.用SELECT语句进行各种查询操作。
三、实验任务
1.打开数据库SQLServer2005的查询分析器,用CreateTable建表Exam,表结构如下图所示:
字段名
类型
长度
含义
Id
varchar
17
学生编号
Name
varchar
10
姓名
Sex
varchar
2
性别
Age
integer
年龄
score
numeric
6,2
总成绩
address
varchar
50
地址
Memo
varchar
100
备注
2.用InsertInto语句向Exam表中添加6条记录,记录内容如下图所示:
A0001
赵一
男
20
580.00
重邮宿舍12-3-5
学习委员
B0002
钱二
女
19
540.00
南福苑5-2-9
班长
C0003
孙三
男
21
555.50
学生新区21-5-15
优秀共青团员
D0004
李四
男
22
480.00
重邮宿舍8-2-22
暂无相关信息
E0005
周五
女
20
495.50
学生新区23-4-8
暂无相关信息
F0006
吴六
男
19
435.00
南福苑2-5-12
暂无相关信息
1.对表Exam的Score字段建立一个名为IndexScore的升序索引。
4.建立视图ViewExam,字段ViewExam1和ViewExam2分别对应表Exam的Name和Address字段。
5.某电信局计费部门涉及如下表
三个表的字段含义如下:
Jm表:
Jmbm
局名编码
Jmhz
局名汉字说明
Jmbz
局名标志
Zjm表:
Zjmbm
子局名编码
Zjmhz
子局名汉字说明
Jmbm
局名编码
Zjmbz
子局名标志
Dhshow表:
(其它字段与本次测验无关,未给出相关含义)
Dhh
电话号码
Sl1
长话费
Sl3
市话费
Sl39
地区编码
Sl40
子局名编码
表间关联:
Jm表中的jmbm和zjm表中的jmbm是相等的;
Zjm表中的zjmbm和dhshow表中的sl40是相等的。
表说明:
dhshow表中的sl1和sl3字段的计费单位是币人民分。
请插入适当数据,然后完成下列查询
6.用SELECT语句,求某一地区长话消费平均是多少分人民币。
7.用SELECT语句,求某一地区市话消费总额大于10元人民币并且长话消费不为零的电话号码。
8.用SELECT语句,查询每一电话局各包含哪些子局?
9.用SELECT语句,查询每一子局的长话费总额?
10.用SELECT语句,查询每一电话局的长话费总额?
实验八数据库设计
一、学时
4学时
二、实验类型
综合、设计
三、实验目的
学习使用数据库设计工具进行数据库的设计,并熟悉数据库的设计的基本方法和步骤,搞清数据库设计各阶段的任务
四、实验准备
1.熟悉数据库设计工具的设计环境;
2.复习SQL语言命令;
3.复习E-R图的绘制;
4.复习数据库设计的方法、步骤
六、实验方法及步骤
1.对一小型数据库应用系统进行需求分析;
2.绘制E-R图;
3.将E-R模型向数据模型转换;
4.创建数据库,定义基本表
七、实验内容
系统数据库的设计;
实验九
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学年 学期 数据库 实验 指导书