基于MYSQL的互联网药品交易系统数据库设计项目实战

news2024/11/19 6:14:53

说明:这是一个数据库课程设计实战项目(附带代码+文档+视频讲解),如需代码+文档+视频讲解可以直接到文章最后获取。

项目背景

疫情期间实体经济收到打击,实体药店经营困难,医院也面临着疫情患者的压力运转着,这种情况下更需要网上药店的存在,居民可以通过这种途径减少外出,降低自己被感染的风险,虽然目前我国抗疫形势一片大好,但网上药店这种方式的基础医疗,可以适应各种国内情况,尤其是像这种社会性疾病发生的时候,可以极大的降低人员流动,分摊相关机构的压力,满足居民的日常需求。

即便国内疫情形势并不严峻,网上药店也有其存在的必要性,依托于快递行业的蓬勃发展,这势必在未来会成为实体药店的良性竞争对手,网上药店有着经营成本低、管理容易等优点,依托快递行业,网上药店可以弥补实体药店覆盖范围有限的缺点,保障地区的医疗建设。

本项目着力于解决居民购买日常药物的需求,提高地区基础医疗建设而开展。

现状分析

市场现状

这几年随着大数据和互联网医疗的快速发展,其发展前景较大。在新冠肺炎疫情的影响下,线上医药用品被大量抢购。医药电商迎来发展机遇。

疫情对线上药店的影响如下:

(1) 提高全民认知度。医药电商一直发展迟缓,受限于国家政策、线上线下联动和医药产业链长等诸多痛点,而经过此次疫情,大量宅家的消费者开始关注医药电商。

(2) 求医咨询。线上购药虽不能让病人面对面现场咨询,但是在疫情现状不明朗的情况下,医药电商拓宽线上求医咨询的业务,提高了病人对线上购药的体验。

(3) 政策的调整。医药行业是一个国家高度监管的行业,此次疫情可能让国家在医药电商的相关政策方面给予一定支持。目前医药电商政策趋势逐渐明朗。

(4) “医+药”的磨合。医药电商服务平台能够提供种类多样、实用性强、覆盖范围广的医药产品服务是其发展的核心动力。以药品销售为基础,增加健康咨询、就医指导服务等等特色业务,还能进行线下线上相融合,多方合作。

现有平台现状

系统设计

本系统的总目标是为需要买药的消费者提供安全可靠、快速便捷的网上购药平台。在阅读互联网药品交易服务现状的相关文献后,了解到我国在互联网药品交易服务过程中存在买家没见到实物,难免不放心、运输途中需要时间,不能应急等问题。因此,本系统围绕着总目标、针对现存问题、结合经营者和消费者的具体需求,经过概念结构设计、逻辑结构设计、物理结构设计等过程,即数据库系统设计,E-R 图设计,数据表的设计,最终完成了互联网药品交易系统的设计。

功能需求分析

买方需求分析  

卖方需求分析

 

系统功能模块图

设计的系统功能模块图

互联网药品交易系统(设计图) 

实现的系统功能模块图

互联网药品交易系统(简化版 实现功能版) 

实体集

用户表用户编号、用户名、用户密码、用户头像路径、用户真实姓名、用户地址、邮编、联系电话、电子邮箱 、身份证。

医师表医师编号、医师姓名、医师用户密码、医师资格证信息、身份证。

客服表客服编号、所属门店的编号、真实姓名、昵称、密码、客服头像路径、联系电话、身份证。

优惠券优惠券编号、优惠券使用规则描述、开始日期、结束日期、优惠券使用情况。

商品采购表采购编号、采购的门店编号、采购数量、商品编号、商品种类、采购日期。

广告信息表广告编号、投放时间、每个广告对应的图片路径、产品信息描述。

店面信息表门店编号、门店名称、门店地址、门店邮编、门店热线、门店照片路径、门店营业执照信息描述、店长。

物流信息表物流订单号、商品编号、用户编号、商家编号、发货地址、收货地址、物流信息最近更新时间、最近更新时商品所在位置,是否送到,是否收货。

配送门店信息表门店编号、门店名称、门店地址、可配送范围

医师咨询服务表:医师咨询编号、咨询时间、用户编号、医师编号、咨询服务内容描述。

售后服务表售后服务编号、用户编号、客服编号、服务时间、售后服务内容描述。

商品详细表商品编号、商品名、商品描述、商品单价、销售数量、上架日期、库存量。

商品类型表商品类型编号、商品类型名。

