정보처리기사/[inflearn] 필기 (완)

정보처리기사 - 제3과목 데이터베이스 구축 / 논리 데이터베이스 설계(2)

web_seul 2022. 4. 1. 17:45

 제3과목 데이터베이스 구축 

▷ 논리 데이터베이스 설계 C

> 관계형 데이터 모델

- 관계형 데이터 모델(Relational Data Model)의 개요 : table형태로 데이터의 상호관계 표현, 기본키, 외래키, 일대일, 일대다, 다대다

- 관계형 데이터 모델의 구성

 

> 관계형 데이터베이스의 구조

출처) 주간컴공

- 관계형 데이터베이스의 개요 : table형태, 간결해서 보기편함, 성능↓

- 관계형 데이터베이스의 Relation 구조

  튜플(행) : cardinality, 카디날리티, 기수

  속성(열) : DB를 구성하는 가장작은 논리적인 단위, 항목, 필드, 개체의 특성을 나타냄, 속성을 갯수(degree, 디그리, 차수)

  도메인 : 속성(attribute)이 취할 수 있는 값

- 릴레이션의 특징 : 관계형 구조 전체, 튜플은 모두 상이함(중복x), 튜플과 속성의 순서는 무의미, 속성의 값은 원자값(더이상 쪼갤수 없는)으로 구성, 속성의 명칭은 유일, 값은 중복가능, 속성의 한 부분을 키(key)로 저장

 

> 관계형 데이터베이스의 제약조건 - 키(key)

- 키(key)의 개념 : 튜플을 찾을 때(행)

  후보키(Candidate Key) : 유일하게 식별, 유일성, 최소성

  기본키(Primary Key) : 후보키중 1개 선택

  대체키(Alternate Key) : 기본키를 제외한 나머지

  슈퍼키(Super Key) : 튜플에서 유일하게 구분하는 키들, 유일성만 만족, 최소성 만족x

  외래키(Foreign Key) : 다른 table의 기본키를 참조하는 키, 중복가능

 

> 관계형 데이터베이스의 제약 조건 - 무결성

- 무결성(Integrity)의 개념 : 정확성, DB값과 현실데이터가 일치하는 현상

- 개체 무결성(Entity Integrity, 실체 무결성) : 기본키는 중복x, Null값x, 테이블의 기본키를 참조하는데 문제가 없어야함

- 도메인 무결성(Domain Integrity, 영역 무결성) : 속성값에 정의된 값, 특정필드의 데이터영역에 문제가 없어야함

- 참조 무결성(Referential Integrity) : 외래키, 다른 table(릴레이션)의 기본키를 가리킴, 참조가능한 키만 가능, Null값o

- 사용자 정의 무결성 : 사용자 정의 제약조건

- 데이터 무결성 강화 

  애플리케이션(생성, 수정, 삭제, 무결성 검증 데이터 조건 추가), 데이터베이스 트리거(트리거 이벤트, 절차형 SQL), 제약조건(설정)

 

▷ 논리 데이터베이스 설계 D

> 관계대수 및 관계해석

 

- 셀렉트(Select, σ) : 속성(필드)은 변하지않고 튜플(레코드)만 변함, 수평연산

  릴레이션에서 조건에 만족하는 튜플 검색

  σ조건식(릴레이션)

  σ점수 ≥ 90(학생) -> 학생 릴레이션에서 점수가 90 이상인 튜플 검색

  σ등급 = gold(고객) -> 고객 릴레이션에서 등급이 gold인 튜플 검색

 

