锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

post版

时间:2022-11-19 03:30:01 820d型温度传感器温度探头

一、主要内容

调查研究网上购物管理系统所涵盖的信息,分析系统所依赖的数据、执行的功能和人员,并以数据流图、功能模块图、数据字典等形式进行描述。最终建立的数据库包括用户信息、商品信息、购物车信息、订单信息、促销活动、评估、库存信息、资金流、积分活动等。并使用SQL功能模块图中描述的功能操作完成语句、触发器和存储过程。

二、基本要求

在数据库系统概论课程的指导下,按照数据库设计的六个阶段进行分析和设计,在每个设计阶段,包括:

1、数据流图

2、数据字典

3、E-R模型

4.关系表结构

5.操作系统相关功能(SQL语句、触发器和存储过程)

三、主要参考资料

  1. 王海. 分析和设计在线购物系统[J]. 2016年12(33)计算机知识与技术:88-90.
  2. 程彩红. “互联网 下网购平台优化方案[J]. 2019年(20)合作经济与科技:76-78.
  3. 单芬霞. 信用监督研究网上购物平台声誉机制的有效性[D].2020年浙江财经大学.
  4. 王伟丽. 零售业销售数据库开发中的两种E-R模型对比分析[J]. 2018年信息与计算机(理论版):91-92.
  5. 胡小春、胡凯、陈燕. 基于Java研发网上购物系统[J]. 2021年(01)信息技术与信息化:18-21.
  6. 刘晶,张立荣. 计算机软件数据库设计原则及问题研究[J]. 2021年18(09)无线互联技术:65-66.

目 录

一、主要内容

二、基本要求

三、主要参考资料

第1章 概述

1.1 开发背景

1.2 开发环境

第2章 网上购物管理系统数据库需求分析

2.1 系统可行性研究

2.2 系统需求描述

2.3 系统数据流图

2.4 系统数据字典

第3章 网络购物管理系统数据库概念结构设计

3.1 E-R模型

3.2 物理和属性的定义

第4章 数据库的逻辑结构和物理结构设计

4.1 初始关系模式

4.2 规范化处理

4.3 物理结构设计数据库

4.5 关系图

第5章 网络购物管理系统数据库相关功能操作

5.1 常规操作数据库

5.2 实现系统相关功能

结 论

参考文献

第1章 概述

1.1 开发背景

学习数据库系统概论课程的主要目标是利用课程中学到的数据库知识和技术更好地设计数据库,为后续相关数据库应用系统提供数据支持,解决各行各业的信息处理要求。本课程的设计主要是巩固学生对数据库的基本原则和理论的理解,掌握数据库的设计方法,进一步提高学生对知识能力的综合应用。

为使数据库应用系统开发设计合理、标准化、有序、正确、高效,现广泛采用工程六阶段开发设计过程和方法,是需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施、数据库系统运行维护阶段。我们根据以上几点开发了在线购物管理系统数据库。

网上购物管理系统的数据库设计要求学生更好地掌握数据库知识和技术,同时也要掌握软件工程的相关知识。

1.2 开发环境

数据库是数据管理的最新技术,也是计算机科学的一个重要分支。在过去的十年里,数据库管理系统已经从一个特殊的应用程序包发展成为一个通用的系统软件。由于数据库具有数据结构化、可控冗余、程序和数据独立性高、扩展方便、应用程序编制方便等优点,较大的信息系统基于数据库设计。

由于使用的数据表多,考虑到实际情况,选择本课题SQL Server作为数据库开发,SQL Server它是一种常用的关系数据库管理系统,可以存储和读取大量数据,管理许多并发用户,因此选择SQL Server数据库。

该系统基于以下环境开发:

操作系统 Windows11

数据库环境 Microsoft SQL Server 2019

第2章 网上购物管理系统数据库需求分析

本组的最终分析结果如下:

2.1 系统可行性研究

