28 | 手把手带你设计一个完整的连锁超市信息系统数据库(下)
朱晓峰
你好,我是朱晓峰。
上节课,我们完成了项目的需求分析和业务流程的梳理,为设计数据库做好了准备工作,接下来我们就可以开始具体的设计了。所以,今天,我就带你来建库建表、创建外键约束、视图、存储过程和触发器,最后制定容灾和备份的策略,从而完成一个完整的连锁超市项目数据库的设计,帮助你提高设计高效可靠的数据库的能力。
首先,我们一起来创建数据库和数据表。
如何创建数据库和数据表?
经过上节课的分库分表操作,我们把数据库按照业务模块,拆分成了多个数据库。其中,盘点模块中的数据表分别被拆分到了营运数据库(operation)和库存数据库(inventory)中。
下面我们就按照上节课的分库策略,分别创建营运数据库和库存数据库:
接下来,我们来分别创建下这两个数据库中的表。
商户表、门店表、员工表、商品常用信息表和商品不常用信息表从属于营运数据库,我们先把这 5 个表创建出来。
商户表(operation.enterprice):
门店表(operation.branch):
员工表(operation.employee):
商品常用信息表(operation.goods_o):
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文详细介绍了设计连锁超市信息系统数据库的关键步骤和技术要点。作者首先介绍了创建数据库和数据表、设置外键约束、创建索引以提高查询速度的方法。接着,详细讲解了为盘点单验收模块创建存储过程的步骤,以及为商品常用信息表和商品不常用信息表创建触发器的方法。此外,文章还介绍了如何制定容灾和备份策略,包括搭建主从服务器和制定数据备份策略。整篇文章以实际操作为主线,通过具体的代码示例和操作步骤,帮助读者深入理解数据库设计的关键步骤和技术要点。索引的重要性、容灾和备份策略的必要性都得到了强调。读者可以从中快速了解如何设计一个高效可靠的数据库,并提高设计数据库的能力。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《MySQL 必知必会》,新⼈⾸单¥59
《MySQL 必知必会》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(8)
- 最新
- 精选
- 朱晓峰置顶你好,我是朱晓峰,下面我就来公布一下这节课思考题的答案: 这节课,我们学习了设计信息系统数据库(下)。下面是思考题的答案: 尽量不要在设置主从服务器时使用root 账号,原因主要是出于安全考虑,设置主服务器的时候,用明码方式指定root的密码,显然不够安全,而且,从服务器的同步账号也不需要修改主服务器上的数据2021-05-2015
- 朱晓峰置顶你好,我是朱晓峰,下面我就来公布一下上节课思考题的答案: 上节课,我们学习了设计信息系统数据库(上)。下面是思考题的答案: 可以考虑垂直分表: 表1:包含编号(id)、流水单号(transno)、商品编号(itemnumber)、商品名称(goodsname)、数量(quantity)、金额(actualvalue)、组号(groupnumber)、门店编号(branchnumber) 表2:包含流水单号(transno)、微信支付(wechatvalue)、现金支付(cashvalue)、组号(groupnumber)、门店编号(branchnumber)2021-05-2031
- SharpBB这节感觉内容有些少 不够干货 因为 触发器 外键约束 视图 存储过程 之类的都不怎么用了 主要是没合我的胃口吧。。
作者回复: 在实际工作中,用的还是比较多的
2022-02-212 - 车鸿韡商品常用信息表(operation.goods_o):这个表,主键定义了两次。
作者回复: 十分感谢您的仔细阅读,是我疏忽了,已经通知后台修正
2021-12-20 - 云浮青山散作烟mysql> CREATE TABLE operation.goods_o -> ( -> itemnumber MEDIUMINT PRIMARY KEY, -- 商品编号 -> groupnumber SMALLINT NOT NULL, -- 组号 -> barcode VARCHAR(50) NOT NULL, -- 条码 -> goodsname TEXT NOT NULL, -- 名称 -> salesprice DECIMAL(10,2) NOT NULL, -- 售价 -> PRIMARY KEY (groupnumber,itemnumber)-- 主键 -> ); 老师,我按照您课程中这样写,收到错误提示Multiple primary key defined. itemnumber那一行的语句改成下边这样就可以,是哪里出问题了呢? -> itemnumber MIDDLEINT NOT NULL,
作者回复: 请参考思考题答案
2021-10-22 - 暮暮。现在大多数公司很少使用存储过程
作者回复: 存储过程有优点也有不足,企业一般都会按照自己的业务需求决定是否使用存储过程
2021-05-31 - Geek_88adc9商品常用信息表(operation.goods_o) 资料上这个表使用的是联合主键。 能不能替换成自增i’d主健 配合 唯一索引呢2023-11-23归属地:四川
- kevinsu牛逼,学到很多东西,还的是实战2023-07-04归属地:北京
收起评论