SMALL
1. 데이터 모델
- 데이터 모델은 현실 세계의 정보를 인간과 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델
2. 데이터 모델 절차 (개논물)
- 개념적 데이터 모델
- 현실 세계에 대한 인식을 추상적, 개념적으로 표현하여 개념적 구조를 도출하는 데이터 모델
- 주요 산출물 : 개체 관계 다이어그램
- 논리적 데이터 모델
- 업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현한 데이터 모델
- 논리적 데이터 모델을 통해 "관계 데이터 모델", "계층 데이터 모델", "네트워크 데이터 모델, "객체지향 데이터 모델, "객체-관계 데이터 모델" 중 하나의 모델에 맞게 설계
- 논리적 데이터 모델링에서 정규화 실행
- 목표 DBMS에 맞는 스키마 설계, 트랜잭션 인터페이스 설계
- 물리적 데이터 모델
- 논리 데이터 모델을 특정 DBMS의 특성 및 성능을 고려하여 물리적인 스키마를 만드는 일련의 데이터 모델
- 테이블(Table), 인덱스(Index), 뷰(View), 파티션(Partition) 등 객체를 생성
- 성능 측면에서 반 정규화 수행
- 접근 경로 설계
3. 논리적 데이터 모델의 종류
- 관계 데이터 모델
- 논리적 구조가 2차원 테이블 형태로 구성된 모델
- 기본 키(PK)와 이를 참조하는 외래 키(FK)로 관계 표현
- 1:1, 1:N, N:M
- 계층 데이터 모델
- 논리적 구조가 트리 형태로 구성된 모델
- 1:N관계만 허용
- 상하 관계 존재(부모-자식 개체)
- 네트워크 데이터 모델
- 논리적 구조가 그래프 형태로 구성된 모델
- CODASYL DBTG 모델이라고 불림
- 상위와 하위 레코드 사이에 다대다(N:M) 관계를 만족하는 도구
4. 관계 데이터 모델 구성 요소
- 릴레이션 : 행(Row)과 열(Column)로 구성된 테이블
- 튜플 (Tuple) : 릴레이션의 행(Row)에 해당하는 요소
- 속성 (Attribute) 릴레이션의 열(Column)에 해당되는 요소
- 카디널리티 (Cardinality) : 튜플(Row)의 수
- 차수 (Degree) 애트리뷰트(Column)의 수
- 스키마(Schema) : 데이터베이스의 구조, 제약 조건 등의 정보를 담고 있는 기본적인 구조
- 인스턴스 (Instance) 정의된 스키마에 따라 생성된 테이블에 실제 저장된 데이터의 집합
5. 관개 대수
- 관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 정형 언어
6. 관계대수 연산자 종류
- 일반 집합 연산자 (합교차카)
| 연산자 | 기호 | 표현 | 설명 |
| 합집합 (Union) |
∪ | R ∪ S | 합병 가능한 두 릴레이션 R과 S의 합집합 |
| 교집합 (Intersection) |
∩ | R ∩ S | 릴레이션 R과 S에 속해있는 모든 튜플로 결과 릴레이션 구성 |
| 차집합 (Difference) |
- | R - S | R에 존재하고 S에 미 존재하는 튜플로 결과 릴레이션 구성 |
| 카티션 프로덕트 (CARTESIAN Product) |
× | R × S | R과 S에 속한 모든 튜프을 연결해 만들어진 새로운 튜플로 릴레이션 구성 |
- 순수 관계 연산자 (셀프조디)
| 연산자 | 기호 | 표현 | 설명 |
| 셀렉트 (Select) |
δ | δ조건(R) | 릴레이션 R에서 조건을 만족시키는 튜플 반환 |
| 프로젝트 (Project) |
π | π속성리스트(R) | 릴레이션 R에서 주어진 속성들의 값으로만 구성된 튜플 반환 |
| 조인 (Join) |
⋈ | R ⋈ S | 공통 속성을 이용해 R과 S으 ㅣ튜플들을 연결해 만들어진 튜플 반환 |
| 디비전 (Division) |
÷ | R ÷ S | 릴레이션 S의 모든 튜플과 관련 있는 R의 튜플 반환 |
7. 관계 해석
- 관계 해석은 튜플 관계 해석과 도메인 관계 해석을 하는 비절차적 언어
8. 논리 모델링 속성 (개속관)
- 개체 (Entity) : 관리할 대상이 되는 실체
- 사각형으로 표시
- 속성 (Attribute) : 관리할 정보의 구체적 항목
- 단수형으로 명명
- 개체명 사용 안함
- 타원 형으로 표시
- 관계 (Relationship) : 개체 간의 대응 관계
- 두 개체 간의 관계 정의
- 마름모 표시
9. 개체 관계 (E-R) 모델 : 데이터들의 관계를 사람이 이해할 수 있는 형태로 표현하기 위해 사용되는 모델
- 개체 : □
- 관계 : ◇
- 속성 : ○
- 다중 값 속성 : ◎
- 관계-속성 연결 : ─
10. 이상 현상(Anomaly) (삽삭갱)
- 이상 현상은 데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적 현상
- 삽입 이상 : 정보 저장 시 해당 정보의 불필요한 세부 정보를 입력해야 하는 경우
- 삭제 이상 : 정보 삭제 시 원치 않는 다른 정보가 같이 삭제되는 경우
- 갱신 이상 : 중복 데이터 중에서 특정 부분만 수정되어 중복된 값이 모순을 일으키는 경우
11. 정규화 (Normalization)
- 정규화는 관계형 데이터 모델에서 데이터의 중복성을 제거하여 이상 현상을 방지하고, 데이터의 일관성과 정확성을 유지하기 위해 무손실 분해하는 과정
12. 정규화 단계 (원부이 결다조)
- 1 정규형(1NF) : 원자값으로 구성
- 2 정규형(2NF) : 부분 함수 종속 제거 (완전 함수적 종속 제거)
- 3 정규형(3NF) : 이행 함수 종속 제거
- 보이스-코드 정규형(BCNF) : 결정자 후보 키가 아닌 함수 종속 제거
- 4 정규형(4NF) : 다치(다중 값) 종속 제거
- 5 정규형(5NF) : 조인 종속 제거
13. 반 정규화(De-Normalization) (= 비정규화, 역정규화)
- 반정규화는 정규화된 엔터티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법
- 장점
- 반 정규화된 데이터 구조는 성능 향상과 관리의 효율성 증가
- 단점
- 데이터의 일관성 및 정합성 저하
- 유리르 위한 비용이 별도로 발생하여 성능에 나쁜 영향 미칠 수 있음
14. 반 정규화 기법 (태병분증 컬중 관중)
- 테이블
- 병합
- 조인 횟수를 줄여 성능 향상
- 분할 (파티셔닝)
- 수평 분할 : 테이블 분할에 레코드를 기준으로 활용
- 수직 분할 : 하나의 테이블이 가지는 컬럼의 개수가 증가하는 경우 활용
- 중복 테이블 추가
- 대량의 데이터들에 대한 집계함수를 사용하여 실시간 통계정보를 계산하는 경우에 효과적인 수행을 위해 별도의 통계 테이블을 두거나 중복 테이블 추가
- 병합
- 컬럼
- 컬럼 중복화 : 조인 성능 향상을 위한 중복 허용
- 관계
- 중복 관계 추가 : 데이터를 처리하기 위한 여러 경로를 거쳐 조인이 가능하지만 이때 발생할 수 있는 성능 저하를 예방하기 위해 추가적 관계를 맺는 방법
728x90
LIST
'정보처리기사 > 03. 데이터 입출력 구현' 카테고리의 다른 글
| Chapter 03. 데이터 베이스 기초 활용하기 (0) | 2021.09.08 |
|---|---|
| Chapter 02. 물리 데이터 저장소 설계 (0) | 2021.09.08 |
댓글