정보처리기사

DB 개념

Ski_ 2022. 10. 12. 14:24

 

  • DB 설계 순서

  요구사항 분석 > 개념적 설계 > 논리적 설계 > 물리적 설계 > 구현

 

  - 개념적 설계

  머리속에 있는 걸 다 꺼냄, 산출물 : E-RDiagram

 

  - 논리적 설계

  체계적으로 모으는 과정, 중복 배제, 정규화, 트랜잭션 인터페이스 설정

 

  - 물리적 설계 : 성능을 위한 설계

  오라클, SQL등에 넣음 Index, View, Trigger 등 설정, 역정규화 반정규화 수행

 

  정규화 이유? : 이상 현상 때문(삽입, 삭제, 갱신 이상) 

<> 반정규화 : DB 정규화 이후, 성능 향상과 개발 편의성 등 정규화 기법에 위배되는 수행 기법

 

  • 정규화 과정(도메인, 부분, 이행, 결정자, 다치, 조인)
  충족 조건 예시
제1 정규형 도메인이 원자값 회원 테이블에 취미로 여러개가 있을 경우
>> 회원/취미 테이블로 분리 
제2 정규형 부분 함수 종속 제거 학번만 가지고도 이름을 알 수 있다
>> 학번+이름 / 학번+과목+점수 테이블로 분리
제3 정규형 이행 함수 종속 제거 X>Y Y>Z일 경우 X>Z 아닌가? >> X+Y, Y+Z 테이블로 분리
BCNF 결정자이면서
후보키가 아닌 것 제거
 
제4 정규형 다치 종속 제거
제5 정규형 조인 종속 제거

 

  • DB 회복 기법

 - 로그 기반 회복 기법

    REDO : 오류가 발생한 트랜잭션을 재실행하여 복구 수행

    UNDO : 오류와 관련된 내용을 취소하여 복구를 수행

 

   - 갱신 기법

    지연 갱신 기법 : DB에 반영을 몰아서 한번에 수행 > 오류 발생 시 REDO

    즉시 갱신 기법 : DB에 반영이 계속 됨 > 오류 발생 시 REDO, UNDO 실행

 

  • DB 스키마 : DB의 전체적인 구조와 제약조건을 정의
    •   외부 스키마 : 클라이언트에게 보여지는 부분, VIEW와 연관
    •   개념 스키마 : DB의 전체적인 구조, 제약조건
    •   내부 스키마 : 저장장치 안에서 본 구조
  • DB 용어 정리
    • - Relation(릴레이션) : DB의 테이블, 정보를 구분하여 저장하는 기본 단위
    • - Attribute(어트리뷰트) : 속성, 테이블(Relation)의 열,
    • - Degree(디그리) : 차수. 열의 수를 뜻한다.
    • - Tuple(튜플) : 테이블(Relation)의 행을 뜻한다.
    • - Cardinality(카디널리티) : 행의 수를 뜻한다, 테이블 내 데이터에 대해 C모양으로 생각하면 외우기 쉽다
    • - Domain(도메인) : 하나의 Attribute가 가질 수 있는 값의 집합
    • (과목 Attribute는 수학, 과학만 포함할 수 있다. > 과목 Attribute의 Domain은 수학, 과학)
  • DB KEY
    • 기본키(Primary Key, PK) : 유일성, 최소성 만족, 단 하나만 지정 가능
    • 후보키(Candidate Key) : 유일성, 최소성 만족
    • 슈퍼키(Super Key) : 유일성 만족, 최소성 만족x
    • 대체키(Alternate Key) : 기본키로 지정하고 남은 후보키
반응형