数据库原理实验指导书2Word文档格式.docx
- 文档编号:16774397
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:32
- 大小:80.80KB
数据库原理实验指导书2Word文档格式.docx
《数据库原理实验指导书2Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据库原理实验指导书2Word文档格式.docx(32页珍藏版)》请在冰豆网上搜索。
图1.3“企业管理器”窗口
执行“开始→程序→MicrosoftSQLServer→企业管理器”菜单命令,打开“企业管理器”,如图1.1所示。
单击窗口中树状目录窗格中“MicrosoftSQLServer”节点,并打开在其下级SQLServer组下自己安装的数据库实例的“数据库”树节点(如图1.3所示),浏览系统自动创建的数据库情况,并单击某一数据库(如Pubs或Northwind学习数据库)节点,浏览其中包含的数据库对象。
如果相应实例的数据库服务器未启动,用鼠标右键单击该数据库服务器,从弹出的快捷菜单中选择“连接”也可启动SQLServer服务。
四、使用查询分析器
通过“企业管理器”进入“查询分析器”,按示例进行简单的数据查询操作。
在“企业管理器”窗口中,选位pubs数据库(系统提供的学习用数据库),执行“工具→SQL查询分析器”菜单命令(如图1.4所示),打开“查询分析器”窗口(如图1.5所示)。
图1.4“工具”菜单
图1.5“查询分析器”窗口
通过窗口的工具栏确认当前库数据库为“
”,在查询分析器的文本窗口中输入查询语句:
SELECT*FROM
publishers
执行“查询→
”菜单命令或单击工具栏上相应按钮,执行查询,注意观察输出结果;
关闭查询分析器窗口。
执行查询语句之前,可以先执行“查询→分析”菜单命令,分析SQL代码的语法正确性。
也可以执行“开始→程序→MicrosoftSQLServer→查询分析器”菜单命令,打开“查询分析器”,但首先应在如图1.6所示的连接SQLServer对话框中选择连接的服务器,并输入合法的用户名与密码,可进入SQL查询分析器。
图1.6连接对话框
五、使用联机丛书
通过SQLServer联机丛书了解权威的“SQLServer”的相关说明。
通过“开始菜单”的MicrosoftSQLServer程序组,打开“联机丛书”,如图1.7所示。
图1.7“联机丛书”窗口
在联机丛书窗口的“目录”标签中,选择感兴趣的标题,展开浏览。
如:
单击“安装SQLServer→基本安装选项→实例名称”,查看实例命名规则。
在联机丛书窗口的“索引”标签中,输入关键字“服务器”,选择【服务器-SQLServer,sa密码】项,查看系统关于“sa”用户身份的说明介绍。
在联机丛书窗口的“搜索”标签中,输入查找的短语“pubs示例数据库”,打开主题“pubs示例数据库”,然后查看pubs数据库的有关信息。
在“企业管理器”或“查询分析器”中,执行“帮助”菜单命令,以及使用工具栏按钮“
”也可打开联机帮助说明书。
技能要点
∙MicrosoftSQLServer2000安装步骤
∙三个实用工具程序(服务管理器、企业管理器和查询分析器)的基本操作
∙使用在线手册,快速查找特定主题内容。
实验二创建数据库和数据表
实验目的
1.掌握数据库和数据表的创建方法与步骤
2.
了解数据库及其对象的SQL脚本的自动生成
3.
进一步熟练企业管理器和查询分析器的使用
一、创建和修改数据库
分别使用SQLServer2000企业管理器和Transcat-SQL语句,按下列要求创建和修改用户数据库。
1.创建一个名为“testdb”数据库:
(1)包含一个数据文件,逻辑文件名“testdb_data”,磁盘文件名“testdb_data.mdf”,文件初始容量为5MB,最大容量为15MB,文件容量递增值为1MB;
(2)包含一个事务日志文件,逻辑文件名为“testdb_log”,磁盘文件名“testdb_log.ldf”,文件初始容量为5MB,最大容量为10MB,文件容量递增值为1MB;
2.对数据库作如下修改:
(1)添加一个数据文件,逻辑文件“testdb2_data”,磁盘文件名“testdb2_data.ndf”,文件初始容量为1MB,最大容量为6MB,文件容量递增值为1MB;
(2)将事务日志文件的最大容量增加为15MB,递增值改为2MB;
3.使用企业管理器创建和修改数据库
启动“企业管理器”,在控制面板的“树形目录”中选择“数据库”节点,单击鼠标右键,在弹出菜单中选择“新建数据库”命令,出现如图2.1——2.3所示“数据库属性”对话框。
∙设置常规选项卡:
在“名称”文本框中输入数据库名称“testdb”;
图2.1数据库属性“常规”选项卡
图2.2“数据文件”选项卡
图2.3“事物日志文件”选项卡
∙设置数据文件选项卡:
在文件名字段中输入数据文件逻辑文件名“testdb_data”;
设置该文件初始大小为5MB;
标记“文件属性”栏下的“文件自动增长”复选框,并选中“按兆字节”设置文件容量递增值为1。
在“最大文件大小”对话框中选择“将文件增长限制为(MB)”为15。
∙设置事务日志选项卡:
在文件名字段中输入数据文件逻辑文件名“testdb_log”;
设置该文件初始大小为5MB,标记“文件属性”栏下的“文件自动增长”复选框,并选中“按兆字节”设置文件容量递增值为1;
在“最大文件大小”对话框中,选择“将文件增长限制为(MB)”为10。
在选项卡中,单击“位置”下文件名前的“…”按钮,可以选择相应文件夹并输入文件名保存所新建的数据文件和事务日志文件;
本例选择默认值。
单击“确定”按钮,完成数据库的创建。
修改数据库。
1)在“树状目录窗格”中,选择新建的数据库“testdb”,单击鼠标右键,在弹出菜单中选择“属性”命令,打开数据库属性窗口;
2)选择数据文件选项卡,在其中添加数据文件“testdb2_data”(文件名),确定初始分配容量1MB,文件按1兆字节增长,文件增长限制为6MB,如图2.4所示。
3)选择事务日志选项卡,在其中将事务日志文件的最大容量改为15,递增量改为2。
修改数据库时,其属性对话框中将增加“文件组”、“选项”和“权限”选项卡,可参照相关要求设置,本例中可使用默认设置。
图2.4添加数据文件
4.使用Transact-SQL语句创建和修改数据库
1)创建数据库程序代码:
CREATEDATABASEtestdb
ONPRIMARY
(NAME=testdb_Data,
FILENAME='
C:
\ProgramFiles\MicrosoftSQLServer\MSSQL\data\testdb_Data.MDF'
SIZE=5,
MAXSIZE=15,
FILEGROWTH=1
LOGON
(NAME=testdb_Log,
\ProgramFiles\MicrosoftSQLServer\MSSQL\data\testdb_Log.LDF'
MAXSIZE=10,
GO
NOTE:
若按百分比增长则FILEGROWTH=n%,如FILEGROWTH=10%表示按10%递增。
2)修改数据库文件
增加辅助文件testdb2_data:
USEtestdb
ALTERDATABASEtestdb
ADDFILE
(NAME=testdb2_data,
\ProgramFiles\MicrosoftSQLServer\data\testdb2_data.NDF'
SIZE=1,
MAXSIZE=6,
)
修改日志文件testdb_Log:
MODIFYFILE
(NAME=testdb_Log,
FILEGROWTH=2
3)自动生成Transcat-SQL程序代码
使用企业管理器,自动生成已建“testdb”数据库的相关Transcat-SQL程序代码。
(1)在企业管理器窗口的“树形目录窗格”,选择已建“testdb”数据库,单击鼠标右键,在快捷菜单中执行“所有任务→生成SQL脚本”命令,如图2.5所示。
图2.5快捷菜单
图2.6“生成SQL脚本”对话框
(2)在弹出的如图2.6所示对话框中,单击“选项”选项卡,标记“编写数据库脚本”复选框;
再选择“常规”选项卡,单击“预览”按钮,在生成的SQL脚本预览框中,浏览查看;
也可选择“复制”,将该文本复制到记事本或其他文本编辑器中备用。
以后你可以用类似方法,生成你所需要的SQL脚本代码。
使用查询分析器建立数据库。
(1)在企业管理器窗口,选择原新建数据库“testdb”,单击鼠标右键,在快捷菜单中执行数据库“删除”命令;
然后执行“工具→SQL查询分析器”菜单命令,进入查询分析器窗口。
(2)在查询分析器窗口,输入建立数据库程序代码,或将保存的数据库“自动生成的SQL脚本”复制到其文本窗口,“分析”无误后“执行”,则完成建库任务。
在查询分析器窗口的“对象浏览器”中,刷新服务器对象,可以观察到新建的testdb数据库。
窗口中SQL代码可以保存为磁盘文件(.sql)作为备用。
使用查询分析器修改数据库。
(1)假如操作2中,在查询分析器的文本窗口输入并执行的是本次实验提供的建立数据库程序代码,则清除文本窗口内容,输入提供的数据库修改程序代码,分析并执行。
(2)假如操作2中,在查询分析器的文本窗口输入并执行的是自动生成的SQL脚本代码,有关修改的具体内容,由学习者自己灵活设定。
二、创建和修改数据表
使用企业管理器或Transcat-SQL语句,按下列要求testdb数据库中创建两个用户数据表(项目表和员工表),并按步骤完成对数据表的相关修改和约束设置。
项目表
员工表
字段名
数据类型
注释
项目编号
Int
主键,标识列
编号
名称
Varchar
长度50
姓名
Char
长度10
负责人
性别
长度2
客户
所属部门
开始日期
Datetime
工资
Money
长度8
结束日期
1.使用企业管理器创建数据表并添加约束
创建数据表
(1)启动企业管理器,在树状目录窗格中找到数据库节点“testdb”,选择其下级“表”节点,单击鼠标右键,从快捷菜单中选择“新建表”命令,打开表设计窗口,输入前面“员工表”表格中所列字段的“列名”、“数据类型”、“长度”以及是否允许空,如图2.7所示。
(2)选定‘编号’字段,在下面“列”属性标签上,单击“标识”下拉列表,选择“是”,设置该字段为“标识列”。
(3)选定‘编号’字段,单击工具栏“
”按钮,设置该字段为“主键”。
图2.7表属性修改窗口
(4)单击“保存”按钮,输入表名“员工表”,关闭表设计窗口,完成项目表创建。
同样步骤,创建数据表“项目表”。
参照“员工表”的‘编号’字段,对“项目表”的‘负责人’字段添加外键约束(FOREIGNKEY约束)。
(1)在企业管理器的控制面板“树形目录窗格”中,选定testdb数据库中“表”节点,在内容窗格中,鼠标右键单击“项目表”,执行快捷菜单中“设计表”命令;
(2)在打开的表属性修改窗口中,单击工具栏管理关系“
”按钮,选择“关系”选项卡;
(3)单击“新建”按钮,主键表为“员工表”,选择字段‘编号’;
外键表为“项目表”,选择字段‘负责人’,如图2.8所示。
(4)关系名可使用缺省或另取,单击关闭按钮,完成设置。
图2.8表设计窗口
对“员工表”的‘工资’字段,添加检查(CHECK)约束。
(1)同样,在“员工表”的表属性设计窗口中,单击管理关系“
”按钮,选择CHECK约束选项卡;
(2)单击“新建”按钮,在“约束表达式”文本框中输入一个条件表达式:
([工资]>
=1000and[工资]<
=10000);
(3)约束名可缺省或另取,单击关闭按钮,完成设置。
2.使用Transcat-SQL语句创建数据表并添加约束
操作:
在查询分析器窗口的文本窗口中,输入下列程序代码,分析并执行。
--建立员工表
CREATETABLE员工表
(
编号int
NOTNULLPRIMARYKEY,
姓名char(10),
性别char
(2),所属部门varchar(50),
工资
money
--建立项目表
CREATETABLE项目表
项目编号intNOTNULLPRIMARYKEY,
名称varchar(50),负责人int,客户int,开始日期datetime,结束日期datetime
--添加外键约束
ALTERTABLE项目表
ADDCONSTRAINTFK_项目表_员工表
FOREIGNKEY(负责人)
REFERENCES员工表(编号)
--添加检查约束
ALTERTABLE员工表
ADD
CONSTRAINTCK_员工表
CHECK(工资>
=1000and工资<
=10000)
※你可以使用“项目表”和“员工表”自动生成的SQL脚本。
三、数据表的记录数据操作
使用企业管理器,在已建的“员工表”和“项目表”中添加和删除记录数据。
在企业管理器窗口中,选择数据库testdb的数据表“员工表”,单击鼠标右键,执行快捷菜单中“打开表→返回所有行”命令,在如图2.9所示的表记录数据操作窗口中,添加数据;
选择某一行记录,单击鼠标右键,在快捷菜单中执行“删除”命令,可以删除指定行记录数据。
同样,打开“项目表”,在其中添加与修改若干记录数据,如图2.10所示。
(1)由于“员工表”与“项目表”以建立表间关联,请先输入“员工表”记录数据;
(2)输入数据,请注意表中已设置的数据完整性约束对记录数据的要求。
图2.9员工表记录数据
图2.10项目表记录数据
※在企业管理器中,你尝试对指定表的记录数据进行导入/导出。
操作提示:
在数据表的右键快捷菜单中选择“导出数据”,按向导提示,将该表的记录数据导出到一个文本文件中;
新建一个相同结构的表,然后选择“导入数据”菜单命令项,将前面保存在文本文件中数据,按向导提示操作,导入到新建表中。
建立教材P82(第四版)给定的三个关系Student、Course、SC(保存于STD数据库中),并添加数据。
再在STD数据库中添加一个teacher表,其结构及内容如下:
Teacher(教工号,姓名,家庭住址,电话,职称,教研室)
教工号
家庭住址
电话
职称
教研室
2111
伍俊明
沈阳市
教授
计算机软件
2112
单建魁
讲师
计算机网络
2113
赵启升
工程师
2114
胡云
助教
计算机应用
2115
杨寿海
2116
张立红
技能要点
∙使用企业管理器创建和修改数据库以及数据表
∙主键(PRIMARYKEY)和外键(FOREINGKEY)约束实现强制实体完整性和引用完整性
∙自动生成数据库及其对象的SQL脚本
∙使用Transact-SQL语句(CREATE、ALTER)建立和修改数据库及数据表
∙使用企业管理器,添加和修改数据表记录数据
实验三SQL技术
通过使用SQL查询分析器(ServerQueryAnalyzer)
1.
熟练基本SELECT查询,掌握脚本的修改和执行
掌握使用SELECT语句的主要子句,实现数据表的复杂检索
掌握完成数据更新和修改的操作查询语句
说明:
本实验中所涉及的关系为实验二中在STD数据库中建立的关系。
一、单表查询
启动“查询分析器”,用Transcat-SQL语句完成指定的操作,或分析并执行Transcat-SQL语句,观察输出结果。
练习1:
从course表中分别检索出课程的所有信息,以及仅查询课程名和学分。
写出查询语句:
练习2:
使用TOP关键字指定返回结果集的前n行。
执行以下给定的SQL语句,根据执行结果写出其语义。
(1)USESTD
(2)USESTD
selecttop2selecttop60percent
fromcoursefromcourse
练习3:
列出course表中不同的学分。
练习4:
从course表中检索出课程号、课程名和学分,其中cno所在列的列名为课程号,cname所在列的列名为课程名,所有课程的学分都加1,其列名为修正学分。
思考:
如果只是高等数学这门课的学分加1,应如何改动:
练习5:
执行下面的语句,分析执行的结果。
USESTD
selectcno+′.′+cname,cpno,credit
formcourse
练习6:
检索course表,返回休正后的学分仍然大于4的课程的课程号、课程名及原先的学分。
练习7:
查询course表中所有学分大于2并且课程号小于5的课程信息。
练习8:
查询学分在2~7之间的课程信息。
写出查询语句(写出两种形式):
练习9:
从course表中查询出课程号为1、4、7的课程的课程号、课程名及学分。
通常情况下,SQLServer2000提供了4种通配符供用户实现复杂的查询条件:
●%:
表示0~n个任意字符。
●_;
表示单个的任意字符。
●[]:
表示方括号里列出的任意一个字符。
●[^]:
任意一个没有在方括号里列出的字符。
练习10:
从teacher表中检索出姓伍的教师资料。
练习11:
从teacher表中检索出姓名第2个字是寿或立的教师资料。
练习12:
从course表中查询学分大于3的课程信息,并按升序排列。
练习13:
对course表中的数据,按照学分修正为原学分加1并按序号降序进行排序。
练习14:
查询课程数。
练习15:
查询不同学分的个数(学分分为几种)。
练习16:
查询信息系学生的平均年龄。
练习17:
查询计算机系学生选修课程的最高成绩。
练习18:
查询各个学分及相应的课程数。
练习19:
查询有2门以上课程成绩>
=90的学生学号及成绩>
=90的课程数。
二、多表查询
练习20:
查询每个学生及其选修课情况(使用自然连接)。
练习21:
查询每门课的间接先修课。
练习22:
以student表为主体列出每个学生的基本情况及其选课情况,如果学生没有选课,只输出其基本情况。
练习23:
查询选修了2号课程且成绩在80分以上的学生信息。
练习24:
查询每个学生的学号、姓名、选修的课程及成绩。
练习25:
在STD数据库中,查询所有计算机系学生的学号、选修课程号及分数。
练习26:
查询选修了课程名为“操作系统”的学生学号和姓名。
写出查询语句(用IN嵌套实现):
练习27:
在STD数据库中,查询所有计算机系学生的学号、选修课程号以及分数。
写出查询语句(用EXISTS嵌套实现):
练习28:
查询与“刘晨”在同一个系学习的学生。
写出查询语句(写出三种形式):
练习29:
查询其它系中比信息系某一学生年龄大的学生姓名和年龄。
练习30:
查询选修了课程1或者选修了课程4的学生。
查询信息系的学生与年龄不大于19岁的学生的差集。
练习31:
建立关系Employee,内容如下:
id
dep
salary
rank
001
A
800
2
002
900
3
003
B
850
004
1000
005
C
700
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 实验 指导书