《数据库原理》实验指导书.docx

上传人:b****8 文档编号:12864829 上传时间:2023-06-08 格式:DOCX 页数:22 大小:25.26KB
下载 相关 举报
《数据库原理》实验指导书.docx_第1页
第1页 / 共22页
《数据库原理》实验指导书.docx_第2页
第2页 / 共22页
《数据库原理》实验指导书.docx_第3页
第3页 / 共22页
《数据库原理》实验指导书.docx_第4页
第4页 / 共22页
《数据库原理》实验指导书.docx_第5页
第5页 / 共22页
《数据库原理》实验指导书.docx_第6页
第6页 / 共22页
《数据库原理》实验指导书.docx_第7页
第7页 / 共22页
《数据库原理》实验指导书.docx_第8页
第8页 / 共22页
《数据库原理》实验指导书.docx_第9页
第9页 / 共22页
《数据库原理》实验指导书.docx_第10页
第10页 / 共22页
《数据库原理》实验指导书.docx_第11页
第11页 / 共22页
《数据库原理》实验指导书.docx_第12页
第12页 / 共22页
《数据库原理》实验指导书.docx_第13页
第13页 / 共22页
《数据库原理》实验指导书.docx_第14页
第14页 / 共22页
《数据库原理》实验指导书.docx_第15页
第15页 / 共22页
《数据库原理》实验指导书.docx_第16页
第16页 / 共22页
《数据库原理》实验指导书.docx_第17页
第17页 / 共22页
《数据库原理》实验指导书.docx_第18页
第18页 / 共22页
《数据库原理》实验指导书.docx_第19页
第19页 / 共22页
《数据库原理》实验指导书.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《数据库原理》实验指导书.docx

《《数据库原理》实验指导书.docx》由会员分享,可在线阅读,更多相关《《数据库原理》实验指导书.docx(22页珍藏版)》请在冰点文库上搜索。

《数据库原理》实验指导书.docx

《数据库原理》实验指导书

实验一SQLServer2000的安装与使用

一、实验目的

1.掌握SQLSERVER的安装

2.掌握客户端对服务器的访问

3.熟悉安装过程中的SQLSERVER的配置

4.熟悉SQLServer2000的体系结构

5.熟悉SQLServer2000的数据类型、函数、流程控制语句

二、实验环境(实验的软件、硬件环境)

硬件:

PC机一台

软件:

SQLServer2000

三、实验指导说明

请复习相关的数据库概述章节部分的知识点,体会各概念在SQLServer2000这款RDBMS中是如何实现的。

四、实验内容

1.安装SQLServer2000。

2.安装完成后,使用客户端访问服务器,熟悉企业管理器和查询分析器的使用。

3.了解SQLServer2000的常用函数、数据类型和流程控制语句等。

五、实验步骤

请完成实验内容,并写出具体的实验步骤

六、思考题:

1.请思考安装过程中,配置选择项的含义?

2.请思考SQLServer2000环境和其它的编程环境的异同?

七、总结(实验过程的体会、心得和实验教与学之间还需改进的内容)

实验二数据库及数据库对象的创建和管理

一、实验目的

1.掌握用企业管理器(EnterpriseManager)对数据库的完整创建、修改和删除

2.掌握用企业管理器(EnterpriseManager)对常见的数据库对象如表、试图、索引等的创建、修改和删除

3.掌握用SQL语句进行创建和管理数据库、表、试图和索引

二、实验环境(实验的软件、硬件环境)

硬件:

PC机一台

软件:

SQLServer2000或其它更高版本

三、实验指导说明

请复习相关的数据库及其对象的创建和管理的SQL语法知识点,请参考help手册中的示例,学习掌握create、alter、drop等SQL语句的使用,再完成如下实验内容。

四、实验内容

1.数据库操作

(1)用SQL语句完整创建一个订单数据库,名为OrderDB,存放路径为:

E:

\MyOrder,它由5MB的主数据文件、2MB的次数据文件和1MB的日志文件组成。

