当前位置:文档之家› 超市会员管理系统-数据库课程设计报告书

超市会员管理系统-数据库课程设计报告书

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

2.系统功能设计2.1功能模块图功能模块图如图lo超市会员管理系统图1系统功能横块设计图2・2功能说明该超市会员管理系统旨在为超市的会员管理工作提供一个比较系统的会员管理平台,它帮助超市存储及管理会员的基本信息、管理会员卡、管理会员报表及会员政策,完全可以取代之前复杂的手工记录方法,是一套比较完备的管理工具,极提高了超市会员管理的效率。

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

3.数据库概念设计3.1根据不同的对象,分别画出各分E-R图。

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

图2会员基本信患的E-R图(2)从会员卡信息抽象出分E-R图从会员卡信息抽象出的分E-R图如图3.n n图5基本E-R图4.将联系转化成独立的关系模式,具体的基本E-R图向关系模型的转化如下:会员基本信息(会员卡卡号,,性别,年龄,联系方式,购卡日期,)主码:、会员卡卡号会员卡信息(会员卡卡号,会员卡编号,会员卡种类,)主码:会员卡编号物品信息(物品编号,物品种类,物品名称,单价)主码:物品编号购物信息(会员卡卡号,物品编号,购物数量)主码:会员卡卡号、物品编号其中:关系模式会员基本信息、会员卡、物品信息在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF。

购物信息则存在部分依赖属于2NFo5.数据库物理设计5.1数据库各基本表的定义(1)会员基本信息表如表1Iname Char 8 0 Not nullIsex Char 2 0 Not null 性别 Iage Int 默认 0 Not null 年龄 Itel Char 11 0 Not null 联系方式 Idate Date/Time默认Not null 购卡日期(2)会员卡信息表如表2表2会员卡借息表(3)物品信息表如表3表3物品信息表(4)会员购物信息表如表4属性名 数据类型 宽度 小数位数 可否为空 说明 Ino默认 Not null 会员卡卡号 Int默认Not null 会员卡编号 CkindCharNot null会员卡种类属性名Tkind Tname Tprice数据类型 CharChar Char Money宽度 1020 20小数位数 可否为空 Not null Not nullNot null Not null说明 物品编号 物品种类单价属性名 数据类型 宽度 默认 10小数位数 可否为空 Not null Not null说明 会员卡卡号 物品编号[ntSquantity购物数量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。

P29\SQLEIFR7“Tr.LUii▼ x图7创建会员基本信息表(2)创建会员卡基本信息表数IE炎燮允许空rno i-tInane nchsr(&>nch»<2)【33rt【21nchsr(ll>de/:d:nw□口□□口口口列名创建会员卡基本信息表如图8。

F?9\SaLWPK. b® 14 jZ fraSF 列名 呦5类31inortCnoht> Ckr»d chat(4)列屁性图8创建会员卡基本信息表(3)创建物品信息表5US鹽jag创建物品信息表如图9。

E292QLKXPBL ・.bo. T<bla_l* 抢妥丁2Ch^(lQ) 7krd ch<r(lQ> Tnurrs ch<r(lQ> TprecntzcieVTpnse money青图9创建物品信息表(4)创建购物信息表 创建购物信息表如图10o尤许仝□ O?規》CS 确 片认rs 昨定 般缗尖型 允详空 Q 苓说计務 (VM )LocolhostVS. . . Qmery2.珂“Create Unique Index Carino On Carddno: ;|』结果帝令己舸完成.图12为会员卡信息表按会员卡卡号升序建唯一索引(3)为物品信息表按单价升序建唯一索引为物品信息表按单价升序建唯一索引如图13。

1 •eftlho^tKS Qu«ry3. cqlt 彌要Create Unique Index Tliitprioc On Thing (Tprisc)|;J结黑命令已觀芫販图13为物品信息表按单价升序建唯一索引(4)为会员购物信息表按购物数量降序建唯一索引为会员购物信息表按购物数量降序建唯一索引如图14 ^l^cftlhostXS. .. Qu«ry4. sg»「摘妾CreUnique Index StiosquanDlty On Shopplnia :3QuantlLy);命令己成功完龜.图14为会员购物信息表按购物数量降序建唯一索引6.4创建视图(1)建立会员基本信息视图Create View Memberjnformation (Ino)AsSelect *From Information:建立的会员基本信息视图如图15localh«£t\S.. .QQgyS.Mgl・Create View io&Hti&r_IntornjaL ion TnojiAsSelecfFrom fnfornation;』结栄命令已成功完廳,图15会员基本信息视图(2)建立会员卡信息视图Create View Cardjnformation (Cno)AsSelect *From Card;建立的会员卡信息视图如图16lvcalliostVS. . .Q«ery€. “1 拿狷要Create View Card lnfornjationiCno) is3elecr.AFroro Card;<JT结果L 命令已成鴉成.图16会员卡信息视图(3)建立物品信息视图Create View Thingjnformation (Tno)AsSelect*From Thing;建立的物品信息视图如图17丄oeoJLhod、倜茨Create V Lev Thing Inf ormat ion Tno) Ao$5包丄ectFrew Thing:j结果命令已歳功完成.图17物品信息视图7.设计触发器和存储过程7.1设计触发器⑴为Information表定义完整性规则“年龄必须大于等于10岁,否则改为10岁” 定义一个Before行级触发器Create Trigger IUSageBefore Insert Or Update On InformationFor Each RowAs BeginIf (new.Sage<10) Thennew.Sage=10;End If;End;定义的Before行级触发器如图18I locoLbostVS.・.QucryO. 茹妾Create Trigger !U5age|Before Insect. Or Update On rnXocrnacionFor Each Rowks BeginIi (new • isge-:L0;i Thennew iSage=10;End IT;End;一冷消息图18 Before行级触发器(2)基于Card Table创建After Insert触发器CLTrigger,将插入的会员卡号限制在20位以。

Create Trigger CLCnoOn Card TableAfter InsertIf (Select Card Cno From Inserted) >20BeginPrint *会员卡卡号不能超过’Roll BackEndGo建立的After Insert触发器如图19l«calhost\S... QuerylO. SQ1« ________________________Create Trietget: CLCno On Card TableArter insertI£ (Select Card Cno Froin Inserced) >20 BeginPr int'会员卡卡号不能超过*Pa llBaclrEnd亍消煜图19 After Insert 触发器7.2设计存储过程(1)为表Information创建一个存储过程Isex_member,用来査找男性会员信息Create Procedure Isex_membcrAsBeginSet Nocount On;Select *From InformationWhere Ssex='男'EndGo创建的Isex_membcr存储过程如图20__ QaeryO. sq" 丫摘妥Create Proce<lure isex mewer As _Begin3et Nocounc On;Select xFrow Inforast ionVhcrc SnuL 男'EHC3Gc|腌|. …川匕拮果命令已成功完成。

图20 Isex_member存储过程(2)为表Thing创建一个存储过程Thi_Tprice Create Procedure ThLTpriceAsBeginSet Nocount On:Select *From ThingWhere Tprico 10EndGo创建的ThLTprice存储过程如图21loc<ilko3t\S. . .QueryS. sql* JS3?C re ace Procedure Th i_Tp triceisBeam3eu Nocounr. On;3eLeet rFrow Tiling 5JhereTptrice> 10 EndGoju岛结果命今已觀完観图21 Thi_Tprice存储过程8.课程设计总结紧而乂充实的一周数据库课程设计接近尾声了。

相关主题