首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数据库设计规范

数据库的重要性不言而喻。对程序员来说跟数据库打交道更是家常便饭。数据库给开发带来了巨大的便利。我们或多或少的知道一些数据库设计规范,但并不全面。...数据库设计规范包括命名规范、库表基础规范、字段规范、索引规范和SQL设计规范。 1. 命名规范 1.1 库名、表名、字段名禁止使用MySQL保留字。...2.9 尽量只存储单一实体类型的数据 2.10 数据库中不允许存储明文密码 所有的密码、scret key和SSH key等类似的保密信息,必须经过非对称加密,再保存到数据库中。...数据库在处理的时候,需要进行特殊的处理。如此的话,就会增加数据库处理记录的复杂性。当表中有比较多的空字段时,在同等条件下,数据库处理的性能会降低许多。...SQL设计规范 5.1 所有关键字的所有字母必须大写 5.2 杜绝直接SELECT *读取全部字段 即使需要所有字段,明确指定所需字段也能减少网络带宽消耗,能有效利用覆盖索引,表结构变更对程序基本无影响

84920
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL数据库设计规范

规范背景与目的 MySQL数据库与 Oracle、 SQL Server 等数据库相比,有其内核上的优势与劣势。我们在使用MySQL数据库的时候需要遵循一定规范,扬长避短。...本规范旨在帮助或指导RD、QA、OP等技术人员做出适合线上业务的数据库设计。在数据库变更和处理流程、数据库表设计、SQL编写等方面予以规范,从而为公司业务系统稳定、健康地运行提供保障。 2....设计规范 2.1 数据库设计 以下所有规范会按照【高危】、【强制】、【建议】三个级别进行标注,遵守优先级从高到低。 对于不满足【高危】和【强制】两个级别的设计,DBA会强制打回要求修改。...2.1.6 字符集 【强制】数据库本身库、表、列所有字符集必须保持一致,为utf8或utf8mb4。 【强制】前端程序字符集或者环境变量中的字符集,与数据库、表的字符集必须一致,统一为utf8。...因为他们消耗数据库资源,降低数据库实例可扩展性。推荐都在程序端实现。 【强制】禁用insert into …on duplicate key update…在高并发环境下,会造成主从不一致。

2.1K40

数据库设计规范(1)

范 式 范式简介 在关系型数据库中,关于数据表设计的基本原则、规则就称为范式。可以理解为,一张数据表的设计结 构需要满足的某种设计标准的 级别 。...要想设计一个结构合理的关系型数据库,必须满足一定的范式。...范式都包括哪些 目前关系型数据库有六种常见范式,按照范式级别,从低到高分别是:第一范式(1NF)、第二范式 (2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF...为了使表符合 1NF ,我们应该有如下表数据: 举例2: user 表的设计不符合第一范式 其中,user_info字段为用户信息,可以进一步拆分成更小粒度的字段,不符合数据库设计对第一范式的 要求

35630

数据库命令及设计规范

数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用 MySQL 保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名识意...bak_ 为前缀并以日期 (时间戳) 为后缀 所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换,会造成列上的索引失效,导致查询效率降低) 数据库基本设计规范...数据库和表的字符集统一使用 UTF8 兼容性更好,统一字符集可以避免由于字符集转换产生的乱码,不同的字符集进行比较前需要进行转换会造成索引失效,如果数据库中有存储 emoji 表情的需要,字符集需要采用...禁止在数据库中存储图片,文件等大的二进制数据 通常文件很大,会短时间内造成数据量快速增长,数据库进行数据库读取时,通常会进行大量的随机 IO 操作,文件很大时,IO 操作很耗时。...通常存储于文件服务器,数据库只存储文件地址信息 禁止在线上做数据库压力测试 禁止开发环境、测试环境直接连接生成环境数据库

1K30

数据库MySQL-设计规范

一、MYSQL数据库设计规范 1、数据库命名规范 a、采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线’_'组成; b、命名简洁明确(长度不能超过30个字符); c、例如:user..., stat, log, 也可以wifi_user, wifi_stat, wifi_log给数据库加个前缀; d、除非是备份数据库可以加0-9的自然数:user_db_20151210; 2、数据库表名命名规范...user_role_relation, user_role_right, user_role_right_relation 注:表前缀’user_'可以有效的把相同关系的表显示在一起; 3、数据库表字段名命名规范...); IP地址最好使用int类型; 固定长度的类型最好使用char,例如:邮编; 能使用tinyint就不要使用smallint,int; 最好给每个字段一个默认值,最好不能为null; 5、数据库表索引规范...1、第一范式(1NF):字段值具有原子性,不能再分(所有关系型数据库系统都满足第一范式); 例如:姓名字段,其中姓和名是一个整体,如果区分姓和名那么必须设立两个独立字段; 2、第二范式(2NF):一个表必须有主键

