SQLD 1과목 1장 정리
** SQL 자격검정 실전문제, 주로 핵심정리부분 내용입니다.
1. 데이터 모델링의 이해
1) 데이터 모델링의 이해
(1) 데이터 모델의 이해
데이터 모델링의 정의
- 정보시스템을 구축하기위한 데이터 관점의 업무 분석 기법
- 현실세계의 데이터(what)에 대해 약속된 표기법에 의해 표현하는 과정
- 데이터베이스를 구축하기 위한 분석/설계의 과정
데이터 모델링 유의점 (1-4)
- 중복(Duplication)
- 비유연성(Inflexibility)
- 비일관성(Inoonsistency)
데이터 모델링의 진행 (1-5)
- 개념적 데이터 모델링
- 추상화 수준이 높고 업무중심적이고 포괄적인 수준의 모델링 진행.
- 전사적 데이터 모델링, EA수립시 많이 이용
- 논리적 데이터 모델링
- 시스템으로 구축하고자 하는 업무에 대해 key, 속성, 관계 등을 정확하게 표현, 재사용성이 높음
- 물리적 데이터 모델링
- 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계
데이터독립성 요소 (1-6)
- 외부스키마(External Schema)
- 개념스키마(Conceptual Schema)
- 내부스키마(Internal Schema)
ERD 작성 순서 (1-8)
- 엔터티를 그린다
- 엔터티를 적절하게 배치한다
- 엔터티간 관계를 설정한다
- 관계명을 기술한다
- 관계의 참여도를 기술한다
- 관계의 필수여부를 기술한다
(2) 엔터티
발생시점에 따른 엔터티 분류 (1-12)
- 기본/키엔터티(Fundamental Entity)
- 그 업무에 원래 존재하는 정보로서 다른 엔터티와 관계에 의해 생성되지 않고 독립적으로 생성이 가능
- 중심엔터티(Main Entity)
- 기본엔터티로부터 발생되고 그 업무에 있어서 중심적인 역할
- 데이터의 양이 많이 발생되고 다른 엔터티와의 관계를 통해 많은 행위엔터티 생성
- 행위엔터티(Active Entity)
- 두 개 이상의 부모 엔터티로부터 발생되고 자주 내용이 바뀌거나 데이터량이 증가
- 분석초기 단계에서는 잘 나타나지 않으며 상세 설계단계나 프로세스와 상관모델링을 진행하면서 도출될 수 있음
엔터티의 특징 (1-10) (1-11)
- 반드시 해당 업무에서 필요하고 관리하고자 하는 정보여야 한다.
- 유일한 식별자에 의해 식별이 가능해야 한다.
- 영속적으로 존재하는 인스턴스의 집합이어야 한다.
- 엔터티는 업무 프로세스에 의해 이용되어야 한다.
- 엔터티는 반드시 속성이 있어야 한다.
- 엔터티는 다른 엔터티와 최소 한 개 이상의 관계가 있어야 한다.
(3) 속성
엔터티, 인스턴스, 속성, 속성값의 관계 (1-15)
- 한 개의 엔터티는 두 개 이상의 인스턴스의 집합이어야 한다.
- 한 개의 엔터티는 두 개 이상의 속성을 갖는다.
- 한 개의 속성은 한 개의 속성값을 갖는다.
속성의 특성에 따른 분류 (1-17)
- 기본 속성
- 엔터티에 가장 일반적이고 많은 속성.
- 설계 속성
- 업무상 필요한 데이터 이외에 데이터 모델링을 위해, 업무를 규칙화하기 위해 속성을 새로 만들거나 변형하여 정의하는 속성.
- 파생 속성
- 다른 속성에 영향을 받아 발생하는 속성. 보통 계산된 값들.
도메인(1-18)
- 각 속성의 가질 수 없는 값의 범위
- 엔터티 내에서 속성에 대한 데이터타입과 크기, 그리고 제약사항을 저장
속성의 명칭 부여(1-19)
- 해당업무에서 사용하는 이름을 부여 한다.
- 서술식 속성명은 사용하지 않는다.
- 약어사용은 가급적 제한한다.
- 전체 데이터모델에서 유일성 확보하는 것이 좋다.
(4) 관계
관계의 분류 (1-20)
- ERD: 존재적 관계와 행위에 의한 관계를 구분하지 않음
- 클래스 다이어그램: 연관관계(실선)와 의존관계(점선)로 표현
관계의 표기법 (1-21) (1-22)
- 관계명(Membership): 관계의 이름
- 관계차수(Cardinality): 1:1, 1:M, M:N
- 관계선택사양(Optionality): 필수관계, 선택관계
관계 체크사항 (1-23)
- 두 개의 엔터티 사이에 관심있는 연관규칙이 존재하는가?
- 두 개의 엔터티 사이에 정보의 조합이 발생되는가?
- 업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가?
- 업무기술서, 장표에 관계연결을 가능하게 하는 동사(Verb)가 있는가?
관계 읽기
- 기준(Source) 엔터티를 한 개(One) 또는 각(Each)으로 읽는다.
- 대상(Target) 엔터티의 고나계참여도 즉 개수(하나, 하나 이상)를 읽는다.
- 관계선택사양과 관계명을 읽는다.
(5) 식별자
식별자의 특징 (1-25)
- 유일성: 주식별자에 의해 엔터티 내의 모든 인스턴스들이 유일하게 구분되야 한다.
- 최소성: 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최수의 수가 되어야 한다.
- 불변성: 지정된 주식별자의 값은 자주 변하지 않는 것이어야 한다.
- 존재성: 주식별자가 지정이 되면 반드시 값이 들어와야 한다. (Null 안됨)
식별자의 종류 (1-26)
- 엔터티 내에서 대표성을 가지는가에 따라 주식별자(Primary Identifier)와 보조식별자(Alternate Identifier)로 구분
- 엔터티 내에서 스스로 생성되었는지 여부에 따라 내부식별자와 외부식별자(Foreign Identifier)로 구분
- 단일 속성으로 식별이 되는가에 따라 단일식별자(Single Identifier)와 복합식별자(Composit Identifier)로 구분
- 원래 업무적으로 의미가 있던 식별자 속성을 대체하여 일련번호와 같이 새롭게 마든 식별자를 구분하기 위해 본질식별자와 인조식별자로 구분
항목 | 식별자관계 | 비식별자관계 |
---|---|---|
목적 | 강한 연결관계 표현 | 약한 연결관계 표현 |
자식 주식별자 영향 | 자식 주식별자의 구성에 포함됨 | 자식 일반 속성에 포함됨 |
표기법 | 실선 표현 | 점선 표현 |
연결 고려사항 | - 반드시 부모엔터티 종속 - 자식 주식별자구성에 부모 주식별자포함 필요 - 상속받은 주식별자속성을 타 엔터티에 이전 필요 |
- 약한 종속관계 - 자식 주식별자구성을 독립적으로 구성 - 자식 주식별자구성에 부모 주식별자 부분 필요 - 상속받은 주식별자속성을 타 엔터티에 차단 필요 - 부모쪽이 관계참여가 선택관계 |
댓글남기기