1) 데이터 모델
데이터 모델이란?
현실 세계의 정보를 인간과 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델
데이터 모델의 요소
- 연산 : 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세. 릴레이션을 조작하기 위한 관계 연산 (SELECT / PROJECT / JOIN / DIVISION)
- 구조 : 데이터베이스에 논리적으로 표현될 대상으로서의 개체 타입과 개체 타입 간의 관계. 데이터 구조 및 정적 성질을 표현하는 요소
- 제약 조건 : 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건. 데이터 무결성 유지를 위한 DB의 보편적 방법. 릴레이션의 특정 칼럼에 설정하는 제약을 의미(개체 무결성, 참조 무결성 등)
데이터 모델 절차
요구사항 분석 -> 개념적 데이터 모델 -> 논리적 데이터 모델 -> 물리적 데이터 모델
2) 논리 데이터 모델 검증
논리 데이터 모델링이란?
업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현하는 프로세스.
개념 모델로부터 업무 영역의 업무 데이터 및 규칙을 구체적으로 표현한 모델.
논리 데이터 모델링 종류
- 관계 데이터 모델
논리적 구조가 2차원 테이블 형태로 구성된 모델.
기본 키와 기를 참조하는 외래 키로 관계를 표현.
1:1 / 1:N / N:M
- 계층 데이터 모델
논리적 구조가 트리 형태로 구성된 모델
상하관계 존재(부모-자식)
1:N
- 네트워크 데이터 모델
논리적 구조가 그래프 형태로 구성된 모델
CODASYL DBTG 모델
N:M
관계 데이터 모델이란?
데이터를 행과 열로 구성된 2차원 테이블 형태로 구성한 모델.
E.F.Codd 박사
관계 데이터 모델 구성
릴레이션 / 튜플 / 속성 / 카디널리티 / 차수 / 스키마 / 인스턴스
관계 대수란?
관계형 DB에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 정형 언어.
관계 대수 연산자의 종류
- 일반 집합 연산자 : Union / Intersection / Difference / CARTESIAN Product
- 순수 관계 연산자 : Select / Project / Join / Division
관계 해석이란?
튜플 관계 해석과 도메인 관계 해석을 하는 비절차적 언어.
관계 해석 특징
프레디킷 해석에 기반한 언어이며 비절차적 언어(원하는 정보가 무엇이라는 것만 선언)이다.
논리 데이터 모델링 속성
- 개체 : 사물 또는 사건으로 정의
- 속성 : 개체가 가지고 있는 요소 또는 성질
- 관계 : 두 개체 간의 관계 정의
E-R 모델(개체-관계)이란?
현실 세계에 존재하는 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 명확하게 표현하기 위해 가장 널리 사용되고 있는 모델.
논리 데이터 모델링에서는 모든 이해당사자와 의사소통의 보조 자료로 E-R 모델을 활용.
요구사항으로부터 얻어낸 정보들을 개체, 속성, 관계로 기술한 모델.
정규화란?
관계형 데이터 모델에서 데이터의 중복성을 제거하여 이상 현상을 방지하고, 데이터의 일관성과 정확성을 유지하기 위해 무손실 분해하는 과정.
정규화 단계
1NF : 원자값으로 구성 (속성을 한개만 가지도록 저장.)
2NF : 부분 함수 종속 제거 (완전 함수적 종속 관계)
3NF : 이행함수 종속 제거
BCNF : 결정자 후보 키가 아닌 함수 종속 제거
4NF : 다치(다중 값) 종속 제거
5NF : 조인 종속 제거
반 정규화(= 비정규화, 역정규화)란?
정규화된 엔티티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법.
반 정규화를 위해서는 데이터의 일관성과 무결성을 우선으로 할지, DB의 성능과 단순화에 우선순위를 둘 것인지 비교하여 조정하는 과정이 중요함.
반 정규화의 장점
반 정규화된 데이터 구조는 성능 향상과 관리의 효율성이 증가
반 정규화의 단점
데이터의 일관성 및 정합성 저하
유지를 위한 비용이 별도로 발생하여 성능에 나쁜 영향을 미칠 수 있음.
반 정규화 기법
테이블 병합 / 테이블 분할 / 중복 테이블 추가 / 컬럼 중복화 / 중복관계 추가
이상 현상(Anomaly)이란?
데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적 현상.
- 삽입 이상 : 정보 저장 시 해당 정보의 불필요한 세부정보를 입력해야 하는 경우
- 삭제 이상 : 정보 삭제 시 원치 않는 다른 정보가 같이 삭제되는 경우
- 갱신 이상 : 중복 데이터 중에서 특정 부분만 수정되어 중복된 값이 모순을 일으키는 경우
'정보처리기사' 카테고리의 다른 글
3.3 데이터베이스 기초 활용하기 (0) | 2022.09.14 |
---|---|
3.2 물리 데이터 저장소 설계 (0) | 2022.09.13 |
2.2 UI 설계 (0) | 2022.09.13 |
2.1 UI 요구사항 확인 (1) | 2022.09.13 |
1-5. 요구사항 (0) | 2022.09.13 |