订单详细表订单编号、用户编号、商品编号、商品数量、订单日期、订单状态 、优惠券编号。

商品评价表评价编号、用户编号、商品编号、评论时间、评论内容、评论星级。

购物车列表购物车编号、商品编号、商品的规格配套对应的编号、每套商品对应的价格、每套商品对应的图片路径。

收藏列表收藏编号、商品编号、用户编号。

商品的购物车商品规格表具体商品规格对应的编号,具体规格属性名,具体规格的属性值。

商品详细页的轮播图表轮播图编号、商品编号、轮播图片的路径

商品详细页的商品特征特征编号、商品编号、商品特征的图片路径,商品特征的描述。

商品详细页的商品参数参数编号、商品编号、商品的参数名、商品的参数值。

商品详细页的商品服务内容服务内容编号、商品编号、服务的标题、服务的内容。

商品详细页的Q&A问答的编号、商品编号、客户可能存在的问题、商品的回答。

备注:

(1)其中标红的为主码

(2)关于以上一些表

①商品详细页的轮播图表:因为一个商品有多张轮播图,所以这里的商品编号不能作为主键。即数据表中会出现多个同样的商品序号,对应不同的轮播图路径。

②商品详细页的商品特征:因为一个商品有多个特征,所以这里的商品序号不能作为主键。即数据表中会出现多个同样的商品序号,对应不同的特征描述。

③商品详细页的商品参数:因为一个商品有多个参数,所以这里的商品序号不能作为主键。即数据表中会出现多个同样的商品序号,对应不同的参数名和参数值。

④商品详细页的商品服务内容:因为一个商品有多个服务,所以这里的商品序号不能作为主键。 即数据表中会出现多个同样的商品序号,对应不同的服务。

⑤商品详细页的 Q&A:因为一个商品有多个问答,所以这里的商品序号不能作为主键。 即数据表中会出现多个同样的商品序号,对应不同的问答。

⑥售后服务表:一个用户可能接受了多个售后服务、一个客服也会为多位客户提供售后服务,用户编号、客服编号都不能作为主码。

联系集

用户表——订单详细表

用户表——商品评价表

用户表——购物车列表

用户表——收藏列表

用户表——售后服务表

用户表——医师咨询服务表

用户表——物流信息表

商品详细表——商品详细页的轮播图表

商品详细表——商品详细页的商品特征

商品详细表——商品详细页的商品参数

商品详细表——商品详细页的商品服务内容

商品详细表——商品详细页的 Q&A

商品详细表——商品类型表

商品详细表——订单详细表

商品详细表——商品评价表

商品详细表——购物车列表

商品详细表——收藏列表

商品详细表——物流信息表

购物车列表——商品的购物车商品规格表

门店信息表——配送门店信息表

门店信息表——广告信息表

门店信息表——物流信息表

数据库结构设计

概念设计:E-R图

部分E-R图

 

 

完整ER图

数据库表设计

购物车列表 (cart):

商品详细页的轮播图表 (goods_banner):

 

用户订单表(m_orders):

 

商品详细表(medicine_details):

 

USER表:

 

医师表 (doc_info):

 

客服表 (kf_info):

 

优惠券 (discount_table):

 

 药品采购表 (medicine_buying_details):

广告信息表 (ads_table):

 

门店信息表 (store_info):

 

物流信息表 (package_info):

 

配送门店信息表 (express_store_infor):

 

医师咨询服务表 (consulting_service_table):

 

售后服务表 (after-sale_service_table):

 

商品类型表(goods_class):

 

订单详细表 (orders_details):

 

收藏列表 (star_table):

 

商品的购物车商品规格表 (cart_detail):

 

商品详细页的商品特征(goods_feature):

 

商品详细页的商品参数(goods_para):

 

 

商品详细页的商品服务内容 (goods_serve):

 

商品详细页的 Q&A (goods_qa):

 

商品评价表 (goods_comment):

 

数据库程序设计与编码实现

数据库创建

数据表创建

创建用户表user:

 

插入演示数据:

 

 

查询数据:

 

药品详细表(medicine_details):

 

插入演示数据

 

查询数据:

 

创建购物车表(cart):

 

 

插入演示数据:

 

查询数据:

 

创建商品轮播图表(goods_banner):

 

 

插入演示数据:

 

查询数据:

 

创建订单表(m_oders):

 

 

插入演示数据:

 

查询数据:

 

索引创建

