sql server 期末实验报告.docx
《sql server 期末实验报告.docx》由会员分享,可在线阅读,更多相关《sql server 期末实验报告.docx(14页珍藏版)》请在冰点文库上搜索。
sqlserver期末实验报告
SQLSERVER2000实验报告
随着数据库技术的发展,人们管理数据的能力也在不断提高,对于一些庞大的数据资料,更加需要利用数据库技术,对数据资料进行整理加工。
从而提高人们对数据的掌握,分析能力,加强管理。
为了更好的巩固和加强书本所学的知识,把所学的东西转化为实际应用。
我们在此选择了一个超市购物系统来进行数据库的创建。
超市购物系统,集商品制造商,商品供应商的相关信息,输入到数据库中,严格按照数据库设计的具体步骤:
需求分析阶段就是要研究超市购物系统的具体分类和实施过程流图。
概念设计阶段要完成数据抽象与局部视图设计还有视图的集成。
逻辑结构设计阶段要把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
Notnull
会员编号
char
50
Notnull
会员名称
char
50
Notnull
会员地址
char
50
Notnull
会员密码
Int
4
Notnull
消费总额
表4-2商品信息表
字段类型
长度
主/外键
字段值约束
字段名
char
20
P
Notnull
商品编号
char
20
Notnull
商品名称
DOUBLE
Notnull
商品价格
INT
4
Notnull
库存数量
表4-3制造商关系表
字段类型
长度
主/外键
字段值约束
字段名
char
20
P
Notnull
制造商编号
char
50
Notnull
制造商名称
char
50
Notnull
制造商地址
char
50
Notnull
制造商电话
表4-4供应商关系表
字段类型
长度
主/外键
字段值约束
字段名
char
20
P
Notnull
供货商编号
char
50
Notnull
供货商名称
char
50
Notnull
供货商地址
char
50
Notnull
供货商电话
表4-5供货关系表
字段类型
长度
主/外键
字段值约束
字段名
char
10
P
Notnull
供应商编号
Char
20
P
Notnull
商品编号
Int
4
Notnull
采购数量
Char
20
Notnull
采购时间
DOUBLE
Notnull
采购价格
表4-6生产关系表
字段类型
长度
主/外键
字段值约束
字段名
char
20
P
Notnull
制造商编号
Char
20
P
Notnull
商品编号
表4-7销售关系表(Retail)
字段类型
长度
主/外键
字段值约束
字段名
char
20
P
Notnull
会员编号
char
20
P
Notnull
商品编号
char
20
Notnull
交易时间
INT
4
Notnull
交易数量
五.数据的录入
在小组成员的共同努力下,根据以上设计的七个表,我们完成了数据库中数据的录入。
六.建立索引
该部分由小组成员朱有林完成。
七.建立数据库视图
建立数据库视图,可以方便表的查询,在这个数据库中,根据数据库管理和使用的需要,我建立了四个数据库视图,分别是供货视图、生产关系视图、消费关系视图、制造与供货关系视图。
1.创建了一个供货视图,里面记录了与供货有关的信息。
包含的字段有:
商品编号、供货商编号、商品名称、商品价格、供货商名称、供货商地址、采购数量和采购价格。
创建这个视图更加方便查询供货方面的相关信息。
创建视图的sql语句如下:
Createview供货视图as
SELECTdbo.供货关系表.供货商编号,dbo.供货关系表.商品编号,dbo.商品信息表.商品名称,dbo.商品信息表.商品价格,dbo.供货商关系表.供货商名称,dbo.供货商关系表.供货商地址,dbo.供货关系表.采购数量,dbo.供货关系表.采购价格
FROMdbo.供货关系表INNERJOINdbo.供货商关系表ONdbo.供货关系表.供货商编号=dbo.供货商关系表.供货商编号INNERJOINdbo.商品信息表ONdbo.供货关系表.商品编号=dbo.商品信息表.商品编号
2.创建了一个生产关系视图,里面记录了与商品生产有关的信息。
包含的字段有:
制造商编号、制造商名称、制造商地址、制造商电话、商品编号、商品名称。
创建视图的sql语句如下:
Createview生产关系视图as
SELECTdbo.制造商关系表.制造商编号,dbo.制造商关系表.制造商名称,dbo.制造商关系表.制造商地址,dbo.制造商关系表.制造商电话,dbo.商品信息表.商品编号,dbo.商品信息表.商品名称
FROMdbo.制造商关系表INNERJOINdbo.生产关系表ONdbo.制造商关系表.制造商编号=dbo.生产关系表.制造商编号INNERJOINdbo.商品信息表ONdbo.生产关系表.商品编号=dbo.商品信息表.商品编号
3.创建了一个消费关系视图,里面记录了消费者购买相关商品的信息。
包含的字段有:
会员编号、会员名称、商品名称、交易时间、交易数量、商品价格及消费总额。
方便查询消费者的消费记录。
创建视图的sql语句如下:
Createview消费关系视图as
SELECTdbo.会员关系表.会员编号,dbo.会员关系表.会员名称,dbo.商品信息表.商品名称,dbo.销售关系表.交易时间,dbo.销售关系表.交易数量,dbo.商品信息表.商品价格,dbo.会员关系表.消费总额
FROMdbo.会员关系表INNERJOINdbo.销售关系表ONdbo.会员关系表.会员编号=dbo.销售关系表.会员编号INNERJOINdbo.商品信息表ONdbo.销售关系表.商品编号=dbo.商品信息表.商品编号
4.创建了视图制造与供货关系视图,记录了商品制造商和供货商的关系。
包含的字段有:
制造商名称、供货商名称、商品名称、采购价格、商品价格。
方便查询产品的制造商和供应商的信息,产品进价及产品售价的关系。
创建视图的sql语句如下:
Createview制造与供货关系视图as
SELECTdbo.制造商关系表.制造商名称,dbo.供货商关系表.供货商名称,dbo.商品信息表.商品名称,dbo.供货关系表.采购价格,dbo.商品信息表.商品价格
FROMdbo.生产关系表INNERJOINdbo.供货关系表ONdbo.生产关系表.商品编号=dbo.供货关系表.商品编号INNERJOINdbo.制造商关系表ONdbo.生产关系表.制造商编号=dbo.制造商关系表.制造商编号INNERJOINdbo.供货商关系表ONdbo.供货关系表.供货商编号=dbo.供货商关系表.供货商编号INNERJOINdbo.商品信息表ONdbo.生产关系表.商品编号=dbo.商品信息表.商品编号ANDdbo.供货关系表.商品编号=dbo.商品信息表.商品编号
八.创建触发器
在商品信息表上创建触发器,限制每次商品价格变动额不能超过50元
createtrigger商品价格触发器on商品信息表afterupdate
as
ifupdate(商品价格)
begin
if(selectMAX(abs(inserted.商品价格-deleted.商品价格))
frominsertedjoindeleted
oninserted.商品编号=deleted.商品编号)>50
beginprint'商品价格变动不得超过50元'
rollbacktransaction
end
end
elseprint'更改成功'
九.数据库备份
为了保证数据库的安全,和上交作业的需要,我们对数据库进行了备份。
十.数据库查询
1.查询消费总额大于500的会员名称及消费总额
select会员关系表.会员名称,消费总额from会员关系表where消费总额>500
2.查询商品采购价与售价的差价
selectdistinct商品信息表.商品价格-供货关系表.采购价格as差价from供货关系表,商品信息表
where商品信息表.商品编号=供货关系表.商品编号
3.查询各会员所购买的商品名称及数量
select会员关系表.会员名称,商品信息表.商品名称,销售关系表.交易数量
from会员关系表,商品信息表,销售关系表where
会员关系表.会员编号=销售关系表.会员编号and
商品信息表.商品编号=销售关系表.商品编号
orderby会员名称
4.查找制造商和供货商之间的合作关系
selectdistinct供货商关系表.供货商名称,制造商关系表.制造商名称
from供货商关系表,制造商关系表
where供货商关系表.供货商编号in(
select供货商编号from供货关系表,生产关系表where供货关系表.商品编号=生产关系表.商品编号)
其他的关于产品修改和删除的操作在此就不赘述了,以上查询的sql文件已打包至上交文件中。
十一.总结
通过这次的数据库课程设计我学习并掌握了很多知识与操作。
历时两个星期的设计令我受益匪浅,也对数据库这门学科有了更进一步的认识与熟悉。
更重要的是我第一次系统的了解了数据库创建的整个过程,首次将老师上课讲的知识串接了起来,形成了一个知识体系。
这才是最重要的。