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

数据库设计原则开发规范,你知道多少?

数据库设计得好, 系统健步如飞;数据库设计不好,系统蹒跚前行。今天介绍数据库设计原则和规范,你知道得越多,你不知道的越多。你知道多少呢?...一 MySQL数据库设计原则 1 核心类原则 1.不在数据库做运算; 2.cpu计算务必移至业务层ecs; 3.控制列数量(字段少而精,字段数建议在60以内); 4.平衡范式冗余(效率优先;往往牺牲范式...、更改或破坏,防止不同模块用户交叉使用,敏感数据及早加密; 5.可伸缩性可扩展性原则:数据库结构的设计应充分考虑发展的需要、移植的需要,具有良好的扩展性、伸缩性和适度冗余; 6.规范化:数据库设计应遵循规范化理论...,规范化的数据库设计可以减少数据库插入、删除、修改等操作时的异常和错误,降低数据冗余度等; 7 SQL类原则 1.sql语句尽可能简单; 2.简单的事务; 3.不用select *(消耗cpu,io...1.show profile; 2.mysqlsla; 3.mysqldumpslow; 4.explain; 5.show slow log; 6.show processlist; 二 MySQL数据库开发规范

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

数据库概念设计逻辑设计

一、概念设计 概念设计的目的就是为了建立概念数据模型,概念数据模型也称为高级数据模型,之所以称为高级数据模型是因为它更接近于人的思维,而不是机器的思维,相比于关系模型更容易理解,此处的高级和低级的概念...,程序语言领域的高低级是一样的。...4.实体联系的数量关系需要标在实体联系之间的线段上。 4.键约束。唯一标识实体大家都知道是用主键,那么如何唯一表示联系呢?答案是用键约束,键约束是如何确认的呢?...通过上述方法进行逻辑设计,从E-R图转化而成的关系模型,可以至少达到3NF范式。...tag:更为复杂的数据库概念设计逻辑设计案例详见,https://blog.csdn.net/weixin_45138601/article/details/116738450?

2.6K20

数据库模型设计——历史版本设计

在企业数据库设计中,经常会遇到一个需求,就是希望把操作之前的数据保留下来,能够看到操作之前是什么数据,操作之后是什么数据。对于这种需求,我们可以使用保留历史数据或者使用版本来实现。...为了能够保留历史数据,在版本设计时有以下方案: 一、使用版本号 版本号是一种常见的版本设计方案,就是在要进行历史数据保留的表上面增加一个版本号字段,该字段可以是DateTime类型,也可以是int类型,...我们可以使用创建数据时的数据库主键作为业务主键。...订单订单明细不存在数据库级的外键关系,只存在业务级的外键关系。也就是说订单明细表中增加生效时间、失效时间之外,还需要增加“订单号”这个字段,用于表名该明细是属于哪个订单的。...对于一个现有的数据库设计,在增加历史数据记录功能时更简单。 业务数据表可以直接进行update操作,不会生成新的ID。由于ID不会变,所以我们并需要业务主键应用到程序逻辑中。

90520

Kubernetes 设计开发原则

在这篇文章中,我将通过揭示其底层的设计原则,帮助您更深入地了解 Kubernetes。 1....而在声明式 API 中,你可以声明期望的状态,系统将不断地调整实际状态,直到期望状态保持一致。你可以把这两者类比成手动驾驶自动驾驶。...为什么需要随时随地满足用户需求 这种设计可以最大限度地减少在 Kubernetes 上部署工作负载的障碍,可以轻松地在 Kubernetes 上运行现有的工作负载,而无需对其进行重写或者更改。 4....为什么需要工作负载的可移植性 工作负载可移植性原则突出了 Kubernetes 的核心优势:就像操作系统使应用程序开发人员不必担心底层硬件的细节一样,Kubernetes 将分布式系统应用程序开发人员从底层集群的细节中解放出来...使用 Kubernetes 之后,分布式系统应用程序开发人员不必拘泥于特定的集群环境。

1K20

设计开发规范总结

前言 对比林永坚大佬的08 | 设计组件:DesignKit 组件桥接设计开发规范想到的,总结一下。...开发中,一套统一的设计规范至关重要,比如颜色、间距、字体、iconfont等等,这些都是在开发前需要和设计统一制定的。...首先要有一套统一的规范,设计设计稿时按照这一套规范来,开发做的时候也按照同一套规范来,这样做出来的东西,最后效果就会保持一致。...内容 开发中都会经历APP改版的情况,有时改版只是调整了颜色、间距,但是由于开发时没有统一处理,所以需要一个个地方找出修改,耗时耗力。所以一套统一的设计规范是必不可少的。...参考: How to convert a hex color to a UIColor 08 | 设计组件:DesignKit 组件桥接设计开发规范

73741

数据库schema设计优化

1、 前言 对于数据库而言,在日常开发中我们主要的关注点有两块,一个是schema的结构设计,另一个就是索引的优化,这两块是影响我们最终系统结构和性能的关键部分,自然也是我们花费精力最多的部分; 本文主要介绍数据库设计中的一般原则和优化手段...,包括数据库的一半范式、反范式设计、数据切分、数据路由合并等等 2、 Schema设计的一般性原则 2.1 概述 范式理论是关系型数据库设计的黄金法则,它提供了数据结构化的理论基础,有效地保证了数据的一致性...数据库的范式有很多种,但是我们一般常用的只有第一、二、三范式和BC范式,这些范式直接在我们的数据库schema设计中得到体现,虽然有时我们根本就没有意识到。...,如果本来就是负载很重的一张表,那崩溃无异了!...; 其缺点是技术门槛较高,需要专门的人员来开发和维护;功能受限,部分在单库单表下的常见操作在这种中间层代理的方式下会变得麻烦,比如说跨库、跨表join,全局数据分组排序等。

99850

数据库schema设计优化

1、 前言 对于数据库而言,在日常开发中我们主要的关注点有两块,一个是schema的结构设计,另一个就是索引的优化,这两块是影响我们最终系统结构和性能的关键部分,自然也是我们花费精力最多的部分; 本文主要介绍数据库设计中的一般原则和优化手段...,包括数据库的一半范式、反范式设计、数据切分、数据路由合并等等 2、 Schema设计的一般性原则 2.1 概述 范式理论是关系型数据库设计的黄金法则,它提供了数据结构化的理论基础,有效地保证了数据的一致性...数据库的范式有很多种,但是我们一般常用的只有第一、二、三范式和BC范式,这些范式直接在我们的数据库schema设计中得到体现,虽然有时我们根本就没有意识到。...,如果本来就是负载很重的一张表,那崩溃无异了!...; 其缺点是技术门槛较高,需要专门的人员来开发和维护;功能受限,部分在单库单表下的常见操作在这种中间层代理的方式下会变得麻烦,比如说跨库、跨表join,全局数据分组排序等。

1.8K61

数据库索引设计优化

使用不合适的索引有可能会导致比全表扫描更差的性能 2.三星索引: 如果与一个查询相关的索引行是相邻的,或者至少相距足够靠近的话,就可以标上第一颗星,这是最小化了必须扫描的索引片的宽度 如果索引行的顺序查询语句的需求一致...2.BQ的目的只是确保我们至少可以通过索引过滤来最小化对表的访问 3.快递上限估算法(QUBE),在新方案的设计过程中使用 六、影响索引设计过程的因素 七、被动式索引设计 八、为表连接设置索引 1.嵌套循环连接...,DBMS首先在外层表中找到一行满足本地谓词的记录,然后再从内层表中查找这一行数据相关的记录,并检查其中哪些符合内层表的本地谓词条件,可以被两个单表的游标以及在程序中编写的嵌套循环代替。...十三、数据库索引选项 十四、优化器不是完美的 1.完全避免由索引改进导致性能下降的唯一方法是,对每一个SQL调用都使用提示 十五、其他评估事项 十六、组织索引设计过程 半宽索引:一个包含WHERE子句中所有列的索引...,使用半宽索引将使得访问路径仅在必要时才访问表 聚焦索引:在SQL Server中是指一个包含表行的索引,在DB2中是指任何一个索引行顺序表行顺序相同或计划相同的索引 聚簇索引:使得DBMS在向表中添加记录时

1.4K10

水利数据库设计实现-数据库设计基础知识

(系统分析和数据库设计人员、应用程序员、最终用户、数据库管理员口BA)。   ...数据库设计   需求分析:即分析数据存储的要求,产出物有数据流图、数据字典、需求说明书。   概念结构设计:就是设计E-R图,也即实体-属性图,物理实现无关,说明有哪些实体,实体有哪些属性。   ...逻辑结构设计:将E-R图,转换成关系模式,也即转换成实际的表和表中的列属性,这里要考虑很多规范化的东西。   物理设计:根据生成的表等概念,生成物理数据库。   ...并发控制就是控制不同的事务并发执行,提高系统效 率,但是并发控制中存在下面三个问题:   丢失更新:事务1对数据A进行了修改并写回,事务2也对A进行了修改并写回,此时 事务2写回的数据会覆盖事务1写回的数据水利数据库设计实现...读脏数据:事务1对数据A进行了修改后,事务2读数据A,而后事务1回滚,数据A恢 复了原来的值,那么事务2对数据A做的事是无效的水利数据库设计实现,读到了脏数据。

57620

iOS组件化设计开发

Mediator可以做统一处理,调用某个组件方法时如果某个组件不存在,可以做相应操作,让调用者组件间没有耦合。...总结起来就是: 1.各组件可以只专注于自身的业务设计,最后通过无侵入的 target-action 方式为外界提供接口调用,这个 target-action 设计的很精妙。...组件通过中间件的 category 实现对外的接口调用,这部分由提供服务的组件开发者维护,使得外界的调用者不用参与调用的内部逻辑设计,而且具有多处复用的效果,调用者引入中间件即可,这是一种轻依赖,是权衡后的设计...所以 iOS 的组件化是为了解决上述这些问题的, 这里前端组件化解决的痛点不同。...---- *参考文章: iOS应用架构谈 组件化方案 iOS组件化实践方案-LDBusMediator炼就 浅析 iOS 应用组件化设计 模块化解耦 iOS 组件化方案探索 组件化架构漫谈

1.3K50

【Maven】分模块开发设计依赖管理

目录 一、分模块开发设计 1. 分模块开发的意义 2. 分模块开发(模块拆分) 二、依赖管理 1. 依赖传递 2. 可选依赖 3....排除依赖 4 可选依赖和排除依赖的区别 一、分模块开发设计 1. 分模块开发的意义 问题导入 分模块开发对工程有什么好处? 模块拆分原则 目的:项目的扩展性变强了,方便其他项目引用相同的功能。...分模块开发(模块拆分) 问题导入 一个完整的工程依据什么来进行模块的拆分? 2.1 创建Maven模块 2.2 书写模块代码 注意事项: 分模块开发需要先针对模块功能进行设计,再进行编码。...不会先将工程开发完毕,然后进行拆分 2.3 通过maven指令安装模块到本地仓库(install指令) mvn install 团队内部开发需要发布模块功能到团队内部可共享的仓库中(私服) 二

56830

面试总结:移动web设计开发

BMP格式,它是一种硬件设备无关的图像文件格式,采用的存储格式是位映射存储格式,不可以进行压缩,占用空间很大。...PNG格式,它是常用程序开发的图片格式之一。 7. 面试官问:什么是音频格式,有哪些常见的格式? 答:音频格式即音乐格式。...UNIX系统开发的音频格式。 2.AIFF格式。苹果公司开发的音频格式。 3.VQF格式(末日黄花)。雅马哈公司开发的音频格式。 4.CD格式(天籁之音)。当今世界上音质最好的音频格式。...它同时还继承了HTMLMediaElement 和 HTMLElement 的属性方法。...严格来说应该是一种开放标准的矢量图形语言,可让你设计激动人心的、高分辨率的Web图形页面。

1.5K20

再谈:数据建模之设计开发

良好的数据模型,也有利于提升开发效率,进而节约开发成本。 稳定 数据模型的构建,将业务业务进行解耦,提高自身的稳定性。当业务发生变化时,可通过变更或扩展数据模型,快速适配变化,提供系统整体稳定性。...共享 数据模型能够促进业务技术进行有效沟通,形成对主要业务定义和术语的统一认识,具有跨部门、中性的特征,可以表达和涵盖所有的业务。...在数据库系统中,人们通常按照其数据结构的类型来命名数据模型。 数据操作 数据操作用于描述系统的动态特征,包括数据的插入、修改、删除和查询等。...完整性规则是指给定数据模型中的数据及其联系所具有的制约和存储规则,用以限定符合数据模型的数据库及其状态的变化,以保证数据的正确性、有效性和相容性。 2....先按照业务主线建立最小粒度的事实表,再建立维度表,形成数据集市,方便下一步的BI决策支持。 ❖ 开发过程 首先,在得到数据后需要先做数据的探索,尝试将数据按照目标先拆分出不同的表需求。

48220

设计细节提升开发效率质量

视觉设计师作为展示产品最终形态的执行层,产品上线前走查视觉交互还原是必经环节,而留给设计师走查修改的时间其实非常少,有时候为了配合产品上线时间,通常只能牺牲一些细节,在下一次迭代进行优化,为了每一次上线的产品都能够得到更好的还原...开发:视觉样式好多,每个设计师的间距好像也都不一样, 视觉:…… 我们经常会听到身边的设计开发哥的一些对话,关于对齐,大小,间距等设计还原问题经常会讨论很久,甚至有时会觉得,几个像素的间距是不是有必要这么纠结...,这里总结一些设计经验,大家一起探讨~如有错误,欢迎指正~ 本文将从以下三个方面,思考作为视觉设计师,应当如何让设计更加合理有效: 视觉处理(设计设计逻辑(方法) 交付走查(合作) 视觉处理_字体结构...网页设计中,我们总避免不了字体打交道,字体也经常是我们在设计中容易忽视的部分,而经常出错的原因往往是因为我们对文字的理解不够清晰,相比西文字体,中文字体结构复杂,字库庞大,网页的渲染效果会比西文字体艰难很多...对于团队合作,设计开发也将更有默契,不必再为不清不楚的间距浪费时间。

93351

数据库设计表创建

数据库设计 数据库设计采用新奥尔良设计法 产品需求分析 需求分析是数据库设计的第一步,也是最困难、应当投入最大精力的一步.需求分析要做的是了解、分析用户对系统的需求,弄清系统要达到的目标、要实现的功能....需求分析的结果用数据流程图和数据字典表示.值得注意的是,要使一个系统具有较长的生命周期,除了要满足用户提出的需求外,还需要系统设计人员预测未来系统可能要支持的功能 概念结构设计 概念结构设计是将系统需求分析得到的用户需求抽象为信息结构的过程...逻辑结构设计 逻辑结构设计的任务就是把概念模型转换成某个具体的DBMS所支持的数据模型。...通常概念模型向逻辑模型转换过程分3步进行: 概念模型转换为—般的数据模型 一般的数据模型转换为特定DBMS支持的数据模型 优化数据模型 物理结构设计 数据库的物理结构:数据库在物理设备上的存储结构存取方法...物理结构设计分为两步: 确定数据库的存取方法和存取结构 对物理结构进行评价(重点是时间和效率),若评价结构满足原设计要求,则可以进行物理实施;否则要修改物理结构,甚至返回逻辑设计阶段修改数据模型

1.3K20

可验证云数据库架构设计

再例如,本文要介绍的《Veritas:可验证云数据库和表设计》。...Veritas通过将区块链数据库的概念和可验证表的概念放在一起,得到具有不可变更、可访问的日志,具有干净的可审计功能。 三、Veritas架构设计 Veritas抽象概念背后有哪些实现细节呢?...图2的架构依赖分布式事务和中间件来处理多个系统,这给开发者和运维人员带来极大负担。因此,引入共享可验证表为用户提供无缝体验和免信任协作。图3展示了共享可验证表集成到区块链的架构示意。...图4 :可验证表 四、可验证数据库设计 可验证性是区块链数据库的最重要概念。验证者如何使用可验证数据库的日志,并对可验证数据库的状态产生共识? 图5显示了向可验证数据库中添加验证者的一种方法。...五、可验证表设计 本质上,上述在可验证数据库中实现信任的所有设计考虑因素都同样适用于共享可验证表的实现。从概念上讲,可验证数据库和可验证表的最大区别在于并发控制。

78630
领券