要求:
1. 报告格式和内容要求:
a. 内容和格式整齐。大标题采用黑体四号字加粗,小标题采用小四号字加粗。正文采用五号宋体,单倍行距。
b. 贴图时请剪裁到适当大小,要保证打印时可以看清,但也不要太大以免“越界”。
c. 不要在报告中写与实验无关的话,内容要有条理、完整、并能突出重点,要将遇到的主要问题说明。
2. 文件格式要求:
a. 将实验成果放入一个文件夹中,文件夹的内容包括:本实验报告、分离后的数据库、如有查询代码(.sql文件)和其它文件也一并放入。
b. 文件夹以“学号姓名_S5”为文件名。其中,S5表示这是实验5的报告,S大写,以后的实验报告以类似方法编号顺延,注意:你的学号放在姓名前。
c. 注意:所有文件保存后关闭,然后再打包成RAR文件,以免提交的内容丢失或打不开。
3. 提交方式和时间:一周内完成。可以将文件包发到我邮箱zcwang@ah.edu.cn。
4. 主动查阅资料,坚持自己亲手完成实验,弄清每个步骤和相关原理。
第二篇:sql server 期末实验报告
SQL SERVER 2000实验报告
随着数据库技术的发展,人们管理数据的能力也在不断提高,对于一些庞大的数据资料,更加需要利用数据库技术,对数据资料进行整理加工。从而提高人们对数据的掌握,分析能力,加强管理。
为了更好的巩固和加强书本所学的知识,把所学的东西转化为实际应用。我们在此选择了一个超市购物系统来进行数据库的创建。
超市购物系统,集商品制造商,商品供应商的相关信息,输入到数据库中,严格按照数据库设计的具体步骤:需求分析阶段就是要研究超市购物系统的具体分类和实施过程流图。概念设计阶段要完成数据抽象与局部视图设计还有视图的集成。逻辑结构设计阶段要把E-R图转化为关系模式并且把我输入的七张表结合在一起完成一个总关系表。最后就是要运行和实施数据库。
以下是我对在这个数据库创建过程中所做工作的实验报告。
一.需求分析
超市购物系统,经过可行性分析和初步需求调查,抽象出该子系统业务流程图,如图1.1所示。下面,结合该实例具体情况,给出顾客、制造商和生产商的具体需求。
图1.1系统业务流程图
调查用户需求
①顾客需求
l 查询功能:
u 按商品名字查询
u 按商品价格查询
u 按商品制造商查询
u 查询自己的消费记录
l 修改功能:可以修改自己的密码
②商品管理需求
l 查询功能:
u 按出库存量查询商品
u 按生产商查询商品
u 按供应商查询商品
u 查看销售记录
u 查看销售量
l 插入功能:可以使用SQL语句对该表进行增加商品相关信息的插入操作 l 修改功能:可以使用SQL语句对该表进行修改操作
l 删除功能:可以使用SQL语句对该表进行商品删除操作
二.数据结构定义
该部分由小组成员汤新涛完成。
三.设计数据库E-R图
该部分由小组成员汤普元完成
四.设计表
根据E-R图,开始对表进行设计,设计的七个表结构如下。
表4-1注册会员关系表
字段类型
长度
主/外键
字段值约束
字段名
char
20
P
Not null
会员编号
char
50
Not null 会员名称 char
50
Not null 会员地址 char
50
Not null 会员密码 Int
4
Not null 消费总额
表4-2商品信息表 字段类型 长度
主/外键 字段值约束 字段名 char
20
P
Not null
商品编号 char
20
Not null
商品名称 DOUBLE
Not null
商品价格 INT
4
Not null
库存数量
表4-3制造商关系表 字段类型 长度
主/外键
字段值约束 字段名
char
20
P
Not null
制造商编号 char
50
Not null
制造商名称 char
50
Not null
制造商地址 char
50
Not null
制造商电话
表4-4供应商关系表 字段类型 长度
主/外键
字段值约束 字段名
char
20
P
Not null
供货商编号 char
50
Not null
供货商名称 char
50
Not null 供货商地址 char
50
Not null 供货商电话
表4-5供货关系表 字段类型 长度
主/外键 字段值约束 字段名 char
10
P
Not null 供应商编号 Char
20
P
Not null 商品编号 Int
4
Not null 采购数量 Char
20
Not null 采购时间 DOUBLE
Not null 采购价格
表4-6生产关系表 字段类型 长度
主/外键 字段值约束 字段名 char
20
P
Not null 制造商编号 Char
20
P
Not null
商品编号
表4-7销售关系表(Retail) 字段类型
长度
主/外键
字段值约束
字段名
char
20
P
Not null
会员编号
char
20
P
Not null
商品编号
char
20
Not null
交易时间
INT
4
Not null
交易数量
五.数据的录入
在小组成员的共同努力下,根据以上设计的七个表,我们完成了数据库中数据的录入。
六.建立索引
该部分由小组成员朱有林完成。
七.建立数据库视图
建立数据库视图,可以方便表的查询,在这个数据库中,根据数据库管理和使用的需要,我建立了四个数据库视图,分别是供货视图、生产关系视图、消费关系视图、制造与供货关系视图。
1. 创建了一个供货视图,里面记录了与供货有关的信息。
包含的字段有:商品编号、供货商编号、商品名称、商品价格、供货商名称、供货商地址、采购数量和采购价格。创建这个视图更加方便查询供货方面的相关信息。
创建视图的sql语句如下:
Create view 供货视图 as
SELECT dbo.供货关系表.供货商编号, dbo.供货关系表.商品编号, dbo.商品信息表.商品名称, dbo.商品信息表.商品价格, dbo.供货商关系表.供货商名称, dbo.供货商关系表.供货商地址, dbo.供货关系表.采购数量, dbo.供货关系表.采购价格
FROM dbo.供货关系表 INNER JOIN dbo.供货商关系表 ON dbo.供货关系表.供货商编号 = dbo.供货商关系表.供货商编号 INNER JOIN dbo.商品信息表 ON dbo.供货关系表.商品编号 = dbo.商品信息表.商品编号
2. 创建了一个生产关系视图,里面记录了与商品生产有关的信息。
包含的字段有:制造商编号、制造商名称、制造商地址、制造商电话、商品编号、商品名称。
创建视图的sql语句如下:
Create view 生产关系视图 as
SELECT dbo.制造商关系表.制造商编号, dbo.制造商关系表.制造商名称, dbo.制造商关系表.制造商地址, dbo.制造商关系表.制造商电话, dbo.商品信息表.商品编号, dbo.商品信息表.商品名称
FROM dbo.制造商关系表 INNER JOIN dbo.生产关系表 ON dbo.制造商关系表.制造商编号 = dbo.生产关系表.制造商编号 INNER JOIN dbo.商品信息表 ON dbo.生产关系表.商品编号 = dbo.商品信息表.商品编号
3. 创建了一个消费关系视图,里面记录了消费者购买相关商品的信息。 包含的字段有:会员编号、会员名称、商品名称、交易时间、交易数量、商品价格及消费总额。方便查询消费者的消费记录。
创建视图的sql语句如下:
Create view 消费关系视图 as
SELECT dbo.会员关系表.会员编号, dbo.会员关系表.会员名称, dbo.商品信息表.商品名称, dbo.销售关系表.交易时间, dbo.销售关系表.交易数量, dbo.商品信息表.商品价格, dbo.会员关系表.消费总额
FROM dbo.会员关系表 INNER JOIN dbo.销售关系表 ON dbo.会员关系表.会员编号 = dbo.销售关系表.会员编号 INNER JOIN dbo.商品信息表 ON dbo.销售关系表.商品编号 = dbo.商品信息表.商品编号
4. 创建了视图制造与供货关系视图,记录了商品制造商和供货商的关系。 包含的字段有:制造商名称、供货商名称、商品名称、采购价格、商品价格。方便查询产品的制造商和供应商的信息,产品进价及产品售价的关系。 创建视图的sql语句如下:
Create view 制造与供货关系视图 as
SELECT dbo.制造商关系表.制造商名称, dbo.供货商关系表.供货商名称, dbo.商品信息表.商品名称, dbo.供货关系表.采购价格, dbo.商品信息表.商品价格
FROM dbo.生产关系表 INNER JOIN dbo.供货关系表 ON dbo.生产关系表.商品编号 = dbo.供货关系表.商品编号 INNER JOIN dbo.制造商关系表 ON dbo.生产关系表.制造商编号 = dbo.制造商关系表.制造商编号 INNER JOIN dbo.供货商关系表 ON dbo.供货关系表.供货商编号 = dbo.供货商关系表.供货商编号 INNER
JOIN dbo.商品信息表 ON dbo.生产关系表.商品编号 = dbo.商品信息表.商品编号 AND dbo.供货关系表.商品编号 = dbo.商品信息表.商品编号
八.创建触发器
在商品信息表上创建触发器,限制每次商品价格变动额不能超过50元 create trigger 商品价格触发器on 商品信息表after update
as
if update(商品价格)
begin
if (select MAX(abs(inserted.商品价格-deleted.商品价格))
from inserted join deleted
on inserted.商品编号=deleted.商品编号)>50
begin print'商品价格变动不得超过50元'
rollback transaction
end
end
else print'更改成功'
九.数据库备份
为了保证数据库的安全,和上交作业的需要,我们对数据库进行了备份。
十.数据库查询
1.查询消费总额大于500的会员名称及消费总额
select 会员关系表.会员名称,消费总额from 会员关系表where 消费总额>500
2.查询商品采购价与售价的差价
select distinct 商品信息表.商品价格-供货关系表.采购价格as 差价from 供货关系表,商品信息表
where 商品信息表.商品编号=供货关系表.商品编号
3.查询各会员所购买的商品名称及数量
select 会员关系表.会员名称, 商品信息表.商品名称,销售关系表.交易数量 from 会员关系表,商品信息表,销售关系表where
会员关系表.会员编号=销售关系表.会员编号and
商品信息表.商品编号=销售关系表.商品编号
order by 会员名称
4.查找制造商和供货商之间的合作关系
select distinct 供货商关系表.供货商名称, 制造商关系表.制造商名称
from 供货商关系表,制造商关系表
where 供货商关系表.供货商编号in(
select 供货商编号from 供货关系表,生产关系表where 供货关系表.商品编号=生产关系表.商品编号)
其他的关于产品修改和删除的操作在此就不赘述了,以上查询的sql文件已打包至上交文件中。
十一.总结
通过这次的数据库课程设计我学习并掌握了很多知识与操作。历时两个星期的设计令我受益匪浅,也对数据库这门学科有了更进一步的认识与熟悉。更重要的是我第一次系统的了解了数据库创建的整个过程,首次将老师上课讲的知识串接了起来,形成了一个知识体系。这才是最重要的。