并且主数据文件以2MB的增长速度增长,其最大数据文件的大小为15MB,次数据文件以10%的增长速度增长,其最大次数据文件的大小为10MB,事务日志文件以1MB速度增长,其最大日志文件大小为10MB。

(2)将主数据文件大小由5M增大到8M,并删除次数据文件。

(3)为了扩大订单数据库,为它增加一个次要数据文件order3.ndf,该文件大小为4M,最大可增长到10M,以10%的速度增长。

(4)删除数据库。

2.表操作

(1)简单创建订单数据库orderDB

(2)为订单数据库创建5张表,分别如下:

(要求在创建的过程中,分别为每张表合理建立主键、外键约束)

员工表Employee

员工号

EmployeeNo

Char(8)

员工姓名

EmployeeName

Varchar(10)

性别

Sex

Char

(1)

出生日期

Birthday

Datetime

住址

Address

Varchar(50)

电话

Telephone

Varchar(20)

雇佣日期

Hiredate

Datetime

所属部门

Department

Varchar(30)

职务

Headship

Varchar(6)

薪水

Salary

Numeric(8,2)

客户表customer

客户号

CustomerNo

Char(9)

客户名称

CustomerName

Varchar(40)

客户电话

Telephone

Varchar(20)

客户住址

Address

Varchar(40)

邮政编码

Zip

Char(6)

商品信息表product

商品编号

ProductNo

Char(9)

商品名称

ProductName

Varchar(40)

商品类别

ProductClass

Varchar(20)

商品定价

ProductPrice

Numeric(8,2)

订单主表orderMaster

订单编号

OrderNo

Char(12)

客户号

CustomerNo

Char(9)

业务员编号

SaleNo

Char(8)

订货日期

Orderdate

Datetime

订单金额

Ordersum

Numeric(8,2)

发票号码

InvoiceNo

Char(10)

订单明细表orderDetail

订单编号

OrderNo

Char(12)

商品编号

ProductNo

Char(9)

销售数量

Qty

Int

成交单价(或订货单价)

OrderPrice

Numeric(8,2)

(3)表结构的修改

Ø修改客户表结构,要求客户名称和客户电话属性为notnull

Ø修改员工表结构,要求员工姓名和电话属性为notnull

Ø修改订单表结构,要求发票号码属性为notnull

3.索引操作

在已创建的基本表的基础上,完成以下索引

(1)在员工表中按所得薪水建立一个非聚集索引salaryIdx

(2)在订单主表中,首先按订金金额的升序,然后按业务员编号的降序建立一个非聚集索引salenosumIdx。

4.视图操作

创建一个视图,该视图只含上海客户信息,即客户号、客户姓名、客户住址。

5.利用企业管理器(EnterpriseManager)完成以上1~4中的操作。

五、实验步骤

请完成实验内容,并写出具体的实验步骤

六、思考题:

1.请思考数据库和各数据库中的对象的联系和区别?

2.请思考视图和表的联系和区别?

七、总结(实验过程的体会、心得和实验教与学之间还需改进的内容)

 

实验三数据的更新

一、实验目的

1.掌握基本表的Insert,Update,Delete操作

2.掌握视图的Insert,Update,Delete操作

二、实验环境(实验的软件、硬件环境)

硬件:

PC机一台

软件:

SQLServer2000或其它更高版本

三、实验说明

请复习相关的SQL语句insert、update、delete语法知识点,并完成如下内容。

四、实验内容

1.表中数据的基本操作

(1)给实验二中的5张表添加记录,记录数据见数据文件data.txt

(2)将作废订单(发票号I000000001)由订单明细表中删除

(3)将上海的客户住址全都改为深圳

(4)将工作满2周年的员工薪水上调5%,工作满5周年的员工薪水上调8%

(5)将客户c20050001在2008年2月购买的所有商品单价打9折

(6)根据订单明细表,修改订单主表的订单金额信息。

2.视图中数据的基本操作

(1)在实验二创建的视图上,对视图添加一条记录数据(注意:

分别查看customer表和该视图的结果)

