MySQL建表规约与编程规约详解
需积分: 10 75 浏览量
更新于2024-08-08
收藏 962KB PDF 举报
"MySQL规约-高等光学仿真_matlab"
这篇文档主要讲述了MySQL的数据库设计规约,涵盖了建表规约、索引规约、SQL规约、ORM规约等多个方面,旨在提高数据库设计的规范性和一致性,提升数据存储和查询的效率。以下是详细的知识点解析:
1. **建表规约**
- **字段命名**:强制要求表达是/否的字段以`is_`开头,数据类型为unsigned tinyint,表示1是,0否。所有字段名应使用小写字母或数字,禁止数字开头,禁止双下划线中间仅出现数字。
- **表名**:表名不应使用复数名词,且不应使用保留字。表名建议体现业务内容,避免使用复数形式,与DO类名保持一致。
- **索引命名**:唯一索引名前缀`uk_`,普通索引名前缀`idx_`。
- **数据类型选择**:小数类型使用decimal,避免使用float和double以防止精度问题。字符串类型若长度几乎相等,使用char类型。varchar类型长度不超过5000,超过时单独建表。
- **必备字段**:每个表应包含id(unsigned bigint,主键,自增,步长1)、gmt_create(datetime类型)、gmt_modified(datetime类型)。
- **表命名建议**:表名最好是业务名称+表的作用,如`tiger_task`。
- **库名与应用名**:推荐库名与应用名称一致。
- **字段注释**:字段含义或状态有变化时,应及时更新注释。
2. **索引规约**
- 虽未详细列出,但一般包括合理创建索引,避免全表扫描,以及针对高并发查询场景的优化。
3. **SQL规约**
- SQL编写应遵循标准SQL语法,避免SQL注入,优化查询效率,如使用JOIN代替子查询等。
4. **ORM规约**
- 对象关系映射的规范,可能包括字段映射、事务管理、对象持久化等方面,确保ORM操作与数据库规约相匹配。
此外,文档中还提到了其他编程规约,如命名规约、常量定义、格式规约、OOP规约、集合处理、并发处理、控制语句、注释规约等,这些规约涵盖了程序设计的多个层面,旨在提升代码质量、可读性和可维护性。例如,命名规约强调使用清晰的英文拼写,避免拼音和中文混用,类名使用UpperCamelCase风格,方法名和变量名使用lowerCamelCase风格,常量全大写并用下划线分隔。同时,异常处理和日志规约也非常重要,它们关系到错误捕获和系统监控。工程规约涉及应用分层、二方库管理和服务器配置,保障系统的架构合理和稳定运行。安全规约则关注代码的安全性,防止潜在的安全风险。
这份规约文档是MySQL数据库设计和编程的一份详尽指南,对开发人员编写高质量、高效率的代码具有指导意义。
2020-06-27 上传
2021-07-04 上传
678 浏览量
947 浏览量
799 浏览量
6853 浏览量
菊果子
- 粉丝: 51
- 资源: 3770
最新资源
- SSM Java项目:StudentInfo 数据管理与可视化分析
- pyedgar:Python库简化EDGAR数据交互与文档下载
- Node.js环境下wfdb文件解码与实时数据处理
- phpcms v2.2企业级网站管理系统发布
- 美团饿了么优惠券推广工具-uniapp源码
- 基于红外传感器的会议室实时占用率测量系统
- DenseNet-201预训练模型:图像分类的深度学习工具箱
- Java实现和弦移调工具:Transposer-java
- phpMyFAQ 2.5.1 Beta多国语言版:技术项目源码共享平台
- Python自动化源码实现便捷自动下单功能
- Android天气预报应用:查看多城市详细天气信息
- PHPTML类:简化HTML页面创建的PHP开源工具
- Biovec在蛋白质分析中的应用:预测、结构和可视化
- EfficientNet-b0深度学习工具箱模型在MATLAB中的应用
- 2024年河北省技能大赛数字化设计开发样题解析
- 笔记本USB加湿器:便携式设计解决方案