94910

Oracle数据库的几种设计规范

为了达到数据库设计规范的要求,一般来说,需要符合以下几个要求。...虽然表中允许有空列,但是,空字段是一种比较特殊的数据类型,数据库在处理的时候 需要进行特殊的处理,这样的话,就会增加数据库处理记录的复杂性,当表中要比较多的空字段时,在同等条件下,数据库处理的性能会降低许多...数据库对象要有统一的前缀名 一个比较复杂的应用系统,其对应的数据表往往数以千计,钥匙让数据库管理员看到对象名就了解这个数据库对象所起的作用 这样比较困难,而且在数据库对象引用的时候,数据库管理员也会为不能迅速找到数据对象对发愁...为此在开发数据库之前,最好花时间去制定一个数据库的对象的前缀命名规范, 如在设计数据库时和前台应用程序协商,确定合理的命名规范,如和物料管理模块相关的表可以用M为前缀,而订单管理相关的就用C作为前缀,具体采用什么前缀就根据用户的爱好...就需要为每次出版的图书增加作者信息,这无疑会增加额外的存储空间,也会增加记录的长度,而且作者的情况有变,如住址修改,这样还会修改每本书的记录,同属若这个作者的数从库中全部删除后,跟着这个作者的信息也就没了很明显这不符合数据库设计规范要求

1.2K20

MySQL系列 | MySQL数据库设计规范

规范背景与目的 MySQL数据库与 Oracle、 SQL Server 等数据库相比,有其内核上的优势与劣势。我们在使用MySQL数据库的时候需要遵循一定规范,扬长避短。...本规范旨在帮助或指导RD、QA、OP等技术人员做出适合线上业务的数据库设计。在数据库变更和处理流程、数据库表设计、SQL编写等方面予以规范,从而为公司业务系统稳定、健康地运行提供保障。 2....设计规范 2.1 数据库设计 以下所有规范会按照【高危】、【强制】、【建议】三个级别进行标注,遵守优先级从高到低。 对于不满足【高危】和【强制】两个级别的设计,DBA会强制打回要求修改。...2.1.6 字符集 【强制】数据库本身库、表、列所有字符集必须保持一致,为utf8或utf8mb4。 【强制】前端程序字符集或者环境变量中的字符集,与数据库、表的字符集必须一致,统一为utf8。...因为他们消耗数据库资源,降低数据库实例可扩展性。推荐都在程序端实现。 【强制】禁用insert into …on duplicate key update…在高并发环境下,会造成主从不一致。

3.1K30

一、数据库设计规范「建议收藏」

一、三范式 为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。...要想设计一个结构合理的关系型数据库,必须满足一定的范式。 1.第一范式 确保每列保持原子性 列不可分 有主键 根据实际需求来定。...比如某些数据库系统中需要用到“地址”这个属性,本来直接将“地址”属性设计成一个数据库表的字段就行。...这样设计才算满足了数据库的第一范式,如下表所示。...二、数据库设计规范 1.表与字段的规范 (1)表达是与否概念的字段,必须使用 is _ xxx 的方式命名,数据类型是 unsigned tinyint( 1 表示是,0 表示否 ) 。

1.2K20

第11章_数据库设计规范

反范式化 # 3.1 概述 规范化 vs 性能 为满足某种商业目标,数据库性能比规范化数据库更重要 在数据规范化的同时,要综合考虑数据库的性能 通过在给定的表中添加额外的字段,以大量减少需要从中搜索信息所需的时间...我简单总结下数据仓库和数据库在使用上的区别: 数据库设计的目的在于 捕捉数据 ,而数据仓库设计的目的在于 分析数据 。...BCNF 被认为没有新的设计规范加入,只是对第三范式中设计规范要求更强,使得数据库冗余度更小。所以,称为是 修正的第三范式 ,或 扩充的第三范式 ,BCNF 不被称为第四范式。...【强制】禁止在数据库中存储图片、文件等大的二进制数据 通常文件很大,短时间内造成数据量快速增长,数据库进行数据库读取时,通常会进行大量的随 机 IO 操作,文件很大时,IO 操作很耗时。...可视化工具除了方便,还能直接帮我们将数据库的结构定义转化成 SQL 语言,方便数据库和数据表结构的导出和导入。

40350

数据库设计实战(一):数据库设计规范「建议收藏」