简单地说,网上购物中心就是在网上建立一个比实体购物环境更虚拟的购物空间,让人们通过更简单、更轻松、更快捷的方式实现购物过程。该项目建立了一个小型的电子购物网站,可以为不同的用户提供方便的在线购物环境。用户注册个人信息成为本网站会员后,可实现用户登录、浏览商品、查询各种商品、管理购物车商品信息、在线购买商品、修改个人信息、通过互联网支付商品资金等功能。[1]网上购物和购物平台是在互联网背景下诞生的交易平台。网购平台的兴起便利了消费者的购买行为,提高了网购对消费行为的渗透率。[2]通过对现有网上购物管理系统的分析和研究比较,小组讨论。

我们在社会层面开发的平台是原创产品,不会被恶意应用于违反法律道德的地方,所以社会层面没有问题。

在技术可行性方面,目前实体店购物部分工作盲目、随机、无效,不能保证工作质量,影响商品销售,从卖方的角度考虑可能带来实际和潜在的经济损失。如果系统开发成功,将有助于卖家更好地预测市场,更好地开发客户及时调整销售策略,在激烈的市场竞争中采取主动。因此,从长远利益来看,如果该项目能够成功开发,其效益将远高于系统投资。

在实体店的业务中,由于日常信息处理量大、耗时长、错误效率高,系统投入运行后,可以实现信息集中处理、信息交流辅助市场的业务监督和重大决策。实体店可以进一步发展到网络服务,为信息工作奠定良好的基础,因此不必担心运营的可行性。

该平台是自主开发设计的,不构成侵权,在法律上是可行的。

本产品还考虑了环境可行性。首先,本产品耗电量少,只需少量服务器即可运行。其次,我们会尽量建议商家在运营过程中使用环保包装,协助快递平台回收部分包装箱,鼓励环保,从而达到保护环境的目的。

更不用说费用的可行性了,本产品使用的平台和开发工具都是免费或开源的,不用担心费用。

文化可行性参考淘宝和京东两个电子商务平台。人们对使用电子商务平台的接受度很高,用户也很大。因此,新兴的电子商务平台不会有文化冲突。互联网时代平台经济迅速崛起,成为推动经济的新增长点以淘宝和京东为代表的各种电子商务平台已成为居民生活中不可或缺的一部分。然而,一些在线交易平台充斥着市场,无法满足消费者对高质量商品日益增长的需求。声誉机制作为治理市场问题的重要手段,被各大网购平台采用,但刷单炒信行为导致声誉机制失败,影响网购平台可持续健康发展。信用是市场经济的基础。建立以信用为基础的新监管机制,有利于缓解声誉机制失败。[3]为了防止这种情况对商家和用户都有积分系统,双方都可以查看积分来推断对方的信用状况。

通过以上的研究和分析,认为系统开发的好处是巨大的,因此开发本项目是可行和必要的。

2.2 系统需求描述

随着互联网技术的发展,电子商务市场如火如荼,网上购物已成为一种趋势。很多销售商不方便对市场的需求进行调查,对自己所卖的商品不能及时地了解相关信息;当购物者需要买自己所需的商品时,浪费很多的财力和时间。随着电子商务产业的快速发展,互联网已成为人们快速获取、发布和传递信息的重要渠道。网上购物系统的开发可以提供更多的便利。

经分析,我们认为网上购物管理系统的具体要求是:

该系统分为前台管理和后台管理。前台管理是供买卖双方浏览和查询的友好操作界面。包括:浏览商品、查询商品、订购商品、添加商品、修改商品等功能;后台管理提供给管理员,管理员权限高,可修改大部分信息,一般用于前台用户修改操作问题寻求帮助。
性能:高效、快速、规范的算法,使用户能够摆脱繁琐的手工操作,提高办公效率。
安全要求:加密用户密码(参考加密方法:md5)
其他连接系统:操作系统, SQL Server 数据库管理系统

我们构建的数据库围绕上述方面进行。在设计过程中,我们充分考虑了系统的应用特性,并进行了大量的测试,以证明它确实满足了设计要求。

(media/440cee0f59675413c6eaad33d3442ec9.png)]
图2.1 网络购物管理系统功能模块图

2.3 系统数据流图


图2.2 顶层数据流图

