Rei’s Tech diary

Chapter 3. 논리 데이터베이스 설계 본문

정보처리기사/[3] 데이터베이스 구축

Chapter 3. 논리 데이터베이스 설계

Reiger 2022. 3. 18. 20:34

[1] 관계 데이터베이스 모델

#. 관계 데이터 모델

- 실세계 데이터를 행과 열로 구성된테이블 형태로 구성된 데이터 모델.

- 수학자 E.F.Codd 박사가 제안한 모델.

 

#. 관계 데이터 모델의 구성요소

구성요소 설명
릴레이션 (Relation) 행과 열로 구성된 테이블
튜플 (Tuple) 릴레이션의 행에 해당하는 요소
속성 (Attribute) 릴레이션의 열에 해당하는 요소
카디널리티 (Cardinality) 튜플(Tuple)의 수
차수 (Degree) 어트리뷰트(Attribute)의 수
스키마 (Schema) 데이터베이스의 구조, 제약조건 등의 정보를 담고 있는 기본적인 구조
인스턴스 (Instance) 정의된 스키마에 따라 생성된 테이블에 실제 저장된 데이터의 집합

#. 일반 집합 연산자 (합교차카)

연산자 기호 표현 설명
합집합
(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의 튜플 반환

 

#. 관계 해석 논리기호

구분 구성요소 기호 설명

연산자

OR 연산 원자식 간 "또는"이라는 관계로 연결
AND 연산 원자식 간 "그리고"라는 관계로 연결
NOT 연산 원자식에 대해 부정

정량자

전칭 정량자 모든 가능한 튜플("for all"로 읽음, All의 'A' 뒤집은 형태)
존재 정량자 어떤 튜플 하나라도 존재("there exists"로 읽음. exist의 'E' 뒤집은 형태)

 

#. 관계 대수와 관계 해석 비교 ★

구분 관계 대수 관계 해석
특징 절차적 언어(순서 명시) 비 절차적 언어, 프레디킷 해석 기반
목적 어떻게 유도하는가? (HOW) 무엇을 얻을 것인가?(What)
종류 순수관계 연산자, 일반집합 연산자 튜플 관계 해석, 도메인 관계 해석

 

#. 시스템 카탈로그 특징

- 시스템 카탈로그들은 자료사전이라고도 부른다.

- 시스템 카탈로그에 저장된 정보를 메타 데이터라고 부른다.

- 시스템 카탈로그는 테이블로 구성되어 있어 내용 검색이 가능하다.

- INSERT, DELETE, UPDATE 문으로 시스템 카탈로그를 갱신하는 것은 허용되지 않는다.

- 사용자가 SQL 문을 실행시켜 기본 테이블, 뷰, 인덱스 등에 변화를 주면 시스템이 자동으로 갱신된다.

 

[2] 데이터 모델링 및 설계

 

#. 데이터 모델 절차 ★

단계 모델 설명
요구
조건
분석
- ˙ 도출된 요구사항 간 상충을 해결하고 범위를 파악하여 외부 환경과의 상호 작용을 분석을 통해 데이터에 대한 요구 분석
개념적
설계
개념적
데이터
모델
˙ 사용자의 요구에 대한 트랜잭션을 모델링 하는 단계
˙ 개념적 데이터 모델은 현실 세계에 대한 인식을 추상적, 개념적으로 표현하여 개념적 구조를 도출하는 데이터 모델
˙ 트랜잭션 모델링, View 통합방법 및 Attribute 합성 고려
˙ 개념적 데이터 모델은 DB 종류와 관계가 없음
˙ 주요 산출물은 개체관계 다이어그램이 있음
논리적
설계
논리적
데이터
모델
˙ 트랜잭션의 인터페이스를 설계하는 단계
˙ DBMS에 맞는 논리적 스키마를 설계하는 단계
˙ 논리적 데이터 모델은 업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현한 데이터 모델
˙ 논리적 설계 단계에서 정규화를 수행
˙ 논리적 데이터베이스 구조로 매핑 (Mapping)
˙ 관계형 데이터베이스에서는 테이블을 설계하는 단계
물리적
설계
물리적
데이터
모델
˙ 물리적 설계는 논리 데이터 모델을 특정 DBMS의 특성 및 성능을 고려하여 물리적인 스키마를 만드는 단계
˙ 물리적 데이터 모델은 논리 데이터 모델을 사용하고자 하는 각 DBMS의 특성을 고려하여 데이터베이스 저장 구조로 변환하는 모델
˙ 응답시간, 저장 공간의 효율화, 트랜잭션 처리를 고려하여 설계
˙ 성능 측면에서 반 정규화를 수행
˙ 레코드 집중의 분석 및 설계
˙ 저장 레코드 양식 설계
˙ 접근 경로 (Access Path) 설계

 

#. 데이터베이스 정규화 목적

- 중복 데이터의 최소화

- 수정, 삭제 시 이상 현상을 최소화하여 데이터 구조의 안정성을 최대화

- 어떠한 릴레이션이라도 데이터베이스 내에서 표현을 가능하게 만듦

- 데이터 삽입 시 릴레이션의 재구성에 대한 필요성 줄임

- 효과적인 검색 알고리즘 생성

 

#. 이상 현상(Anomaly)

- 이상 현상은 릴레이션 조작 시 데이터들이 불필요하게 중복되어 예기치 않게 발생하는 곤란한 현상

 

#. 이상 현상의 종류

1) 삽입 이상 (Insert Anomaly)

- 릴레이션에 데이터를 삽입할 때 의도와는 상관없이 원하지 않은 값들도 함께 삽입되는 현상

 

2) 삭제 이상 (Deletion Anomaly)

- 릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 연쇄가 일어나나는 현상

 

3) 갱신 이상 (Update Anomaly)

- 릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보의 모순이 생기는 현상

 

#. 함수 종속

- 함수 종속은 어떤 릴레이션 R에서 X와 Y를 각각 R의 어트리뷰트 집합의 부분 집합이라고 할 경우 어트리뷰트 X의 값 각각에 대해 시간과 관계없이 항상 어트리뷰트 Y의 값이 오직 하나만 연관되어 있는 관계이다.

- 함수 종속의 표기는 X → Y로 한다.

 

#. 데이터베이스 정규화 단계 ★ (원부이 결다조)

단계 조건
1정규형(1NF) 원자값으로 구성
2정규형(2NF) 부분 함수 종속 제거(완전 함수적 종속 관계)
3정규형(3NF) 이행 함수 종속 제거
보이스-코드 정규형(BCNF) 결정자가 후보 키가 아닌 함수 종속 제거
4정규형(4NF) 다치(다중 값) 종속성 제거
5정규형(5NF) 조인 종속성 제거

 

'정보처리기사 > [3] 데이터베이스 구축' 카테고리의 다른 글

Chapter 5. 데이터 전환  (0) 2022.03.20
Chapter 4. 물리 데이터베이스 설계  (0) 2022.03.20
Chapter 2. SQL 활용  (2) 2022.03.15
Chapter 1. SQL 응용  (0) 2022.03.14