(2)删除视图中所有姓“王”的客户数据

(3)通过视图修改表内某一个客户的姓名

(4)对员工表和订单主表创建一个视图,该视图包含相同业务员的编号、姓名、订单号、订单金额。

(5)将上述视图中订单号为200801090003的记录的订单金额改为60000

(6)给上述视图添加一条记录数据

(7)删除上述视图

五、实验步骤

请完成实验内容,并写出具体的实验步骤

六、思考题:

1.请注意区别Create,alter,drop和insert,update,delete的异同和使用情况?

2.请思考基本表数据的更新和视图数据的更新的联系和区别?

七、总结(实验过程的体会、心得和实验教与学之间还需改进的内容)

 

实验四数据查询——简单查询

一、实验目的

1.掌握SQL查询语句的基本概念

2.掌握SQLServer查询语句的基本语法

3.熟练使用SQL的Select语句对单表进行查询

4.熟练掌握并运用SQLServer所提供的函数

5.熟练使用SQL语句进行连接操作

二、实验环境(实验的软件、硬件环境)

硬件:

PC机一台

软件:

SQLServer2000或其它更高版本

三、实验说明

请复习相关的单表查询及select语句的语法知识点,并完成如下内容。

四、实验内容

1.在订单数据库orderDB中,完成如下的查询:

(1)查询所有业务部门的员工姓名,职称,薪水

(2)查询名字中含有“有限”的客户姓名和所在地

(3)查询姓“王”并且姓名的最后一个字为“成”的员工

(4)查询住址中含有上海或南昌的女员工,并显示其姓名,所属部门,职称,住址,其中性别用“男”和“女”显示。

(5)查询订单金额高于8000的所有客户编号

(6)选取编号界于C20050001~C20050004的客户编号,客户名称,客户地址

(7)找出同一天进入公司服务的员工

(8)在订单主表中查询订单金额大于“E20050002”业务员在2008-1-9这天所接的任一张订单的金额”的所有订单信息。

(9)查询既订购了“52倍速光驱”商品,又订购了“17寸显示器”商品的客户编号、订单编号和订单金额。

(10)查找与“陈诗杰”在同一个单位工作的员工姓名、性别、部门和职务。

(11)查询订货单价高于400元的商品编号、商品名称、订货数量和订货单价。

(12)分别使用左外连接、右外连接、完整外部连接查询订货单价高于400元的商品编号、商品名称、订货数量和订货单价,并分析比较检索的结果。

(13)查找每个员工的销售记录,要求显示销售员的编号、姓名、性别、商品名称、数量、单价、金额和销售日期,其中性别使用“男”和“女”表示,日期使用yyyy-mm-dd格式显示。

(14)查找在2008年3月中有销售记录的客户编号、名称和订单总额。

(15)使用左外连接查找每个客户的客户编号、名称、订单日期、订货金额,其中订货日期不要显示时间,日期格式为yyyy-mm-dd,按客户编号排序,同一客户再按订单金额降序排序输出。

(16)查找32MDRAM的销售情况,要求显示相应的销售员的姓名,性别,销售日期、销售数量和金额,其中性别用“男”,“女”表示。

(17)查找公司男业务员所接且订单金额超过2000元的订单号及订单金额。

(18)查找来自上海市的客户的姓名,电话,订单号及订单金额。

五、实验步骤

请完成实验内容,并写出具体的实验步骤

六、思考题:

1.连接操作类型有哪些?

分析外连接在现实应用中的意义?

2.查询表可以用在什么地方?

使用查询表要注意哪些地方?

3.分析between…and、and、or等关键字的使用方法?

4.分析哪些情况需要使用自身连接?

5.总结SQL语句中单表查询语句的使用方法?

七、总结(实验过程的体会、心得和实验教与学之间还需改进的内容)

实验五数据查询——复杂查询

一、实验目的

1.掌握SQLServer查询语句的基本语法

2.熟练使用SQL的Select语句对多表进行查询