图2.3 0层数据流图

图2.4 一层数据流图-用户信息管理

(img-915ya0X5-1657792565416)(media/28c49ab059cbb2e9bcbc76d3975b58b1.png)]](https://img-blog.csdnimg.cn/588677bf66943b59c565933b64a8800.png)

图2.5 1层数据流图—商品管理

图2.6 1层数据流图—订单管理

2.4 系统数据字典

数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典是数据流图上所有的成分的定义和解释的文字的集合,它最重要的用途是供人查询对不了解的条目的解释。

数据字典主要的组成有:数据项、数据流、数据结构、数据存储、处理过程。根据对本系统的数据流图的分析,本系统的数据字典的主要内容如下:

关键部分数据项(仅对关键数据项进行描述)。关键部分数据项如表2-1所示。

表2-1 系统数据字典简表

数据项 描述
用户编号 用户的唯一编号
用户类型 表面用户身份
昵称 用户对外显示名
姓名 用户真实姓名
密码 用户登录密码
电话 用户电话
地址 用户收货地址
收货电话 收货人的电话
商品编号 商品标识号
商品名称 商品名字
所属商店 标明商品所属商店
商品标价 商品标定价格
商品售价 商品售出价格
商品图片 描述商品的图片
商品描述 商品文字说明
商品类型 商品分类
店名 商店名称
商店描述 商店文字描述
商店图片 描述商店的图片
商品数量 购物车中单个商品数
订单编号 订单标识号
订单日期 订单生成日期
抵价项 折扣说明
抵价数 折扣钱数
总价 订单最后价格
评价等级 商品评价等级
评价内容 商品评价内容
评价图片 买家实拍商品图片
评价时间 评价时间
资金流水 账户卖出买入流水
操作时间 进行卖出买入操作的时间
流水描述 具体购买或售出说明
积分 获得积分记录
积分描述 通过何种操作得到积分说明
管理员编号 标识管理员身份
管理员密码 管理员登录密码
管理员权限 管理员权限等级

用户信息的数据结构:

数据结构:用户

数据项说明:用户各项信息

数据项组成:用户编号+用户类型+昵称+姓名+密码+电话+地址+收货电话+积分信息+流水数据+商品评论+购物车

商店信息的数据结构:

数据结构:用户

数据项说明:商店信息

数据项组成:商店编号+所属用户+店名+商店描述+商店图片+流水数据

商品信息的数据结构:

数据结构:商品

数据项说明:商品信息

数据项组成:商品编号+商品名称+所属商店+商品库存+商品标价+商品售价+商品图片+商品描述+商品类型+商品评价

订单的数据结构:

数据结构: 订单

数据项说明:订单各项信息

数据项组成:订单编号+用户编号+商品编号+商品数量+订单日期+抵价项+抵价数+总价+订单状态

管理员信息的数据结构:

数据结构:管理员

数据项说明:管理员信息

数据项组成:管理员编号+管理员密码+管理员权限

数据流是数据结构在系统内的传输路径。本系统的数据流主要有:

用户登录数据流:

数据流名称:用户登录

说明:用户登录输入信息

数据流来源:用户输入

数据流去向:用户信息表

组成:用户

用户注册数据流:

数据流名称:用户注册

说明:用户注册信息

数据流来源:用户输入与系统生成

数据流去向:用户信息表

组成:用户

用户信息更新数据流:

数据流名称:用户信息更新

说明:用户更新信息

数据流来源:用户输入

数据流去向:用户信息表或商家信息表

组成:用户

订单提交数据流:

数据流名称:订单提交

说明:用户提交信息生成订单

数据流来源:生成的订单

数据流去向:订单信息表

组成:订单

购物车变动数据流:

数据流名称:购物车数据变动

说明:用户增加或减少购物车商品

数据流来源:用户操作

数据流去向:购物车信息表

组成:购物车

申请成为商家数据流:

数据流名称:申请成为商家

说明:普通用户申请成为卖家

数据流来源:用户申请

数据流去向:用户信息管理

组成:用户

商品信息更新数据流:

数据流名称:商品信息变动

说明:增删或修改所属商品信息

数据流来源:商家用户

数据流去向:商品信息表

组成:商品

评价信息数据流:

数据流名称:评价信息

说明:用户评价信息

数据流来源:订单完结后用户评价

数据流去向:评价信息表

组成:评价

第3章 网络购物管理系统数据库概念结构设计

E-R模型(EntityRelationshipDiagram),即实体-联系模型,也称E-R图,是数据库开发过程中继需求分析之后的首要步骤。E-R模型的合理性直接影响数据库结构的合理性,进而影响整个系统的性能。因此如何科学合理的定义实体和属性,确定实体和实体之间的联系,舍去或保留哪些联系都是非常关键的。[4]

本小组通过讨论与实践最后形成的E-R模型图如下:

3.1 E-R模型

图3.1 网络购物管理系统E-R模型图

3.2 实体及属性的定义

图3.2 用户实体及属性图

用户作为实体包含有姓名、电话、用户编号、昵称几个属性。用户编号用于区别不同的商品,是用户的唯一标识码,由系统自动生成;姓名与电话用于实名认证用户,平时对外加密显示只显示姓、电话前几与后几位,保护用户信息;昵称作为不想透露自己姓名的用户的保护。

图3.3 用户地址实体及属性图

用户地址作为实体包含用户编号、地址、收货电话三个属性,是用户的收货地。用户编号将地址与用户绑定;收货电话若不填默认为用户注册电话;地址则是用户收货地址。

图3.4 商家实体及属性图

商家即商店作为实体包含有商店编号、电话、用户编号、店名、图片和描述。商店编号用于区别不同的商品,是商店的唯一标识码,由系统自动生成;本系统用户买家卖家账号是通用的,只需在登录的时候选择登录身份即可,此处的电话用于买家联系商家,也是用户的注册电话;用户编号和注册时候一样;店名是商店名称;图片和描述用于描述商家自身。

图3.5 商品实体及属性图

商品作为实体包含有商品编号、图片、类型、价格、名称、描述几个属性。商品编号用于区别不同的商品,是商品的唯一标识码,由系统自动生成;图片、类型、价格、名称、描述几个属性用于描述商品的具体形象,只有添加此商品的商家可以查看与修改,几个属性也便于用户区分。

图3.6 购物车实体及属性图

购物车作为实体包含有数量、商品编号、用户编号。商品编号和数量存储买家购买哪种商品几件的数据;用户编号与用户中的数据对应,标识此购物车属于哪个用户。

图3.7 订单实体及属性图

订单作为实体包含有订单编号、商品编号、用户编号、订单状态、订单日期、总价、抵价项和抵价数几个属性。订单编号用于区别不同的订单,是订单的唯一标识码,由系统自动生成;用户编号标识此订单属于哪个用户;商品编号标识此商品来源,用于显示与查询商品;订单状态显示订单此时是否发货,到货之后用户是否确认收货等信息;订单日期记录订单时间;抵价项和抵价数记录折扣和积分使用情况;总价显示最终付款价格。

图3.8 评价实体及属性图

评价作为与用户和商品均有关联的实体,具有用户编号、商品编号、评价等级、评价内容、评价图片、评价时间几个属性。用户编号与商品编号标识其为哪个用户给哪个商品的评论;评价内容、评价等级、评价图片几个属性均为描述用户对商品评价的信息;评价时间则显示用户是何时评价的,可以让其他用户参考使用情况。

图3.9 资金流水实体及属性图

资金流水是记录买家用户、买家用户流水情况的实体,包含用户编号、用户类型、资金流水、操作时间、流水描述几个属性。用户编号和用户类型标识是哪种用户;资金流水、操作时间、流水描述具体记录是何时何种操作产生了流水记录。

图3.10 积分实体及属性图

积分实体包含用户编号、积分、积分描述几个属性。用户编号用来区分用户;积分是积分数据记录;积分描述记录因何事获得积分。

图3.11 管理员实体及属性图

管理员作为实体负责多项事务,其包含的属性有管理员编号、密码、权限,主要作为系统维护者负责修正错误信息,协调用户商家关系等,管理员编号唯一标识管理员身份;权限区别其在数据库中的权限大小;密码用作登录。

第4章 网络购物管理系统数据库逻辑结构及物理结构设计

下面部分介绍了该系统的架构与功能模块,简要阐述了其数据库设计的逻辑结构,并展示出了产品选购、信息管理、购物车管理、订单管理和评价管理等功能的实现过程。[5]通过概念结构设计阶段小组研究讨论所形成的阶段成果如下:

4.1 初始关系模式

将E-R图转换成关系数据模式,其中,每个实体转换成一个关系模式,多对多联系转换成独立的关系模式,一对多联系并入多端实体,得到以下初始关系模式:

买家用户(用户编号,昵称,姓名,电话)

用户地址(用户编号,地址,收货电话)

商家(商店编号,电话,用户编号,店名,描述,图片)

商品(商品编号,商品名称,所属商店,商品图片,商品类型,商品标价,商品售价,描述)

评价(商品编号,用户编号,评价图片,评价时间,评价等级,评价内容)

购物车(商品编号,数量,用户编号)

订单(订单编号,商品编号,用户编号,订单状态,订单日期,抵价项,抵价数,总价)

资金流水(用户编号,资金流水,操作时间,流水描述)

积分活动(用户编号,积分,积分描述)

管理员(管理员编号,密码,权限)

4.2 规范化处理

经过对初始关系模式的规范化处理,一下关系模式中不存在部分函数依赖和传递函数依赖,已经达到3NF。( 代表主码, 代表外码)

买家用户(用户编号,昵称,姓名,电话)

用户地址(用户编号,地址,收货电话)

卖家用户(商家)(商店编号,电话,用户编号,店名,描述,图片)

商品(商品编号,商品名称,所属商店,商品图片,商品类型,商品标价,商品售价,描述)

评价(商品编号,用户编号,评价图片,评价时间,评价等级,评价内容)

购物车(商品编号,数量,用户编号)

订单(订单编号,商品编号,用户编号,订单状态,订单日期,抵价项,抵价数,总价)

资金流水(用户编号,资金流水,操作时间,流水描述)

积分活动(用户编号,积分,积分描述)

管理员(管理员编号,密码,权限)

4.3 数据库物理结构设计

为了加快数据查询处理速度,为各个关系模式创建如下索引:

用户:建立用户编号,用户类型,昵称三个索引,让用户客户端显示相关信息更快。

资金流水:建立操作时间和用户类型索引,方便查询每日商家或者用户流水情况,能快速返回用户查询结果。

订单:订单查询主要由用户操作,查看自己订单签收情况和花费,所以建立日期和价格索引能加快用户查询加载速度。

商品与评论:商品信息和其他用户的评论是用户购买时查看的主要内容,所以在这两个表中建立索引能在用户查看时快速加载。

购物车:建立索引加快查询速度,使用户能快速查看或修改自己购物车中的内容商品。

4.4 数据库中各类对象定义

表4-1 用户信息表

数据名/列名 数据类型 约束条件 是否可空 默认值 注释
用户编号 int 主码 1 自增
用户类型 char(4)
昵称 char(20) 唯一
姓名 text
密码 nvarchar(50)
电话 text

表4-2 用户地址信息表

数据名/列名 数据类型 约束条件 是否可空 默认值 注释
用户编号 int 外码
地址 text
收货电话 int 电话

表4-3 商店信息表

数据名/列名 数据类型 约束条件 是否可空 默认值 注释
商店编号 int 主码 1 自增
所属用户 int 外码
店名 char(20) 唯一
商店描述 text
商店图片 image

表4-4 商品信息表

数据名/列名 数据类型 约束条件 是否可空 默认值 注释
商品编号 int 主码 1 自增
商品名称 text
所属商店 int 外码
商品库存 int
商品标价 money
商品售价 money
商品图片 image
商品描述 text
商品类型 char(20)

表4-5 购物车信息表

数据名/列名 数据类型 约束条件 是否可空 默认值 注释
用户编号 int 外码
商品编号 int
商品数量 int

表4-6 订单信息表

数据名/列名 数据类型 约束条件 是否可空 默认值 注释
订单编号 int 主码 1 自增
用户编号 int 外码
商品编号 int
订单日期 datatime 下单时间
抵价项 text
抵价数 money
总价 money
订单状态 text

表4-7 评价信息表

数据名/列名 数据类型 约束条件 是否可空 默认值 注释
商品编号 int 外码
用户编号 int 外码
评价等级 int
评价内容 text
评价图片 image
评价时间 datatime 上传时间

表4-8 资金流水信息表

数据名/列名 数据类型 约束条件 是否可空 默认值 注释
用户编号 int 外码
资金流水 money
操作时间 datetime 资金出入帐时间
流水描述 text

表4-9 积分活动信息表

数据名/列名 数据类型 约束条件 是否可空 默认值 注释
用户编号 int 外码
积分 float
积分描述 text

表4-10 管理员信息表

数据名/列名 数据类型 约束条件 是否可空 默认值 注释
管理员编号 varchar(10) 主码
密码 nvarchar(50)
权限 int

4.5 关系图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QCddYkZn-1657792565429)(media/148e85849e1c39278ddbf76bb64501fb.emf)]

