본문 바로가기
정보처리기사 필기/데이터베이스 구축

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

by 훈꽁 2021. 8. 4.
2020 기출 ' ' 
2021 기출 ' ' 
수제비 데일리 ' ' 

관계 데이터베이스 모델

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

  • 실세계 데이터를 행과 열로 구성된 테이블 형태로 구성된 데이터 모델이다.
  • 수학자 E.F.Codd 박사가 제안한 모델이다.

 

관계 데이터 모델의 구성 (튜로카 / 애열차)

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

 


(2) 관계 데이터 언어

관계 대수

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

 

일반 집합 연산자

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

 

순수 관계 연산자

연산자 기호 표현 설명
셀렉트
(Select)
σ 
릴레이션 R에서 조건을 만족하는 튜플 반환
프로젝트
(Project)
π 
릴레이션 R에서 주어진 속성들의 값으로만 구성된 튜플 반환
조인
(Join)
R⋈S 공통 속성을 이용해 R과 S의 튜플들을 연결해 만들어진 튜플 반환
디비전
(Division)
÷ R÷S  릴레이션 S의 모든 튜플과 관련 있는 R의 XBVMF QKSGHKS

 

관계 해석

  • 관계 해석은 튜플 관계 해석과 도메인 관계 해석을 하는 비절차적 언어이다.
  • 프레디킷 해석(Predicate Calculus)에 기반한 언어이며 비절차적 언어(원하는 정보가 무엇이라는 것만 선언)이다.

관계 해석 논리 기호

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

 

관계 대수와 관계 해석 비교

관계 대수와 관계 해석 비교

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

 

(3) 시스템 카탈로그

  • DDL 실행으로 생성되는 테이블, 뷰, 인덱스, 패키지, 접근 권한 등의 데이터베이스 구조 및 통계 정보를 저장한다.
  • 자료 사전이라고도 부른다.
  • 시스템 카탈로그에 저장된 정보를 메타 데이터(Metadata)라고 부른다.
  • 시스템 카탈로그는 DBMS가 스스로 생성하고 유지한다.
  • 시스템 자신이 필요로 하는 스키마 및 여러가지 객체에 관한 정보를 포함하고 있는 시스템 데이터베이스이다.

 

 


데이터 모델링 및 설계

(1) 데이터 모델(Data Model)

현실 세계의 정보를 인간과 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델이다.

 

데이터 모델 절차

절차 설명
개념적 데이터 모델 현실 세계에 대한 인식을 추상적, 개념적으로 표현하여 개념적 구조를 도출하는 데이터 모델
개체관계 다이어그램
논리적 데이터 모델 업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현한 데이터 모델
정규화
물리적 데이터 모델 논리 데이터 모델을 특정 DBMS의 특성 및 성능을 고려하여 물리적인 스키마를 만드는 일련의 모델
반정규화

 


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

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

 

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

개체(Entity) / 속성(Attribute) / 관계(Relationship)

 

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

구성 기호
개체 □ (사각형)
관계 ◇ (마름모)
속성 ○ (타원)
다중 값 속성 ◎ (이중타원)
관계-속성 연결 ㅡ (선)

 


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

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

 

논리적 데이터 모델링 종류

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

 


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

관계형 데이터 모델에서 데이터의 중복성을 제거하여 이상 현상을 방지하고, 데이터의 일관성과 정확성을 유지하기 위해 무손실 분해하는 과정이다.

 

데이터베이스 정규화 목적

  • 중복 데이터를 최소화하여 테이블 불일치 위험을 최소화한다.
  • 수정, 삭제 시 이상 현상을 최소화함으로써 데이터 구조의 안정성을 최대화한다.
  • 어떠한 릴레이션이라도 데이터베이스 내에서 표현을 가능하게 만든다.
  • 데이터 삽입 시 릴레이션의 재구성에 대한 필요성을 줄인다.
  • 효과적인 검색 알고리즘을 생성할 수 있다.

 

이상 현상(Anomaly)의 종류

삽입 이상 / 삭제 이상 / 갱신 이상

 

데이터베이스 정규화 단계

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

 


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

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

 

데이터 모델 요건

완전성 / 중복 배제 / 비즈니스 룰 / 데이터 재사용 / 안정성 및 확장성 / 간결성 / 의사소통 / 통합성

 

데이터 모델 품질 검증 기준

확성 / 전성 / 거성 / 신성 / 관성 / 용성

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

3-5. 데이터 전환  (0) 2021.08.07
3-4. 물리 데이터베이스 설계  (0) 2021.08.06
3-2. SQL 활용  (0) 2021.08.04
3-1. SQL 응용  (0) 2021.08.01

댓글