数据库设计走查表(为thinker_csai所原创,版权所有)

2024-03-30 22:48

本文主要是介绍数据库设计走查表(为thinker_csai所原创,版权所有),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前期准备
    1    概念层次的ER图和数据库定义书准备齐全           
    2    ER图关联简洁           
    3    ER图结构清晰           
    4    ER图实体个数适中           
    5    ER图无重复冗余           
    6    存在原有系统的情况下,对旧系统的数据库进行了整理,本次设计中保留原有数据库的设计优点           
    7    存在原有系统的情况下,注意原有数据库系统中一些忽略的问题           
    8    存在原有系统的情况下,进行了数据库方面的设计对比           
    9    设计采用了CASE工具           
    10    数据字典完备           
    11    设计时考虑了将来哪些数据字段可能会发生变更           
    12    设计时考虑了不同国家,地区可能存在的字段和字段格式           
    13    设计时考虑了数据库的版本标识           
    14    设计时考虑了将来的数据挖掘和分析需求           
    15    使用英文而不是其它语言,编码来作为设计语言           
    16    存在一数据库标识机制来反映数据库的当前版本和相关配置信息           
    17    数据库设计时考虑到了备份的安全机制           
    18    数据库设计时尽量不考虑取值CHECK,有关CHECK的东西通过页面输入检查来解决   
表设计   
    19    实体有主键或有外键,或二者兼备           
    20    多对多关系被映射为三张基本表           
    21    基本表的字段不能再分解           
    22    基本表的数据均来自于用户人工输入或系统设定           
    23    基本表结构稳定,短期之内不再变化           
    24    基本表尽量满足3范式,符合2范式           
    25    根据用户统计,时间统计等统计需求建立中间表           
    26    临时表是临时的           
    27    表个数足够精简(多字段分表情况例外)           
    28    对于多值字段采用了创建子表的做法或预留了足够的字段来存储不同的值           
    29    表中存在合理的派生性冗余字段或无冗余字段           
    30    表中字段足够精简,不存在重复性冗余字段           
    31    有多种权限设计的时候采用用户-权限设计方式           
    32    表设计包括了管理员(用户)的账号管理设计   
数据库   
    33    数据库命名使用小写英语字母, 数字和下划线,无其他字符       
    34    数据库命名长度小于20位       
    35    数据库命名采用项目名或产品名称命名       
    36    数据库中的所有表字符集统一       
    37    数据库中对象命名见名知意       
    38    数据库对象的命名不使用保留关键字       
    39    数据库设计考虑到了事务机制       
    40    数据库设计考虑到将来可能存在的异种数据库迁移       
    41    数据库设计时考虑到了审计追踪机制(警告等)
表   
        42    组合主键的字段数量不超过3个   
    43    采用了系统自增字段作为主键   
    44    不同表的同一意义的字段名称和类型一致(特别是外键场合)   
    45    为关联字段创建外键   
    46    所有键取值唯一   
    47    外键是关联唯一的字段   
    48    使用商务规则约束数据完整性   
    49    表的id字段和name字段命名时采用表名_id(name)的形式   
    50    不存在只有写入没有读取的表   
    51    不用可能被更新或经常更新的字段作为主键   
    52    表设计不存在级联性删除   
字段   
    53    字段与画面项目能够一一对应(部分标识符字段和系统设定字段除外)           
    54    索引是多值字段           
    55    索引是单一字段           
    56    字段取值符合域定义           
    57    字段名称见名知意           
    58    多个表中出现同一类型字段用表前缀来标识           
    59    字段的类型和长度能够满足字段的值的最大限量           
    60    文本字段有充足的余量对应可能的长度变更           
    61    数字字段考虑了充足的余量和精度对应可能的长度或精度变更           
    62    不给MEMO(Mysql TEXT类型)之类的大字段建索引           
    63    为每种查询都建立索引           
    64    加一个标识更新时间的Datetime字段update_time,不使用mySQL 的timestamp类型。           
    65    加入一个表示记录插入时间的时间字段create_time, datetime           
    66    布尔值一律为INTERGER类型           
    67    有小数的字段使用Integer, 而不用float 等字段           
    68     普通时间字段使用Integer 或者Datetime           
    69     如果报表中可能分别按年,月,日进行排序和分组。则把时间字段分成不同的年月日字段           
    70    支持多国, 则数据库中必须存格林威治时间           
    71    不需要区别NULL和空字符串的地方,数据表设计时标上NOT NUL           
    72    用程序逻辑控制Default值, 而不是让数据库控制默认值           
    73    表中采用了DEL_FLAG字段标明删除           
    74    表中采用了IS_VALID(CANCEL_FLAG)标明有效性           
    75    采用了存放路径而不是存放图片(文件)本身的方式来保存图片数据或文件数据           
    76    Password只存单向加密过的密码, 而不是密码本身
"存储过程-视图-触发器"
        77    针对客户的特定应用采用了视图机制           
    78    采用了常规的存储过程来替代和简化客户程序代码的开发           
    79    少用触发器,多用存储过程           
    80    缺乏约束的数据库系统中,采用了触发器用来加强参照和数据完整性
优化   
    81    计算复杂时,以文件形式处理后才追加至数据库中而不是在数据库中直接计算           
    82    表记录字段太多时,采用垂直分割(超过80个以上)           
    83    表记录太多时,采用水平分割(分表)           
    84    SQL语句符合“先投影后连接再更新”的优化规则           
    85    所有SQL语句都充分地得到优化           
    86    数据库管理系统参数均得以优化           
    87    支持数据库的硬件指标符合项目需求           
    88    优化设计过程中考虑了“程序优化”,“数据库优化”和“系统优化”三个层次的优化           
    89    分布式数据库设计时充分考虑了80-20规则           
    90    XXXX数据库时使用XXXXX作为数据库引擎       

这篇关于数据库设计走查表(为thinker_csai所原创,版权所有)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/862794

相关文章

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

MySQL 数据库表与查询操作实战案例

《MySQL数据库表与查询操作实战案例》本文将通过实际案例,详细介绍MySQL中数据库表的设计、数据插入以及常用的查询操作,帮助初学者快速上手,感兴趣的朋友跟随小编一起看看吧... 目录mysql 数据库表操作与查询实战案例项目一:产品相关数据库设计与创建一、数据库及表结构设计二、数据库与表的创建项目二:员

MybatisPlus中removeById删除数据库未变解决方案

《MybatisPlus中removeById删除数据库未变解决方案》MyBatisPlus中,removeById需实体类标注@TableId注解以识别数据库主键,若字段名不一致,应通过value属... 目录MyBATisPlus中removeBypythonId删除数据库未变removeById(Se

在 Spring Boot 中连接 MySQL 数据库的详细步骤

《在SpringBoot中连接MySQL数据库的详细步骤》本文介绍了SpringBoot连接MySQL数据库的流程,添加依赖、配置连接信息、创建实体类与仓库接口,通过自动配置实现数据库操作,... 目录一、添加依赖二、配置数据库连接三、创建实体类四、创建仓库接口五、创建服务类六、创建控制器七、运行应用程序八

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成

MySQL进行数据库审计的详细步骤和示例代码

《MySQL进行数据库审计的详细步骤和示例代码》数据库审计通过触发器、内置功能及第三方工具记录和监控数据库活动,确保安全、完整与合规,Java代码实现自动化日志记录,整合分析系统提升监控效率,本文给大... 目录一、数据库审计的基本概念二、使用触发器进行数据库审计1. 创建审计表2. 创建触发器三、Java

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.