[ 1과목 데이터 모델링의 이해 ]
1-1 데이터 모델링의 이해
1-2 데이터 모델과 성능
문항수 10문항 / 단순 암기
----------------------------------
[ 2과목 SQL 기본 및 활용 ]
2-1 SQL기본
2-2 SQL 활용
2-3 SQL 최적화 기본원리
문항수 40문항 / 암기 및 실전
----------------------------------
총점 100점 중 60점 이상, 과목별 40%이상 만족
= 1과목 최소 4문항 + 2과목 최소 16문항 포함
총 30문항이상 정답일 것
----------------------------------
※ 각종 무료 공개 사이트에서 정보를 집합하여 정리하였습니다.
1. 데이터 모델링의 이해
데이터 모델링의 특징
- 추상화: 현실 세계의 다양한 현상을 일정한 양식(표기법)에 의해 간략하게 표현
- 단순화: 누구나 이해하기 쉽도록 약속된 규약에 의한 제한된 표기법 또는 언어를 사용하여 표현
- 명확화: 명확하게 의미가 한 가지로 해석
데이터 모델링의 단계(개념→논리→물리)
- 개념적 모델링
추상화 수준이 가장 높음
업무중심적
포괄적
핵심 엔터티 도출
EA(Enterprise Architecture, 종합적이고 체계적으로 정리한 구조도)수립 시 많이 사용
- 논리적 모델링
키, 속성, 관계 등을 정확히 표현
재사용성이 높음
데이터 정규화 완료(일관성 확보, 중복 제거)
- 물리적 모델링
실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계
가장 구체적
데이터 모델링의 3요소
- 어떤 것(Things)
- 성격(Atributes)
- 관계(Relationships)
데이터 모델링 유의점
- 중복: 데이터베이스가 여러 장소에 같은 정보를 저장하지 않도록 함.
- 비유연성: 데이터의 정의를 데이터의 사용 프로세스와 분리. 작은 변화가 중대한 변화를 일으킬 수 있는 가능성 감소.
- 비일관성: 데이터와 데이터 간의 상호 연관 관계에 대해 명확히 정의.
(비일관성의 예. 신용 상태에 대한 갱신 없이 고객의 납부 이력 정보를 갱신)
데이터베이스 스키마 구조 3단계
- 외부 스키마(사용자 관점)
데이터 베이스의 개별 사용자 관점의 이해와 표현
복수의 외부 스키마 존재
DB의 개개 사용자나 응용 프로그램이 접근하는 데이터베이스
- 개념 스키마(통합 관점)
데이터 베이스의 관리자 관점으로 규칙과 구조 표현
데이터 베이스의 전체적인 논리 구조
- 내부 스키마(물리적 저장구조)
데이터 베이스의 설계자 관점으로 저장 장치 관점의 이해 및 표현
데이터가 실제로 데이터 베이스에 물리적으로 어떻게 저장 되는지 표현
ERP(Entity Relationship Diagram)
- '피터 첸'이 만든 표기법
- 대표적인 표기법: IE/Crow's Foot, Barker, UML, Chen
사진 설명을 입력하세요.
ERP 작성 순서
- 엔터티를 그린다
- 엔터티를 적절하게 배치한다(일반적으로 중요 엔터티를 왼쪽에 배치)
- 엔터티간 관계를 설정한다
- 관계명을 기술한다
- 관계의 참여도를 기술한다
- 관계의 필수여부를 기술한다
엔터티란?
- 사람, 장소, 물건, 사건, 개념 등 명사에 해당.
- 반드시 해당업무에서 필요하고 관리하고자 하는 정보, 업무 프로세스에 의해 이용되어야 함
- 유일한 식별자에 의해 식별 가능
(유일한 식별자의 예. 사원번호, 학생번호 등 1대 1로 매칭되는 정보.
유일한 식별자가 아닌 예. 동명이인이 있을 수 있기 때문에 '이름' 등)
- 영속적으로 존재하는 인스턴스의 집합(두개 이상)
- 속성이 있음
(속성의 예. 엔터티가 태풍일 경우 속성1 태풍명, 속성2 발생지역, 속성3 풍속 등이 될 수 있음)
- 다른 엔터티와 한 개 이상의 관계가 있음.
(예. 도서관이라는 모델링을 할 시, '도서', '대출번호', '출판사' 등은 서로 관계가 되지만
'제과점'은 해당 모델링에서는 관계가 없기에 엔터티라고 하기 어려움.)
발생시점에 따른 엔터티 분류
- 기본 / 키 엔터티: 해당 업무에 원래 존재하는 정보. 독립적으로 생성이 가능. 고유한 주식별자를 가짐
(예. 부서, 고객, 상품, 자재, 사원 등)
- 중심 엔터티: 기본엔터티로 부터 발생되며 업무에 있어 중심적인 역할.
(예. 계약, 사고, 주문, 매출, 예금원장 등)
- 행위 엔터티: 주 개 이상의 부모 엔터티로부터 발생되고 자주 내용이 바뀌거나 데이터량이 증가되는 특성.
(예. 주문목록, 사원변경이력 등)
유무(有無)형에 따른 엔터티 분류
- 유형 엔터티: 물리적인 형태가 있음. 안정적이며 지속적으로 활용됨.
(예. 사원, 물품, 강사 등)
- 개념 엔터티: 물리적으로 존재하지 않으나 관리해야 할 개념적 정보.
(예. 조직, 보험상품, 배달, 메뉴 등)
- 사건 엔터티: 사건 엔터티: 업무를 수행함에 따라 발생되는 엔터티. 비교적 발생량이 많음
(예. 주문, 청구, 미납, 구매 등)
속성
- 엔터티가 가지는 항목
- 분리되지 않는 단위
- 업무에 필요한 데이터를 저장
- 인스턴스의 구성요소로 최소의 데이터 단위
- 예. 매장이라는 엔터티 안에 매장주소, 매장전화번호 등
속성의 명칭 부여
- 해당 업무에서 사용하는 이름
- 서술식 속성명 사용하지 않음
- 약어 사용은 가급적 제한
- 전체 데이터 모델에서 유일성 확보하도록 하는것이 좋음
속성의 특성에 따른 분류
- 기본 속성
비즈니스 프로세스에서 도출한 본래 속성
예. 이름, ID, 전화번호, 등록일시 등
- 설계 속성
데이터 모델링 과정에서 발생되는 속성
예. 상품코드, 지점코드 등
- 파생 속성
데이터 조회 시 빠른 성능을 낼 수 있도록 하기 위해 원래 속성의 값을 계산하여 저장할 수 있도록 만든 속성
예. 합계, 평균 등
관계의 개념
- 엔터티간 논리적인 연관성
- 엔터티의 정의에 따라 영향을 받음
- 속성 정의 및 관계 정의에 따라 다양하게 변화
엔터티 사이에서 관계를 도출할 때
- 관심잇는 연관규칙이 존재
- 정보의 조합이 발생
- 업무기술서, 장표에 관계연결에 대한 규칙이 서술
- 업무기술서, 장표에 관계연결을 가능하게 하는 동사가 있음
관계의 표기법
- 관계명: 관계의 이름
- 관계 차수: 1:1, 1:M, M:N
- 관계 선택 사양
필수관계
선택관계
식별자 분류
- 대표성 여부
주 식별자: 엔터티 내에서 각 어커런스를 구분할 수 있는 구분자. 타 엔터티와 참조관계를 연결할 수 있는 식별자
보조 식별자: 엔터티 내에서 각 어커런스를 구분할 수 있는 구분자. 대표성을 가지지 못해 참조관계 연결 불가.
- 스스로 생성여부
내부 식별자: 엔터티 내에서 스스로 생성됨
외부 식별자: 타 엔터티와의 관계를 통해 타 엔터티로부터 받아오는 식별자
- 속성의 수
단일 식별자: 단일 속성으로 식별이 됨
복합 식별자: 둘 이상의 속성으로 식별되지 않음
- 대체 여부
본질 식별자: 비즈니스 프로세스에서 만들어지는 식별자
인조 식별자: 인위적으로 만들어지는 식별자
주식별자의 특징
- 유일성: 주식별자에 의해 엔터티내에 모든 인스턴스들을 유일하게 구분
- 최소성: 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함
- 불변성: 주식별자가 한 번 특정 엔터티에 지정이 되면 그 식별자의 값은 변하지 않아야 함
- 존재성: 주식별자가 지정되면 반드시 데이터 값이 존재(NULL 불가)
식별자 관계와 비식별자 관계
- 식별자 관계
강한 연결관계 표현
자식 주식별자의 구성에 포함
실선 표혐
반드시 부모 엔터티 종속
자식 주식별자구성에 부모 주식별자포함 필요
상속받은 주식별자속성을 타 엔터티에 이전 필요
- 비식별자 관계
약한 연결관계 표현
자식 일반 속성에 포함
점선 표현
약한 종속관계
자식 주식별자구성을 독립적으로 구성
자식 주식별자구성에 부모 주식별자 부분 필요
상속받은 주식별자속성을 타 엔터티에 차단 필요
부모쪽의 관계참여가 선택관계
식별자 표기법
사진 설명을 입력하세요.
엔터티, 인스턴스, 속성, 속겅값의 관계
- 한 개의 엔터티 = 두 개 이상의 인스턴스의 집합
- 한 개의 엔터티 = 두 개 이상의 속성
- 한 개의 속성 = 한 개의 속성값
2. 데이터 모델과 성능
'DO IT! > 개인공부' 카테고리의 다른 글
자바스크립트 기초 및 SQL 기본 문법 (1) | 2024.05.14 |
---|---|
OPIC, 이걸로 끝내자(feat. 멜팍 학원) (0) | 2024.05.02 |
댓글