ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • DB 개념
    정보처리기사 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) : 기본키로 지정하고 남은 후보키
    반응형

    '정보처리기사' 카테고리의 다른 글

    소프트웨어 생명주기 V모델  (0) 2022.10.13
    결합도/응집도  (0) 2022.10.13
    객체지향 설계 원칙(SOLID)  (0) 2022.10.13
    관계대수, 관계해석  (0) 2022.10.12
    SQL, JOIN  (0) 2022.10.12

    댓글

Designed by Tistory.