3.熟练掌握并运用SQLServer所提供的函数

4.熟练使用SQL语句进行复杂的连接操作

二、实验环境(实验的软件、硬件环境)

硬件:

PC机一台

软件:

SQLServer2000或其它更高版本

三、实验指导说明

请复习相关的查询知识点并完成如下内容。

四、实验内容

1.在订单数据库orderDB中,完成如下的查询:

(1)用子查询查询员工“张小娟”所做的订单信息。

(2)查询没有订购商品的且在北京地区的客户编号,客户名称和邮政编码,并按邮政编码降序排序。

(3)查询订购了“32MDRAM”商品的订单编号,订货数量和订货单价。

(4)查询与员工编号“E20080005”在同一个部门的员工编号,姓名,性别,所属部门。

(5)查询既订购了P2*******商品,又订购了P2*******商品的客户编号,订单编号和订单金额

(6)查询没有订购“52倍速光驱”或“17寸显示器”的客户编号,客户名称。

(7)查询订单金额最高的订单编号,客户姓名,销售员名称和相应的订单金额。

(8)查询订购了“52倍速光驱”商品的订购数量,订购平均价和订购总金额。

(9)查询订购了“52倍速光驱”商品且订货数量界于2~4之间的订单编号,订货数量和订货金额。

(10)在订单主表中查询每个业务员的订单数量

(11)统计在业务科工作且在1973年或1967年出生的员工人数和平均工资。

(12)在订单明细表中统计每种商品的销售数量和金额,并按销售金额的升序排序输出。

(13)统计客户号为“C20050001”的客户的订单数,订货总额和平均订货金额

(14)统计每个客户的订单数,订货总额和平均订货金额。

(15)查询订单中至少包含3种(含3种)以上商品的订单编号及订购次数,且订购的商品数量在3件(含3件)以上。

(16)查找订购了“32MDRAM”的商品的客户编号,客户名称,订货总数量和订货总金额。

(17)查询每个客户订购的商品编号,商品所属类别,商品数量及订货金额,结果显示客户名称,商品所属类别,商品数量及订货金额,并按客户编号升序和按订货金额的降序排序输出。

(18)按商品类别查询每类商品的订货平均单价在280元(含280元)以上的订货总数量,订货平均单价和订货总金额。

(19)查找至少有2次销售的业务员名称和销售日期。

(20)查询销售金额最大的客户名称和总货款额

(21)查找销售总额小于5000元的销售员编号,姓名和销售额

(22)查找至少订购了3种商品的客户编号,客户名称,商品编号,商品名称,数量和金额。

(23)查找同时订购了商品为“P2*******”和商品编号为“P2*******”的商品的客户编号,客户姓名,商品编号,商品名称和销售数量,按客户编号排序输出。

(24)计算每一商品每月的销售金额总和,并将结果首先按销售月份然后按订货金额降序排序输出。

(25)查询订购了“键盘”商品的客户姓名,订货数量和订货日期

(26)查询每月订购“键盘”商品的客户名称。

(27)查询至少销售了5种商品的销售员编号,姓名,商品名称,数量及相应的单价,并按销售员编号排序输出。

(28)查询没有订购商品的客户编号和客户名称。

(29)查询至少包含了“世界技术开发公司”所订购的商品的客户编号,客户名称,商品编号,商品名称,数量和金额。

五、实验步骤

请完成实验内容,并写出具体的实验步骤

六、思考题:

1.存在量词与集合运算in、连接运算和全程量词之间的关系如何?

他们可以互相替换吗?

给出你的理由

2.Where子句和having子句都是用于指定查询条件的,请区别它们的异同?

用实例说明。

3.在分组聚集操作中,为什么在查询列中,除了聚集函数运算外,其它表达式必须包含在groupby子句中?

七、总结(实验过程的体会、心得和实验教与学之间还需改进的内容)

 

实验六数据库的安全性(选做)

一、实验目的

1.掌握登陆帐户的创建、修改、删除和禁止操作。