图4.1 关系图

第5章 网络购物管理系统数据库相关功能操作

数据库是软件的底层基础和主要支撑,数据库设计质量的好坏不仅会影响数据库自身的使用质量,同时也会对软件系统的稳定与运行性能造成一定的影响,限制软件功能的发挥。[6]通过前期设计阶段小组讨论成果,小组内进行分工动手操作实验所形成的阶段成果如下:

5.1 数据库常规操作

新增注册用户信息:

insert into 用户(用户编号,用户类型,昵称,姓名,密码,电话)values (‘编号’,‘类型’, ‘昵称’,‘真实姓名’ , right(sys.fn_VarBinToHexStr(hashbytes(‘MD5’,CONVERT(varchar(64), ‘密码’))),32),‘电话’)

用户注销删除信息:

delete from 用户 where 用户编号 = ‘编号’

修改商品信息:

update 商品 set 修改项=要修改的值 where 商品编号=‘要修改的商品’

查询此商家有什么商品:

select * from 商品 where 所属商店=‘要查询的商店编号’

用户查看个人信息:

/*建立视图,方便用户查看信息*/

go

create view 用户个人信息视图 as

select 昵称,用户类型,电话 from 用户

where 用户编号=‘要查询的人’

go

/*建立视图,方便买家查看商品*/

