[DataBase System] ch09 - 데이터베이스 설계

2023. 4. 24. 21:37DataBase/DB 문제풀이

[DataBase System] ch09 - 데이터베이스 설계

 

책정보, 데이터베이스 시스템 : 네이버 책 (naver.com)

 

데이타베이스 시스템 : 네이버 도서

네이버 도서 상세정보를 제공합니다.

search.shopping.naver.com

 

문제 풀이

 

1 ) 데이터베이스 설계를 단계별 입출력을 중심으로 간명하게 설명하라

 

  1. 요구조건 분석
    1. 데이터 및 처리 요구조건
  2. 개념적 설계
    1. DBMS 독립적 개념 스키마 설계, 트랜잭션 모델링
  3. 논리적 설계 
    1. 목표 DBMS에 맞는 스키마 설계
    2. 트랜잭션 인터페이스 설계
  4. 물리적 설계
    1. 목표 DBMS에 맞는 물리적 구조 설계
    2. 트랜잭션 세부 설계
  5. 구현 
    1. 목표 DBMS  DDL로 스키마 작성
    2. 트랜잭션(응용 프로그램) 작성

 

2 )  다이어그램은 개념적 구조(conceptual structure)를 표현하는데 많이 사용된다. 이 E-R 다이어그램의 장점과 약점을 설명해 보라

  • 장점
    • 현실세계와 데이터의 관계를 직관적으로 볼 수 있다. 그렇기에 이해하고 표현하기가 쉽다. 
    • 설계의 첫 단계로서 요구사항 분석에 도움이 된다.
    • 다양한 표기법과 도구 사용 가능하다.
  • 단점
    • 표준화된 표기법이 존재하지 않는다. 그렇기에 논리적 데이터 모델로 변환 시 정보의 손실 혹은 중복이 발생될 수 있다. 복잡한 데이터 베이스로 표현하기에는 어려울 수 있다. 

 


 

3 ) 데이터베이스시스템에서 응답 시간(response time)을 구성하는 요소를 식별하고, 데이터베이스 설계가 어떻게 응답 시간 최소화에 영향을 줄 수 있는 지를 설명해 보라.

 

  • 데이터베이스 시스템의 응답시간 : 사용자가 트랜잭션을 실행시키기 위해 시스템에 제출한 시간부터 다시 결과를 받을 때까지 걸리는 시간을 의미한다.
  • 최소화
    • DB의 파라미터에 대한 적절한 설정 - 메모리 공간
    • 적절한 인덱싱
    • 데이터베이스의 정규화

 

4 )  데이터베이스 설계를 위한 요구조건 분석 단계를 설명하라

  • 데이터베이스에 대한 잠재적 사용자 및 용도를 파악하는 것이 중요
  1. 정보의 내용과 처리 요구조건의 수집
  2. 범 기관적 경영 목표와 제약조건의 식별
  3. 공식적인 요구조건 명세의 작성
  4. 요구조건 명세의 검토

 

5 ) 데이터베이스의 개념적 설계 방법을 설명하라

  • (개념적) 스키마 모델링
    • 데이터 조직과 표현에 중점을 두었음
    • 요구조건 분석의 결과로 나온 명세를 개념적 데이터 모델로 표현
      • ex : E-R 다이어그램
      • DB에 독립적이고 고차원적인 표현 기법으로 기술
      • 뷰 통합 방법
        • 하향식 방법
          • 요구조건 분석 단계에서 식별된 응용이나 사용자 그룹을 기초로 각 부분별 뷰(view)를 식별하고 모델링
          • 완성된 부분별 뷰를 하나로 통합해서 전체적 개념 스키마 작성
      • 애트리뷰트 합성 방법
        • 상향식 방법
          • 애트리뷰트를 식별하고 분류하는 것으로 시작 
          • 개체 정의
          • 관계성 정의
          • 다이어그램 표기법으로 표현
          • 정보 구조 분석 확인
  • 트랜잭션 모델링
    • 응용을 위한 데이터 처이에 주안점을 두는 방식으로 진행
    • 트랜잭션의 입출력과 기능적 형태를 정의
      • 입력 / 출력 데이터를 정의, 내부적 흐름 명세를 통한 트랜잭션을 개념적이고 시스템 독립적으로 정의

 

 

6 ) 데이터베이스의 논리적 설계 과정을 설명하라

  • 개념적 설계에서 생성된 개념적 구조로부터 특정 목표 DBMS가 처리할 수 있는 스키마 생성
    • 이때 스키마는 요구조건 명세를 만족해야 될 뿐만 아니라 무결성이나 일관성 제약조건도 만족
  1. 논리적 데이터 모델로 변환
    1. 개념적 설계 단계에서 생성된 DBMS 독립적인 개념적 스키마를 목표 DBMS에 맞는 스키마로 변환
  2. 트랜잭션 인터페이스 설계
    1. 트랜잭션의 전체적 골격을 개발하고 인터페이스 정의
  3. 스키마의 평가 및 정제
    1. 스키마를 정량적 정보와 성능 평가를 기준에 따라 해야 함

 

