资源描述
超市会员管理系统
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
展开阅读全文