16 장 데이터베이스 설계
1 데이터베이스 설계의 기본적인 개념
1 데이터베이스 설계의 기본적인 개념
단순히 파일을 데이터베이스화
⇒ 효율 저하
⇒ 쓸모 없이 번잡
⇒ 효율 저하
⇒ 쓸모 없이 번잡
2 데이터베이스 설계의 장단점
(1) 데이터베이스의 장점
① 중복을 최소화하여 불일치를 제거한다.
② 데이터의 물리적, 논리적 독립성을 유지한다.
③ 데이터를 공유(share)할 수 있다.
(1) 데이터베이스의 장점
① 중복을 최소화하여 불일치를 제거한다.
② 데이터의 물리적, 논리적 독립성을 유지한다.
③ 데이터를 공유(share)할 수 있다.
④ 정보를 표준화(standardization)하여 저장한다.
⑤ 데이터의 보안(security)을 보장한다.
⑥ 무결성(integrity)이 유지된다.
⑦ 상충되는 요구를 조절한다.
⑤ 데이터의 보안(security)을 보장한다.
⑥ 무결성(integrity)이 유지된다.
⑦ 상충되는 요구를 조절한다.
(2) 데이터베이스의 단점
① 컴퓨터의 부담(overhead)이 크다.
② 데이터의 복구가 어렵다.
③ 전산비용이 증가하며 복잡하다.
① 컴퓨터의 부담(overhead)이 크다.
② 데이터의 복구가 어렵다.
③ 전산비용이 증가하며 복잡하다.
파일환경과 데이터베이스 환경의 상이한 점
대상범위
보전성
유연성
성능
대상범위
보전성
유연성
성능
3 데이터베이스 설계과정
논리 설계의 수순
대상범위의 결정
장래에 대한 고려
논리 설계의 수순
대상범위의 결정
장래에 대한 고려
데이터베이스 설계과정
․논리 데이터베이스 설계
․물리 데이터베이스 설계
․논리 데이터베이스 설계
․물리 데이터베이스 설계
(1) 논리 데이터베이스 설계
① 대상범위의 결정
② 데이터 요소의 식별
③ 데이터 요소간의 관련과 식별
④ 기업의 운용규칙과 데이터 관련의 식별
① 대상범위의 결정
② 데이터 요소의 식별
③ 데이터 요소간의 관련과 식별
④ 기업의 운용규칙과 데이터 관련의 식별
(2) 물리 데이터베이스 설계
① 데이터 요소를 어느 정도 물리적으로 집약했는지 분석
② 중요한 거래내용이 데이터베이스를 얼마나 이용하는가의 사양규정
③ 파일 구조와 응답시간의 각종 대체 안에 관한 비용계산
④ 필요로 하는 모든 파일기술과 제어 블록의 생성
① 데이터 요소를 어느 정도 물리적으로 집약했는지 분석
② 중요한 거래내용이 데이터베이스를 얼마나 이용하는가의 사양규정
③ 파일 구조와 응답시간의 각종 대체 안에 관한 비용계산
④ 필요로 하는 모든 파일기술과 제어 블록의 생성
3.1 논리 설계의 수순
- 확장 가능성 고려하여
- 회사 전 기능에 분리된 형태로 수행
- 회사 전체 범위 포함 회피
- 확장 가능성 고려하여
- 회사 전 기능에 분리된 형태로 수행
- 회사 전체 범위 포함 회피
3.2 대상범위의 결정
∙정보 처리계획 조사
∙관련하는 각 기능의 관계자와 면담
∙면담결과를 기초로 범위 작성
∙해당기능과 다른 기능과의 관계 명확화
∙어플리케이션과 데이터 공유범위 결정
∙공유하는 전 기능을 범위에 포함하도록 결정
∙정보 처리계획 조사
∙관련하는 각 기능의 관계자와 면담
∙면담결과를 기초로 범위 작성
∙해당기능과 다른 기능과의 관계 명확화
∙어플리케이션과 데이터 공유범위 결정
∙공유하는 전 기능을 범위에 포함하도록 결정
3.3 장래에 대한 고려
∙업무에 관한 변경
∙운영 방침의 변경
∙업무에 관한 변경
∙운영 방침의 변경
4 데이터 모델
(1) 관계형 모델(relational model)
관계형 모델 : 튜플(tuple)들로 구성된 테이블(table)로 표현
튜플 : 사물을 표현할 때 데이터 항목을 나타내는 속성과 레코드와 같은 개념
(1) 관계형 모델(relational model)
관계형 모델 : 튜플(tuple)들로 구성된 테이블(table)로 표현
튜플 : 사물을 표현할 때 데이터 항목을 나타내는 속성과 레코드와 같은 개념
<테이블>
(2) 망형 모델(network model)
- 개체들의 관계를 나타내는 포인터(pointer)와 링크(link)로 구성
- 실세계와 가장 근접한 형태의 모델
- 그래프 형태로 모델링
데이터 구조도의 구성
∙개체들을 나타내는 직사각형
∙그들간의 연관성을 나타내는 화살표
∙화살표의 이름인 레이블
- 개체들의 관계를 나타내는 포인터(pointer)와 링크(link)로 구성
- 실세계와 가장 근접한 형태의 모델
- 그래프 형태로 모델링
데이터 구조도의 구성
∙개체들을 나타내는 직사각형
∙그들간의 연관성을 나타내는 화살표
∙화살표의 이름인 레이블
(3) 계층형 모델(hierarchical model)
∙데이터와 데이터간의 관계를 각각의 개체와 연결
∙트리(tree)형태로 표현
∙부모 개체와 자식 개체가 명확하게 구별
∙레이블 기술 불필요
∙데이터와 데이터간의 관계를 각각의 개체와 연결
∙트리(tree)형태로 표현
∙부모 개체와 자식 개체가 명확하게 구별
∙레이블 기술 불필요
5 데이터에 관한 정보
논리 설계의 배경에 있는 기초 이론
기업의 업무형태 불변
데이터 불안정
정보는 업무의 변경에 따라 변경 필요
기본 데이터 불변
논리 설계의 배경에 있는 기초 이론
기업의 업무형태 불변
데이터 불안정
정보는 업무의 변경에 따라 변경 필요
기본 데이터 불변
6 정보의 수집
논리 설계를 위해 필요한 정보란?
(1) 업무의 기본 기능과 그것에 관련된 데이터 군을 기술하는 것
(2) 언제, 어떤 방법으로 기본 기능을 수행하는가를 결정하는 운용정책을 식별하는 것
(3) 추가되어야 할 데이터 요소를 식별하는 것
논리 설계를 위해 필요한 정보란?
(1) 업무의 기본 기능과 그것에 관련된 데이터 군을 기술하는 것
(2) 언제, 어떤 방법으로 기본 기능을 수행하는가를 결정하는 운용정책을 식별하는 것
(3) 추가되어야 할 데이터 요소를 식별하는 것
7 기본 기능과 그것에 관련된 데이터의 식별
실무 담당자와 면담 ⇒ 명확하게 이해하기 위함
인터뷰하는 직무 결정 ⇒ 인터뷰를 받는 기능 소속 인물을 선정
실무 담당자와 면담 ⇒ 명확하게 이해하기 위함
인터뷰하는 직무 결정 ⇒ 인터뷰를 받는 기능 소속 인물을 선정
(1) 실무 담당자와의 면담
∙각 직무에 관해서 수행되어야 할 일의 내용
∙각 일을 수행하는 데 관련된 데이터
∙언제, 어떻게 일을 수행할 것인가를 결정하는 데 관련한 규칙
∙각 직무에 관해서 수행되어야 할 일의 내용
∙각 일을 수행하는 데 관련된 데이터
∙언제, 어떻게 일을 수행할 것인가를 결정하는 데 관련한 규칙
면담의 수순
∙실무 담당자가 매일 실시하고 있는 기능을 기술
∙면담을 받는 사람의 중요한 행동, 의사결정, 인터페이스를 기술
∙흐름도 형식으로 문서화
∙업무 명세서(document), 파일 등 참조자료 일람표 작성
∙인터페이스에 관해 논의
∙실무 담당자가 매일 실시하고 있는 기능을 기술
∙면담을 받는 사람의 중요한 행동, 의사결정, 인터페이스를 기술
∙흐름도 형식으로 문서화
∙업무 명세서(document), 파일 등 참조자료 일람표 작성
∙인터페이스에 관해 논의
(2) 관련자와의 면담
기업 운영방침 및 규칙
업무 장래 계획
관리
문서
기업 운영방침 및 규칙
업무 장래 계획
관리
문서
(3) 최고 경영자와의 면담
․업무의 기본 구성요소와 그것과의 관련이 있는 방법
․기업 내 환경(조직, 지점배치 등)
․기업 외 환경(대리점 관리, 시장의 수와 종류 등)
․업무 계획에서 현재 사용하고 있는 정보와 필요로 하는 정보
․현행업무에 영향을 미칠 가능성이 있는 예측 가능한 변화
․업무의 기본 구성요소와 그것과의 관련이 있는 방법
․기업 내 환경(조직, 지점배치 등)
․기업 외 환경(대리점 관리, 시장의 수와 종류 등)
․업무 계획에서 현재 사용하고 있는 정보와 필요로 하는 정보
․현행업무에 영향을 미칠 가능성이 있는 예측 가능한 변화
(4) 중간 관리자와의 면담
․실무자 또는 실무 부서간의 업무분산 및 협조사항
․일상의 실무에 관한 규칙과 방침
․예측되는 변화가 실무에 미치는 영향
․실무를 평가하거나 관리하는 데 추가할 필요가 있는 정보
․실무자 또는 실무 부서간의 업무분산 및 협조사항
․일상의 실무에 관한 규칙과 방침
․예측되는 변화가 실무에 미치는 영향
․실무를 평가하거나 관리하는 데 추가할 필요가 있는 정보
8 논리 설계를 구성하는 요소의 식별
논리 설계의 주요 구성요소
키
속성
관계
논리 설계의 주요 구성요소
키
속성
관계
8.1 키
레코드들을 순서적으로 배열
대상물을 식별하고 제어하는 데 사용
․고유한 키는 목적대상을 식별할 수 있는 데이터 요소의 것(주민등록번호, 주문번호, 고객번호 등)
․고유하지 않은 키는 복수개의 키를 조합한 것으로서 어떤 상태를 식별하는 것과 같은 요소의 집합체
레코드들을 순서적으로 배열
대상물을 식별하고 제어하는 데 사용
․고유한 키는 목적대상을 식별할 수 있는 데이터 요소의 것(주민등록번호, 주문번호, 고객번호 등)
․고유하지 않은 키는 복수개의 키를 조합한 것으로서 어떤 상태를 식별하는 것과 같은 요소의 집합체
(상품번호와 창고식별기호에 따라 식별)
8.2 속 성
데이터의 가장 작은 논리적 단위
개체에 대한 식별자
개체에 관한 의미의 서술적 정보
데이터의 가장 작은 논리적 단위
개체에 대한 식별자
개체에 관한 의미의 서술적 정보
8.3 관 계
복수의 데이터 요소간의 종속관계를 표현하는 것
(1) 키와 키의 관계
키들간의 한정된 또는 한정되지 않은 종속관계를 기술한 것
(2) 키와 속성과의 관계
키에 따라서 직접 식별된 데이터 요소를 기술한 것
(3) 속성과 속성과의 관계
키와 속성간의 한정되지 않은 종속관계
복수의 데이터 요소간의 종속관계를 표현하는 것
(1) 키와 키의 관계
키들간의 한정된 또는 한정되지 않은 종속관계를 기술한 것
(2) 키와 속성과의 관계
키에 따라서 직접 식별된 데이터 요소를 기술한 것
(3) 속성과 속성과의 관계
키와 속성간의 한정되지 않은 종속관계
9 데이터 요소의 식별
데이터 요소 독립 추출
∙중복 가능성 감소
∙데이터 요소 사용용도 파악
자료 사전에 등재
데이터 요소 독립 추출
∙중복 가능성 감소
∙데이터 요소 사용용도 파악
자료 사전에 등재
9.1 일과 데이터와의 관계식별
자료흐름도 분석
일과 데이터의 관계를 정의
기본적인 정적 기능과 그 기능에 데이터 사용용도 표현
자료흐름도 분석
일과 데이터의 관계를 정의
기본적인 정적 기능과 그 기능에 데이터 사용용도 표현
일의 정의
․일은 업무단위이다.
․일은 모두 공통의 목표를 지향하는 것이다.
․일은 일련의 순서가 부여된 순번으로 구성된다.
․일은 적어도 한 개의 공통 데이터를 이용하며, 자료흐름도를 참조하여 앞의 정의에 맞는 규칙에 따라서 확장한다.
․일은 회사의 일부분에서 수행된다
․일의 각 수순에서는 같은 데이터를 이용해야 한다
․일의 각 처리 수순은 반드시 실시되지 않으면 안된다
․일은 업무단위이다.
․일은 모두 공통의 목표를 지향하는 것이다.
․일은 일련의 순서가 부여된 순번으로 구성된다.
․일은 적어도 한 개의 공통 데이터를 이용하며, 자료흐름도를 참조하여 앞의 정의에 맞는 규칙에 따라서 확장한다.
․일은 회사의 일부분에서 수행된다
․일의 각 수순에서는 같은 데이터를 이용해야 한다
․일의 각 처리 수순은 반드시 실시되지 않으면 안된다
10 일과 데이터와의 관계 분석
일과 데이터의 관계
논리 설계에 관한 기본 구성요소
키와 속성을 식별
논리 설계에 관한 기본 구성요소
키와 속성을 식별
키로 생각되는 속성
․대다수의 일에 사용되고 있다.
․다른 대다수의 데이터 요소 내에서 사용되고 있다.
․각 독립된 데이터 요소 내에서 사용되고 있는 경우 사용빈도가 낮다.
한 개의 키에 종속하는 속성이 있는 것
․비교적 소수의 일에 사용되고 있다.
․극히 소수의 데이터 요소 내에서 사용되고 있다.
․각 데이터 요소 내에서 사용되고 있는 경우에도 사용빈도가 높다.
․대다수의 일에 사용되고 있다.
․다른 대다수의 데이터 요소 내에서 사용되고 있다.
․각 독립된 데이터 요소 내에서 사용되고 있는 경우 사용빈도가 낮다.
한 개의 키에 종속하는 속성이 있는 것
․비교적 소수의 일에 사용되고 있다.
․극히 소수의 데이터 요소 내에서 사용되고 있다.
․각 데이터 요소 내에서 사용되고 있는 경우에도 사용빈도가 높다.
복수의 키에 따라 참조되는 속성
․평균적인 수의 일에 사용되고 있다.
․평균적인 수의 데이터 요소 안에서 사용되고 있다.
․각 데이터 요소 안에서 사용되고 있는 경우의 사용빈도도 평균적이다.
․평균적인 수의 일에 사용되고 있다.
․평균적인 수의 데이터 요소 안에서 사용되고 있다.
․각 데이터 요소 안에서 사용되고 있는 경우의 사용빈도도 평균적이다.
11 관계의 집약
분석의 첫 단계는 각 데이터간의 관계를 속성으로 집약
일과 데이터 관계를 도표에 집약 ⇒ 도수 분포표
분석의 첫 단계는 각 데이터간의 관계를 속성으로 집약
일과 데이터 관계를 도표에 집약 ⇒ 도수 분포표
11.1 분 류
∙키
∙한 개의 키에 따라서 참조되는 속성
∙복수의 키에 따라서 참조되는 속성
현재 잔액
∙키
∙한 개의 키에 따라서 참조되는 속성
∙복수의 키에 따라서 참조되는 속성
현재 잔액
11.2 키의 할당
12 DBMS의 분석
12.1 능력과 제약사항
․데이터 구조의 형태(계층형, 망형, 관계형 등)
․접근방법의 형태(direct, sequential, indexed 등)
․데이터 보호의 수준(자료요소, 그룹 데이터, 파일, 어플리케이션, 단말)
․복구의 정도
․데이터에 관한 복수의 견적이 허락된 정도
12.1 능력과 제약사항
․데이터 구조의 형태(계층형, 망형, 관계형 등)
․접근방법의 형태(direct, sequential, indexed 등)
․데이터 보호의 수준(자료요소, 그룹 데이터, 파일, 어플리케이션, 단말)
․복구의 정도
․데이터에 관한 복수의 견적이 허락된 정도
12.2 성능과 비용
성능 :
파일 구조와 파일접근방법에 관련
비용 :
응답시간, 복구의 제약사항, 재편성 요구 및 유연성과 관련
데이터 보호, 운영체제의 제약사항 및 파일 구조 고려
데이터 신뢰성에 관련된 비용
성능 :
파일 구조와 파일접근방법에 관련
비용 :
응답시간, 복구의 제약사항, 재편성 요구 및 유연성과 관련
데이터 보호, 운영체제의 제약사항 및 파일 구조 고려
데이터 신뢰성에 관련된 비용
12.3 사용자의 수행능력 요구
(1) 사용자의 거래 처리
․응답시간의 한계(기대 응답시간, 최소 응답시간)
․데이터베이스 요구(데이터가 요구, 생성되는 순서)
(2) 환경
․데이터베이스를 동시에 접근할 수 있는 응용 프로그램의 수
․운용방법(on-line, remote job entry, batch 등)
(3) 이용가능성
(4) 데이터 보호
․데이터를 개방하는 범위
․데이터에 관련된 위험요소
(5) 응용 프로그램의 능력
(1) 사용자의 거래 처리
․응답시간의 한계(기대 응답시간, 최소 응답시간)
․데이터베이스 요구(데이터가 요구, 생성되는 순서)
(2) 환경
․데이터베이스를 동시에 접근할 수 있는 응용 프로그램의 수
․운용방법(on-line, remote job entry, batch 등)
(3) 이용가능성
(4) 데이터 보호
․데이터를 개방하는 범위
․데이터에 관련된 위험요소
(5) 응용 프로그램의 능력
12.4 논리 설계와 변경
논리 설계는 세 단계에서 특정 DBMS로 대체된다.
(1) 키와 그들의 관계를 저장할 경우의 주기억 구조를 선택
(2) 키저장 구조에 속성(attribute)을 할당
(3) 각각의 저장 구조에 대해서 자료접근(access)방법을 선택
논리 설계는 세 단계에서 특정 DBMS로 대체된다.
(1) 키와 그들의 관계를 저장할 경우의 주기억 구조를 선택
(2) 키저장 구조에 속성(attribute)을 할당
(3) 각각의 저장 구조에 대해서 자료접근(access)방법을 선택
12.5 저장 구조의 선택
도입하는 DBMS에 따라
제공된 능력의 범위에 따라
도입하는 DBMS에 따라
제공된 능력의 범위에 따라
12.6 속성의 할당
(1) 키와 그들의 관계 표현
(2) 저장 구조 선택 ⇒ 속성 할당
(1) 키와 그들의 관계 표현
(2) 저장 구조 선택 ⇒ 속성 할당
12.7 파일접근방법의 선택
(1) 파일접근의 형태, 접근빈도 및 횟수, 응답시간, 허용된 복구시간 등이 사용자의 요구에 맞는지를 검토한다.
(2) 파일의 서비스와 사용현황, 백업과 복구, 운영방식 등 파일의 환경에 관한 사항을 검토한다.
(1) 파일접근의 형태, 접근빈도 및 횟수, 응답시간, 허용된 복구시간 등이 사용자의 요구에 맞는지를 검토한다.
(2) 파일의 서비스와 사용현황, 백업과 복구, 운영방식 등 파일의 환경에 관한 사항을 검토한다.
12.8 비용과 성능의 측정
(1) 각 주요한 거래를 처리하는 비용
․CPU 시간
․DBMS에 대한 접근횟수
․물리적인 입출력 횟수
․메시지 및 큐(대기행렬) 처리
․송신시간
(1) 각 주요한 거래를 처리하는 비용
․CPU 시간
․DBMS에 대한 접근횟수
․물리적인 입출력 횟수
․메시지 및 큐(대기행렬) 처리
․송신시간
(2) 각 어플리케이션을 처리하는 비용
․저장공간
․LOG 장치
․운영체제와 DBMS 비용
․저장공간
․LOG 장치
․운영체제와 DBMS 비용
'UP! > Software Engineering' 카테고리의 다른 글
소프트웨어 시험전략 (0) | 2008.08.21 |
---|---|
S/W 시험 (0) | 2008.08.21 |
파일설계 (0) | 2008.08.21 |
입력과 출력 설계 (0) | 2008.08.21 |
코드체계 (0) | 2008.08.21 |