超市会员管理系统数据库课程设计.docx

上传人:b****7 文档编号:8849979 上传时间:2023-02-02 格式:DOCX 页数:18 大小:337.71KB
下载 相关 举报
超市会员管理系统数据库课程设计.docx_第1页
第1页 / 共18页
超市会员管理系统数据库课程设计.docx_第2页
第2页 / 共18页
超市会员管理系统数据库课程设计.docx_第3页
第3页 / 共18页
超市会员管理系统数据库课程设计.docx_第4页
第4页 / 共18页
超市会员管理系统数据库课程设计.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

超市会员管理系统数据库课程设计.docx

《超市会员管理系统数据库课程设计.docx》由会员分享,可在线阅读,更多相关《超市会员管理系统数据库课程设计.docx(18页珍藏版)》请在冰豆网上搜索。

超市会员管理系统数据库课程设计.docx

超市会员管理系统数据库课程设计

超市会员管理系统

1.课程设计目的

通过课程设计加深对数据库基础理论和基础知识的理解,掌握运用数据库管理系统,实现数据管理的基本思路和方法,培养分析问题、解决问题的能力。

2.系统功能设计

2.1功能模块图

功能模块图如图1。

 

图1系统功能模块设计图

2.2功能说明

该超市会员管理系统旨在为超市的会员管理工作提供一个比较系统的会员管理平台,它帮助超市存储及管理会员的基本信息、管理会员卡、管理会员报表及会员政策,完全可以取代之前复杂的手工记录方法,是一套比较完备的管理工具,极大地提高了超市会员管理的效率。

在很大程度上帮助了超市管理者对超市的掌握与管理。

3.数据库概念设计

3.1根据不同的对象,分别画出各分E-R图。

(1)从会员基本信息抽象出的分E-R图如图2。

 

图2会员基本信息的E-R图

(2)从会员卡信息抽象出分E-R图

从会员卡信息抽象出的分E-R图如图3.

 

 

图3会员卡信息的E-R图

(3)从物品信息抽象出分E-R图

从物品信息抽象出的分E-R图如图4

 

图4物品信息的E-R图

(4)合并各分E-R图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R图,再消除不必要冗余,得到的基本E-R图。

基本E-R图如图5。

 

图5基本E-R图

4.数据库逻辑设计

将联系转化成独立的关系模式,具体的基本E-R图向关系模型的转化如下:

会员基本信息(会员卡卡号,姓名,性别,年龄,联系方式,购卡日期,)

主码:

姓名、会员卡卡号

会员卡信息(会员卡卡号,会员卡编号,会员卡种类,)

主码:

会员卡编号

物品信息(物品编号,物品种类,物品名称,单价)

主码:

物品编号

购物信息(会员卡卡号,物品编号,购物数量)

主码:

会员卡卡号、物品编号

其中:

关系模式会员基本信息、会员卡、物品信息在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF。

购物信息则存在部分依赖属于2NF。

5.数据库物理设计

5.1数据库各基本表的定义

(1)会员基本信息表如表1

 

属性名

数据类型

宽度

小数位数

可否为空

说明

Ino

Int

默认

0

Notnull

会员卡卡号

Iname

Char

8

0

Notnull

姓名

Isex

Char

2

0

Notnull

性别

Iage

Int

默认

0

Notnull

年龄

Itel

Char

11

0

Notnull

联系方式

Idate

Date/Time

默认

0

Notnull

购卡日期

表1会员基本信息表

(2)会员卡信息表如表2

属性名

数据类型

宽度

小数位数

可否为空

说明

Ino

Int

默认

0

Notnull

会员卡卡号

Cno

Int

默认

0

Notnull

会员卡编号

Ckind

Char

4

0

Notnull

会员卡种类

表2会员卡信息表

(3)物品信息表如表3

属性名

数据类型

宽度

小数位数

可否为空

说明

Tno

Char

10

0

Notnull

物品编号

Tkind

Char

6

0

Notnull

物品种类

Tname

Char

20

0

Notnull

物品名称

Tprice

Money

20

2

Notnull

单价

表3物品信息表

(4)会员购物信息表如表4

 

属性名

数据类型

宽度

小数位数

可否为空

说明

Ino

Int

默认

0

Notnull

会员卡卡号

Tno

Char

10

0

Notnull

物品编号

Squantity

Int

默认

0

Null

购物数量

表4会员购物信息表

5.2各表索引的设计

(1)为会员基本信息表按年龄升序建唯一索引。

CreateUniqueIndexInfiageOnInformation(Iage);

(2)为会员卡信息表按会员卡卡号升序建唯一索引。

CreateUniqueIndexCarinoOnCard(Ino);

(3)为物品信息表按单价升序建唯一索引。

CreateUniqueIndexThitpriseOnThing(Tprise);

(4)为会员购物信息表按购物数量降序建唯一索引。

CreateUniqueIndexShosquantityOnShopping(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)建立会员基本信息视图

CreateViewMember_Information(Ino)

As

Select*

FromInformation;

建立的会员基本信息视图如图15

图15会员基本信息视图

(2)建立会员卡信息视图

CreateViewCard_Information(Cno)

As

Select*

FromCard;

建立的会员卡信息视图如图16

图16会员卡信息视图

(3)建立物品信息视图

CreateViewThing_Information(Tno)

As

Select*

FromThing;

建立的物品信息视图如图17

图17物品信息视图

7.设计触发器和存储过程

7.1设计触发器

(1)为Information表定义完整性规则“年龄必须大于等于10岁,否则改为10岁”定义一个Before行级触发器

CreateTriggerIUSage

BeforeInsertOrUpdateOnInformation

ForEachRow

AsBegin

If(new.Sage<10)Then

new.Sage=10;

EndIf;

End;

定义的Before行级触发器如图18

图18Before行级触发器

(2)基于CardTable创建AfterInsert触发器CLTrigger,将插入的会员卡号限制在20位以内。

CreateTriggerCLCno

OnCardTable

AfterInsert

If(SelectCardCnoFromInserted)>20

Begin

Print‘会员卡卡号不能超过’

RollBack

End

Go

建立的AfterInsert触发器如图19

图19AfterInsert触发器

7.2设计存储过程

(1)为表Information创建一个存储过程Isex_member,用来查找男性会员信息

CreateProcedureIsex_member

As

Begin

SetNocountOn;

Select*

FromInformation

WhereSsex=‘男’

End

Go

创建的Isex_member存储过程如图20

图20Isex_member存储过程

(2)为表Thing创建一个存储过程Thi_Tprice

CreateProcedureThi_Tprice

As

Begin

SetNocountOn;

Select*

FromThing

WhereTprice>10

End

Go

创建的Thi_Tprice存储过程如图21

 

图21Thi_Tprice存储过程

 

8.课程设计总结

紧张而又充实的一周数据库课程设计接近尾声了。

虽然开始毫无头绪,但在周力老师的耐心指导下还是比较圆满的完成了这次课程设计。

从此次课程设计中我也收获了不少。

这次课程设计使我熟悉了数据库系统设计的整体步骤。

系统设计大体可分为需求分析、概念设计、逻辑设计、物理设计、数据库的实施及调试测试六大步骤。

在具体的实施阶段中,表的建立及表间关系最为重要,其实这也是需求分析重要性的体现。

这次课程设计加深了我对数据库系统概论相关知识和SQLServer相关功能的理解。

但由于缺乏知识的整合,所以在逻辑设计上还是遇到了困难,不过还好有周老师的指导。

最终问题迎刃而解。

 

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1