[DataBase System] ch09 - 데이터베이스 설계
2023. 4. 24. 21:37ㆍDataBase/DB 문제풀이
[DataBase System] ch09 - 데이터베이스 설계
책정보, 데이터베이스 시스템 : 네이버 책 (naver.com)
데이타베이스 시스템 : 네이버 도서
네이버 도서 상세정보를 제공합니다.
search.shopping.naver.com
문제 풀이
1 ) 데이터베이스 설계를 단계별 입출력을 중심으로 간명하게 설명하라
- 요구조건 분석
- 데이터 및 처리 요구조건
- 개념적 설계
- DBMS 독립적 개념 스키마 설계, 트랜잭션 모델링
- 논리적 설계
- 목표 DBMS에 맞는 스키마 설계
- 트랜잭션 인터페이스 설계
- 물리적 설계
- 목표 DBMS에 맞는 물리적 구조 설계
- 트랜잭션 세부 설계
- 구현
- 목표 DBMS DDL로 스키마 작성
- 트랜잭션(응용 프로그램) 작성
2 ) 다이어그램은 개념적 구조(conceptual structure)를 표현하는데 많이 사용된다. 이 E-R 다이어그램의 장점과 약점을 설명해 보라
- 장점
- 현실세계와 데이터의 관계를 직관적으로 볼 수 있다. 그렇기에 이해하고 표현하기가 쉽다.
- 설계의 첫 단계로서 요구사항 분석에 도움이 된다.
- 다양한 표기법과 도구 사용 가능하다.
- 단점
- 표준화된 표기법이 존재하지 않는다. 그렇기에 논리적 데이터 모델로 변환 시 정보의 손실 혹은 중복이 발생될 수 있다. 복잡한 데이터 베이스로 표현하기에는 어려울 수 있다.
3 ) 데이터베이스시스템에서 응답 시간(response time)을 구성하는 요소를 식별하고, 데이터베이스 설계가 어떻게 응답 시간 최소화에 영향을 줄 수 있는 지를 설명해 보라.
- 데이터베이스 시스템의 응답시간 : 사용자가 트랜잭션을 실행시키기 위해 시스템에 제출한 시간부터 다시 결과를 받을 때까지 걸리는 시간을 의미한다.
- 최소화
- DB의 파라미터에 대한 적절한 설정 - 메모리 공간
- 적절한 인덱싱
- 데이터베이스의 정규화
4 ) 데이터베이스 설계를 위한 요구조건 분석 단계를 설명하라
- 데이터베이스에 대한 잠재적 사용자 및 용도를 파악하는 것이 중요
- 정보의 내용과 처리 요구조건의 수집
- 범 기관적 경영 목표와 제약조건의 식별
- 공식적인 요구조건 명세의 작성
- 요구조건 명세의 검토
5 ) 데이터베이스의 개념적 설계 방법을 설명하라
- (개념적) 스키마 모델링
- 데이터 조직과 표현에 중점을 두었음
- 요구조건 분석의 결과로 나온 명세를 개념적 데이터 모델로 표현
- ex : E-R 다이어그램
- DB에 독립적이고 고차원적인 표현 기법으로 기술
- 뷰 통합 방법
- 하향식 방법
- 요구조건 분석 단계에서 식별된 응용이나 사용자 그룹을 기초로 각 부분별 뷰(view)를 식별하고 모델링
- 완성된 부분별 뷰를 하나로 통합해서 전체적 개념 스키마 작성
- 하향식 방법
- 애트리뷰트 합성 방법
- 상향식 방법
- 애트리뷰트를 식별하고 분류하는 것으로 시작
- 개체 정의
- 관계성 정의
- 다이어그램 표기법으로 표현
- 정보 구조 분석 확인
- 상향식 방법
- 트랜잭션 모델링
- 응용을 위한 데이터 처이에 주안점을 두는 방식으로 진행
- 트랜잭션의 입출력과 기능적 형태를 정의
- 입력 / 출력 데이터를 정의, 내부적 흐름 명세를 통한 트랜잭션을 개념적이고 시스템 독립적으로 정의
6 ) 데이터베이스의 논리적 설계 과정을 설명하라
- 개념적 설계에서 생성된 개념적 구조로부터 특정 목표 DBMS가 처리할 수 있는 스키마 생성
- 이때 스키마는 요구조건 명세를 만족해야 될 뿐만 아니라 무결성이나 일관성 제약조건도 만족
- 논리적 데이터 모델로 변환
- 개념적 설계 단계에서 생성된 DBMS 독립적인 개념적 스키마를 목표 DBMS에 맞는 스키마로 변환
- 트랜잭션 인터페이스 설계
- 트랜잭션의 전체적 골격을 개발하고 인터페이스 정의
- 스키마의 평가 및 정제
- 스키마를 정량적 정보와 성능 평가를 기준에 따라 해야 함
7 ) 데이터베이스를 설계하는 단계로 개념적 설계(conceptual design) 단계를 구분할 수 있다. 이 단계에서 수행되는 작업을 자세히 설명해 보라.
- 정확한 성능 평가는 물리적 단계를 지나고 나서 할 수 있지만, 해당 기준을 못 넘어서 다시 설계를 진행하게 되면 자원의 소모가 상당하다. 그렇기에 논리적 단계에서 먼저 논리적 DB가 완성이 되면 이를 토대로 성능을 추정한다.
8 ) 데이터베이스 생명 주기를 데이터베이스 설계 단계와 관련시켜 설명하라.
- 요구조건 분석
- DB의 범위를 정의하고 사용자와 응용을 식별하여 요구조건 분석
- 설계
- 개념 - 논리 - 물리적 설계 단계 포함
- 구현
- DB의 스키마 정의, 빈 DB 파일 생성, 응용 소프트웨어 구현
- 운영
- DB 시스템과 응용 시스템의 운영 및 관리
- 감시 및 개선
- 새로운 요구 조건, 응용에 대처하고 또 시스템 활용의 변동에 따라 성능 개선
9 ) 데이터베이스를 설계할 때 고려사항을 설명하라
- 무결성
- 갱신, 삽입, 삭제 등의 연산이 수행된 뒤여도 데이터 값은 주어진 제약조건에 만족해야 함
- 일관성
- 저장된 두 데이터 값 사이나 특정 질의에 대한 응답들에 모순성이 없어야 함
- 보안
- 의도적이나 우연을 불문하고 불법적인 데이터의 변경이나 손실 또는 노출에 대한 보호를 의미
- 효율성
- 응답 시간의 단축, 저장 공간의 최적화, 시스템의 생산성이 포함
- 확장
- 시스템 운영에 영향을 주지 않으면서 새로운 데이터를 계속적으로 추가시켜 나갈 수 있어야 함
10 ) 개념적 스키마 모델링 원리를 설명하고, 개념적 설계와 관련시켜 보라
- (개념적) 스키마 모델링
- 데이터 조직과 표현에 중점을 두었음
- 요구조건 분석의 결과로 나온 명세를 개념적 데이터 모델로 표현
- ex : E-R 다이어그램
- DB에 독립적이고 고차원적인 표현 기법으로 기술
- 요구조건 분석 결과로부터 개념적 스키마를 유도하는 기본 원리는 추상화
- 자세하고 복잡한 것들을 단순하면서도 전체적인 추상적 객체, 개념화하여 표현하는 것을 의미
- 집단화
- 여러 애트리뷰트들을 그룹 지어 하나의 개체로 만드는 것
- 일반화
- 공통 성질을 가진 여러 부류의 개체들을 더 일반적이고 포괄적인 개체로 만드는 것
11 ) 데이터베이스의 물리적 설계 단계를 설명하라.
- 논리적 스키마로부터 효율적인 내부 스키마를 설계하는 것
- 논리적 설계 단계에서 생성된 논리적 데이터 모델로부터 효율적이고 구현 가능한 물리적 데이터베이스 구조를 생성하는 것이 목적
- 저장 레코드의 양식 설계
- 데이터의 타입 / 분포 / 사용될 응용, 접근 빈도등을 고려하여 결정
- 레코드 집중의 분석 및 설계
- 저장 공간에 레코드들이 물리적으로 집중 저장되도록 할당함으로써 물리적 순차성을 이용할 수 있도록 하는 것을 의미
- 접근 경로 설계
- 물리적 저장 장치 위에 저장된 데이터의 접근과 처리를 가능하도록 하는 부분
- 저장 구조와 탐색 기법이 기본 요소로 정해짐
- 저장 구조 : 주로 인덱스를 통한 접근 방법과 저장 레코드를 정의하는 것
- 탐색 기법 : 주어진 응용을 취해야 할 적절한 접근 경로를 정의
- 접근 경로 설계
- 기본 접근 경로
- 기본키를 기초로 한 기본 인덱스를 이요하는 것이기에 초기 레코드의 적재, 레코드의 물리적 위치, 기본키를 통한 검색과 밀접한 관계
- 보조 접근 경로
- 보조키를 기초로 한 보조 인덱스를 통해 저장 레코드를 접근하고 파일 간의 연결을 가능하게 함
- 기본 접근 경로
- 고려 사항
- 응답시간
- 저장 공간의 효율화
- 트랜잭션 처리도
12 ) E-R 모델로부터 관계 모델로 변환하는 방법을 설명하라
- 하나의 개체는 한 개의 관계로 대응, 개체가 가지고 있는 속성들은 관계의 속성으로 대응
- 복합 속성(복합 애트리뷰트) : 복합 속성을 구성하고 있는 독립된 속성들을 나눠서 관계 모델의 속성으로 작성
- 약한 개체 : E-R 다이어그램에서 약한 개체는 독립적으로 존재 불가. 주인 개체에 종속적이다.
- 관계 모델로 변화 시에는 약한 개체를 독립적으로 작성해야 한다.
'DataBase > DB 문제풀이' 카테고리의 다른 글
[DataBase System] ch11 - 객체 데이터베이스 (0) | 2023.05.19 |
---|---|
[DataBase System] ch10 - 데이터베이스 저장과 접근 (1) | 2023.05.16 |
[DataBase System] ch08 - 데이터 모델링 (0) | 2023.04.18 |
[DataBase System] ch07 - 데이터 종속성과 정규화 (0) | 2023.04.18 |
[DataBase System] ch06 - SQL (0) | 2023.04.14 |