数据库原理实验教程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库原理实验教程
实验目录
• • • • • • • 实验1 实验2 实验3 实验4 实验5 实验6 实验7 安装SQL Server 2005 数据库设计 创建数据库和表 数据正确性约束 数据管理 SQL语句 数据库安全控制
实验目录
• • • • • • 实验8 T-SQL基本语句 实验9 存储过程 实验10 触发器 实验11 数据库备份及还原 实验12 代理、作业 实验13 事务处理
实验五 数据管理
• 【实验目的】
– 建立数据表后,需要进行数据录入、导入及维 护的数据管理工作。本实验主要学习数据管理 的一些常用方法。
• 【实验要求】
– 输入数据。 – 导入外部数据。 – 导入其他数据库中的数据表。 – 导入完整数据库
【实验内容】
• 使用Transact-SQL插入数据
use ebook --将数据插入“部门”表 Insert into 部门 values('d01','业务部'); insert into 部门 values('d02','销售部'); insert into 部门 values('d03','仓库');
• 【实验要求】
– 某书城是一个图书批发销售部门。其主要业务 是从各出版社及国外引进图书,以批发的方式 销售给书店。图书具有多种类别,存放在仓库 中,由仓库保管员管理。单位业务员分为采购 和销售两个部门,采购人员负责从出版社引进 图书,销售人员将图书销售给书店。销售的图 书由物流公司负责送货。 – 请设计该公司图书管理系统的概念结构和逻辑 结构。
【实验内容】
• SQL Server 2005 开发板的安装过程
– 安装环境:windows xp。在不同的操作系统中, 安装过程不尽相同。 – 要安装的组件:可以通过“高级”界面,确定 详细的安装内容。 – 身份验证模式:考虑到后面安全性实验,应选 择“混合模式”。
实验2 数据库设计
• 【实验目的】
– – – – – – – – SQL Server 2005 Enterprise Edition(32 位和 64 位) SQL Server 2005 Evaluation Edition(32 位和 64 位) SQL Server 2005 Standard Edition(32 位和 64 位) SQL Server 2005 Workgroup Edition(仅适用 32 位) SQL Server 2005 Developer Edition(32 位和 64 位) SQL Server 2005 Express Edition(仅适用 32 位) SQL Server 2005 Compact Edition(仅 32 位) SQL Server 2005 Runtime Edition(32 位和 64 位)
– 掌握SQL语句的基本使用方法。 – 掌握SQL 查询、维护(插入、更新、删除)等 常用语句。
实验六 SQL语句
• 【实验要求】
– 1、查询库存情况。(仓库名称,图书名称,数量)。 – 2、查询每个书店的购书明细。(书店名称,订单编号, 图书名称,单价,数量,金额)。 – 3、查询从哪个出版社购进了非该出版社出版的图书。 – 4、查询每笔订单的销售金额。 – 5、生成每笔订单的销售金额。 – 6、统计每个物流公司配送的图书总金额。 – 7、查询下过订单的书店信息。 – 8、查询没有购买纪录的书店信息。
• 【实验要求】
– 按照上述数据库设计中所创建的数据模型,建 立数据库。
【实验内容】
• 登录服务器 ,并创建查询 • 使用SQL命令创建数据库
create database ebook on primary (name = 'ebook_data', filename = 'd:\db\ebook\ebook_Data.MDF', size = 5mb, filegrowth = 10%) log on (name = 'ebook_log', filename = 'd:\db\ebook\ebook_Log.LDF', size = 5mb, filegrowth = 10%);
– 由此,该管理系统包含10个实体,两个多对多 联系,需要建立12个关系模式。
实验三 创建数据库和表
• 【实验目的】
– 掌握创建数据库和表的方法。数据库和表的创 建可以通过SQL Server的工具实现,也可以通 过SQL命令实现。本实验教材更多的使用SQL 命令进行操作,以便更好的学习SQL命令的使 用。
【实验内容】
• 联系 – 一对多:
• • • • • • • • 图书分类与图书 作者与图书 仓库与图书 出版社与图书 部门与员工 员工与订单 书店与订单 物流公司与订单
– 多对多:
• 订单明细:订单编号,图书编号,数量 • 进货记录:图书编号,员工编号,出版社编号,数量
【实验内容】
• E-R图
【实验内容】
• 导入其他数据库中的数据表
– 启动“导入和导出”向导 – 选择数据源 – 选择目标 – 制定数据源的表、视图或查询 – 执行导入
【实验内容】
• 导入完整数据库
– 从原服务器分离数据库 – 复制数据源(数据文件和日志文件) – 在目标服务器,附加数据库
实验六 SQL语句
• 【实验目的】
【实验内容】
• 实体
– – – – – – – 出版社:出版社编号,出版社名称,地址,联系人,电话 图书分类:分类号,类别名称 仓库:仓库编号,仓库名称 物流公司:物流公司编号,物流公司名称,联系人,电话 作者:作者编号,姓名 部门:部门编号,部门名称 图书:图书编号,图书名称,价格,库存量,出版社编号,作者 编号,分类号,仓库编号 – 书店:书店编号,书店名称,地址,电话 – 员工:员工编号,姓名,部门编号,基本工资 – 订单:订单编号,物流公司编号,订货时间,送货时间,书店编 号,员工编号,金额
• 其他表的数据插入(略)
【实验内容】
• 导入外部数据
– 在输入数据表中的数据时,常常需要直接导入 已存在于外部文本文件或Excel文件中的数据, 这时可以不必重新录入数据,而将已存在的数 据直接导入到数据表中。现假设订单明细中的 数据已经存在于文本文件“D:\db\订单明细.txt” 中,将其导入到“订单明细”数据表中。
实验1 安装SQL Server 2005
• 【实验目的】
– 了解SQL Server 2005不同版本,及各版本的 特点。 – 掌握SQL Server 2005的安装过程,搭建实验 环境。
• 【实验要求】
– 安装SQL Server 2005开发版。
【实验内容】
• SQL Server 2005 的不同版本
图书分类
作者
书店
物流公司
1
1 1 1
属于
著作
购买 n n
送货
n
图书
明细 n
n n
m m 订单
n
出版
存放 1 n
1 出版社 n 购书 销售
仓库
m 1
员工
n
属于
1
部门
【实验内容】
• 设计逻辑结构
– 概念结构(E-R图)向逻辑结构转换的基本原 则是:
• 一个实体对应一个关系模式; • 一对多的联系不需要转换为关系模式,通过“多” 方使用外键来描述; • 多对多的联系要转换为一个关系模式。
【实验内容】
• 导入外部数据
delete from 订单明细;
select * into 订单明细_in from OpenRowset('MSDASQL','Driver={Microsoft Text Driver (*.txt; *.csv)}; DefaultDir=D:\db;','select * from 订单明细.txt') insert into 订单明细 select * from 订单明细_in; select * from 订单明细; drop table 订单明细_in;
实验六 SQL语句
• 【实验要求】
– 9、查询进货明细。(姓名,出版社名称,图书名称, 数量)。 – 10、查询购书金额最大的订单信息。 – 11、查询总购书金额最大的书店信息。 – 12、查询销售人员的销售总金额,按金额降序排列。 – 13、查询哪类图书的销量最大。 – 14、查询销量最小的5种书。 – 15、查询购买过本公司包含的天津出版的全部图书的 用户信息。 – 16、删除“高等教育出版社”信息。
• 使用SQL命令创建表
【实验内容】
• 建立数据库关系图
实验四 数据正确性约束
• 【实验目的】
– 了解SQL语句中有关数据正确性检查的方法。 – 掌握约束、规则、默认值等方法的应用。
实验四 数据正确性约束
• 【实验说明】
– 约束的功能是对字段内的数据进行检查,只有符合约 束的数据才可以存储,故约束是保证数据正确的工具。 – 规则是单独存在的对象,每个字段或用户定义的数据 类型都可绑定至一个规则。SQL Server会在存储数据 时使用所有规则及约束执行检查操作。 – 默认值的目的是存储新纪录时,若字段内没有数据, 就以默认值为此列进行赋值。
【实验内容】
• 查询从哪个出版社购进了非该出版社出版 的图书。
select 进货信息.出版社编号, 图书名称, 图书信息. 出版社编号 from 出版社信息, 进货信息, 图书信息 where 出版社信息.出版社编号 = 进货信息.出版 社编号 and 进货信息.图书编号 = 图书信息.图书编号 and 图书信息.出版社编号 <> 进货信息.出版社 编号;
【实验内容】
• 导入其他数据库中的数据表
– 在其他数据库(可以是本服务器中的数据库, 也可以是其他服务器的数据库;可以是SQL Server的数据库,也可以是Access等其他类型 的数据库)中已存在的数据表,也可以直接导 入到当前数据库中,该操作可以通过SQL Server 2005提供“导入、导出”向导来操作完 成。
【实验内容】
• 使用部门编号规则(其他略)
CREATE RULE eb_ru_部门编号 AS @value like '[d][0-9][0-9]'; go EXEC sp_bindrule 'eb_ru_部门编号','部门.部门 编号','futureonly'; --EXEC sp_unbindrule '部门.部门编号 ','futureonly' --drop rule eb_ru_部门编号
【实验内容】
• 查询库存情况。
Select 仓库名称, 图书名称, 库存量 from 仓库信息, 图书信息 where 图书信息.仓库编号 = 仓库信息.仓库编号;
【实验内容】
• 查询每个书店的购书明Leabharlann Baidu。
select 名称, 订单.订单编号, 图书名称, 单价, 数量, 数量*单价 金额 from 订单, 订单明细, 图书信息, 书店信息 where 订单.书店编号 = 书店信息.书店编号 and 订单.订单编号 = 订单明细.订单编号 and 订单明细.图书编号 = 图书信息.图书编号 order by 名称;
【实验内容】
• 设置进货量的默认值
CREATE DEFAULT eb_df_进货量 AS 50 go EXEC sp_bindefault 'eb_df_进货量','进货信息. 数量','futureonly' --EXEC sp_unbindefault '进货信息.数量 ','futureonly' --drop DEFAULT eb_df_进货量
实验四 数据正确性约束
• 【实验要求】
– 使用约束,设置订单表中的送货时间大于订货 时间 – 使用规则,设置ebook中各数据表主键的输入 格式 – 设置进货信息表的数量默认值为50
【实验内容】
• 创建约束
ALTER TABLE 订单 WITH CHECK ADD CONSTRAINT CK_时间 CHECK ([订货时 间] <= [送货时间])
– 掌握数据库结构设计的基本理论。 – 设计数据库的概念模型和逻辑模型。 – 熟悉E-R图设计的基本方法和步骤。
实验2 数据库设计
• 【实验要求】
– 数据库设计的基本步骤是:
• • • • • • 需求分析; 概念结构设计; 逻辑结构设计; 物理结构设计; 数据库实施: 数据库运行和维护。
实验2 数据库设计
【实验内容】
实验目录
• • • • • • • 实验1 实验2 实验3 实验4 实验5 实验6 实验7 安装SQL Server 2005 数据库设计 创建数据库和表 数据正确性约束 数据管理 SQL语句 数据库安全控制
实验目录
• • • • • • 实验8 T-SQL基本语句 实验9 存储过程 实验10 触发器 实验11 数据库备份及还原 实验12 代理、作业 实验13 事务处理
实验五 数据管理
• 【实验目的】
– 建立数据表后,需要进行数据录入、导入及维 护的数据管理工作。本实验主要学习数据管理 的一些常用方法。
• 【实验要求】
– 输入数据。 – 导入外部数据。 – 导入其他数据库中的数据表。 – 导入完整数据库
【实验内容】
• 使用Transact-SQL插入数据
use ebook --将数据插入“部门”表 Insert into 部门 values('d01','业务部'); insert into 部门 values('d02','销售部'); insert into 部门 values('d03','仓库');
• 【实验要求】
– 某书城是一个图书批发销售部门。其主要业务 是从各出版社及国外引进图书,以批发的方式 销售给书店。图书具有多种类别,存放在仓库 中,由仓库保管员管理。单位业务员分为采购 和销售两个部门,采购人员负责从出版社引进 图书,销售人员将图书销售给书店。销售的图 书由物流公司负责送货。 – 请设计该公司图书管理系统的概念结构和逻辑 结构。
【实验内容】
• SQL Server 2005 开发板的安装过程
– 安装环境:windows xp。在不同的操作系统中, 安装过程不尽相同。 – 要安装的组件:可以通过“高级”界面,确定 详细的安装内容。 – 身份验证模式:考虑到后面安全性实验,应选 择“混合模式”。
实验2 数据库设计
• 【实验目的】
– – – – – – – – SQL Server 2005 Enterprise Edition(32 位和 64 位) SQL Server 2005 Evaluation Edition(32 位和 64 位) SQL Server 2005 Standard Edition(32 位和 64 位) SQL Server 2005 Workgroup Edition(仅适用 32 位) SQL Server 2005 Developer Edition(32 位和 64 位) SQL Server 2005 Express Edition(仅适用 32 位) SQL Server 2005 Compact Edition(仅 32 位) SQL Server 2005 Runtime Edition(32 位和 64 位)
– 掌握SQL语句的基本使用方法。 – 掌握SQL 查询、维护(插入、更新、删除)等 常用语句。
实验六 SQL语句
• 【实验要求】
– 1、查询库存情况。(仓库名称,图书名称,数量)。 – 2、查询每个书店的购书明细。(书店名称,订单编号, 图书名称,单价,数量,金额)。 – 3、查询从哪个出版社购进了非该出版社出版的图书。 – 4、查询每笔订单的销售金额。 – 5、生成每笔订单的销售金额。 – 6、统计每个物流公司配送的图书总金额。 – 7、查询下过订单的书店信息。 – 8、查询没有购买纪录的书店信息。
• 【实验要求】
– 按照上述数据库设计中所创建的数据模型,建 立数据库。
【实验内容】
• 登录服务器 ,并创建查询 • 使用SQL命令创建数据库
create database ebook on primary (name = 'ebook_data', filename = 'd:\db\ebook\ebook_Data.MDF', size = 5mb, filegrowth = 10%) log on (name = 'ebook_log', filename = 'd:\db\ebook\ebook_Log.LDF', size = 5mb, filegrowth = 10%);
– 由此,该管理系统包含10个实体,两个多对多 联系,需要建立12个关系模式。
实验三 创建数据库和表
• 【实验目的】
– 掌握创建数据库和表的方法。数据库和表的创 建可以通过SQL Server的工具实现,也可以通 过SQL命令实现。本实验教材更多的使用SQL 命令进行操作,以便更好的学习SQL命令的使 用。
【实验内容】
• 联系 – 一对多:
• • • • • • • • 图书分类与图书 作者与图书 仓库与图书 出版社与图书 部门与员工 员工与订单 书店与订单 物流公司与订单
– 多对多:
• 订单明细:订单编号,图书编号,数量 • 进货记录:图书编号,员工编号,出版社编号,数量
【实验内容】
• E-R图
【实验内容】
• 导入其他数据库中的数据表
– 启动“导入和导出”向导 – 选择数据源 – 选择目标 – 制定数据源的表、视图或查询 – 执行导入
【实验内容】
• 导入完整数据库
– 从原服务器分离数据库 – 复制数据源(数据文件和日志文件) – 在目标服务器,附加数据库
实验六 SQL语句
• 【实验目的】
【实验内容】
• 实体
– – – – – – – 出版社:出版社编号,出版社名称,地址,联系人,电话 图书分类:分类号,类别名称 仓库:仓库编号,仓库名称 物流公司:物流公司编号,物流公司名称,联系人,电话 作者:作者编号,姓名 部门:部门编号,部门名称 图书:图书编号,图书名称,价格,库存量,出版社编号,作者 编号,分类号,仓库编号 – 书店:书店编号,书店名称,地址,电话 – 员工:员工编号,姓名,部门编号,基本工资 – 订单:订单编号,物流公司编号,订货时间,送货时间,书店编 号,员工编号,金额
• 其他表的数据插入(略)
【实验内容】
• 导入外部数据
– 在输入数据表中的数据时,常常需要直接导入 已存在于外部文本文件或Excel文件中的数据, 这时可以不必重新录入数据,而将已存在的数 据直接导入到数据表中。现假设订单明细中的 数据已经存在于文本文件“D:\db\订单明细.txt” 中,将其导入到“订单明细”数据表中。
实验1 安装SQL Server 2005
• 【实验目的】
– 了解SQL Server 2005不同版本,及各版本的 特点。 – 掌握SQL Server 2005的安装过程,搭建实验 环境。
• 【实验要求】
– 安装SQL Server 2005开发版。
【实验内容】
• SQL Server 2005 的不同版本
图书分类
作者
书店
物流公司
1
1 1 1
属于
著作
购买 n n
送货
n
图书
明细 n
n n
m m 订单
n
出版
存放 1 n
1 出版社 n 购书 销售
仓库
m 1
员工
n
属于
1
部门
【实验内容】
• 设计逻辑结构
– 概念结构(E-R图)向逻辑结构转换的基本原 则是:
• 一个实体对应一个关系模式; • 一对多的联系不需要转换为关系模式,通过“多” 方使用外键来描述; • 多对多的联系要转换为一个关系模式。
【实验内容】
• 导入外部数据
delete from 订单明细;
select * into 订单明细_in from OpenRowset('MSDASQL','Driver={Microsoft Text Driver (*.txt; *.csv)}; DefaultDir=D:\db;','select * from 订单明细.txt') insert into 订单明细 select * from 订单明细_in; select * from 订单明细; drop table 订单明细_in;
实验六 SQL语句
• 【实验要求】
– 9、查询进货明细。(姓名,出版社名称,图书名称, 数量)。 – 10、查询购书金额最大的订单信息。 – 11、查询总购书金额最大的书店信息。 – 12、查询销售人员的销售总金额,按金额降序排列。 – 13、查询哪类图书的销量最大。 – 14、查询销量最小的5种书。 – 15、查询购买过本公司包含的天津出版的全部图书的 用户信息。 – 16、删除“高等教育出版社”信息。
• 使用SQL命令创建表
【实验内容】
• 建立数据库关系图
实验四 数据正确性约束
• 【实验目的】
– 了解SQL语句中有关数据正确性检查的方法。 – 掌握约束、规则、默认值等方法的应用。
实验四 数据正确性约束
• 【实验说明】
– 约束的功能是对字段内的数据进行检查,只有符合约 束的数据才可以存储,故约束是保证数据正确的工具。 – 规则是单独存在的对象,每个字段或用户定义的数据 类型都可绑定至一个规则。SQL Server会在存储数据 时使用所有规则及约束执行检查操作。 – 默认值的目的是存储新纪录时,若字段内没有数据, 就以默认值为此列进行赋值。
【实验内容】
• 查询从哪个出版社购进了非该出版社出版 的图书。
select 进货信息.出版社编号, 图书名称, 图书信息. 出版社编号 from 出版社信息, 进货信息, 图书信息 where 出版社信息.出版社编号 = 进货信息.出版 社编号 and 进货信息.图书编号 = 图书信息.图书编号 and 图书信息.出版社编号 <> 进货信息.出版社 编号;
【实验内容】
• 导入其他数据库中的数据表
– 在其他数据库(可以是本服务器中的数据库, 也可以是其他服务器的数据库;可以是SQL Server的数据库,也可以是Access等其他类型 的数据库)中已存在的数据表,也可以直接导 入到当前数据库中,该操作可以通过SQL Server 2005提供“导入、导出”向导来操作完 成。
【实验内容】
• 使用部门编号规则(其他略)
CREATE RULE eb_ru_部门编号 AS @value like '[d][0-9][0-9]'; go EXEC sp_bindrule 'eb_ru_部门编号','部门.部门 编号','futureonly'; --EXEC sp_unbindrule '部门.部门编号 ','futureonly' --drop rule eb_ru_部门编号
【实验内容】
• 查询库存情况。
Select 仓库名称, 图书名称, 库存量 from 仓库信息, 图书信息 where 图书信息.仓库编号 = 仓库信息.仓库编号;
【实验内容】
• 查询每个书店的购书明Leabharlann Baidu。
select 名称, 订单.订单编号, 图书名称, 单价, 数量, 数量*单价 金额 from 订单, 订单明细, 图书信息, 书店信息 where 订单.书店编号 = 书店信息.书店编号 and 订单.订单编号 = 订单明细.订单编号 and 订单明细.图书编号 = 图书信息.图书编号 order by 名称;
【实验内容】
• 设置进货量的默认值
CREATE DEFAULT eb_df_进货量 AS 50 go EXEC sp_bindefault 'eb_df_进货量','进货信息. 数量','futureonly' --EXEC sp_unbindefault '进货信息.数量 ','futureonly' --drop DEFAULT eb_df_进货量
实验四 数据正确性约束
• 【实验要求】
– 使用约束,设置订单表中的送货时间大于订货 时间 – 使用规则,设置ebook中各数据表主键的输入 格式 – 设置进货信息表的数量默认值为50
【实验内容】
• 创建约束
ALTER TABLE 订单 WITH CHECK ADD CONSTRAINT CK_时间 CHECK ([订货时 间] <= [送货时间])
– 掌握数据库结构设计的基本理论。 – 设计数据库的概念模型和逻辑模型。 – 熟悉E-R图设计的基本方法和步骤。
实验2 数据库设计
• 【实验要求】
– 数据库设计的基本步骤是:
• • • • • • 需求分析; 概念结构设计; 逻辑结构设计; 物理结构设计; 数据库实施: 数据库运行和维护。
实验2 数据库设计
【实验内容】