728x90
반응형
제 1정규화 : 한칸엔 하나의 데이터만!
| 회원번호 | 회원이름 | 프로그램 |
| 1 | 김민수 | 헬스 |
| 2 | 강만수 | 테니스 |
| 3 | 최민식 | 골프 |
| 3 | 최민식 | 탁구 |
제 1정규형 테이블
제 2정규화 : 현재 테이블의 주제와 관련없는 컬럼을 다른 테이블로 빼는 작업
* 현재 테이블은 수강등록현황 테이블
* 정확한 명칭은 partial dependency 를 제거한 테이블 ex) 가격은 프로그램에 종속되어 있음 이걸 제거하면 됨
* Composite primary key : 합하면 primary key 기능을 할 수 있는 컬럼.
| 회원번호 | 회원이름 | 프로그램 | 가격 | 납부여부 |
| 1 | 김민수 | 헬스 | 5000 | 0 |
| 2 | 강만수 | 테니스 | 8000 | 1 |
| 3 | 최민식 | 헬스 | 5000 | 1 |
| 4 | 최민식 | 탁구 | 6000 | 0 |
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
| 회원번호 | 회원이름 | 프로그램 | 납부여부 |
| 1 | 김민수 | 헬스 | 0 |
| 2 | 강만수 | 테니스 | 1 |
| 3 | 최민식 | 헬스 | 1 |
| 4 | 최민식 | 탁구 | 0 |
제2정규형을 만족하는 테이블
| 프로그램 | 가격 |
| 헬스 | 5000 |
| 테니스 | 8000 |
| 탁구 | 6000 |
제2정규형을 만족하는 테이블
제 3정규화 : 일반 컬럼에만 종속된 컬럼은 다른 테이블로 빼기
| 프로그램 | 가격 | 강사 | 출신대학 |
| 헬스 | 5000 | 메시 | 대학1 |
| 테니스 | 8000 | 호날두 | 대학2 |
| 탁구 | 6000 | 오타니 | 대학3 |
| 농구 | 7000 | 오타니 | 대학3 |
| 축구 | 4000 | 김민수 | 대학4 |
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
| 프로그램 | 가격 | 강사 |
| 헬스 | 5000 | 메시 |
| 테니스 | 8000 | 호날두 |
| 탁구 | 6000 | 오타니 |
| 농구 | 7000 | 오타니 |
| 축구 | 4000 | 김민수 |
| 강사 | 출신대학 |
| 메시 | 대학1 |
| 호날두 | 대학2 |
| 오타니 | 대학3 |
| 김민수 | 대학4 |
728x90
반응형
'DB > MariaDB' 카테고리의 다른 글
| INSERT ON DUPLICATE KEY UPDATE (0) | 2022.02.28 |
|---|---|
| IFNULL (0) | 2022.02.17 |
| 데이터베이스 사용자 비밀번호 변경 & 권한 관리 (0) | 2022.02.11 |
| 특정 DB 내에 존재하는 모든 컬럼 목록을 한번에 조회 (0) | 2022.01.20 |
| 더미데이터 넣기 (0) | 2021.11.12 |
| BINARY (대소문자 구분) (0) | 2021.11.12 |