본문 바로가기
소프트웨어공학/정보처리기사

[정보처리기사 필기] 데이터베이스 구축 - 논리 데이터베이스 설계

by javapp 자바앱 2022. 3. 25.
728x90

 

논리 데이터베이스 설계

 

개체 타입

    개체 타입(개체 스키마) 명명 기준/-+—0

        단수명사

        약어x

        속성명 유일

        개체타입 명은 속성명으로 x

    유일한 식별자에 의해 식별 가능

    영속적으로 존재하는 개체의 집합

 

 

속성

    속성 특성

        기본, 설계, 파생

        개체나 관계의 특성 설명

        필드의 개념

        하나의 속성은 하나의 개체 타입에만 존재

        최소한의 데이터 단위

 

 

식별자

    모든 개체 타입 - 하나 이상 식별자

    각각의 개체(Entity)를 구분할 수 있는 결정자

    특정 개체 타입 식별자는 변하지 않아야 한다.

    NULL (x)

    보조 식별자는 하나 이상일 수 있다.

 

 

후보 식별자 조건

    자주 변경 (x)

    나머지 속성을 식별할 수 있는 능력

 

 

인조 식별자

    최대한 공인, 범용

    의미 체계화

    편의성과 단순성 확보

    시스템 내부적으로만 사용


데이터 베이스 설계 단계 순서

    분석 - 개념적 설계 - 논리 - 물리 - 구현

 

 

개념 데이터 모델링

    정보 내용 요구 만족

    쉬운 정보 구조

    ERD

 

 

논리적 설계 단계 수행 작업 / 데이터 모델링

    논리적 데이터베이스 구조로 매핑

    트랜잭션 인터페이스 설계

    스키마의 평가 및 정제

 

 

물리적 작업

    데이터 저장 매체 확인

 

 

논리 데이터 저장소 확인 작업

    개체 및 속성 확인

    프로세스별 CRUD 확인

    데이터 백업 및 복구 정책 확인

 

 

물리 데이터 모델링

    반정규화

 

 

데이터 모델링에 표시해야 할 요소

    논리적 데이터 구조 (Logical Structure)

    제약조건 Constraint

    연산 Operation

 

 

데이터베이스 구축

    무결성 일관성 회복성 효율성

    보안성 확장성

 

 

ER 다이어 그램

    개체와 관계로 현실 세계 표현

    개체 관계 속성

    개념, 논리 데이터 모델링 사용

    업무 분석 결과로 개체 간의 관계 도식화

 

 

일반화 : 공통적인 특성을 가진 상위 객체 타입으로 표현

특수화: is a

추상화 : 공통 성질을 추출하여 슈퍼 클래스로 구성

캡슐화 : 연관된 속성과 메소드를 한 테두리

집단화 : part


함수 종속일 때의 추론 규칙

    반사규칙

    첨가규칙

    이행규칙 : A→B , B→C, A→C

    분해규칙 : A→BC , A→B A→C

    결합규칙 : A→B A→C , A→BC

 

 

관계대수

    주어진 릴레이션 조작을 위한 연산 집합

    질의에 대한 해를 구하기 위해 수행해야 할 연산 순서 명시

    절차적인 방법

 

    일반 집합 연산

        합집합 UNION, UNION ALL, 교집합, 차집합, 곱집합

        차집합

            S가 R보다 커도 된다.

            대응되는 속성 도메인도 같아야 한다.

            도메인 값이 같지 않은 튜플은 결과 릴레이션에서 제외

        이항연산자

    순수 관계 연산

        Select, Project, Join, Division

        디비전 : 피연산 테이블로 나누어진 값

 

 

관계 해석

    술어 해석

    질의어로 표현, 비절차적

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

 

 

DBMS 질의 처리 수행 경험적 규칙

    Select 연산은 가능한 한 일찍 수행

    Project 일찍 수행

    적게 산출, 빠른 시간 결과

    Join 연산은 가능한 한 늦게

 

 

이상현상 Anomaly

    릴레이션 조작시 예기치 않게 발생하는 곤란한 현상

 

 

폐포

    종속 관계에서 추론할 수 있는 모든 속성의 집합

 

함수 종속 : 일반적으로 직접 종속

간접 종속 : 이행적 함수 형태

결정자 : 속성 간의 종속성을 규명할 때 기준이 되는 값

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


정규화

    정규화 작업

        비정규화 → 1NF : 원자 값만 갖도록 분해

            원자 : 더 이상 분해할 수 없는 속성 값

        1NF → 2NF : 부분 함수 종속 제거, 완전 함수 종속

            부분 함수 종속 : X’ < X 이고 , X’→ Y 만족하는 X’ 존재, 키가 아닌 값으로 Y 값 식별 가능

        2NF → 3NF : 이행적 함수 종속 제거

            A→B→C

        3NF → BCNF : 결정자가 후보키가 아닌 함수 종속 제거

            키 아닌 속성으로 다른 속성을 식별

        BCNF → 4NF : 다중치 종속 제거

            한 릴레이션 내에서 A → B, A→C

        4NF → 5NF : 후보키 통하지 않은 조인 종속 제거

 

 

    정규화의 목적

        효과적으로 데이터베이스 내에 표현 가능

        데이터 삽입 시 릴레이션 재구성 필요성 줄인다.

        중복 배제할 수 없다 그래서 중복성 최소화하고 정보의 일관성 보장

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

        개체간 완전한 종속 만들기 위해


 

 

데이터 모델

    좋은 데이터 모델의 조건

        완전성

        간결성

        통합성

        안정성

        중복 배제

        데이터 재사용

        비즈니스 규칙

 

 

데이터 모델의 품질 기준

    정확성 : 모델 표기법에 따라 정확하게 표현

    완전성 : 누락 최소화

    일관성 : 한 번만 정의, 다른 영역에서 참조 활용

    최신성

    활용성 : 충분히 이해, 모델의 작성 의도 명확하게 이해

 

댓글