Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

제2정규형(2NF)

<시간/>

2NF란 무엇입니까?

정규화의 두 번째 단계는 2NF입니다.

테이블은 관계가 1NF에 있고 모든 규칙을 충족하고 키가 아닌 모든 속성이 기본 키에 완전히 종속되는 경우에만 2NF에 있습니다.

두 번째 정규형은 기본 키에 대한 부분 종속성을 제거합니다.

예를 들어 보겠습니다 -

예(테이블이 2NF를 위반함)

<학생 프로젝트>

StudentID

프로젝트 ID

학생 이름

프로젝트 이름
S89
P09
올리비아
지리적 위치
S76
P07
야곱
클러스터 탐색
S56
P03
아바
IoT 기기
S92
P05
알렉산드라
클라우드 배포


위의 표에는 부분 종속성이 있습니다. 방법을 알아보겠습니다 -

주요 속성은 StudentID 입니다. 및 프로젝트 ID .

명시된 바와 같이 비 주요 속성, 즉 StudentName 프로젝트 이름 부분 종속이 되려면 후보 키의 일부에 기능적으로 종속되어야 합니다.

학생 이름 StudentID로 결정할 수 있음 , 관계를 부분 종속적으로 만듭니다.

프로젝트 이름 ProjectID로 결정할 수 있음 , 관계를 부분 종속적으로 만듭니다.

따라서 <StudentProject> 관계는 정규화에서 2NF를 위반하고 잘못된 데이터베이스 설계로 간주됩니다.

예시(2NF로 변환한 표)

2NF에 대한 부분 종속성과 위반을 제거하려면 위의 표를 분해하십시오 -

<학생 정보>

StudentID
프로젝트 ID
학생 이름
S89
P09
올리비아
S76
P07
야곱
S56
P03
아바
S92
P05
알렉산드라


<프로젝트 정보>

프로젝트 ID
프로젝트 이름
P09
지리적 위치
P07
클러스터 탐색
P03
IoT 기기
P05
클라우드 배포


이제 관계는 Database Normalization의 2nd Normal 형식입니다.

제2정규형(2NF)