- [MySQL] 47. 정규화(2) -제 1 정규화(1NF)2024년 06월 13일
- Song hyun
- 작성자
- 2024.06.13.:14
728x90반응형[MySQL] 47. 정규화(2) -제 1 정규화(1NF)
1. 제 1 정규화(First Normal Form/1NF)
2. 제 1 정규화의 조건들
3. 시나리오 코드
*참고하면 좋은 글: https://whatsthatsound.tistory.com/288
1. 제 1 정규화(First Normal Form/1NF)
: 테이블이 제 1정규형을 만족했다는 것은, 아래 세 가지 조건을 만족했다는 것을 의미한다.
(1) 어떤 Relation에 속한 모든 Domail이 원자값(atomic value)만으로 되어 있다.
(2) 모든 atrribute에 반복되는 그룹(repeating gropu)이 나타나지 않는다.
(3) 기본 키를 사용해 관련 데이터의 각 집합을 고유하게 식별할 수 있어야 한다.
2. 제 1 정규화의 조건들
(1) 원자값(Atomic Value)이 아닌 데이터
: 제 1정규형의 첫 번째의 조건은 모든 도메인이 원자값으로 구성되어야 한다는 것이다.
*원자값이 아닌 예 : 수강과목
(2) 반복 그룹이 있는 데이터
: 제 1정규형의 두 번째 조건은 속성에 반복되는 그룹이 나타나지 않아야 한다는 것이다.
-> 반복되는 그룹이 있다면 테이블을 나누어야 한다.
(3) 기본 키(PK:Primary key)가 없는 데이터
: 제 1정규형의 세 번째 조건은 각 데이터 집합을 고유하게 식별할 수 있는 기본키가 있어야 한다.
3. 시나리오 코드
(1) 원자성을 위반한 테이블의 형태
학생ID 이름 수강과목 1 홍길동 수학,과학 2 이순신 역사,미술,음악 (2) 반복된 그룹이 생성된 형태
학생ID 이름 전화번호1 전화번호2 1 홍길동 010-1111-1111 010-8888-8888 2 이순신 010-2222-2222 (3) 고유한 식별 키(=PK)가 없는 상태
이름 주소 전화번호 홍길동 부산시 동구 010-1111-1111 이순신 부산시 남구 010-2222-2222 홍길동 부산시 해운대구 010-3333-3333 *제 1 정규화를 적용한 예시
ID NAME 1 홍길동 2 이순신 3 강감찬 ID USER_ID TEL 100 1 010-1111-1111 101 2 010-2222-2222 102 3 010-3333-3333 103 1 010-4444-4444 104 2 010-5555-5555 => 제 1 정규화의 특징들을 사용하면 위와 같은 형태로 정리할 수 있다.
728x90반응형'MySQL > 응용 및 DB 접근' 카테고리의 다른 글
[MySQL] 49. 코드 예제: 제1,2정규화 실습하기 (0) 2024.06.13 [MySQL] 48. 정규화(3) -제 2 정규화(2NF) (0) 2024.06.13 [MySQL] 46. 서브 쿼리(3) (0) 2024.06.13 [MySQL] 45. 서브 쿼리 (2) (0) 2024.06.13 [MySQL] 44. 연습문제 풀이 (0) 2024.06.13 다음글이전글이전 글이 없습니다.댓글