create view 商品视图 as

select 商品名称,商品库存,商品标价,商品售价,商品图片,商品描述 from 商品

where 商品编号=‘要查询的商品’

go

一些较为简单的数据库操作如上所示。

5.2 系统相关功能实现

系统管理员创建与数据库角色关联规定权限:

/*管理员初始化*/

insert into 管理员(管理员编号,密码,权限)values (‘ljk123321’,‘1234567890’,0)

insert into 管理员(管理员编号,密码,权限)values (‘wlkqwe123’,‘1234567891’,1)

insert into 管理员(管理员编号,密码,权限)values (‘w1234567890’,‘1234567892’,1)

go

create login ljk123321 with password = ‘1234567890’

use webshop create user ljk123321

exec sp_addrolemember ‘db_owner’, ‘ljk123321’

create login wlkqwe123 with password = ‘1234567891’

use webshop create user wlkqwe123

exec sp_addrolemember ‘db_securityadmin’, ‘ljk123321’

create login w1234567890 with password = ‘1234567892’

use webshop create user w1234567890

exec sp_addrolemember ‘db_securityadmin’, ‘ljk123321’

go

/*批量将管理员密码转换为MD5加密*/

update 管理员

set 密码=right(sys.fn_VarBinToHexStr(hashbytes(‘MD5’,CONVERT(varchar(64), 密码))),32)

