본문 바로가기
DB

테이블 설계의 기초

by avvin 2019. 5. 12.

테이블 설계의 기초


테이블 설계의 핵심


  '테이블이 집합인 것'과 '테이블이 함수인 것'을 이해해야한다.



테이블 설계 제 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