2.掌握数据库用户的添加和删除操作。

3.掌握数据库角色的创建、删除。

4.掌握数据库角色成员的添加和删除。

5.掌握权限管理中语句权限和对象权限的管理。

二、实验环境(实验的软件、硬件环境)

硬件:

PC机一台

软件:

SQLServer2000或其它更高版本

三、实验指导说明

请复习数据库安全性章节的内容,完成如下使用内容。

四、实验内容

(1)分别创建登陆账号和用户账号john,mary(注意服务器角色的设置)

(2)将员工表的所有权限给全部用户

(3)创建角色r1,r2,将订单明细表所有列的select权限,price列的update权限给r1。

(4)收回全部用户对员工表的所有权限。

(5)将john,mary两个用户赋予r1角色。

(6)收回john对订单明细表所有列的select权限。

(7)在当前数据库中删除角色r2。

五、实验步骤

请完成实验内容,并写出具体的实验步骤

六、思考题:

1.什么是数据库的安全性?

2.数据库的安全性是通过数据库用户和角色等的权限管理来实现的,请思考登陆用户,数据库用户,数据库角色等的异同?

SQLServer中的权限管理分为哪些种类?

分别是如何实现的?

七、总结(实验过程的体会、心得和实验教与学之间还需改进的内容)

 

实验七数据库的完整性(选做)

一、实验目的

1.理解关系数据库中关于数据库完整性的概念

2.掌握实体完整性的定义方法

3.掌握参照完整性的定义方法

4.掌握用户自定义完整性的方法

二、实验环境(实验的软件、硬件环境)

硬件:

PC机一台

软件:

SQLServer2000或其它更高版本

三、实验说明

请复习数据库完整性的相关知识点,完成如下实验内容。

四、实验内容

(1)重建orderDB数据库中的表,分别为每张表建立主键,外键。

(2)各表的用户定义的完整性如下:

Ø员工表:

员工姓名,电话属性为notnull;员工编号构成:

年+流水号,共9位,第一位为E,如E20080001,年份取雇佣日期的年份;性别:

f表示女,m表示男。

Ø商品表:

商品编号、商品名称、商品类别、商品定价设为notnull;商品编号构成:

年+流水号,共9位,第一位为P,如P2*******。

Ø客户表:

客户编号、名称、电话、地址、邮编设为notnull;客户号构成:

年+流水号,共9位,第一位为C,如C20080001。

Ø订单主表:

订单编号的构成:

年月日+流水号,共12位,如200708090001;订单编号、客户编号、员工编号、发票号码设为notnull;业务员必须是员工;订货日期默认值设为系统当前日期;订单金额默认值为0;发票号码建立unique约束。

Ø订单明细表:

订单编号、商品编号、数量、单价设为notnull。

五、实验步骤

请完成实验内容,并写出具体的实验步骤

六、思考题:

1.什么是数据库的完整性?

2.SQLServer数据完整性的实现方式有

(1)声明数据完整性,

(2)过程数据完整性,请区别他们的异同和使用情况?

七、总结(实验过程的体会、心得和实验教与学之间还需改进的内容)

 

实验八数据库编程技术—游标、存储过程与触发器(选做)

一、实验目的

1.掌握游标的定义和使用方法

2.掌握存储过程的定义、执行和调用方法

3.掌握游标和存储过程的综合应用方法。

4.掌握触发器的创建和使用方法。

5.掌握游标和触发器的综合应用方法。

二、实验环境(实验的软件、硬件环境)

硬件:

PC机一台

软件:

SQLServer2000或其它更高版本

三、实验指导说明

请复习第八章数据库编程的相关知识,完成如下的实验内容。

四、实验内容

(1)利用游标查找所有女业务员的基本情况

(2)创建一游标,逐行显示表customer的记录,要求按

‘客户编号’+‘-------’+‘客户名称’+‘-------’+‘客户地址’+‘-------------------’+‘客户电话’+‘----------’+‘客户邮编’+‘--------’格式输出,并且用while结构来测试游标的函数@@Fetch_Status的返回值。

