데이터베이스의 세 가지 정규형 이해
제1정규형(1NF): 소위 제1정규형(1NF)은 데이터베이스 테이블의 각 열이 분할할 수 없는 기본 데이터 항목임을 의미하며, 동일한 열 값에는 둘 이상이 있을 수 없습니다. 즉, 엔터티의 속성은 여러 값을 가질 수 없거나 속성이 중복될 수 없습니다. 모든 관계형 데이터베이스에서 첫 번째 정규형(1NF)은 관계형 모델의 기본 요구 사항입니다. 첫 번째 정규형(1NF)을 충족하지 않는 데이터베이스는 관계형 데이터베이스가 아닙니다.
이해 참고 사항: 열은 분리할 수 없거나 원자성으로 이해됩니다.
rreee<span style="font-size: 15px;"><strong>第二范式(2NF):</strong>在理解第二范式(2NF)之前首先了解什么是<strong>组合主键</strong>,当一个字段无法确定唯一性的时候,需要其他字段来一起形成唯一性。就是说用来组成唯一性的字段如果有多个就是组合主键。<br>如<br>学生成绩(学号,课程号,成绩)<br>那学号和课程号就可以做为联合主键。<br>因为学号和课程号决定了成绩。也就是说。你要知道成绩,你就要知道学号,知道学号,但还不能知道某一科的成绩。还要知道课程号。<br></span><span style="font-size: 15px;">第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一的区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识即主键。要求实体的属性完全依赖于主键关键字。第二范式主要是为了防止以下情况的发生,一张表存在组合主键时,其他非主键字段不能部分依赖。如:<br></span><span style="font-size: 15px;">学生成绩(学号,课程号,课程名称,课程成绩)<br></span><span style="font-size: 15px;">课程成绩由主组合主键学号和课程号决定,但是课程名称只由课程号可以决定,所以违反了第二范式。<br></span><span style="font-size: 15px;">理解注释:<strong>不能部分依赖。</strong></span>
<span style="font-size: 15px;"><strong>第三范式(3NF):</strong>满足第三范式(3NF)必须先满足第二范式(2NF)。第三范式(3NF)要求一个数据库表中除主键外,其他字段必须依赖主键。在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。所谓传递函数依赖,指的是如果存在"A → B → C"的决定关系,则C传递函数依赖于A。如:<br></span><span style="font-size: 15px;">学生表(学号,学生姓名,学院,学院电话)<br></span><span style="font-size: 15px;">学院电话依赖学院,学院依赖学生信息,所以学院电话和学生信息之间存在传递依赖。所以不满足第三范式。<br></span><span style="font-size: 15px;">理解注释:不能存在传递依赖。即:除主键外,其他字段必须依赖主键。</span>
附加:
对于是否建中间表的问题。
위 내용은 데이터베이스 3 패러다임이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!