索引是创建在表上的,是对数据库中一列或者多列的值进行排序的一种结构。索引可以提高查询的速度。互联网药品交易系统需要查询交易的信息,这就需要在某些特定字段上建立索引,以便提高查询速度。

在user表上建立索引

药品系统中需要按照uname字段查询用户信息。

在medicine_details表上建立索引

在药品系统中需要通过药品名称和药品价格查询药品信息,因此需要在这两个字段上创建索引。

 

在m_oders表上建立索引

药品系统需要通过user_id字段、medicine_id字段和medicine_num字段查询药品订单信息,因此可以在这3个字段上创建索引。

视图创建

在药品系统中,如果直接查询m_oders表,显示信息会不全,显示不了药品名称等。为了以后查询方便,可以建立一个视图m_oders_view。这个视图显示药品名称、药品价格、药品销售数量、用户ID和订单日期。

 

 查询视图:

触发器创建

触发器由INSERT、UPDATE和DELETE等事件来触发某种特定的操作。满足触发器的触发条件时,数据库系统就会执行触发器中定义的程序语句。这样做可以保证某些操作之间的一致性。为了使药品系统的数据更新更加快速和合理,可以在数据库中设计几个触发器。

创建UPDATE触发器

在设计表时,user表和m_oders表的user_id字段的值是一样的。如果user表中的user_id字段的值更新了,那么m_oders表中的user_id字段的值也必须同时更新。这可以通过一个UPDATE触发器来实现。创建UPDATE触发器update_user_id的SQL代码如下: 

其中,NEW.user_id表示user表中更新的记录的user_id值。

创建DELETE触发器

如果从user表中删除一个用户的信息,那么这个用户在cart表中的信息也必须同时删除。这也可以通过触发器来实现。在user表上创建delete_user触发器,只要执行DELETE操作,就删除cart表中相应的记录。创建delete_user触发器的SQL语句如下:

其中,OLD.user_id表示新删除的记录的user_id值。 

 本次机器学习项目实战所需的资料,项目资源如下:

项目说明:
链接:https://pan.baidu.com/s/1c6mQ_1YaDINFEttQymp2UQ 
提取码:thgk

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/124965.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

window安装Docker Desktop for Windows(基于WSL2)

目录一 什么是Ducker二 安装Ducker1 window for Linux子系统环境搭建1.1 打开系统虚拟机平台和WSL(适用于Linux的window子系统)1.2安装WSL21.3为什么用wsl2,不用wsl11.4 下载集成支持linux内核的wsl21.5 设置WSL默认版本二、安装Ubuntu20.04LTS1 打开Microsoft Stor…

解析某音短视频X-Bogus

文章目录写在前面目标正向梳理主要加密函数主要算法解析逆向梳理结论测试进阶写在后面写在前面 首先推荐一篇资料: 某音短视频 X-Bogus 逆向分析,JSVMP 纯算法还原 这篇文章介绍了通过插桩日志抠算法的过程,很有参考价值。 文章已经实现的部…

什么是外汇跟单?外汇MT4自动跟单系统靠谱吗?

对于很多刚刚进入外汇市场的新手投资者而言,必须踏踏实实学习基础知识和交易技巧,才能在外汇市场获取盈利,因为在没有任何专业知识的情况下,想要在外汇市场盈利是一件非常艰难的事情。而一些脑洞大开的外汇新手投资者却在思考&…

第7章 分页之模型分页(物理分页)

模型分页主要通过前端页面中的分页控件,向后端指定路由(控制器行为方法),传递相等的参数,然后间接的通过后端程序从数据库指定表中获取一些指定行的数据,然后把这些数据在前端页面渲染显示出来。模型分页的主要用于前端页面与后端…

Java开发 - 数据库索引的数据结构

目录 前言 题外话 什么是索引 索引的使用场景 索引的失效瞬间 索引的数据结构 Tree BTree BTree 索引提高查询效率的原因 索引的分类 innodb的特点 聚簇索引 非聚簇索引 索引操作 创建索引 查询索引 删除索引 外键 结语 前言 上一章中讲解了慢sql优化的方…

快速诊断I/O性能问题

背景客户反馈最近一段时间数据库运行缓慢,磁盘的压力很大,现在有两种不同的分析结论,存储设备性能下降和数据库压力变大,请我们进行系统的分析,给一个结论 现象 登录SQL专家云,进入性能指标页面&#xff0c…

跨境电商小白:一件代发是什么?为什么要选择Starday一件代发?