7 ) 데이터베이스를 설계하는 단계로 개념적 설계(conceptual design) 단계를 구분할 수 있다. 이 단계에서 수행되는 작업을 자세히 설명해 보라.

  • 정확한 성능 평가는 물리적 단계를 지나고 나서 할 수 있지만, 해당 기준을 못 넘어서 다시 설계를 진행하게 되면 자원의 소모가 상당하다. 그렇기에 논리적 단계에서 먼저 논리적 DB가 완성이 되면 이를 토대로 성능을 추정한다. 

 

8 ) 데이터베이스 생명 주기를 데이터베이스 설계 단계와 관련시켜 설명하라. 

  1. 요구조건 분석
    1. DB의 범위를 정의하고 사용자와 응용을 식별하여 요구조건 분석
  2. 설계
    1. 개념 - 논리 - 물리적 설계 단계 포함
  3. 구현
    1. DB의 스키마 정의, 빈 DB 파일 생성, 응용 소프트웨어 구현
  4. 운영
    1. DB 시스템과 응용 시스템의 운영 및 관리
  5. 감시 및 개선
    1. 새로운 요구 조건, 응용에 대처하고 또 시스템 활용의 변동에 따라 성능 개선

 

9 )  데이터베이스를 설계할 때 고려사항을 설명하라

 

  • 무결성
    • 갱신, 삽입, 삭제 등의 연산이 수행된 뒤여도 데이터 값은 주어진 제약조건에 만족해야 함
  • 일관성
    • 저장된 두 데이터 값 사이나 특정 질의에 대한 응답들에 모순성이 없어야 함
  • 보안
    • 의도적이나 우연을 불문하고 불법적인 데이터의 변경이나 손실 또는 노출에 대한 보호를 의미
  • 효율성
    • 응답 시간의 단축, 저장 공간의 최적화, 시스템의 생산성이 포함
  • 확장
    • 시스템 운영에 영향을 주지 않으면서 새로운 데이터를 계속적으로 추가시켜 나갈 수 있어야 함

 

10 ) 개념적 스키마 모델링 원리를 설명하고, 개념적 설계와 관련시켜 보라

  • (개념적) 스키마 모델링
    • 데이터 조직과 표현에 중점을 두었음
    • 요구조건 분석의 결과로 나온 명세를 개념적 데이터 모델로 표현
      • ex : E-R 다이어그램
      • DB에 독립적이고 고차원적인 표현 기법으로 기술
  • 요구조건 분석 결과로부터 개념적 스키마를 유도하는 기본 원리는 추상화
    • 자세하고 복잡한 것들을 단순하면서도 전체적인 추상적 객체, 개념화하여 표현하는 것을 의미
    • 집단화
      • 여러 애트리뷰트들을 그룹 지어 하나의 개체로 만드는 것
    • 일반화
      • 공통 성질을 가진 여러 부류의 개체들을 더 일반적이고 포괄적인 개체로 만드는 것

11 )  데이터베이스의 물리적 설계 단계를 설명하라.

  • 논리적 스키마로부터 효율적인 내부 스키마를 설계하는 것
    • 논리적 설계 단계에서 생성된 논리적 데이터 모델로부터 효율적이고 구현 가능한 물리적 데이터베이스 구조를 생성하는 것이 목적
  1. 저장 레코드의 양식 설계
    1. 데이터의 타입 / 분포 / 사용될 응용, 접근 빈도등을 고려하여 결정
  2. 레코드 집중의 분석 및 설계
    1. 저장 공간에 레코드들이 물리적으로 집중 저장되도록 할당함으로써 물리적 순차성을 이용할 수 있도록 하는 것을 의미
  3. 접근 경로 설계
    1. 물리적 저장 장치 위에 저장된 데이터의 접근과 처리를 가능하도록 하는 부분
    2. 저장 구조와 탐색 기법이 기본 요소로 정해짐
      1. 저장 구조 : 주로 인덱스를 통한 접근 방법과 저장 레코드를 정의하는 것
      2. 탐색 기법 :  주어진 응용을 취해야 할 적절한 접근 경로를 정의
    3. 접근 경로 설계
      1. 기본 접근 경로
        1. 기본키를 기초로 한 기본 인덱스를 이요하는 것이기에 초기 레코드의 적재, 레코드의 물리적 위치, 기본키를 통한 검색과 밀접한 관계 
      2. 보조 접근 경로
        1. 보조키를 기초로 한 보조 인덱스를 통해 저장 레코드를 접근하고 파일 간의 연결을 가능하게 함
    4. 고려 사항
      1. 응답시간
      2. 저장 공간의 효율화
      3. 트랜잭션 처리도

12 ) E-R 모델로부터 관계 모델로 변환하는 방법을 설명하라

  • 하나의 개체는 한 개의 관계로 대응, 개체가 가지고 있는 속성들은 관계의 속성으로 대응
  • 복합 속성(복합 애트리뷰트) : 복합 속성을 구성하고 있는 독립된 속성들을 나눠서 관계 모델의 속성으로 작성
  • 약한 개체 : E-R 다이어그램에서 약한 개체는 독립적으로 존재 불가. 주인 개체에 종속적이다.
    • 관계 모델로 변화 시에는 약한 개체를 독립적으로 작성해야 한다.