where 密码 is not null

go

/*索引建立,加快查找速度*/

create nonclustered index 用户索引 on 用户(用户编号,用户类型,昵称)

create nonclustered index 每日平台流水 on 资金流水(用户编号,操作时间,资金流水)

create nonclustered index 订单信息索引 on 订单(订单日期,商品编号,总价)

create nonclustered index 商品信息索引 on 商品(商品编号,商品类型)

create nonclustered index 购物车信息索引 on 购物车(用户编号)

系统相关数据库操作如上所示。

5.2.1 用户管理模块功能实现

/*用户信息*/

create table 用户(

用户编号 int identity (1,1) not null primary key,

用户类型 char(4) not null,

昵称 varchar(20) unique not null,

姓名 text not null,

密码 nvarchar(50) not null,

电话 char(11) not null,

)

/*用户修改密码转为MD5加密*/

go

create trigger update用户密码_to_MD5

on 用户

for update

as begin

update 用户 set 密码 = right(sys.fn_VarBinToHexStr(hashbytes(‘MD5’,CONVERT(varchar(64), 密码))),32) where 用户编号 = (select 用户编号 from inserted)

end

go

/*新注册用户密码转为MD5加密*/

create trigger insert用户密码_to_MD5

on 用户

for insert

as begin

update 用户 set 密码 = right(sys.fn_VarBinToHexStr(hashbytes(‘MD5’,CONVERT(varchar(64), 密码))),32) where 用户编号 = (select 用户编号 from inserted)

