본문 바로가기
IT 자격증/정보처리기사

(추가)정보처리기사 필기 3주차 Day-3 정리(추가)

by 펭귄스토리 2021. 7. 24.

 

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

1. 관계 데이터베이스 모델

(1) 관계 데이터 모델

관계 데이터 모델(Relation Data Model) 개념

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

 

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

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

 

(2) 관계 데이터 언어

관계 대수 

① 관계 대수 개념

관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하고, 관계로 표현된 데이터를 취급하는 대수적인 연산 체계이자 절차적 정형 언어이다.

 

② 관계 대수 연산자의 종류

일반 집합 연산자 = 합교차카

연산자 기호  표현 설명
집합
(Union)
R∪S 합병 가능한 두 릴레이션 R과 S의 합집합
집합
(Intersection)
R∩S 릴레이션 R과 S에 속하는 모든 튜플로 결과 릴레이션 구성
집합
(Difference)
R-S R에 존재하고 S에 미 존재하는 튜플로 결과 릴레이션 구성
티션 프로덕트
(CARTESIAN Product)
X RXS R과 S에 속한 모든 튜플을 연결해 만들어진 새로운 튜플로 릴레이션 구성

 

순수 관계 연산자 = 셀프조디

연산자 기호 설명
렉트
(Select)
σ 릴레이션 R에서 조건을 만족하는 튜플 반환
로젝트
(Project)
π 릴레이션 R에서 주어진 속성들의 값으로만 구성된 튜플 반환

(Join)
▷◁ 공통 속성을 이용해 R과 S의 튜플들을 연결해 만들어진 튜플 반환
바전
(Division)
÷ 릴레이션 S의 모든 튜플과 관련 있는 R의 튜플 반환

 

관계 해석

① 관계 해석 개념

관계 해석은 튜플 관계 해석과 도메인 관계 해석을 하는 비절차적 언어이다.

 

② 관계 해석 특징

프레디킷 해석에 기반한 언어이며 비절차적 언어이다.

 

관계 해석 논리기호

구분 구성요소 기호 설명
연산자 OR 연산 원자식 간 "또는"이라는 관계로 연결
AND 연산 원자식 간 "그리고"라는 고나계로 연결
NOT 연산 원자식에 대해 부정
정량자 전칭 정량자
(Universal Quantifier)
모든 가능한 튜플("for all"로 읽음)
존재 정량자
(Existential Quantifier)
어떤 튜플 하나라도  존재("there exists"로 읽음)

 

관계 대수와 관계 해석 비교 = 대절해비

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

 

(3) 시스템 카탈로그

시스템 카탈로그(System Catalog) 개념

시스템 카탈로그는 데이터베이스에 저장되는 테이블, 뷰, 인덱스, 접근 권한 등에 대한 정보를 저장하는 데이터베이스이다. 

 

시스템 카탈로그 특징

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

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

 

2. 데이터 모델링 및 설계

(1) 데이터 모델

데이터 모델 절차

절차 설명
개념적 데이터 모델 현실 세계에 대한 인식을 추상적, 개념적으로 표현하여 개념적 구조를 도출하는 데이터 모델
개념적 데이터 모델은 DB 종류와 관계 없음
주요 산출물로는 개체관계 다이어그램이 있음
논리적 데이터 모델 업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현한 데이터 모델
논리적 데이터 모델링에서 정규화를 수행
논리적 데이터베이스 구조로 매핑
스키마의 평가 및 정제
물리적 데이터 모델 논리 데이터 모델을 특정 DBMS의 특성 및 성능을 고려하여 물리적인 스키마를 만드는 일련의 데이터 모델
성능 측면에서 반 정규화를 수행
레코드 집중의 분석 및 설계
저장 레코드 양식 설계
접근 경로 설계

 

(2) 개체-관계(E-R) 모델

개체-관계(E-R) 모델 개념

개체-관계 모델은 현실 세계에 존재하는 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 명확하게 표현하기 위한 모델이다. 

 

개체-관계(E-R) 모델 구성요소 = 개속관

구성요소 설명 특징
체(Entity) 사물 등 유무형의 정보를 가지고 있는 요소 물리 단계에서 테이블로 변환
성(Attribute) 개체가 갖는 속성을 의미 물리 단계에서 컬럼으로 변환
계(Relationship) 두 개 이상의 개체 사이에 존재하는 연관성 1:1(일대일), 1:N(일대다), N:M(다대다) 관계 존재

 

