韦氏超市管理系统Word文档格式.docx
- 文档编号:18959419
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:31
- 大小:1.55MB
韦氏超市管理系统Word文档格式.docx
《韦氏超市管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《韦氏超市管理系统Word文档格式.docx(31页珍藏版)》请在冰豆网上搜索。
入库数量
商品条形码
编号
状态
厂商
仓库
消费金额
卡号
注册日期
入库
交易
名称
密码
价格
类型
商品
条形码
促销价格
库存量
地址
电话
供应
图2系统E-R模型
六、数据库设计(各10分)
(1)表设计
经过E-R向关系模型转化并进行范式优化后,得到如下的数据库表设计,如表,图3所示。
表1 jyxx(交易信息)表
字段名称
字段含义
数据类型
长度
备注
j_id
交易ID
char
20
唯一,且不可为空
j_date
交易日期
datetime
默认
j_price
交易金额
money
8
y_name
用户名
10
h_id
会员卡号
s_code
100
表2hyxx(会员信息)表
h_name
会员名称
h_cost
总消费
h_date
消费日期
h_sex
会员性别
表3csxx(厂商信息)表
c_id
厂商ID
c_name
厂商名称
varchar
50
c_address
厂商地址
c_phone
厂商电话
表4spxx(商品信息)表
s_id
商品ID
s_name
商品名称
s_price
商品价格
money
s_ProPrice
商品促销价格
s_num
表5xsxx(销售信息)表
销售商品ID
vachar
x_date
售出商品日期
x_num
商品数量
x_price
商品售价
表6 yhxx(用户信息)表
y_id
用户ID
用户姓名
y_style
用户类型
表7ckxx(仓库信息)表
ck_id
仓库编号
ck_num
ck_date
ck_state
入库状态
表8 ghs(供应商)表
g_id
供应商ID
g_name
供应商姓名
g_address
供应商地址
g_phone
供应商电话
图1交易信息
图2交易信息
(2)视图设计
为了完成韦氏超市管理系统的开发,用户需要建立相应的视图以操作数据库中的数据,从而达到简化操作和提高数据安全性的目的。
利用T-SQL语句创建视图
视图功能:
使用查询分析器在weisupmarket数据库中建立有用户名、会员卡号和交易信息的视图JYXX_VIEW,要求j_date(交易日期)字段非空。
视图定义:
T-SQL语句
CREATEVIEWdbo.JYXX_VIEW
AS
SELECTdbo.jyxx.y_name,dbo.jyxx.h_id,
dbo.jyxx.j_date,dbo.jyxx.j_id,
dbo.hyxx.h_name
FROMdbo.yhxxCROSSJOIN
dbo.jyxxCROSSJOIN
dbo.hyxx
WHERE(dbo.jyxx.j_dateISNOTNULL)
图3.1利用T-SQL语句创建视图
利用视图创建向导创建视图
使用查询分析器在weisupmarket数据库中建立有销售商品ID、商品条形码和销售信息的视图XSXX_VIEW。
操做步骤如下:
1.启动企业管理器,选择“工具”菜单中的“向导”命令如图3.2.1所示:
图3.2.1运行向导
2.在打开的“选择向导”对话框中选择“创建视图向导”如图3.2.2所示:
图3.2.2选择“创建视图向导”
3.单击“下一步”按钮,选择视图将引用的数据库weisupmarket,如图3.2.3
所示:
图3.2.3选择视图将引用的数据库
4.选择创建视图时要引用的对象,对象可以是一个或多个,也可以是表或视
图,但至少要有一个对象如图3.2.4所示:
图3.2.4选择创建视图时要用到的对象
5.选择在视图中要显示的列,列可以是一个或多个,但至少要有一个列,如
图3.2.5所示:
图3.2.5选择在视图中要显示的列
6.在定义限制的文本框中输入相应的T-SQL语句,从而限制视图中显示的信
息,如图3.2.6所示:
图3.2.6定义限制
7.最后需要为视图制定名称,如图3.2.7所示:
图3.2.7确定视图名称
8.完成视图创建,如图3.2.8所示:
图3.2.8完成视图的创建
利用企业管理器创建视图
使用查询分析器在weisupmarket数据库中建立有商品ID、商品数量和商品信息的视图SPXX_VIEW,要求s_code(商品条形码)字段非空。
操作步骤如下:
1.启动企业管理器,展开weisupmarket数据库,选中“视图”节点后,在窗口的右窗格中右击,在快捷菜单中选择“新建视图”命令,如图3.3.1所示:
图3.3.1选择“新建视图”命令
2.在弹出的窗口中右击,在快捷菜单中选择“添加表”命令,添加建立查询时需要用到的对象(本任务中用到的数据对象为4张表,分别是spxx、ckxx、ghs、csxx),并确定好视图中要显示的字段和满足的条件,如图3.3.2和图3.3.3
图3.3.2在弹出的快捷菜单中选择“添加表”命令
图3.3.3确定好视图中要显示的字段和满足的条件
3.单击
按钮,运行建立好的视图,结果如图3.3.4所示:
图3.3.4视图运行结果
(3)约束设计
主键约束:
1.使用企业管理器定义主键
a.启动SQLServer企业管理器,展开以创建的weisupermarket数据库。
b.选择ckxx表,单击鼠标右键,在快捷菜单中选择“设计表”命令,将弹出的表设计窗口。
在表设计窗口中选中ck_id列,单击工具栏上的“设置主键”按钮,如图4所示。
再单击工具栏的“保存”按钮,关闭表设计窗口。
c.如果主键由多个字段组成,则选中这些字段,然后单击工具栏上的“设置主键”按钮,再单击工具栏上的“保存”按钮,关闭表设计窗口。
图4主键约束定义
2.使用T-SQL语句定义主键
CREATETABLEckxx
(
ck_idchar(20)NOTNULL
CONSTRAINTPK_CKXXPRIMARYKEYCLUSTERED,/*定义主键约束*/
s_codevarchar(100)NULL
ck_numvarchar(50)NULL
ck_datedatetime(8)NULL
ck_statevarchar(50)NULL
)
GO
CHECK约束:
在weisupermarket数据库的hyxx表中建立h_sex的check约束,要求h_sex输入必须为“男”或“女”。
Check约束设计如图5.1和5.2所示:
图5.1Check约束定义
图5.2设置Check约束
外键约束:
建立jyxx表中的h_id(会员编号)和hyxx表h_id(会员编号)之间的参照关系,如图6所示:
图6外键约束定义
DEFAULT约束:
为weisupermarket数据库中的hyxx表定义default约束,要求h_sex(会员性别)列的默认值为“男”。
Default设计如图7所示:
图7DEFAULT约束定义
UNIQUE约束设计
在weisupermarket数据库中为hyxx表建立unique约束,约束字段为:
h_name(会员姓名)其设计如图8.1—8.2所示:
图8.1UNIQUE约束定义
图8.2设置UNIQUE约束
(4)存储过程设计
存储过程功能:
用CREATEPROCEDURE语句创建存储过程gethyxx,要求根据
h_id(会员编号)返回会员的h_name(姓名)和h_cost(会员总消费)。
存储过程定义:
T-SQL语句如图9.1.1和9.1.2所示
USEweisupermarket
GO
CREATEPROCEDUREgethyxx
@h_idchar(20),
@h_namechar(10)OUTPUT,
@h_costmoneyOUTPUT
SELECT@h_name=h_name,@h_cost=h_cost
FROMhyxx
WHEREh_id=@h_id
图9.1.1存储过程定义
图9.1.2存储过程定义
用CREATEPROCEDURE语句创建存储过程getspxx,要求根据
s_id(商品编号)返回商品的s_name(姓名)和s_code(商品条形码)和
s_price(商品价格)。
如图9.2.1和9.2.2所示
T-SQL语句
CREATEPROCEDUREgetspxx
@s_idchar(20),
@s_namechar(50)OUTPUT,
@s_codechar(100)OUTPUT,
@s_pricemoneyOUTPUT
SELECT@s_name=s_name,@s_code=s_code,@s_price=s_price
FROMspxx
WHEREs_id=@s_id
图9.2.1存储过程定义
图9.2.2存储过程定义
(5)触发器设计
触发器功能:
使用T-SQL的CREATETRIGGER语句在weisupermarket数据库的hyxx表上创建一个删除触发器hyxx_delete,当在hyxx表中删除一条记录时,激活该触发器,显示被删除会员姓名。
触发器定义:
如图10.1.1所示
CREATETRIGGERhyxx_delete
ONhyxx
INSTEADOFDELETE
DECLARE@h_namechar(10)
SELECT@h_name=h_namefromdeleted
PRINT'
instendof触发器开始执行......'
PRINT@h_name+'
的记录不允许删除'
图10.1.1触发器设计
执行删除操作后如图10.1.2所示:
DELETEFROMhyxxwhereh_id='
610070203'
图10.1.2删除触发器执行结果
使用T-SQL的CREATETRIGGER语句在weisupermarket数据库的yhxx表上创建一个更新触发器yhxx_update,当在yhxx表中员工职位更新时,激活该触发器,自动实现更新yhxx表中的职务信息。
触发器定义如图10.2.1所示
CREATETRIGGERyhxx_update
ONyhxx
FORUPDATE
DECLARE@new_ynamechar(10),@old_ynamechar(10)
DECLARE@msgchar(60)
SELECT@new_yname=y_namefrominserted
SELECT@old_yname=y_namefromdeleted
UPDATEyhxxSETy_name=@new_ynameWHEREy_name=@old_yname
SET@msg='
本表中的姓名'
+@old_yname+'
被更改为'
+@new_yname+'
!
'
Print@msg
图10.2.1更新触发器设置
修改记录的UPDATE语句验证触发器的运行,如图10.2.2所示
UPDATEyhxxSETy_name='
韦总'
WHEREy_name='
姚明'
图10.2.2运行更新触发器
(6)多表(复杂)查询设计
1.查询语句功能:
查询购买茉莉清茶的会员。
查询语句定义:
如图11.1
select*fromhyxx
whereh_idin(selecth_idfromjyxxwheres_codein(selects_code
fromspxxwheres_name='
康师傅茉莉清茶'
))
2.查询语句功能:
查询品种数>
2的商品的单价和品种数。
如图11.2
selects_price,count(*)as品种数
fromspxx
groupbys_price
havingcount(*)>
=1
3.查询语句功能:
查询所有商品卖出的总数。
如图11.3
selects_name,x_num
fromspxx,xsxx
wherespxx.s_code=xsxx.s_code
图11.1多表查询设计
图11.2多表查询设计
图11.3多表查询设计
(7)数据库创建
数据库参数说明:
数据库创建参数如表9所示,创建如图12.1、12.2所示
表9数据库参数说明
参数
参数值
数据库名
weisupermarket
数据逻辑文件名
weisupermarket_Data
数据物理文件名
weisupermarket_Data_MDF
数据文件的初始大小
5MB
数据文件的最大大小
20MB
数据文件增长幅度
15%
事务日志逻辑文件名
weisupermarket_Log
事务日志物理文件名
weisupermarket_Log_LDF
事务日志文件初始大小
3MB
事务日志文件增长幅度
图12.1weisupermarket数据库创建
图12.2weisupermarket数据库创建
七、课程学习小结(共10分)
(1)课程学习的体会;
数据库在我们平常生活中应用非常地广泛,对我们学习计算机专业的同学来说学习数据库也显得非常重要。
这门课程中我们主要学习了数据库的创建,表的创建,视图、存储过程、触发器的创建、多表查询,关系、主键外键设置等等的功能,而且分别用了T-SQL语句和企业管理器来创建,一路的学习过程下来,多多少少都碰到困难。
起先学习查询语句的时候,对于我们普高上来的同学来说,很多多表的查询,就会经常得弄混,许多环节不知道从什么地方开始,不过我的学习方法是将多表查询中每个表的关系先列出来,然后将每个关键点找出来,列出每个查询,然后再一个个嵌入,虽然有点麻烦,但是在对多表查询还不够熟悉的情况下,这样不太容易弄混。
对于连接查询来嵌套查询来说,我觉得连接查询的知识吸收的比较快,而且也不太会混。
查询语句练习得多了,就熟悉了一些。
在学习各个表的关系的建立的时候,也经常会使得表的主键与外键分不清,了解了以后才发现其实只要分清主从的关系,就能分辨主外键的关系。
存储过程与触发器的建立之间有着一定的相似之处,也有着极大的区别,它们在数据的应用中都起着重要的作用。
在学习的管理与维护中,感觉用企业管理器来备份与还原,分离与附加还是比较容易的,但是有些细节还是需要更加注意,在今后的学习中也应该更加细心。
数据库课程的学习与其它课程的学习之间也都有着联系,像网站建设与管理信息系统等等,因此,掌握课程中的知识还是必要的。
一个学期的学习,在数据的应用方面也掌握了不少,但是还是有很多应用不够熟悉,虽然这个学期的数据库原理与应用课程已经结束,但是学习的路程还是很遥远的,对于不熟悉地方还要继续地学习。
(2)课程学习的收获;
本学期的数据库原理与应用的学习,收获还是颇大的,学会了利用连接查询和嵌套查询来进行多表查询,其中的学习使用了in\notint、between这些在查询中常用到的关系字,也学习了用企业管理器和T-SQL来进行视图、存储过程以及触发器的建立,特别是在利用T-SQL语句来建立表时,熟悉了一些基本的数据类型,以及使用的方法。
也学会了数据库中各表之间的各种约束的创建,这一节当中收获最大的就是利用主表和从表来区分外键与主键,只有区分了外键与主键,才能更好地建立好表之间的关系与约束。
在学习视图的时候,才明白视图是一个虚拟表,可以将多个表中的关系集中成一个虚拟表上,然后再进行查询,这样一来使得表使用既简洁又方便。
平常当中数据的管理与维护也是非常重要的,在数据库的管理与维护中主要进行了数据库的备份与还原、分离与附加,这节的学习了解了数据库的各种还原与备份,包括完全备份、差异备份、事务日志备份日志、文件备份和完全还原、简单还原、日志记录还原等方式。
数据库的学习让我收获还是很大的,数据库在平常生活中也是经常用到的,往后对于数据的知识还是要继续的汲取,加强对数据库应用与设计方面的知识,并努力地应用于实际。
(3)对课程教学的改进建议;
对于老师的教学方式,我觉得还是比较容易吸收课程知识的,上课之间跟同学之间也有互动,而且对于难点都有分析与重复地讲,课堂上也有互动,让同学们自己来做例子,每次课除了课程的内容之外,都与实例相结合进行,就是希望老师在我们感觉简单的地方讲得快点,我们感觉难的地方能够多加几个实例讲解一下。
同时感谢老师对我们的教导,希望以后能够更加多多向老师请教。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)