- 프로젝트(Project, π) : 튜플은 변하지않고 속성만 변함, 수직연산

  ㉠ 릴레이션에서 주어진 속성들의 값으로만 구성된 열 선택

  π(속성리스트)(릴레이션)

  π(과목, 점수)(학생) -> 학생 릴레이션에서 과목, 점수 검색

  π(고객이름, 등급, 적립금)(고객) -> 고객 릴레이션에서 고객이름, 등급, 적립금 검색

  π(고객이름, 나이(σ등급=gold(고객) -> 고객 릴레이션에서 '등급이 gold'인 고객이름, 나이 검색

  

- 조인(Join, ) : 공통속성을 기준으로 두 릴래이션이 합쳐저 새로운 릴래이션 생성

  ㉠ 공통속성을 이용하여 2개 이상의 릴레이션 연결, 새로운 릴레이션 생성

  ㉡ 릴레이션1 ◁ n릴레이션2

  ㉢ 사원 ◁(부서=부서)인사

 

- 디비전(Division, ÷

  ㉠ B릴레이션의 모든 조건을 만족하는 튜플을 A릴레이션에서 구하는 연산

  ㉡ 릴레이션1 ÷ 릴레이션2

  ㉢ 고객 ÷ 골드 -> 고객 릴레이션에서 등급이 gold인 행을 찾고 등급속성을 제외한 속성 나열

  ㉣ 주문내역 ÷ 제품

  ㉤ 주문내역 ÷ 제조

연산자 예시 기능 기수
합집합 R1 ∪ R2 중복되는 튜플 제거 두 릴레이션 기수 합 이하
교집합 R1 ∩ R2 R1과 R2가 동시 존재 두 릴레이션 기수 중 적은 기수 이하
차집합 R1 - R2 R1에서, R2와 동시에 존재하는 튜플 제거 R1 기수 이하
교차곱 R1 x R2  튜플들의 순서쌍 출력 R1과 R2의 기수를 곱한것과 같음

 

 

> 관계대수 및 관계해석

- 관계해석(Relation Calculus) : 어떻게가 아닌 무엇을 검색할 것인가, 술어해석 기반, 비절차적 방식

  튜플 관계해석, 도메인 관계해석

관계대수(절차적언어) vs 관계해석(비절차적)

 

> 정규화(Normalization) : 분리

- 정규화의 개요 : 삽입이상, 삭제이상, 갱신이상 / 의도와 다른 기능

  정규화의 개념 및 특성 : 논리 데이터 모델링 상세화 단계, 단계 중 가장 중요, 품질보장, 성능향상 - 저장공간 최소화, 무결성 유지 극대화, 안정성 최대화(관계의 정확, 데이터일치, 모델의 단순, 비중복)

  제이상현상제거(삽입이상, 갱신이상, 삭제이상), 품질&성능(저장공간 최소화, 무결성 유지 극대화, 안정성 극대화), 안정성(관계의 정확성, 데이터 일치성, 모델의 단순성, 속성의 비중복성)

데이터 종속성

  함수적 종속(대표적) : A속성이 B속성을 유일하게 식별 : B는 A에 종속됨(A->B)

  다치종속(Multi-Valued Dependency) : 둘 이상의 같은 원자값이 종속 됨

결정자/종속자

  결정자 : 기준이 되는값, 스스로 정해짐

  종속자 : 결정자에 의해 정해지는 값

  결정자 X는 반드시 Y와 연결됨(함수적 종속)

  이행종속 : 직간접 종속이 한 개체에서 이루어짐(X->Y->Z : x, y는 직접 종속관계, x, z는 간접 종속관계)

 

- 정규화 과정  도부이결다조

                                         완전함수종속

1차 정규화 2차 정규화 3차 정규화 4차 정규화
반복 그룹 제거 부분 함수적 종속성 제거 이행적 종속성 제거 다치 종속 제거

 

> 반정규화(Denormalization) <-->정규화

- 반정규화의 개념 : 정규화를 통합하는것, 성능↑, 관리 ↑, 일관성↓

- 테이블 통합 : 1:1(슈퍼타입, 상위개체), 1:N(서브타입, 하위개체) / 검색간편, 처리양증가, 입력, 수정, 삭제시 복잡, Null값x, Default , check

- 테이블 분할 : 수평분할, 수직분할

- 중복 테이블 추가 : 수행속도가 느릴때, 자주 처리하는 데이터, 특정범위 데이터, 속도계산 불가할때 추가해서 보완 / 집계테이블, 진행테이블, 특정부붐 포함 테이블

- 중복 속성 추가 : 경로단축, 빈번하거나 복잡한 경우, 기본키가 여러개의 속성으로 구성된 경우 / 일관성, 무결성, 저장공간 낭비 고려

 

> 시스템 카탈로그

- 시스템 카탈로그(System Catalog) : DBMS가 스스로 생성, 유지하는 DB테이블 집합체, 자료사전에 메타데이터로 저장, 사용자 검색가능, 사용자 수정불가능

 

논리데이터 모델 품질 검증

- 완전성(Completeness) : 업무에 필요한 모든 데이터가 정의됨, 가장 우선적

- 중복배제(Non-Redundancy)와 데이터 재사용(Data Reusability) : 동일한 사실은 한번만 기록

- 업무규칙(Business Rules)과 의사소통(Communication) : 업무규칙을 데이터 모델에 반영, 데이터 모델을 통한 업무 규칙 파악

- 통합성(Integration) : 업무별 단위 정보 시스템은 전체 관점에서 동일 데이터가 존재함(품질 하락), 데이터 아키텍처를 통해 여러 업무에서 사용될 공유 데이터 구조 제작 필요

- 간결성(Elegance) : 사용, 관리가 복잡하지 않은 데이터 모델, 간결함은 확정성에도 영향

- 안정성 및 확장성(Stability and Flexibility) : 업무변화에 따른 데이터 구조 변화에 대한 안정성 확보, 주체와 대상, 행위 자체에 대한 통합으로 확장성 확보

 

데이터모델 품질 검증

- 정확성 : 데이터 모델이 표기법에 따라 정확하게 표현됨, 업무 영역 또는 요구사항이 정확하게 반영되었음

- 완전성 : 누락을 최소화하고, 요구사항 및 업무 영역 반영에 있어서 누락이 없음

- 준거성 : 데이터 표준화, 규칙 준수, 법적 이행 준수

- 최신성 : 시스템의 최신상태를 반영하고 있고, 이슈 사항들이 지체없이 반영

- 일관성 : 공통 사용되는 데이터 요소가 전사 수준에서 한번만 정의

- 활용성 : 의미전달, 업무 변화시에 설계 변경이 최소화되도록 유연하게 설계

 

반응형