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

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

项目背景

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

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

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

现状分析

市场现状

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

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

(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/1pcoTPTCdMOv7RJ1lfo8XdA 
# 提取码:o7qo

CREATE TABLE USER(
user_id INT NOT NULL AUTO_INCREMENT,
uname VARCHAR(100) NOT NULL,
pwd VARCHAR(200) NOT NULL,
tel VARCHAR(100) NOT NULL,
sex VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL,
address VARCHAR(200) NOT NULL,
avatar VARCHAR(100) ,
PRIMARY KEY (user_id),
INDEX index_name (user_id)
);


INSERT INTO `USER` (
  `user_id`,
  `uname`,
  `pwd`,
  `tel`,
  `sex`,
  `email`,
  `address`,
  `avatar`
) 
VALUES
  (
    1,
    'aaa',
    '456987',
    '13109786543',
    '男',
    '10784268@qq.com',
    '北京市',
    './touxiang/aa.jpg'
  ) ;
  • 4
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
设计一个MySQL数据库项目时,有几个关键的步骤需要遵循: 1. 确定需求:首先,明确项目的需求和目标。了解系统要解决的问题是什么,以及数据库如何帮助实现这些目标。 2. 数据建模:根据需求,设计数据库的逻辑结构。使用实体关系图 (ERD) 或类似的工具来表示实体、属性和关系。确定主键、外键和索引,以及实体之间的关联。 3. 规范化:规范化是一种处理数据库表结构的方法,目的是消除数据冗余并提高数据的一致性和完整性。了解规范化的不同级别,并将其应用于数据库设计中。 4. 数据表设计:根据规范化原则,创建数据库中的表。为每个表定义正确的列和数据类型,并设置合适的约束(如唯一约束、非空约束等)。 5. 索引设计:根据查询需求,确定哪些列需要索引以提高查询性能。根据表的大小和查询频率选择适当的索引类型。 6. 安全性考虑:考虑数据库的安全性需求。确定访问控制和权限设置,限制用户对数据库的访问和操作。 7. 性能优化:设计时应考虑数据库的性能。优化查询语句、索引和表结构,以提高查询和数据写入的效率。 8. 数据备份和恢复:制定数据库备份和恢复策略,确保数据的安全性。定期备份数据库,并测试恢复过程。 9. 测试和调试:在设计完成后,进行系统测试和调试。验证数据库的功能和性能,并纠正可能存在的问题。 10. 文档和维护:编写详细的数据库文档,包括表结构、索引、安全设置等信息。确保数据库的定期维护和监控,以保证系统的稳定性和可靠性。 以上是设计MySQL数据库项目的一般步骤。根据具体项目需求,可能还需要考虑其他因素。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胖哥真不错

您的鼓励,将是我最大的坚持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值