SQL反模式(七)
来源:互联网 发布:新浪足球数据库 编辑:程序博客网 时间:2024/06/05 17:16
欢迎参考 SQL反模式(前言)的数据库设计
此文章只是给自己做一个小抄,如有冒犯,还忘见谅
1. 非礼勿视
目标: 写更少的代码
识别反模式
解决方案
保持节奏
检查数据库 API 调用的返回状态和异常。回溯你的脚步
2. 外交豁免权
目标: 采用最佳实践
- 将源代码使用版本控制工具管理起来,比如: SVN或 Git
- 为程序编写自动化单元测试脚本或者功能测试脚本
- 编写文档,规格说明以及代码注释来记录程序的需求和实现机制
识别反模式
解决方案: 建立一个质量至上的文化
- 清晰地定义项目需求,并且写成文档
- 设计并实现一个解决方案来满足需求
- 验证并测试解决方案符合需求
1. 陈列A:编写文档
- 实体关系图
- 表,列以及视图
- 关系
- 触发器
- 储存过程
- SQL 安全
- 数据库基础设施
- ORM
2. 寻找证据:源代码版本控制
- 数据定义脚本: 所有数据库都提供 CREATE TABLE 或别的定义数据库对象来执行 SQL 脚本
- 触发器和储存过程: 很多项目以数据库函数的形式为程序代码提供支持。你的程序可能离开这些函数根本无法工作,因此它们也算你的项目代码的一部分
- 初始化数据 : 检查表可能包含一些数据用以在任何用户输入新数据之前初始化数据库。你应该将这些初始数据保存起来,以备需要从项目源码重新构造数据库时使用。初始化数据也叫做种子数据
- ER 图及文档 : 这些文件不是代码,但它们和代码,数据库需求,实现机制以及和程序的整合等联系密切。由于项目升级依赖于数据库和程序的同时升级,你需要将这些文件也保持同步更新。需要确保这些文件切实描述了当前版本的设计。
- DBA 脚本 : 大多数项目都有一系列的数据处理任务,这些任务都是在程序之处处理的,包括导入和导出数据,同步数据,生成报表,备份,验证数据,测试等。有些可能是用 SQL 脚本编写的。
3. 举例:测试
3. 魔豆
目标: 简化 MVC 模型
反模式: 模型仅仅是活动记录
- 活动记录模式连接程序模型和数据库结构
- 活动记录模式暴露了 CRUD 系列函数
- 活动记录模型支持弱域模型
- 魔豆难以进行单元测试
识别反模式
解决方案: 模型包含活动记录
- 领会模型的意义
- 将领域模型应用到实际工作中
阅读全文
0 0
- SQL反模式(七)
- SQL反模式
- SQL 反模式
- SQL反模式总结
- sql反模式读书笔记
- 《SQL反模式》笔记
- SQL反模式-主键
- 《SQL反模式》总结
- sql 反模式学习
- SQL反模式(前言)
- SQL反模式(二)
- SQL反模式(三)
- SQL反模式(四)
- SQL反模式(五)
- SQL反模式(五)
- SQL反模式(六)
- sql反模式分析1
- sql反模式分析2
- python web开发——Django后台管理
- 哈夫曼编码大全
- 模板模式
- Android 批量打包 基于Walle的多渠道快速打包自动脚本
- CSP(Content Security Policy),在一定程度上能预防XSS攻击
- SQL反模式(七)
- Pass的通用指令开关
- 投资后的收获
- 习题8-3 比特变换器(Bits Equalizer, SWERC 2012, UVa12545)
- 阿里云centos6.9经典网络下配置gre隧道地址
- Math类
- SpringBoot@Autowired不自动注入
- Thinking in Java:第十一章-持有对象
- USB驱动程序之USB总线驱动程序学习笔记