개체-관계(E-R) 다이어그램 기호

구성 기호
개체 사각형
관계 마름모
속성 타원
다중 값 속성 이중타원
관계-속성 연결 -

 

(3) 논리적 데이터 모델링

논리적 데이터 모델링 개념

논리적 데이터 모델링은 업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현하는 프로세스이다.

 

논리적 데이터 모델링 종류

종류 설명
관계 데이터 모델 논리적 구조가 2차원 테이블 형태로 구성된 모델
기본 키(PK)와 이를 참조하는 외래 키(FK)로 관계 표현
1:1, 1:N, N:M 관계를 자유롭게 표현
계층 데이터 모델 논리적 구조가 트리 형태로 구성된 모델
상하 관계가 존재(부모 개체-자식 개체)
1:N 관계만 허용
네트워크 데이터 모델 논리적 구조가 그래프 형태로 구성된 모델
상위와 하위 레코드 사이에 다대다 관계를 만족하는 구조

 

(4) 데이터베이스 정규화

이상 현상(Anomaly) 개념

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

 

이상 현상의 종류

삽입 이상 릴레이션에 데이터를 삽입할 때 의도와는 상관없이 원하지 않은 값들도 함께 삽입되는 현상
삭제 이상 릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 연쇄가 일어나는 현상
갱신 이상 릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보의 모순이 생기는 현상

 

데이터베이스 정규화 단계 = 원부이 결다조

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

 

(5) 논리 데이터 모델 품질 검증

논리 데이터 모델 품질 검증 개념

논리 데이터 모델 품질 검증은 데이터 모델이 업무 환경에서 요구하는 사항을 시스템적으로 구현할 수 있는가를 객관적으로 평가하는 검증이다.

 

데이터 모델 요건

완전성

중복 배제

비즈니스 룰

데이터 재사용

안정성 및 확장성

간결성

의사소통

통합성

 

데이터 모델 품질 검증 기준 = 정완준 최일활

기준 설명
확성 요구사항이 정확하게 반영해야 함
전성 요구사항 및 업무 영역 반영에 있어서 누락이 없어야 함
거성 제반 준수 요건들이 누락 없이 정확하게 준수해야 함
신성 최신 상태를 반영하고, 이슈사항들이 지체 없이 반영해야 함
관성 모델 표현상의 일관성을 유지해야 함
용성 업무 변화 시에 설계 변경이 최소화되도록 유연하게 설계해야 함

 

https://book.naver.com/bookdb/book_detail.nhn?bid=15910265

 

수제비 정보처리기사 필기

NCS 모듈제작에 참여한 경험을 기반으로, 다양한 모듈에서 시험 출제 빈도를 분석하여 출제 비중이 높은 내용 위주로 구성했다. 출제 비중이 낮고 이해하기 어려운 개념들은 과감하게 제외함으

book.naver.com

 

*데이터베이스 정의 = 통저운공

특정 조직의 업무를 수행하는데에 필요한 상호 관련된 데이터들의 모임으로 정의된다.

정의 설명
합된 데이터(Integrated Data) 자료의 중복을 배제한 데이터의 모임
장된 데이터(Stored Data) 컴퓨터가 접근할 수 있는 저장매체에 저장된 자료
영 데이터(Operational Data) 조직의 고유한 업무를 수행하는 데 존재가치가 확실하고 없어서는 안될 반드시 필요한 자료
용 데이터(Shared Data) 여러 응용 시스템들이 공동으로 소유하고 유지하는 자료

 

*데이터베이스 특징 = 실계동내

특징 설명
시간 접근성
(Real-Time Accessibility)
비정형적인 질의(조회)에 대하여 실시간 처리에 의한 응답이 가능해야 한다. 
속적인 변화(Continuous Evolution) 데이터베이스의 상태는 동적이기 때문에 데이터의 삽입, 삭제, 갱신으로 항상 최신 데이터를 유지해야 한다. 
시 공용(Concurrent Sharing) 데이터베이스는 서로 다른 목적을 가진 여러 응용자들을 위한 것으므로 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야 한다. 
용에 의한 참조(Content Reference) 데이터베이스에 있는 데이터를 참조할 때 데이터 레코드의 주소나 위치에 의해서가 아니라 사용자가 요구하는 데이터 내용으로 찾는다.