[SQLD] 과목 1. 데이터 모델링의 이해 1) 데이터 모델링의 이해
반응형
SQLD 시험 대비용 개념정리
출처: SQL 자격검정 실전문제, 한국데이터산업진흥원
-발생시점에 따른 엔터티 분류
- 기본/키엔터티
- 중심엔터티
- 행위엔터티
-모델링의 특징
- 현실 세계를 일정한 형식에 맞추어 표현하는 추상화의 의미
- 시스템 구현 + 업무 분석 및 업무 형상화를 위한 사전작업
- 복잡한 현실을 단순화 하는 의미
- 애매모호함을 배제, 정확하게 현상을 기술하는 정확화의 의미
-데이터 모델링이란
- 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법
- 현실세계의 데이터에(what) 대해 약속된 표기법에 의해 표현되는 과정
- 데이터베이스를 구축하기 위한 분석/설계의 과정
-데이터 모델링이 필요한 주요 이유
- 분석된 모델을 가지고 DB를 생성하여 개발 및 데이터 관리에 사용하기 위한 것
- DB를 구축하기 위한 용도를 위해 데이터 모델링을 수행
- 업무의 흐름을 설명하고 분석하는 부분에 의미를 가짐
-데이터 모델링의 유의점
- 중복
- 비유연성
- 비일관성
-데이터모델링 개념(개 - 논 - 물)
- 개념적 데이터 모델링 (포괄적)
- 논리적 데이터 모델링 (정확하게)
- 물리적 데이터 모델링 (물리적)
-DB 스키마 구조 3단계 (외 - 개 - 내) / top-down
- 외부스키마 (사용자 단계)
- 개념스키마 (모든 사용자 관점 / 통합적 표현)
- 내부스키마 (물리적으로 데이터 저장)
-ERD
- 1976년 피터첸이 만듬
- 엔터티 도출 -> 엔터티 배치 ->관계 설정 -> 관계명 기술
-엔터티의 특징
- 반드시 업무에 필요하고 관리해야 하는 정보 + 반드시 사용되어야 함
- 유일한 식별자
- 영속적인 인스턴스의 집합(인스턴스가 두 개 이상)
- 반드시 속성이 있어야 함
- 다른 엔터티와 최소 한 개 이상의 관계가 있어야 함
-엔터티의 종류
- 기본 엔터티(키엔터티)
- 중심 엔터티(메인엔터티)
- 행위 엔터티
- 개념 엔터티
-엔터티의 이름을 부여하는 방법
- 약어를 사용하지 않고, 이름을 간결하고 명확하게 함
- 현업의 업무 용어를 사용, 업무상의 의미를 분명하게 함
- 유일한 이름을 부여해야
- 생성되는 의미대로 자연스럽게 부여
-속성: 더 이상 분리되지 않는 최소의 데이터 단위 (엔터티에서 한 분야를 담당
- 엔터티에 대한 구체적인 정보 제공
- 한 개의 엔터티는 두 개 이상의 인스턴스의 집합
- 한 개의 엔터티는 두 개 이상의 속성을 가짐
- 한 개의 속성은 한 개의 속성값을 가짐
- 속성도 집합
-속성의 특성에 따른 분류
- 기본속성 (업무로부터 추출한 일반적인 속성) ex) 원금, 예치기간, 이자율
- 설계속성 (업무상 필요 데이터 외의 업무를 규칙화하기 위해 변형하여 정의) ex) 예금분류
- 파생속성 (데이터 조회시 빠른 성능을 위해 원래 속성값을 계산하여 저장할 수 있도록 만듬) ex) 이자
-데이터모델의 개념
- 시스템카탈로그 (시스템 자체에 관련이 있는 다양한 객체에 대한 정보를 포함하는 시스템 DB)
- 용어사전 (DB 검색을 용이하게 하기 위한 색인용 사전)
- 속성사전
- 도메인 (가질 수 있는 값의 범위, 데이터타입, 크기, 제약사항 지정)
-속성의 명칭 부여
- 업무에서 사용하는 이름을 부여
- 서술식 속성명은 사용하지 않음
- 약어 사용은 가급적 제한
- 유일성 확보
-데이터모델링 관계에 대한 설명
- 존재, 행위의 의한 관계로 구분, ERD에서는 이를 구분하지 않고 단일화된 표기법을 사용
- UML은 클래스 다이어그램의 관계 중 연관, 의존 관계가 있고 이것을 각각 실선, 점선으로 다르게 표현
-관계의 표기법
- 관계명: 관계의 이름
- 관계차수: 1:1, 1:M, M:N
- 선택성(선택사양): 필수관계, 선택관계
-엔터티 사이에서 관례를 도추할 때 체크사항
- 두 개의 엔터티 사이에 관심있는 연관규칙이 존재하는가
- 두 개의 엔터티 사이에 정보의 조합이 발생되는가
- 업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가
- 업무기술서, 장쵸에 관계연결을 가능하게 하는 동사(Verb)가 있는가
-식별자의 종류
- 대표성의 여부: 주식별자, 보조식별자
- 스스로 생성 여부: 내부식별자, 외부식별자
- 속성의 수: 단일식별자, 복합식별자
- 업무적으로 의미가 있던 식별자 속성: 본직실별자
- 일련번호같이 새롭게 만든 식별자를 구분하기 위해 만든 식별자: 인조 식별자 (대체여부)
-주식별자의 특징
- 유일성: 모든 인스턴스들을 유일하게 구분
- 최소성: 유일성을 만족하는 최소의 수가 되어야 함
- 불변성: 한 번 지정된 식별자의 값은 변하지 않아야 함
- 존재성: 반드시 값이 존재해야 함
-식별자와 비식별자 관계 비교
항목 | 식별자 관계 | 비식별자 관계 |
목적 | 강한 연결관계 표현 | 약한 연결관계 표현 |
자식 주식별자 영향 | 자식 주식별자의 구성에 포함됨 | 자식 일반속성에 포함됨 |
표기법 | 실선 | 점선 |
연결 고려사항 | -반드시 부모 엔터티에 종속 -자식 주식별자 구성에 부모가 포함되어야 함 -상속받은 주식별자속성을 타엔터티에 이전 필요 |
-약한 종속관계 -자식 주식별자 구성을 독립적으로 구성 -자식 주식별자구성에 부모 주식별자 부분 필요 -상속받은 주식별자속성을 타 엔터티에 차단 필요 -부모쪽의 관계참여가 선택관계 |
반응형
'SQL' 카테고리의 다른 글
[ORACLE] 프로그래머스 어린 동물 찾기 (0) | 2021.03.10 |
---|---|
[ORACLE] 프로그래머스 아픈 동물 찾기 (0) | 2021.03.10 |
[ORACLE] 프로그래머스 역순 정렬하기 (0) | 2021.03.10 |
[ORACLE] 프로그래머스 모든 레코드 조회하기 (0) | 2021.03.10 |
[ORACLE] 프로그래머스 최댓값 구하기 (0) | 2021.03.09 |