[오늘의 배움] 017 데이터베이스 설계

이상민·2020년 12월 12일
1

[오늘의 배움]

목록 보기
17/70
post-thumbnail

1. 데이터베이스 설계

1-1. 데이터베이스 생명 주기 및 설계 단계

1-2. 데이터베이스 설계 고려사항

  • 무결성(integrity) : 제약조건
  • 일관성(consistency) : 데이터/응답 간 일치성, 트랜젝션
  • 회복(recovery) : 일관성 유지 위해 장애 복구
  • 보안(security) : 불법 접근 방지 ex. CRUB 연산 별 권한
  • 효율성(efficiency) : 응답시간, 저장 공간, 처리도
  • 데이터베이스 성장(scalability) : 응용과 데이터 지속적 확대

2. 데이터베이스 생명 주기

2-1. 요구조건 분석

정보 내용, 요구조건 수집. 설문지, 인터뷰, 회의를 통해 문서화

  • 목표와 제약조건 식별

  • 공식적 요구조건 명세서 작성. 관계, 제약조건, 값의 유일성, 함수 종속성 등 명세

2-2. 개념적 설계

개념적 스키마 모델링과 트랜잭션 모델링

  • 개념적 스키마 모델링. E-R 모델. 데이터 중심. 정적
  1. 뷰 통합 방법 (하향식) : 부분별 뷰 식별 및 모델링 후 통합
  2. 애트리뷰트 합성 방법 (상향식) : 작업-데이터에서 시작하여 개체, 키 식별 후 관계성 식별
  • 트랜잭션 모델링. 처리 중심 설계?
    응용을 위한 트랜잭션을 식별하고 명세, I/O와 기능적 형태 명세

2-3. 논리적 설계

개념적 설계 단계 산출물로 부터 DBMS가 처리 가능한 논리적 스키마 생성

  1. 논리적 데이터 모델로 변환
    ex) E-R 모델을 RDBMS의 SQL로 변환

  2. 트랜잭션 인터페이스 설계
    어떤 I/O가 일어나는가
    트랜잭션 기능적 형태 정의

  3. 스키마의 평가 및 정제
    정량적 정보와 성능 평가 기준으로 평가
    정량적 정보 : 데이터의 양, 처리 빈도, 처리 작업량
    성능 평가 기준 : 논리적 레코드 접근, 데이터 전송량, DB크기

  • Relational Data Model로 변환 예

    1:n 관계는 다음처럼 표현도 가능하다

2-4. 물리적 설계

논리적 설계 단계 산출물로 부터 효율적인 내부 스키마 설계

  • 물리적 데이터베이스 구조를 생성

  • 구현을 위한 트랜잭션 내부 구조 결정

  • 물리적 DB의 기본적 데이터 단위는 저장 레코드

  • 물리적 설계의 내용
    i. 저장 레코드의 양식
    ii. 레코드 집중의 분석 및 설계
    iii. 접근 경로 설계 (인덱싱, 레코드 집중화, 포인터, 해싱 등 성능 고려 선택)

2-5. 데이터베이스 설계 과정 정리

profile
편하게 읽기 좋은 단위의 포스트를 추구하는 개발자입니다

0개의 댓글