(3)利用游标修改orderMaster表中的Ordersum的值

(4)利用游标显示出orderMaster表中每一个订单所对应的明细数据信息。

(5)利用存储过程,给Employee表添加一条业务部门员工的信息。

(6)利用存储过程输出所有客户姓名、客户订购金额及其相应业务员的姓名

(7)利用存储过程查找某员工的员工编号、订单编号、销售金额。

(8)利用存储过程查找姓“李”并且职称为“职员”的员工的员工编号、订单编号、销售金额

(9)请使用游标和循环语句编写一个存储过程proSearchCustomer,根据客户编号,查询该客户的名称、地址以及所有与该客户有关的销售记录,销售记录按商品分组输出。

(10)设置一个触发器,该触发器仅允许dbo用户可以删除Employee表内数据,否则出错。

(11)在OrderMaster表中创建触发器,插入数据时要先检查Employee表中是否存在和Employee表同样值的业务员编号,如果不存在则不允许插入。

(12)级联更新:

当更新customer表中的customerNo列的值时,同时更新OrderMaster表中的customerNo列的值,并且一次只能更新一行。

(13)对product表写一个UPDATE触发器。

五、实验步骤

请完成实验内容,并写出具体的实验步骤

六、思考题:

1.存储过程和触发器,函数的区别?

七、总结(实验过程的体会、心得和实验教与学之间还需改进的内容)

 

实验九查询优化(选做)

一、实验目的

1.掌握SQL查询语句的执行过程

2.熟练使用“显示执行计划”功能,查看并分析SQL语句的执行过程

3.能够运用执行计划的结果对SQL语句进行优化

二、实验环境(实验的软件、硬件环境)

硬件:

PC机一台

软件:

SQLServer2000或其它更高版本

三、实验指导说明

请复习关系查询优化相关的知识点,完成如下的实验内容。

四、实验内容

1.查找订购了“32MDRAM”的商品的客户编号、客户名称、订单编号、订货数量和订货金额,并按客户编号输出。

2.查找至少销售了3种商品的客户编号、客户名称、商品编号、商品名称、数量和金额。

3.查找每个员工的销售记录,要求显示销售员的编号、姓名、性别、商品名称、数量、单价、金额和销售日期,其中性别使用“男”和“女”表示,日期使用yyyy-mm-dd格式显示。

要求使用不同的连接顺序来分析其查询所花费的代价。

4.查询销售金额最大的客户名称和总货款

要求:

(1)写出以上查询的SQL语句

(2)查看各个查询执行计划和所花费的成本。

(3)分析各查询的花费和代价。

(4)用不同的SQL语句实现查询并执行查询,并查看执行计划中的花费,结果是否得到优化?

五、实验步骤

请完成实验内容,并写出具体的实验步骤

六、思考题:

1.SQL语句有哪些优化原则?

七、总结(实验过程的体会、心得和实验教与学之间还需改进的内容)

 

实验十事务处理(选做)

一、实验目的

1.加深对事务概念的理解,尤其对事务提交和回滚概念的认识。

2.掌握SQLServer事务定义方法。

3.学会使用保存点机制设置回滚点。

二、实验环境(实验的软件、硬件环境)

硬件:

PC机一台

软件:

SQLServer2000或其它更高版本

三、实验指导说明

请复习并发控制的相关知识,完成如下的实验内容。

四、实验内容

1.假设某客户要求在一订单上追加购买一种商品,这时需分别在订单主表和订单明细表上更新相关信息,故可定义为一个事务来完成。

(1)假设某客户要求在订单200802190002上追加购买商品P2*******两件,请定义一个事务insertorder1完成数据库更新。

(2)假设某客户要求在订单200802190002上追加购买P2*******商品一件,请定义一个事务insertorder2完成数据库更新。

要求订单明细表更新成功后设置一保存点before_insert_chk

2.一新客户订购了P2*******商品一件,请定义一事务完成数据库更新任务。

3.业务员E20050003因故

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2