资源描述
超市会员管理系统
1。课程设计目得
通过课程设计加深对数据库基础理论与基础知识得理解,掌握运用数据库管理系统,实现数据管理得基本思路与方法,培养分析问题、解决问题得能力。
2.系统功能设计
2、1功能模块图
功能模块图如图1。
会员姓名
会员性别
购物情况
回收旧卡
结卡日期
补办新卡
购卡日期
挂失卡
发行新卡
解挂卡
更改卡信息
报表预览
报表打印
优惠规则
成为会员条件
超市会员管理系统
会员基本信息
会员卡管理
会员报表管理
会员政策管理
图1 系统功能模块设计图
2、2功能说明
该超市会员管理系统旨在为超市得会员管理工作提供一个比较系统得会员管理平台,它帮助超市存储及管理会员得基本信息、管理会员卡、管理会员报表及会员政策,完全可以取代之前复杂得手工记录方法,就是一套比较完备得管理工具,极大地提高了超市会员管理得效率。在很大程度上帮助了超市管理者对超市得掌握与管理。
3.数据库概念设计
3、1根据不同得对象,分别画出各分E—R图.
(1)从会员基本信息抽象出得分E-R图如图2。
年龄
联系方式
具有
具备
性别
姓名
区分
拥有
会员
购卡日期
会员卡卡号
购卡
购卡
1
1
1
1
1
n
1
n
1
n
n
1
图2 会员基本信息得E—R图
(2)从会员卡信息抽象出分E—R图
从会员卡信息抽象出得分E—R图如图3、
会员卡编号
会员卡卡号
会员卡种类
会员卡
记录
区分
拥有
收银员
管理
n
1
n
1
1
1
1
1
图3 会员卡信息得E—R图
(3)从物品信息抽象出分E-R图
从物品信息抽象出得分E—R图如图4
商品编号
商品
商品名称
商品种类
商品单价
区分
零售
具有
标识
1
1
1
1
1
n
n
1
图4 物品信息得E-R图
(4)合并各分E-R图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E—R图,再消除不必要冗余,得到得基本E-R图。
基本E-R图如图5.
属于
会员
会员类别
购买
商品
收银员
会员卡
管理
办理
1
n
n
n
1
1
n
n
图5基本E-R图
4.数据库逻辑设计
将联系转化成独立得关系模式,具体得基本E-R图向关系模型得转化如下:
会员基本信息(会员卡卡号,姓名, 性别, 年龄, 联系方式, 购卡日期,)
主码:姓名、会员卡卡号
会员卡信息(会员卡卡号,会员卡编号, 会员卡种类,)
主码:会员卡编号
物品信息(物品编号,物品种类,物品名称,单价)
主码:物品编号
购物信息(会员卡卡号,物品编号,购物数量)
主码:会员卡卡号、物品编号
其中:关系模式会员基本信息、会员卡、物品信息在非主属性对主属性得部分函数依赖,也不存在传递函数依赖,已经达到了3NF。购物信息则存在部分依赖属于2NF。
5.数据库物理设计
5、1数据库各基本表得定义
(1)会员基本信息表如表1
属性名
数据类型
宽度
小数位数
可否为空
说明
Ino
Int
默认
0
Not null
会员卡卡号
Iname
Char
8
0
Not null
姓名
Isex
Char
2
0
Not null
性别
Iage
Int
默认
0
Not null
年龄
Itel
Char
11
0
Not null
联系方式
Idate
Date/Time
默认
0
Not null
购卡日期
表1 会员基本信息表
(2)会员卡信息表如表2
属性名
数据类型
宽度
小数位数
可否为空
说明
Ino
Int
默认
0
Not null
会员卡卡号
Cno
Int
默认
0
Not null
会员卡编号
Ckind
Char
4
0
Not null
会员卡种类
表2 会员卡信息表
(3)物品信息表如表3
属性名
数据类型
宽度
小数位数
可否为空
说明
Tno
Char
10
0
Not null
物品编号
Tkind
Char
6
0
Not null
物品种类
Tname
Char
20
0
Not null
物品名称
Tprice
Money
20
2
Not null
单价
表3 物品信息表
(4)会员购物信息表如表4
属性名
数据类型
宽度
小数位数
可否为空
说明
Ino
Int
默认
0
Not null
会员卡卡号
Tno
Char
10
0
Not null
物品编号
Squantity
Int
默认
0
Null
购物数量
表4 会员购物信息表
5、2各表索引得设计
(1)为会员基本信息表按年龄升序建唯一索引。
Create Unique Index Infiage On Information(Iage);
(2)为会员卡信息表按会员卡卡号升序建唯一索引.
Create Unique Index Carino On Card (Ino);
(3)为物品信息表按单价升序建唯一索引。
Create Unique Index Thitprise On Thing(Tprise);
(4)为会员购物信息表按购物数量降序建唯一索引。
Create Unique Index Shosquantity On Shopping (Squantity);
6.数据库实施
6、1创建数据库
创建数据库如图6。
图6 创建数据库
6、2创建表
(1)创建会员基本信息表
创建会员基本信息表如图7。
图7 创建会员基本信息表
(2)创建会员卡基本信息表
创建会员卡基本信息表如图8。
图8 创建会员卡基本信息表
(3)创建物品信息表
创建物品信息表如图9。
图9 创建物品信息表
(4)创建购物信息表
创建购物信息表如图10。
图10 创建购物信息表
6、3创建索引
(1)为会员基本信息表按年龄升序建唯一索引
为会员基本信息表按年龄升序建唯一索引如图11。
图11 为会员基本信息表按年龄升序建唯一索引
(2)为会员卡信息表按会员卡卡号升序建唯一索引
为会员卡信息表按会员卡卡号升序建唯一索引如图12。
图12 为会员卡信息表按会员卡卡号升序建唯一索引
(3)为物品信息表按单价升序建唯一索引
为物品信息表按单价升序建唯一索引如图13.
图13 为物品信息表按单价升序建唯一索引
(4)为会员购物信息表按购物数量降序建唯一索引
为会员购物信息表按购物数量降序建唯一索引如图14
图14 为会员购物信息表按购物数量降序建唯一索引
6、4创建视图
(1)建立会员基本信息视图
Create View Member_Information(Ino)
As
Select *
From Information;
建立得会员基本信息视图如图15
图15 会员基本信息视图
(2)建立会员卡信息视图
Create View Card_Information(Cno)
As
Select *
From Card;
建立得会员卡信息视图如图16
图16 会员卡信息视图
(3)建立物品信息视图
Create View Thing_Information(Tno)
As
Select*
From Thing;
建立得物品信息视图如图17
图17 物品信息视图
7.设计触发器与存储过程
7、1设计触发器
(1)为Information表定义完整性规则“年龄必须大于等于10岁,否则改为10岁”定义一个Before行级触发器
Create Trigger IUSage
Before Insert Or Update On Information
For Each Row
As Begin
If(new、Sage〈10)Then
new、Sage=10;
End If;
End;
定义得Before行级触发器如图18
图18 Before行级触发器
(2)基于Card Table创建After Insert 触发器CLTrigger,将插入得会员卡号限制在20位以内。
Create Trigger CLCno
On Card Table
After Insert
If(Select Card Cno From Inserted)>20
Begin
Print‘会员卡卡号不能超过’
Roll Back
End
Go
建立得After Insert触发器如图19
图19 After Insert触发器
7、2设计存储过程
(1)为表Information创建一个存储过程Isex_member,用来查找男性会员信息
Create Procedure Isex_member
As
Begin
Set Nocount On;
Select *
From Information
Where Ssex=‘男’
End
Go
创建得Isex_member存储过程如图20
图20 Isex_member存储过程
(2)为表Thing创建一个存储过程Thi_Tprice
Create Procedure Thi_Tprice
As
Begin
Set Nocount On;
Select *
From Thing
Where Tprice>10
End
Go
创建得Thi_Tprice存储过程如图21
图21 Thi_Tprice存储过程
8.课程设计总结
紧张而又充实得一周数据库课程设计接近尾声了.虽然开始毫无头绪,但在周力老师得耐心指导下还就是比较圆满得完成了这次课程设计.从此次课程设计中我也收获了不少。这次课程设计使我熟悉了数据库系统设计得整体步骤。系统设计大体可分为需求分析、概念设计、逻辑设计、物理设计、数据库得实施及调试测试六大步骤。在具体得实施阶段中,表得建立及表间关系最为重要,其实这也就是需求分析重要性得体现。这次课程设计加深了我对数据库系统概论相关知识与SQL Server相关功能得理解.但由于缺乏知识得整合,所以在逻辑设计上还就是遇到了困难,不过还好有周老师得指导。最终问题迎刃而解。
9.参考文献
[1] 邓春妮、《SQL企业级开发案例大会》[M],北京:人民邮电出版社,2003
[2] 陈志泊、李冬梅,《数据库原理与应用教程》[M],北京:人民邮电出版社,2011
[3] 何玉洁,梁琦、《数据库原理与应用2》[M],北京:机械工业出版社,2004
[4] 王鹏、《数据库技术及应用》[M],北京:人民邮电出版社,2000
[5] 孟宪虎,马雪英,邓绪斌、《大型数据库管理系统技术、应用与实力分析》 [M](第二版),北京:电子工业出版社,2011、5
[6] 林子雨,赖永炫,林琛,谢怡,邹权、云数据库研究[J]、2012、05、08-42
展开阅读全文