8장 #67
Replies: 2 comments
-
테이블 설계의 기초
테이블 구성의 예BAD EXAMPLE행 사이에 공통적인 요소가 존재하지 않음
GOOD EXAMPLE공통적인 특징을 가진 데이터의 집합
PK (Primary Key의 존재)
정규형 (Normal Form)
제1정규형(1NF)
정규화를 통해 원자성을 맞춰준다.
테이블은 함수다
제2정규형(2NF)
고객기업과 주몬번호가 PK로 되어있는 상황
제3정규형(3NF)
아래처럼 분리하면 따로 따로 원하는 데이터를 넣어도 문제 없다.
|
Beta Was this translation helpful? Give feedback.
-
데이터를 관리하는 그릇, 테이블
관계형 데이터베이스가 주류가 된 이유
테이블 설계는 논리의 세계
테이블이란
테이블 설계 규칙
열이란 개체의 속성이다.
기본키(Primary Key)
정규형이란
제 1 정규형
제 2 정규형
제 3정규형
ER 다이어그램
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
테이블 설계의 기초
RDBMS가 주류가 된 이유
rdbms가 표준 데이터베이스 제품이 된 이유는 데이터 정합성을 위한 “설계 노하우”가 매우 발달했기 때문이다. 즉 데이터베이스에서 정합성을 매우 높은 단계로 요구되고, 정합성을 높이기 위한 테이블 설계는 매우 중요함.
테이블 설계는 논리의 세계
시스템에서 하드웨어의 세계를 “물리”, 소프트웨어의 설계를 “논리”로 일컫는다. 테이블 설계는 서버나 스토리지 같은 물리층과 독립적으로 작성하는 것이 가능해 “논리의 세계에서 결정된다”라고 간주한다.
테이블의 개념
테이블은 단순히 행과 열만을 가진 것만이 아닌, “공통적인 요소의 집합”임. 관련성이 없는 것이 테이블에 모여서는 안 된다. 또한 테이블은 사람이 만든 개념이나 집합에 대응하는 형식으로 존재해야 한다.
테이블 설계 규칙
사물과 사물의 집합은 계층이 다르다
테이블 설계의 안티 패턴 중 하나는 “사물과 집합의 계층성”을 무시하는 경우다.
완두콩 테이블
윗부분에 기본키, 아랫부분에 기본키가 아닌 열을 기재한다. 업계코드에 대한 외래키가 걸려 있으며, 이것은 “업계코드 테이블에 정의되지 않으면 고객기업 테이블에 존재할 수 없음”을 뜻한다
릴레이션십
엔티티간의 관련성을 표현하는 것이 “외래키의 존재”이다. 해당 열이 다른 테이블의 기본키를 참조하는 것을 의미하며, 이 관련성을 “릴레이션십” 이라 한다. IE 표기법에서는 아래와 같은 규칙과 기호로 테이블 간 레코드 수의 대응관계를 표시한다
업계 테이블에서 업계코드는 복수의 고객기업 id와 연결될 가능성이 있다. 혹은 고객기업 id와 전혀 연결되지 않을 수도 있다. 따라서 0과 새발을 사용한다.
고객기업 테이블에서 업계코드는 반드시 한 개의 레코드로 대응한다. 따라서 1을 사용한다.
Beta Was this translation helpful? Give feedback.
All reactions