深圳手机网站设计公司,邯郸企业建站,页面设计风格,怎样学设计快速入门一、系统简介
1.1设计背景
受到科学技术的推动#xff0c;全球计算机的软硬件技术迅速发展#xff0c;以计算机为基础支撑的信息化如今已成为现代企业的一个重要标志与衡量企业综合实力的重要标准#xff0c;并且正在悄无声息的影响与改变着国内外广泛的中小型企业的运营模…一、系统简介
1.1设计背景
受到科学技术的推动全球计算机的软硬件技术迅速发展以计算机为基础支撑的信息化如今已成为现代企业的一个重要标志与衡量企业综合实力的重要标准并且正在悄无声息的影响与改变着国内外广泛的中小型企业的运营模式。针对于居民日常生活无法离开的超市卖家市场蓬勃快速发展且竞争激烈各个商家不断推陈出新各种活动力求争取更多的忠实用户而会员管理系统正是商家留得客户的首选并且正在被越来越多的企业应用于消费管理领域。随着众多企业管理者对管理信息系统的重视程度的提高超市会员管理系统的管理功能也在不断的增强发挥着越来越重要的作用从简单的数据浏览、添加、修改到超大数量的数据存储、数据的精确计算、积分换礼、报表的自动化生成、人性化的友好界面操作大大提高了企业员工的工作效率以及规范企业的多层次全方位管理帮助拓宽企业与外界之间的交流范围缩短交流的时间丰富交流方式并且协助维护企业与社会之间的良好关系。
1.2开发意义
随着我国经济的高速发展人民生活水平的不断提高线上与线下购物已经成为居民生活中不可或缺的一部分。超市会员管理系统的诞生使管理员可以借助网络管理轻松实现信息资源的集中统一处理与有效资源共享用以提高管理水平与经济效益。通过此项目的研究与实践超市会员可以在网络上查询自己实时的会员积分与商家发布更新的各类积分有礼兑换活动使网络管理为会员提供了一个方便快捷的自我管理环境。而商家可以利用系统对会员信息进行更有效更规范的管理例如对会员信息的添加、修改。超市会员管理系统的使用商家不受时间与地理位置的限制一方面管理上更加规范而且很大程度上提高了超市会员管理的效率不再像过去的手工操作浪费时间、人力以及物力另一方面增强了居民的购物意愿提高了消费内需促进了经济的持续稳定发展实现了经济效益与社会服务的共同发展。
1.3系统开发及运行环境
系统开发平台Microsoft Visual Studio 2008
系统开发语言SQL语言
数据库与管理系统软件SQL Server 2008 R2
运行平台Windows 8及以上
二、需求分析
2.1超市会员管理系统需求分析
超市会员管理系统的开发主要目的是为了方便管理员对顾客消费的所有信息的管理同时可以提供给顾客更多的优惠信息提高顾客的购物热情因此我们的超市会员管理系统主要实现以下四个功能会员基本信息的查询功能、会员基本信息的管理功能、会员消费信息的管理功能、超市货物库存的统计功能。
1会员基本信息的查询功能主要包括为管理员对会员各类信息的查询以及会员本身对会员信息的查询管理员与顾客都可以通过线上网络的不同界面查询会员的相关信息用以了解会员的等级、消费情况与优惠力度等
2会员基本信息的管理功能主要包括为管理员对会员各类信息的管理详细包括会员的编号、姓名、性别、联系方式、会员等级等可以做到对会员信息进行修改、删除、更新、添加等操作
3 会员消费信息的管理功能主要包括为超市会员在超市中的消费记录详细包括会员购买的商品及其相关信息购买时间、商品编号、购买数量、商品单价、商品金额等等管理员可以对会员消费信息进行添加、更新、删除等操作
4超市商品库存的统计功能主要包括为超市商品的库存的基本信息详细包括商品的商品编号、商品名称、库存量、商品价格等信息同时管理员可根据市场情况随时调整我们的商品价格。
2.2超市会员管理系统可行性分析
受基本条件与系统面向群体所限制学生无法获得非常深入的需求信息也缺少直截了当的与客户沟通交流的机会因此本人在已知需求的基础上结合周边调研访问结果进行适当的推理延伸。针对本超市会员管理系统从技术可行性来看本系统对硬件、软件的性能要求、环境条件以及技术人员的水平都在目前平均水平可以接受的范围之内从经济可行性来看本系统数据库的设计无需消耗大量资源且无需昂贵的软硬件设施并且市场前景良好具有可预见的经济价值从社会可行性来看本系统数据库无冲突社会道德以及国家法律等问题且符合人民日益增长的美好需要的要求对于提高消费内需促进经济的持续稳定发展发挥着明显的正向作用。综上该数据库系统项目在各个方面均满足可行性条件。
2.3用例图
管理员用例图 会员用例图 2.4系统功能结构图 三、概念结构设计
3.1 E-R图 3.2 数据字典
1数据项 数据项名称 数据类型 数据长度 取值范围 取值含义 NUMBER CHAR 10 会员编号 NAME CHAR 10 姓名 SEX NCHAR 10 男/女默认值为男 性别 TEL CHAR 10 电话号码 GRADE CHAR 10 会员等级 GNUM CHAR 10 商品编号 GNAME CHAR 10 商品名称 UP FLOAT UP0 商品单价 GS CHAR 10 商品库存 ONUM CHAR 10 购物单编号 DATE DATE 消费日期 QTY INT 数量 UNDIS FLOAT 10 UNDIS0 折扣前金额 DIS FLOAT 10 DIS0 折扣后金额 DISCOUNT CHAR 10 会员折扣
2数据结构 数据结构名 组成 说明 会员表 NUMBERNAMESEXTELGRADE 会员基本信息 商品表 GNUMGNAMEUPGS 商品基本信息 购物单表 ONUMGNUMDATEQTYUP UNDIS 超市购物单信息 会员购物表 NUMERBONUMGNUMDIS 会员消费信息 会员优惠表 GRADEDISCOUNT 会员优惠信息
四、逻辑结构设计
会员会员编号姓名性别电话号码会员等级
商品商品编号商品名称商品单价商品库存
购物单购物单编号商品编号消费日期数量商品单价折扣前金额
会员购物会员编号购物单编号商品编号折扣后金额
会员优惠会员等级会员折扣
注下划线的为主键
五、物理设计
5.1基本表
1会员表【MEMBER】NUMBER会员编号NAME姓名SEX性别
TEL电话号码GRADE(会员等级) 2商品表【GOODS】 GNUM商品编号GNAME商品名称UP商品单价
GS商品库存 3购物单表【LIST】 ONUM购物单编号GNUM商品编号
DATE消费日期QTY数量UP商品单价
UNDIS折扣前金额 4会员购物表【MLIST】 NUMERB会员编号ONUM购物单编号
GNUM商品编号DIS折扣后金额 5会员优惠表【DISCOUNT】GRADE会员等级DISCOUNT会员折扣 5.2完整性约束
5.2.1实体完整性约束
1将MEMBER表的NUMBER设置为主键
ALTER TABLE MEMBERADD CONSTRAINT PK_M PRIMARY KEY(NUMBER)GO
2)将GOODS表的GNUM设置为主键
ALTER TABLE GOODSADD CONSTRAINT PK_G PRIMARY KEY(GNUM)GO
3)将LIST表的ONUM与GNUM设置为主键
ALTER TABLE LISTADD CONSTRAINT PK_L PRIMARY KEY(ONUM,GNUM)GO
4将MLIST表的NUMERB、ONUM与GNUM设置为主键
ALTER TABLE MLISTADD CONSTRAINT PK_ML PRIMARY KEY(ONUM,GNUM,NUMBER)GO
5将DISCOUNT表中的GRADE设置为主键
ALTER TABLE DISCOUNTADD CONSTRAINT PK_D PRIMARY KEY(GRADE)GO
5.2.2参照完整性
1创建表MEMBER和表MLIST之间的参照关系
AlTER TABLE MLIST WITH NOCHECKADD CONSTRAINT FK_M_ML FOREIGN KEY(NUMBER)REFERENCES MEMBER(NUMBER)ON UPDATE CASCADEGO
2创建表GOODS和表MLIST之间的参照关系
AlTER TABLE MLIST WITH NOCHECKADD CONSTRAINT FK_G_ML FOREIGN KEY(GNUM)REFERENCES GOODS(GNUM)ON UPDATE CASCADEGO
3创建表GOODS和表LIST之间的参照关系
AlTER TABLE LIST WITH NOCHECKADD CONSTRAINT FK_G_L FOREIGN KEY(GNUM)REFERENCES GOODS(GNUM)ON UPDATE CASCADEGO
4创建表LIST和表MLIST之间的参照关系
AlTER TABLE MLIST WITH NOCHECKADD CONSTRAINT FK_L_ML FOREIGN KEY(ONUM) REFERENCES LIST(ONUM)ON UPDATE CASCADEGO
5.2.3用户自定义完整性
1为表MEMBER中的SEX设置DEFAULT约束,并利用CHECK约束将SEX限定取值
ALTER TABLE MEMBERADD CONSTRAINT DEFAULT_SEX DEFAULT 男 FOR SEXGOALTER TABLE MEMBERADD CONSTRAINT CHECK_SEX CHECK(SEX男 OR SEX女)GO
2检查商品表GOODS商品单价是否符合要求
ALTER TABLE GOODS WITH CHECKADD CONSTRAINT CHECK_UP CHECK(UP0)GO
3检查购物单表LIST商品单价是否符合要求
ALTER TABLE LIST WITH CHECKADD CONSTRAINT CHECK_LIST CHECK(UP0)GO
4检查购物单表LIST折扣前金额是否符合要求
ALTER TABLE LIST WITH CHECKADD CONSTRAINT CHECK_LIST2 CHECK(UNDIS0)GO
5检查购物单表MLIST折扣后金额是否符合要求
ALTER TABLE MLIST WITH CHECKADD CONSTRAINT CHECK_MLIST CHECK(DIS0)GO
5.3数据库视图 六、功能实现
6.1 系统的主要查询功能
1查询系统中姓名为“赵钱”的会员的基本信息:
USE MARKETGOSELECT * FROM MEMBER WHERE NAME赵钱GO 2查询系统中会员等级为VIP2的折扣信息
USE MARKETGOSELECT * FROM DISCOUNT WHERE GRADEVIP2GO 3查询系统中商品编号为003的商品的单价
USE MARKETGOSELECT UP FROM GOODS WHERE GNUM003GO 4查询系统中会员编号为M4的会员的购买记录
USE MARKETGOSELECT * FROM MLIST WHERE NUMBERM4GO 5查询系统中购物单号为V4购买的商品信息
USE MARKETGOSELECT * FROM GOODS WHERE GNUM IN(SELECT GNUM FROM LIST WHERE ONUMV4)GO 6查询系统中会员编号为M3的详细购物信息
USE MARKETGOSELECT * FROM LIST WHERE ONUM IN(SELECT ONUM FROM MLIST WHERE NUMBERM3)GO 6.2 系统的主要插入、更新、删除功能
1在表MEMBER中增加一条会员记录会员编号M5;姓名付琪性别女电话137会员等级VIP5
USE MARKETGOINSERT INTO MEMBER(NUMBER,NAME,SEX,TEL,GRADE)VALUES(M5,付琪, 女,137,VIP5) 2在表MEMBER中更新会员编号表MLIST与中的会员编号也会级联更新,将会员编号为M1的会员编号改为M6
USE MARKETUPDATE MEMBERSET NUMBERM6 WHERE NUMBERM1GO 6.3 创建触发器、存储过程
1创建触发器当会员编号被删除时该会员的消费记录与消费明细也会级联删除
CREATE TRIGGER TRIGGER_NUMBERON MEMBER FOR DELETEASDECLARE NUM_DEL CHAR(10)SELECT NUM_DELNUMBER FROM DELETEDDELETE FROM MLIST WHERE NUMBERNUM_DELDELETE FROM LISTWHERE ONUM IN (SELECT ONUM FROM MLIST WHERE NUMBERNUM_DEL)GO
2创建触发器当商品编号被删除时该商品的相关消费记录也会级联删除
CREATE TRIGGER TRIGGER_GNUMON GOODS FOR DELETEASDECLARE GNUM_DEL CHAR(10)SELECT GUNM_DELGNUM FROM DELETEDDELETE FROM MLIST WHERE GNUMGNUM_DELDELETE FROM LISTWHERE GNUM IN (SELECT GNUM FROM MLIST WHERE GNUMGNUM_DEL)GO
3创建触发器当修改GOODS表的商品编号时要检查GOODS表中是否存在与该编号相同的记录若存在则不允许修改若不存在则可修改
CREATE TRIGGER TRIGGER_GOODSON GOODS FOR UPDATE AS IF UPDATE(GNUM)BEGINDECLARE GNUM_NEW CHAR(10),GNUM_OLD CHAR(10),GNUM_CNT INTSELECT GNUM_OLDGNUM FROM DELETEDSELECT GNUM_CNTCOUNT(*) FROM GOODS WHERE GNUMGNUM_OLDIF GNUM_CNT0ROLLBACK TRANSACTIONEND
4创建存储过程根据会员姓名查询会员编号
CREATE PROCEDURE Pro_MEMNAME_IN CHAR(10),NUM_OUT CHAR(10) OUTPUTAS SELECT NUM_OUTNUMBER FROM MEMBERWHERE NAME_INNAMEGODECLARE NAME_IN CHAR(10),NUM_OUT CHAR(10)SELECT NAME_IN孙李EXEC Pro_MEM NAME_IN,NUM_OUT OUTPUTPRINT 会员编号为CONVERT(VARCHAR,NUM_OUT)
执行结果M2 5创建存储过程根据购物单编号与商品编号查询消费日期
CREATE PROCEDURE Pro_DDATE_OUT DATE OUTPUT,ONUM_IN CHAR(10),GNUM_IN CHAR(10)AS SELECT DATE_OUTDATE FROM LISTWHERE ONUM_INONUM AND GNUM_INGNUMGODECLARE DATE_OUT DATE ,ONUM_IN CHAR(10),GNUM_IN CHAR(10)SELECT ONUM_INV5SELECT GNUM_IN005EXEC Pro_D DATE_OUT OUTPUT,ONUM_IN,GNUM_INPRINT 消费日期为CONVERT(VARCHAR,DATE_OUT)
执行结果2023-07-07 6创建存储过程根据商品名称统计商品售出数量
CREATE PROCEDURE Pro_GOODSGNAME_IN CHAR(10),QTY_OUT INT OUTPUTAS SELECT QTY_OUTSUM(QTY) FROM LISTWHERE GNUM IN (SELECT GNUM FROM GOODS WHERE GNAME_INGNAME)GODECLAREGNAME_IN CHAR(10),QTY_OUT INTSELECT GNAME_IN卷纸EXEC Pro_GOODS GNAME_IN,QTY_OUT OUTPUTPRINT 售出数量为CONVERT(VARCHAR,QTY_OUT)
执行结果1 7创建存储过程计算某一会员至今所有购物的优惠金额根据该存储过程的结果超市管理员可对比商品成本与利润相应调整会员优惠折扣力度
CREATE PROCEDURE Pro_DISNUM_IN CHAR(10),UNDIS_OUT FLOAT OUTPUT,DIS_OUT FLOAT OUTPUTASSELECT UNDIS_OUTSUM(UNDIS) FROM LISTWHERE ONUM IN(SELECT ONUM FROM MLIST WHERE NUM_INNUMBER)SELECT DIS_OUTSUM(DIS) FROM MLISTWHERE NUM_INNUMBERGODECLARE NUM_IN CHAR(10),UNDIS_OUT FLOAT,DIS_OUT FLOATSELECT NUM_INM1EXEC Pro_DIS NUM_IN,UNDIS_OUT OUTPUT,DIS_OUT OUTPUTPRINT 至今已优惠金额为CONVERT(VARCHAR,UNDIS_OUT-DIS_OUT)
执行结果12.06 七、第七次实验课心得
最后一次实验课的课程中根据老师要求需要我们重点区分两类空间数据即SQL SERVER 2008新增的两类空间数据类型大地向量空间类型geography和几何平面向量空间类型geometry,根据官方定义geography数据类型为空间数据提供了一个由经度和纬度联合定义的存储结构geometry数据类型为空间数据提供了一个存储结构它是由任意平面上的坐标定义的。
因此由上述定义我们就可以轻松判断出我们应该根据我们特定的需要来选择使用相应的空间数据类型例如存储经纬度坐标数据我们就应该使用geography而如果是存储任意平面上定义的坐标数据我们就应该使用geometry。
除此之外geography作为一个我们未来专业或许需要经常使用但如今我们又相对较为陌生的数据类型来说拥有更多需要我们注意与了解的特点通过课堂学习、实际操作与网络搜索可以得到geography分为Point、LineString与Polygon三种类型的实例不同的实例的建立具有他们不同的类型、用法与前提条件空间引用标识符SRID同样是geography中非常重要的一个概念我们可以简单将每个数据的SRID理解为它们特殊的单位只有拥有相同单位的数据我们才可以进行代数或其它的操作最后是数据类型的方向问题这也是我们在课堂上重点强调的一个方面对于geometry数据来说我们无需考虑某一实例的方向但对于geography数据我们不仅要指定环实例的顺逆时针方向而且必须明确指出其它实例相对于环的具体位置。
以上都是我们在具体使用SQL SERVER 2008新增的两类空间数据类型时需要特别注意的几个方面我深知自身如今的学习深度与学习时间还远远无法达到完全熟练掌握这两类数据类型但希望能为今后的学习打下一定的基础并在未来继续更深入的探索。