728x90
관계형 DB 설계 과정
- "엔티티" 정의, "관계" 정의, "식별자" 정의, "속성" 정의, "정규화" 등으로 나누어 단계적으로 진행
엔티티
- 하나 이상의 속성을 가지며 구별이 가능하도록 식별자를 가져야 하며 다른 엔티티와 관계를 가지는
유요한 정보를 제공해야 함 - 각 엔티티는 인스턴스라 불리는 개별적인 객체들의 집합으로 나타냄
엔티티의 충족 조건
- 업무에 "유용한 정보"를 제공해야 함
- 명확한 "속성" 유형이 하나 이상 존재해야 함
- 각각의 "인스턴스"를 구분할 수 있어야 함
- 엔티티는 최소한 하나 이상의 다른 엔티티와 "관계"를 가져야 함
관계
- 두 엔티티를 연결하고자 하는 업무적인 이유, 업무 규칙이나 제약을 나타내는 두 엔티티 사이에서
"논리적" 연결을 의미 - 관계의 종류는 "식별"관계와 "비식별"관계로 나누어지며, 비식별관계는 자식 엔티티의 종속성 여부에
따라 다시 "비식별 종속"관계과 "비식별 비종속"관계로 나누어진다. - 관계에 참여하는 각 엔티티가 얼마나 많이 참여할 수 있는가의 관계 비율을 "기수"성(카디널리티)라
부른다. 기수성의 종류에는 1: (0, 1, M) 관계 1 : (1, M) 관계, 1 : (0, 1) 관계 1: (N) 관계 등의 네 가지 유형이 있다.
엔티티 관계도
- "ERD"로 통칭되는 엔티티 관계도는 엔티티와 그들의 관계를 도형으로 표기해 총체적인 정보 개념을 표현한 것
개발자와 사용자 간의 의사소통을 원할하게 해주는 도구로 사용됨
식별자
- 한 엔티티 내의 특정 "인스턴스를 구분"할 수 있는 단말속성 또는 속성 그룹을 "식별자(Key,Identifier))라
칭한다. - 식별자의 종류는 "후보"식별자, "주"식별자, "부"식별자, "대리"식별자, "역 엔트리"등의 다섯 가지로 구분할 수 있다.
속성과 도메인
- 각 엔티티는 정보를 담고 있는데 이러한 정보를 "속성 (Attributes)"라고 한다.
"도메인"은 속성이 가질 수 있는 값의 범위를 의미한다.
정규화
- "정규화"는 복잡한 데이터 구조를 "단순"하고 "안정적"으로 변환하는 과정
정규화의 목적은 정보의 중복을 "최소화"하고 정보의 "일관성"과 "무결성"을 극대화함으로써
정보의 "안정성"과 "신뢰성"을 높이는 데 있다. - 정규화의 단계는 반복되는 속성의 분할 제거를 통해 "제 1 정규형(1NF)" 상태를 만든 후, 주 식별자에
종속되지 않는 속성의 분할 제거를 통해 "제 2 정규형(2NF)" 상태로 개선, 비 식별자 속성에 종속하는
속성의 분할 제거를 통해 "제 3 정규형(3NF)" 상태를 만드는 과정으로 진행된다. - 정보의 중복을 최소화
- 데이터의 관리의 일관성 유지와 저장 공간의 낭비요인 방지
- 정보의 일관성 확보, 무결성 극대화
- 삭제이상, 삽입이상 등과 같은 오류 방지
- 정보구조의 안정성 최대화
- 초기에 구축한 정보구조를 수시로 바꾸는 일 없이 안정적으로 유지
- 정보모형의 단순화
- 하나의 엔티티는 하나의 목적을 위해 사용
- 정보의 신뢰도 증대
정규화의 1~2 단계의 문제점
- 제 1 정규형의 문제
- 삭제이상, 삽입이상, 갱신이상
- 제 2 정규형의 문제
- 삭제 이상
'시스템 분석 설계' 카테고리의 다른 글
데이터 모형 구축 방법 (0) | 2022.12.07 |
---|---|
통합 분석 설계 방법론 정리 (0) | 2022.12.07 |
기말고사 시스템 분석 설계 정리 (0) | 2022.12.06 |