近两年经济形势比较复杂多变,许多人面临就业难、职场改革、行业转型等困境,而跨境电商行业在此形势下依靠着国家优惠政策以及中国高质量产品在海外市场获得越来越多的份额。随着跨境电商行业发展规模的扩大,越来越多人选择加入到跨境电商赛道…

【实时数仓】省份交易额统计接口、新老访客对比接口、访客分时统计接口

文章目录一 省份交易额统计接口1 Sugar配置(1)图表配置(2)接口地址(3)数据格式(4)执行SQL2 数据接口实现(1)创建地区交易额统计实体类ProvinceStats&#xff…

Kafka基础_2

Kafka系列 注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等,Spark Flink Kafka Hbase …

18-RocketMQ源码解读

NameServer启动 1、功能回顾 NameServer的核心作用 一是维护Broker的服务地址并进行及时的更新。 二是给Producer和Consumer提供服务获取Broker列表。 2、启动流程-源码重点 整个NameServer的核心就是一个NamesrvController对象。这个controller对象就跟java Web开发中的Contr…

3D可视化大屏是如何实现的?

3D可视化是指拥有3D效果的数据可视化,对于所要展示的数据可视化内容还原出真实场景,并实时接入数据,在面对复杂操作时灵活应对,使得整个场景在大屏上的展示更具立体、更具科技感、更具易用性。 物联网时代,可视化大屏的…

【发表案例】传感器网络及电路类,仅1个月26天录用

【期刊简介】IF:1.0-2.0,JCR4区,中科院4区 【检索情况】SCI 在检,正刊 【征稿领域】自主传感器网络的高级接口电路及其应用 【参考周期】2个月左右录用 【截稿日期】2023.1.31 重要时间节点:仅1个月26天录用 2022/12…

神经网络中常用的权重初始化方法及为何不能全初始化为0

1.权重初始化的重要性 神经网络的训练过程中的参数学习时基于梯度下降算法进行优化的。梯度下降法需要在开始训练时给每个参数赋予一个初始值。这个初始值的选取十分重要。在神经网络的训练中如果将权重全部初始化为0,则第一遍前向传播过程中,所有隐藏层…

深度学习笔记:感知机

感知机(perceptron)为神经网络的起源算法。感知机接受多个输入信号,输出一个信号。感知机信号只有0和1。 在上图的感知机中,x1和x2两个输入信号会分别乘以其对应权重(weight) w1和w2,传入神经元。神经元计算传来信号综…

Disentangled Face Attribute Editing via Instance-Aware Latent Space Search翻译

论文地址 代码地址 摘要 最近的研究表明,生成对抗网络(GAN)的潜空间中存在一组丰富的语义方向,这使得各种面部属性编辑应用成为可能。然而,现有的方法可能会遇到属性变化不好的问题,从而导致在更改所需属…

JS中数组对象使用

文章目录一、创建数组对象二、数组翻转1.检测数组2.翻转数组:三、添加数组元素1.push方法2.unshift方法四、删除数组元素1.pop方法2.shift方法🤘案例1五、数组排序六、数组索引方法1.indexof(数组元素)2.lastIndexOf方法🤟案例2七、数组转化为…

数字验证学习笔记——SystemVerilog芯片验证16 ——约束控制块随机函数

一、约束块控制 一个类可以包含多个约束块。可以把不同约束块用于不同测试。一般情况下,各个约束块之间的约束内容是互相协调不违背的,因此通过随机函数产生随机数时可以找到合适的解 如果子类继承父类,也继承了父类的约束,这个时…

基于蒙特卡诺的电动汽车充电负荷曲线研究(充电开始时间,充电电量,充电功率)(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【C++】 STL-vector模拟实现

文章目录vector源码的内容:成员变量默认构造函数构造函数1-无参构造构造函数2 -使用n个相同的值构造构造函数3-使用迭代器区间构造拷贝构造函数**传统写法**现代写法赋值重载函数opeartor传统写法现代写法析构函数迭代器begin & end任意类型vector容器迭代器通用遍历方式:容…

paddleOCRv3之四: rec识别部分用 tensorRT(C++)部署

文章目录1. 简介:速度测试2. paddle 模型转onnx3. onnx转为tensorRT的engine模型4. tensorRT在vs2017中的配置5. 源码1. 简介: tensorRT是nvdia GPU模型部署的一个框架,似乎只是部分开源,github地址.大多数时候用这个框架去部署模…