数据库的设计规范

数据库的设计规范​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)


相关推荐

  • 好看的ppt网站_全球最大的论坛是哪个

    好看的ppt网站_全球最大的论坛是哪个www.slideshare.net

  • 主数据治理平台培训规程[通俗易懂]

    主数据治理平台培训规程[通俗易懂]主数据管理平台打通各业务链条,消除数据冗余,有助于打通部门、系统间壁垒,实现信息集成与共享。本文主要针对MDM主数据管理平台进行产品培训说明。

  • 安捷伦示波器使用说明书_安捷伦labview采集

    安捷伦示波器使用说明书_安捷伦labview采集Step1:配置VISA协议。VISA协议是AgilentIOLibraries的一部分,主要包含一个虚拟仪器软件架构VISA(一个比较通用的工业仪器软件架构)和标准控制库SICL.我理解前者相当一个底层架构,后者相当于一个指令集.先配置好VISA,然后通过SICL指令集发命令。直接上例子,简单明了。agilent示波器可以直接用VISA,所以只要在C++项目里进行配置。首先在C++里配…

    2022年10月12日
  • 通过SOCKS代理渗透整个内网

    通过SOCKS代理渗透整个内网通过SOCKS代理渗透整个内网1.背景经过前期的渗透工作,我们现在已经成功找到了web站点的漏洞,并且获得了一个普通的webshell,现在准备用菜刀去连接它。注意:本次环境在本地搭建,假设现在一无所知,这样更加真实。2.对web服务器提权2.1获取漏洞信息获取到webshell后使用菜刀连接,查看权限是apache,系统是redhat6.5。上传linux.sh到…

  • 未将对象引用设置到对象的实例–可能出现的问题总结

    未将对象引用设置到对象的实例–可能出现的问题总结

    2021年11月15日
  • 数独口诀_数独技巧xwing推导过程

    数独口诀_数独技巧xwing推导过程数独是一种传统益智游戏,你需要把一个 9×9 的数独补充完整,使得图中每行、每列、每个 3×3 的九宫格内数字 1∼9 均恰好出现一次。请编写一个程序填写数独。输入格式输入包含多组测试用例。每个测试用例占一行,包含 81 个字符,代表数独的 81 个格内数据(顺序总体由上到下,同行由左到右)。每个字符都是一个数字(1−9)或一个 .(表示尚未填充)。您可以假设输入中的每个谜题都只有一个解决方案。文件结尾处为包含单词 end 的单行,表示输入结束。输出格式每个测试用例,输出一行数据,代表填充

发表回复

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

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