제 1장 데이터 모델링의 이해
데이터 모델링 시 유의할 사항
- 중복성
- 비유연성 : 데이터 모델을 어떻게 설계했느냐에 따라 사소한 업무변화에도 데이터 모델이 수시로 변경되어 유지보수의 어려움을 가중시킬 수 있다. 데이터의 정의를 데이터의 사용 프로세스와 분리함으로써 데이터 모델링은 데이터 혹은 프로세스의 작은 변화가 애플리케이션과 데이터베이스에 중대한 변화를 일으킬 수 있는 가능성을 줄인다.
- 비일관성
데이터베이스 스키마 구조는 3단계로 구분
- 개념 스키마 : 통합관점의 스키마 구조를 표현한 것
- 외부 스키마 : 여러 사용자 관점으로 구성
- 내부 스키마
데이터 모델링은 통합 관점의 뷰를 가지고 있는 개념 스키마를 만들어가는 과정으로 이해할 수 있다.
엔터티의 특징
1. 반드시 해당 업무에서 필요하고 관리하고자 하는 정보
2. 유일한 식별자에 의해 식별이 가능해야 함
3. 영속적으로 존재하는 (두 개 이상의) 인스턴스의 집합이여야 함
4. 엔터티는 업무 프로세스에 의해 이용되어야 함
5. 엔터티는 반드시 속성이 있어야 함
6. 엔터티는 다른 엔터티와 최소 한 개 이상의 관계가 있어야 함
엔터티의 발생 시점에 따라 기본 엔터티, 중심 엔터티, 행위 엔터티로 구분할 수 있다.
두 개의 엔터티 사이에 정의한 관계에 대해 확인해야 할 사항
1. 두 개의 엔터티 사이에 관심 있는 연관규칙이 존재하는가
2. 두 개의 엔터티 사이에 정보의 조합이 발생되는가
3. 업무기술서, 장표에 관계 연결에 대한 규칙이 서술되어 있는가
4. 업무기술서, 장표에 관계 연결을 가능하게 하는 동사가 있는가
도메인 : 각 엔터티(테이블)의 속성에 대해서 어떤 유형의 값이 들어가는지 정의하는 개념
속성의 명칭
- 애매모호하지 않게 복합 명사를 사용하여 구체적으로 명명
- 전체 데이터에서 유일성을 확보해야 반정규화, 통합 등의 작업을 할 때 혼란을 방지할 수 있음
주식별자 특징
- 유일성 : 주식별자에 의해 엔터티 내에 모든 인스턴스들이 유일하게 구분되어야 한다.
- 최소성 : 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 한다.
- 불변성 : 지정된 주식별자의 값은 자주 변하지 않는 것이어야 한다.
- 존재성 : 주식별자가 지정이 되면 반드시 값이 들어와야 한다.
식별자의 종류
- 엔티티 내에서 대표성을 가지는가? 주식별자 : 보조식별자
- 엔터티 내에서 스스로 생성되었는가? 내부식별자 : 외부식별자
- 단일 속성으로 식별이 되는가? 단일식별자 : 복합식별자
- 원래 업무적으로 의미가 있던 식별자 속성을 대체하여 일련번호와 같이 새롭게 만든 식별자를 구분? 본질식별자 : 인조식별자
기본 속성 : 업무 분석을 통해 바로 정의한 속성
설계 속성 : 원래 업무 상 존재하지는 않지만 설계를 하면서 도출해내는 속성
파생 속성 : 다른 속성으로부터 계산이나 변형이 되어 생성되는 속성
제 2장 데이터 모델과 SQL
함수 종속성의 규칙에 따라 {관서번호} -> {관리점번호, 관서명, 상태, 관서등록일자}인 관서번호가 PK인 엔터티가 2차 정규화로 분리되어야 한다.
3차 정규화
정규화는 논리 데이터 모델 상세화 과정의 대표적인 활동으로,
논리 데이터 모델의 일관성을 확보하고 중복을 제거하여 속성들이 가장 적절한 엔터티에 배치되도록 함으로써 더 신뢰성 있는 데이터 구조를 얻는 데 목적이 있다.
부모의 식별자를 자식의 식별자에 포함 = 식별관계
부모의 식별자를 자식의 일반속성으로 상속 = 비식별관계
NULL값과 어떤 숫자를 비교한 결과는 항상 unknown
NULL = NULL의 결과는 FALSE or unknown
집계 함수를 계산할 때 NULL 값은 0이 아니라 계산에서 제외된다.
'자격증 > SQLD' 카테고리의 다른 글
[SQLD] 2024년 신유형 노랭이 문제 풀이 해설 모음 - 과목 2. SQL 기본 및 활용 (0) | 2024.05.25 |
---|