Mysql业务设计(物理设计)
物理设计
根据所选择的关系型数据库的特点对逻辑模型进行存储结构的设计
物理设计:
- 定义数据库、表及字段的命名规范
- 选择合适的存储引擎
- 为表中的字段选择合适的数据类型
- 建立数据库结构
定义数据库、表及字段的命名规范
数据库、表、字段的命名要遵守可读性原则
使用大小写来格式化的库对象名字以获得良好的可读性
列如:使用custAddress而不是custaddress来提高可读性
数据库、表、字段的命名要遵守表意性原则
对象的名字应该能够描述他所表示的对象
列如:对于表、表的名称应该能体现表中存储的数据内容,对于存储过程存储过程应该能够体现存储过程的功能。
数据库、表、字段的命名要遵守长名原则
尽可能少使用或者不使用缩写
选择合适的存储引擎
不要过多考虑其他的存储引擎除非特殊需求,一般就不需要事物就MyISAM,需要事物InnoDB
为表字段选择合适的数据类型
当一个列可以选择多种数据类型时
1:优先考虑数字
2:其次是日期时间(时间类型推荐使用datetime,最好不要使用timestamp,移植性不好)
3:最后是字符串
4:对于同级别的数据类型,应该优先选择占用空间小的数据类型
关于小数类型,如果涉及到钱,一句话 使用decimal,不要使用float和double,因为会丢失精度


作者:彼岸舞
时间:2020\07\08
内容关于:Mysql
本文来源于网络,只做技术分享,一概不负任何责任
Mysql业务设计(物理设计)的更多相关文章
- MySQL 数据库设计 笔记与总结(3)物理设计
[物理设计的工作] ① 选择合适的数据库管理系统:Oracle,SQLServe,MySQL,PgSQL ② 定义数据库.表及字段的命名规范 ③ 根据所选的 DBMS 系统选择合适的字段类型 ④ 反范 ...
- Web自动化框架之五一套完整demo的点点滴滴(excel功能案例参数化+业务功能分层设计+mysql数据存储封装+截图+日志+测试报告+对接缺陷管理系统+自动编译部署环境+自动验证false、error案例)
标题很大,想说的很多,不知道从那开始~~直接步入正题吧 个人也是由于公司的人员的现状和项目的特殊情况,今年年中后开始折腾web自动化这块:整这个原因很简单,就是想能让自己偷点懒.也让减轻一点同事的苦力 ...
- Mysql业务设计(逻辑设计)
逻辑设计 数据库设计三大范式 数据库设计第一大范式 数据库表中所有的字段都只具有单一属性 单一属性的列是由基本数据类型所构成 设计出来的表都是简单的二维表 数据库设计的第二大范式 要求表中只有一个业务 ...
- MySQL 性能管理及架构设计指南
一.什么影响了数据库查询速度 1.1 影响数据库查询速度的四个因素 1.2 风险分析 QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定 ...
- MySQL数据库优化、设计与高级应用
MySQL数据库优化主要涉及两个方面,一方面是对SQL语句优化,另一方面是对数据库服务器和数据库配置的优化. 数据库优化 SQL语句优化 为了更好的看到SQL语句执行效率的差异,建议创建几个结构复杂的 ...
- Mysql表的约束设计和关联关系设计
https://blog.csdn.net/u012750578/article/details/15026677 Mysql表的约束设计和关联关系设计 ======================表 ...
- 数据库设计理论与实践·<三>物理设计
一.物理设计核心任务与关键细节 二.物理设计经验之谈 1.数据类型的设计:建议字段数据类型定义时结合以下几点(以MYSQL为例) 1)不适用image,而使用varbinary等 2)不使用text和 ...
- MySQL性能管理及架构设计
第1章 实例和故事 1-1 什么决定了电商双11大促的成败 老板可能会说:"是我们的英明决策和运筹帷幄". 运营和产品可能会说:"是由于我们的活动策划和产品设计" ...
- MySQL 约束和数据库设计
1.MySQL 约束: 1.约束的概念: 约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性.唯一性. MySQL中,常用的几种约束: 约束类型: 非空 主键 唯一 外键 默认值 ...
随机推荐
- Python嫌多(线程/进程)太慢? 嫌Scrapy太麻烦?没事,异步高调走起!——瓜子二手车
基本概念了解: 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我 ...
- linux tcpdump抓包Post请求
tcpdump -s 0 -A 'tcp dst port 80 and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354)' -w f ...
- 2020-04-29:现在你有个秒杀抢购的app,用户不断大量增加,技术层面,你要怎么做
2020-04-29:现在你有个秒杀抢购的app,用户不断大量增加,技术层面,你要怎么做,才能既满足用户需求,又能扛住压力,还能帮公司合理支出?福哥答案2020-04-29: 限流(杀部分用户祭天). ...
- 栈及其简单应用(二)(python代码)
一.括号判定 前一篇文章我们介绍了栈的简单应用中,关于括号的判定,但那只是一种括号的判定,下面我们来介绍多种括号混合使用时,如何判断括号左右一一对应. 比如“{}{(}(][”这种情况,需要对一种括号 ...
- golang 设计模式
前言 不做文字的搬运工,多做灵感性记录 这是平时学习总结的地方,用做知识库 平时看到其他文章的相关知识,也会增加到这里 随着学习深入,会进行知识拆分和汇总,所以文章会随时更新 参考的文章过多.很杂很乱 ...
- JavaScript基础-02
1. 六种数据类型: string字符串:number数值:boolean布尔值:null空值:undefined 未定义:object对象 基本数据类型(值类型): string字符串:number ...
- Java中的策略模式,完成一个简单地购物车,两种付款策略实例教程
策略模式是一种行为模式.用于某一个具体的项目有多个可供选择的算法策略,客户端在其运行时根据不同需求决定使用某一具体算法策略. 策略模式也被称作政策模式.实现过程为,首先定义不同的算法策略,然后客户端把 ...
- JVM中对象模型及相应名词概念
JVM中对象模型及相应名词概念 java对象在jvm中的模型是OOP-Klass 模型: klass klass对应元数据,包括常量池.字段.方法等.是在加载class阶段创建instanceKlas ...
- 求正整数2和n之间的完全数
[题目描述] 求正整数22和nn之间的完全数(一行一个数). 完全数:因子之和等于它本身的自然数,如6=1+2+36=1+2+3 [输入] 输入n(n≤5000)n(n≤5000). [输出] 一行一 ...
- unity探索者之获取设备当前电量
很多入坑了的小伙伴应该都知道,很多时候做移动端项目都会有显示当前电池电量的需求 对于这个功能,在unity中要做的事并不多,核心方法就一个,自己做一个定时器或者直接使用协程间隔调用该方法就好了 pub ...