一、数据库设计流程 1、需求分析 确定用户对数据库系统的使用要求和各种约束条件,形成用户需求规约 2、概念设计 对用户要求描述的现实世界,通过对其分类、聚集和概括,建立抽象的概念数据模型 3、逻辑设计...将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式 4、物理设计 对具体的应用任务选定最合适的物理存储结构、存取方法和存取路径等 5、验证设计 在其他设计基础上...,收集数据并具体建立一个数据库,运行一些典型的应用任务来验证数据库设计的正确性和合理性 6、运行与维护设计 在数据库系统正式投入运行的过程中,必须不断地对其进行评估、调整与修改 二、E-R图 1、什么是实体...四、数据库设计常用规范 为了优化数据库的设计,提高数据库设计的合理性和数据访问高效性,同时便于阅读和理解数据库的结构,以提高数据共享的质量和效率,促进数据库编码的标准化,特制订一套数据库规范 1、数据库命名规则...(1)对象名 使用有意义的英文单词,杜绝使用汉语拼音,单词之间用下划线分割 最大长度32个字符 名称中的缩写要统一 尽量使用名词结构 (2)表名、字段名 2、数据库设计规范 五、E-R数据模型设计

1.6K20

数据结构(ER数据库设计规范

主键类型 在解释数据设计规范之前先理解物理主键、逻辑主键和业务主键的区别: 物理主键即认为是数据库的自身的物理标识主键,例如oracle的ROW_ID,mysql的自增Sequence,物理主键除了具备独立的物理特性...,也是数据库连接数据的核心。...逻辑主键是与数据库无关的非业务意义的主键,用于对行数据的唯一性进行标识。在单数据库系统中,通常不需要逻辑主键,而在分布式系统中,逻辑主键的意义重大。...无论是什么数据库,逻辑主键要求全库(所有的数据库)唯一。某些时候可以将物理主键和逻辑主键合二为一。 业务主键是指与含有业务特性的的主键,例如订单编号会以 时间+流水号+业务编号实行存在。...所以最大效率的保证b+树主键和索引数据进入的递增性对于数据库的性能有决定性作用(b+树越扁平,效率越高)。

1.5K30

关于设计规范

有幸在刚入部门就参与设计规范制定,前前后后大概花费一个月时间。本次博文结合亲身参与的制定规范项目,围绕:设计规范的重要性,制定规范的时机,制定的过程和后续工作这几个方面来总结和分享。...设计规范的重要性 设计总监刚开始召集设计师讨论立项制作设计规范时,就有设计师提出“规范只是公司给外部看的一种噱头”,更像是体现一种公司视觉形象(VI)。...制定设计规范过程 设计规范虽然只是简单几页,但那是浓缩概括的结果,并非一蹴而就。...及时地总结对后期设计规范的制定打下良好基础,否则很容易忘记设计初衷,找不到文件或者设计负责人等等问题。 总结归纳会议 准备制作设计规范时,需要召集各产品线上的设计师将设计结果进行汇总和提炼。...规范标准 先看几个优秀的设计规范:微信weui与weui文档;Ant Design ; Material Design;IBM Design Language 优秀设计规范拥有明确层级和逻辑,便于其他组员查找相应内容

985120

解析大型.NET ERP系统 20条数据库设计规范

数据库设计规范是个技术含量相对低的话题,只需要对标准和规范的坚持即可做到。当系统越来越庞大,严格控制数据库的设计人员,并且有一份规范书供执行参考。...以下20个条款是我从一个超过1000个数据库表的大型ERP系统中提炼出来的设计约定,供参考。 1 所有的表的第一个字段是记录编号Recnum,用于数据维护 ?...在代码中调用枚举的通用方法,读取枚举的StringValue写入到数据库中,读取枚举的DisplayText显示在界面中。...经过这一层设计,数据库中有关字典方面的设计就规范起来了,避免了数据字典的项的增减给系统带来的问题。...除非特别需求,一般而言,界面中控件的长度取自映射的数据库中字段的定义长度。

2.4K70

大型互联网公司使用的数据库设计规范

DDL设计标准 1、 所有表的DDL,都不回退 2、 数据库命名规范,统一:hs_xxxx;表名不超过40个字符(即最大只能40个字符) 3、 表一旦设计好,字段只允许增加,不允许减少(drop column...),不允许改名称(change column) 4、 统一使用INNODB存储引擎,UTF8编码(整个数据库的编码统一为utf8_general_ci,为此不需要建立表的DDL加上特别CHARACTER...2、外键约束一般不在数据库上创建,只表达一个逻辑的概念,由程序控制。...3、 禁用数据库外键 4、命名 a) 主键约束:默认PRIMARY; b) unique约束:UK_ c) check约束:CK_ d) 外键约束...11、使用合理的SQL语句减少与数据库的交互次数。 12、不使用ORDER BY RAND(),使用其他方法替换。 13、建议使用合理的分页方式以提高分页的效率。

1.7K30
领券