end

go

/*限制用户类型*/

alter table 用户

add constraint ck_用户 check(用户类型=‘买家’ or 用户类型=‘卖家’)

go

/*限制用户电话长度*/

alter table 用户

add constraint ck_电话 check(len(电话) = 11)

go

/*用户地址 */

create table 用户地址(

用户编号 int not nul,

地址 text not null,

收货电话 char(11) null,

foreign key(用户编号) references 用户(用户编号) on update cascade,

)

go

/*若收货电话为空,默认为注册电话*/

create trigger insert收货电话_to_注册电话

on 用户地址

for insert

as begin

update 用户地址 set 收货电话 = (select 电话 from 用户 where 用户编号 = (select 用户编号 from inserted))

end

go

/*限制用户收货电话长度*/

alter table 用户地址

add constraint ck_收货电话 check(len(收货电话) = 11)

go

/*购物车信息*/

create table 购物车(

用户编号 int not null,

商品编号 int not null,

商品数量 int null,

foreign key(用户编号) references 用户(用户编号) on update cascade,

foreign key(商品编号) references 商品(商品编号) on update no action,

)

/*资金流水*/

create table 资金流水(

用户编号 int not null,

资金流水 money not null,

操作时间 datetime not null,

流水描述 text not null,

primary key(用户编号,用户类型),

foreign key(用户编号) references 用户(用户编号) on update cascade,

)

go

create trigger 资金流水_时间修正

on 资金流水

for insert

as begin

update 资金流水 set 操作时间 = (select GETDATE()) where 用户编号 = (select 用户编号 from inserted)

end

go

/*积分活动*/

create table 积分(

用户编号 int not null,

积分 float not null,

积分描述 text not null,

foreign key(用户编号) references 用户(用户编号) on update cascade

)

5.2.2 商店商品管理模块功能实现

/*商店信息*/

create table 商店(

商店编号 int identity (1,1) not null primary key,

所属用户 int not null,

店名 char(20) unique not null,

商店描述 text not null,

商店图片 image null,

foreign key(所属用户) references 用户(用户编号) on update cascade,

)

/*商品信息*/

create table 商品(

商品编号 int identity (1,1) not null primary key,

商品名称 text not null,

所属商店 int not null,

商品库存 int null,

商品标价 money not null,

商品售价 money not null,

商品图片 image null,

商品描述 text not null,

商品类型 char(20) not null,

foreign key(所属商店) references 商店(商店编号) on update cascade,

)

/*评价情况*/

create table 评价(

商品编号 int not null,

用户编号 int not null,

评价等级 int not null,

评价内容 text not null,

评价图片 image null,

评价时间 datetime not null,

foreign key(商品编号) references 商品(商品编号) on update no action,

foreign key(用户编号) references 用户(用户编号) on update cascade,

)

