数据库的设计规范

数据库的设计规范​1.为什么需要数据库设计2.范式在关系型数据库中,关于数据表设计的基本原则、规则就称为范式。可以理解为,一张数据表的设计结构需要满足的某种设计标准的级别。要想设计一个结构合理的关系型数据库

大家好,又见面了,我是你们的朋友全栈君。

​1.为什么需要数据设计

<span role="heading" aria-level="2">数据库的设计规范

<span role="heading" aria-level="2">数据库的设计规范

2.范式

在关系型数据库中,关于数据表设计的基本原则、规则就称为范式。可以理解为,一张数据表的设计结 构需要满足的某种设计标准的 级别 。要想设计一个结构合理的关系型数据库,必须满足一定的范式。

2.1键和相关属性的概念

<span role="heading" aria-level="2">数据库的设计规范

第一范式

确保数据表中每个字段的值必须有原子性

每个字段的值为不可再次拆分的最小数据单元

原子性是主观的,取决于具体应用和需求,决定是否继续拆分为细粒度。

第二范式

满足数据表里的每一条数据记录都是可唯一表示的,所有非主键字段,都必须完全依赖主键,不能只依赖主键的一部分。

如果存在不完全依赖,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与元实体之间是一对多的关系

第三范式

要求数据表中的所有非主键字段不能依赖于其它非主键字段。

2NF和3NF概括——每个非主键属性依赖于主键,依赖于整个主键,并且除了主键别无他物。

第三范式通常被认为在性能、扩展性和数据完整性方面达到了最好的平衡

 

没有完美的设计,只有合适的设计。

3.反范式化

有些数据看似冗余,其实对业务来说十分重要,这时候就要遵循业务优先的原则,首先满足业务需求。

数据库性能和规范化数据的矛盾,和现实世界一致。

4.E-R模型

什么是E-R模型?

实体关系模型

什么时候要用E-R模型?

在开发基于数据库的信息系统的设计阶段,通常用ER模型来描述信息需求和信息特征,帮助理清业务逻辑,从而设计出优秀的数据库。特别是对于大型复杂的项目。

ER模型包括哪些要素?

<span role="heading" aria-level="2">数据库的设计规范

关系的类型?
<span role="heading" aria-level="2">数据库的设计规范

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/154336.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 停止 uwsgi_终止代码invalid kernel handle

    停止 uwsgi_终止代码invalid kernel handlesudopkill-fuwsgi-9

  • 关于缺陷报告_登录模块缺陷报告

    关于缺陷报告_登录模块缺陷报告基本原则:尽快报告缺陷、有效描述缺陷、报告缺陷时不做任何评价、确保缺陷可以重现软件缺陷是存在于软件之中的那些不希望或不可能接受的偏差软件测试过程管理的理念:尽早测试、全面测试、全过程测试、独立迭代测试 缺陷报告的写作准则书写清晰、完整的缺陷报告是对保证缺陷正确处理的最佳手段。 它也减少了工程师以及其它质量保证人员的后续工作。为了书写更优良的缺陷报告,需要遵守“5

  • 五大常用算法之三:贪心算法[通俗易懂]

    五大常用算法之三:贪心算法[通俗易懂]贪心算法一、基本概念:所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法没有固定的算法框架,

  • 流程引擎概念_虚幻引擎4

    流程引擎概念_虚幻引擎4目录一、流程定义二、查询流程定义三、ID与版本四、挂起流程定义五、流程实例六、执行七、活动实例八、任务与任务定义本部分说明了流程引擎的概念一、流程定义流程定义定义了流程的结构。CamundaBPM使用BPMN2.0作为主要的建模语言,可以将BPMN2.0XML格式部署到流程引擎中。二、查询流程定义List<ProcessDefinition>processDefinitions=repositoryService.createP

    2022年10月20日
  • idea插件Tabnine激活码_在线激活

    (idea插件Tabnine激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~MLZPB5EL5Q-eyJsaWNlb…

  • clientWidth,offsetWidth,scrollWidth 快速理解

    clientWidth,offsetWidth,scrollWidth 快速理解下面开始区分一、clientWidth和clientHeigh、clientTop和clientLeft1,clientWidth的实际宽度clientWidth= width+

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号