테이블 설계의 기초
테이블 설계의 핵심
'테이블이 집합인 것'과 '테이블이 함수인 것'을 이해해야한다.
테이블 설계 제 1규칙 : 어떤 공통의 속성을 가진 것의 집합
테이블명은 반드시 복수형이나 집합명사로 표현해야한다.
쉽게 표현한다면 테이블은 클래스에 해당하고 각 행은 실체화된 인스턴스에 해당, 메서드를 뺀 클래스(C언어의 구조체와 비슷)
기본키 값에는 NULL이 올 수 없다.
(테이블을 표형식으로 나타낼 때는 기본키의 열 명에 미줄을 그어 표시하는 것이 일반적)
테이블 설계기법인 '정규형'과 지원 도구 'ER다이어그램'
정규형
목적 : 갱신 이상을 없애기 위함
정규형은 제1정규형부터 제5정규형까지 있지만 실무에서는 제3정규형까지만 알아도 무방
제 1 정규형 : 테이블 셀에 복합적인 값을 포함하지 않는다.(=모든 셀이 스칼라값)
스칼라 값 : 나누는 것이 가능하지 않는 값 ex)피부양자이름
데이터베이스의 테이블은 기본키를 입력값 'X', 그 외의 열 값을 출력값 'Y'로 간주하는 입력갓과 출력값의 대응표
(=기본키와 그 외 열 사이에는 함수적인 관계가 있다.)
이처럼 기본키와 다른 열 사이에 성립하는 함수적인 유일성을 함수종속성이라고 한다.
하지만 피부양자의 열에는 복합값이 포함돼있어 함수 종속성이 성립하지 않는다.
ER다이어그램(Entity-Relationship Diagram)
테이블 간의 관련성을 한눈에 알 수 있게 고안된 기술
(Entity(실체)란 테이블을 의미) 테이블간의 관계를 그래픽으로 이해하기 쉽도록 해주는 기술
IE(Information Engineering)표기법
ER다이어그램 표기법 중 하나.
고객기업 테이블(제3 정규형)
고객 기업 ID |
고객기업명 |
고객기업 규모 |
업계코드(FK) |
CA |
A상사 |
대 |
D001 |
CB |
B건설 |
중 |
D002 |
CC |
C화학 |
소 |
D003 |
CD |
D상사 |
중 |
D001 |
CE |
E섬유 |
대 |
D003 |
업계 테이블(제3 정규형)
업계코드 |
업계명 |
D001 |
석유 |
D002 |
건설 |
D003 |
바이오 |
D004 |
시스템 |
엔터티(Entity)
형식)
업계코드(PK) |
업계명 |
고객기업테이블
고객 기업(PK) |
고객 기업명 고객 기업 규모 업계 코드(FK) |
릴레이션십(Relationship)
----이해 못함 인강참고할것
이해 한 후에 정리해도 되는 부분
'DB' 카테고리의 다른 글
ERD Tool 무료 사이트 (0) | 2019.07.08 |
---|---|
백업과 복구 (0) | 2019.05.12 |
트랜잭션과 동시성 제어 (0) | 2019.05.09 |
sql 기초 (0) | 2019.05.01 |
데이터베이스와 아키텍쳐 구성 (0) | 2019.04.30 |