go

create trigger 评价_时间修正

on 评价

for insert

as begin

update 评价 set 评价时间 = (select GETDATE()) where 用户编号 = (select 用户编号 from inserted)

end

go

/*订单信息*/

create table 订单(

订单编号 int identity (1,1) not null primary key,

用户编号 int not null,

商品编号 int not null,

商品数量 int not null,

订单日期 datetime not null,

抵价项 text null,

抵价数 money null,

总价 money not null,

订单状态 text not null,

foreign key(用户编号) references 用户(用户编号) on update cascade,

foreign key(商品编号) references 商品(商品编号) on update no action,

)

go

create trigger 订单_时间修正

on 订单

for insert

as begin

update 订单 set 订单日期 = (select GETDATE()) where 用户编号 = (select 用户编号 from inserted)

end

go

5.2.3 系统界面示意图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ipbcdR6g-1657792565431)(media/13047086332014a402d386aa0a8c65f2.png)]

图5.1 登录界面图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t31BLUhx-1657792565431)(media/c236a576da9010223162616bc3ca8844.png)]

图5.2 买家界面图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tnCYkAUi-1657792565432)(media/7c91cdf8d648f4d140f7ef796f03acf9.png)]

图5.3 商品页面图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mwPjctwN-1657792565433)(media/4cbbe62816fd4b04c8f4cf3699e17bba.png)]

图5.4 商店页面图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oWPJzDoA-1657792565434)(media/d3413ccee9a479bb4a7dce198c535d44.png)]

图5.5 购物车页面图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FJ1XNlet-1657792565435)(media/516c29d98c34f2d01a7ae1d2d40c5ff8.png)]

图5.6 订单页面图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-teShFmlq-1657792565436)(media/236a2ea820d79ac6b3590e35bb34def0.png)]

图5.7 资金流水页面图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aYTYoidE-1657792565438)(media/7c706a31f185d2c7ebfd6d1240e17ce4.png)]

图5.8 编辑地址页面图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YuWFb75O-1657792565439)(media/df176346d7a72059d28058482dd5a7a0.png)]

图5.9 注册页面图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W5U73jzF-1657792565439)(media/31cf3c35295af9cbcc0f2eb69fe624fd.png)]

图5.10 资金流水页面图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7asPXNEn-1657792565440)(media/cfc4d8538ccbc0b08f229abb1be437f8.png)]

图5.11 卖家界面图
not null,

抵价项 text null,

抵价数 money null,

总价 money not null,

订单状态 text not null,

foreign key(用户编号) references 用户(用户编号) on update cascade,

foreign key(商品编号) references 商品(商品编号) on update no action,

)

go

create trigger 订单_时间修正

on 订单

for insert

as begin

update 订单 set 订单日期 = (select GETDATE()) where 用户编号 = (select 用户编号 from inserted)

end

go

5.2.3 系统界面示意图

[外链图片转存中…(img-ipbcdR6g-1657792565431)]

图5.1 登录界面图

[外链图片转存中…(img-t31BLUhx-1657792565431)]

图5.2 买家界面图

[外链图片转存中…(img-tnCYkAUi-1657792565432)]

图5.3 商品页面图

[外链图片转存中…(img-mwPjctwN-1657792565433)]

图5.4 商店页面图

[外链图片转存中…(img-oWPJzDoA-1657792565434)]

图5.5 购物车页面图

[外链图片转存中…(img-FJ1XNlet-1657792565435)]

图5.6 订单页面图

[外链图片转存中…(img-teShFmlq-1657792565436)]

图5.7 资金流水页面图

[外链图片转存中…(img-aYTYoidE-1657792565438)]

图5.8 编辑地址页面图

[外链图片转存中…(img-YuWFb75O-1657792565439)]

图5.9 注册页面图

[外链图片转存中…(img-W5U73jzF-1657792565439)]

图5.10 资金流水页面图

[外链图片转存中…(img-7asPXNEn-1657792565440)]

图5.11 卖家界面图

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章