Redesign your brain

가장 쉬운 데이터베이스 설계 책, 마이클 헤르난데즈 본문

읽고 또 읽고/경영

가장 쉬운 데이터베이스 설계 책, 마이클 헤르난데즈

bangla 2017. 2. 25. 17:08
728x90

 

실수와 설계 반복을 최소한으로 줄여준다.

설계 프로세스를 쉽게 만들며 데이터베이스의 설계에 소요되는 시간을 줄여준다.

 

 

훌륭한 데이터베이스 설계의 목적

  • 데이터베이스는 필수 임의적인 정보를 모두 지원한다.
  • 테이블은 적절하고 효율적으로 구성되어야 한다. (중복데이터 절대적으로 최소화, 고유값을 가진 필드에 의해 데이터베이스에서 식별됨)
  • 필드, 테이블, 관계 수준에서 데이터 무결성이 부과됨.
  • 데이터베이스의 구조는 업무의 변화와 성장에 따른 정보 요구사하에 의해 확장하가거나 수정하기 쉬워야 .

 

훌륭한 데이터베이스 설계의 이점

  • 데이터베이스 구조를 쉽게 수정할 있고 운영할 있음 : 테이블이나 필드에 대한 수정이 데이터베이스의 다른 필드나 테이블에 부정적인 영향을 주지 않음.
  • 데이터를 쉽게 수정할 있음 : 테이블 내의 필드값을 변경하는 것이 테이블 내의 다른 필드들의 값에 부정적인 영향을 주지 않음. 또한 설계된 데이터베이스는 절대적으로 중복값을 최소화하기 때문에 일반적으로 필드의 특정한 데이터값만 수정할 있음.
  • 정보를 쉽게 검색할 있음 : 테이블들이 구성되어 있고 그들 사이의 관계가 제대로 설정되어 있기 때문에 쉽게 질의를 생성할 있음.
  • 최종 사용자가 응용프로그램을 개발하고 구축하기 쉬움

 

 

데이터베이스 설계의 프로세스

  1. 데이터베이스에 대한 임무 명세와 임무 목표를 정의 : 사용자가 사용하기 위한 작업들을 정의
  2. 기존 데이터베이스를 분석 : 사용자 관리자 확인, 조직의 데이터 요구 사항 확인
  3. 데이터 구조를 생성함.
  4. 테이블 관계를 결정하고 설정함 : 관계의 논리적인 연결을 설정. 적절한 특징을 설정.
  5. 업무 규칙을 결정하고 정의 : 제약사항 확인.
  6. 리포트/뷰를 결정하고 설정함 : 정해진 데이터들이 보여주어야 하는 뷰들에 대한 기준을 설정.
  7. 데이터 무결성을 검토 : a. 테이블이 설계 기준에 맞는지 확인, b. 모든 필드 명세들을 점검하고 검토함, c. 관계에 대한 유효성을 점검, d. 업무 규칙을 검토하고 확정.

 

 

데이터베이스 설계 확인 사항

  • 정확하고 명확하며 모호하지 않게 테이블의 주제를 식별할 있는 이름을 만듬.
  • 테이블 주제를 전달하는 필요한 최소 개수의 단어를 사용.
  • 물리적 특성을 표현하는 단어 사용 X : 파일, 레코드, 테이블 사용 X
  • 약자 사용 하지 .
  • 테이블에 들어갈 데이터를 제한할 있는 독특한 이름이나 다른 단어를 사용하지 X
  • 암시적 또는 명시적으로 이상의 주제로 식별되는 이름을 사용하지 X

 

 

 

 

필드 정제

  1. 필드 이름을 개선
  2. 필드가 이상적인 필드의 요소들을 따르는지 여부를 파악.
  3. 테이블의 이름을 정제함.
  4. 테이블에 대해 적당한 설명을 작성.
  5. 테이블의 종류를 지정

 

키의 요소

  • 다중 부분 필드일 없다.
  • 유일한 값들을 포함해야만 한다.
  • 널값을 포함할 없다.
  • 값이 조직의 보안 또는 비밀 규칙을 깨뜨리도록 없다.
  • 값이 전체 또는 부분적으로 선택적이지 않다.
  • 유일성을 정의하기 위해 필요한 최소 개수의 필드들을 포함한다.
  • 값들이 테이블 내의 레코드들을 유일하게 그리고 배타적으로 식별해야만 한다.
  • 값이 주어진 레코드 내의 필드의 값을 구체적으로 식별해야만 한다.
  • 값이 아주 드물고 극단적인 경우에만 수정될 있다.

 

 

필드 명세서 예시

 

 

General Elements 
Fi.ldName: 
Sind By: 
AJi.s(es): 
Physical Elements 
Type: 
D•dmal PI 
Input M BE 
Format 
FIELD SPECIFICATIONS 
Spec"ication 
Sotuce 
Character Sunort 
(0-9)

を 、 、 ミ 、 無 に ′ も 3 当 凸 第 老 」 ロ 
物 ー 上 イ ・ 」 0 そ 1 ロ 
・ = を du 0 ロ 
・ 第 気 匚 
第 三 一 「 ま 口 を ま = 新 3 、 1 一 L 」 
ま ま 当 口 を ま 第 を - 一 口 
を ミ s ロ 
ロ ロ ロ ロ ロ ロ 
第 ミ 。 w ミ 山 一 第 。 01 
要 こ ! ェ こ 
ー 第 、 第 工 
ロ ロ ロ ロ ロ

 

 

 

 

BUSINESS RULE SPECIFICATIONS 
Rule Informatio n 
An instructor must teach "ass. COs-sow 
The part•apation o' INSTRUCTORS the a snqle ro:.ord in 
INSTRUCIORS can be eight 
Category: O Vield Specific 
Database Oriented 
D Application OrieMed 
Structures Affected 
Field Names 
INSTRUCTORS. INSTRUCTOR CLASSES

- ー 遥 : 盲 に 第 当 第 3 ロ 
、 三 ミ 第 」 匚 
- 当 要 【 象 ! 号 -1 ・ 一 の ナ 読 さ ま 一 主 【 壑 一 上 と ー を を 要 一 
デ ニ 2 を を ー も - 3 s 三 ) 一 〒 一 s 、 ・ ニ を - 当 ・ 」 よ 一 0 ー 、 当 当 一 
一 ー 当 第 を 0 三 21 ロ 
= ま 三 、 、 ロ 
ー ヨ - 言 を 当 ロ 
当 要 を ! ま 工 「 一 
ー ・ ・ 三 当 ロ 
で 0- に ・ ・ W ・ 一 山 工 
ー 誕 に に 0 一 一 0 、 
当 重 冖 」 
強 を 鬘 き 
に 第 の - 三 匚 
ま ! ・ 0- 当 ロ 
・ を ー を こ 一 置 ま 1

 

 

테이블 수준 무결성

  • 테이블 내에 이중 필드들이 없다.
  • 테이블 내에 계산된 필드들이 없다.
  • 테이블 내에 다중값 필드들이 없다.
  • 테이블 내에 다중 부분 필드들이 없다.
  • 테이블 내에 이중 레코드들이 없다.
  • 테이블 내의 레코드는 값에 의해 식별된다.
  • 키는 키의 요소들을 따른다

 

필드 수준 무결성

  • 필드가 이상적 필드의 요소들을 따르는 것을 확인했다.
  • 필드를 위한 일련의 필드 명세들을 정의했다는 것을 확인했다.

 

관계 수준 무결성

  • 올바르게 관계를 설정했다.
  • 적절한 삭제 규칙을 정의했다.
  • 테이블을 위한 참여의 종류를 정확하게 식별했다.
  • 테이블을 위한 올바른 참여 수준을 설정했다.

 

업무 규칙

  • 규칙이 의미 있는 제약조건을 부과한다고 확신한다.
  • 규칙을 위한 올바른 범주를 결정했다.
  • 규칙을 올바르게 정의 설정했다.
  • 적절한 필드 명세 요소들 또는 테이블-관계 특성들을 수정했다.
  • 적절한 검증 테이블을 설정했다.
  • 규칙을 위한 업무 규칙 명세서를 완성했다.

 

  • 뷰는 요구되는 정보를 제공하기 위한 필요한 기반 테이블들을 포함한다.
  • 뷰에 적절한 필드를 할당했다.
  • 계산된 필드는 적절한 정보를 제공하거나 뷰가 데이터를 표시하는 방법을 개선한다.
  • 필터는 적절한 레코드 집합을 반환한다.
  • 뷰는 다이어그램을 가지고 있다.

 

 

 

 

 

필드 특유 업무 규칙 정의 설정

  1. 테이블을 선택한다.
  2. 필드를 검토하고 다른 제약사항을 요구하는지 판단한다.
  3. 필드에 필요한 업무 규칙을 정의한다.
  4. 적절한 필드 명세 요소들을 수정하여 규칙을 설정한다.
  5. 어떤 행위가 규칙을 검사하는지 판단한다.
  6. 업무 규칙 명세서에 규칙을 기록한다.

 

관계 특유 업무 규칙 정의 설정

  1. 관계를 선택한다.
  2. 관계를 검토하고 다른 제약사항을 요구하는지 판단한다.
  3. 관계에 필요한 업무 규칙을 정의한다.
  4. 적절한 관계 특성들을 수정하여 규칙을 설정한다.
  5. 어떤 행위가 규칙을 검사할지 판단한다.
  6. 업무 규칙 명세서에 규칙을 기록한다.

 

이상적일 필드의 요소

  • 테이블의 대상의 뚜렷한 특징을 나타낸다.
  • 하나의 값만을 포함한다.
  • 작은 구성요소로 해체될 없다.
  • 계산되거나 연결된 값을 포함하지 않는다.
  • 계산되거나 연결된 값을 포함하지 않는다.
  • 전체 데이터베이스 구조 내에서 유일한다.
  • 하나 이상의 테이블에 나타날 때에는 속성들의 대부분을 보유한다.

 

이상적인 테이블의 요소

  • 개체 또는 사건일 있는 하나의 대상을 나타낸다.
  • 키를 갖는다.
  • 다중 부분 필드나 다중값 필드를 포함하지 않는다.
  • 계산된 필드를 포함하지 않는다.
  • 불필요한 중복 필드들을 포함하지 않는다.
  • 절대적으로 최소화된 중복 데이터만을 포함한다.

 

 

필드 수준 무결성

  • 필드의 주체성과 목적이 명확하고 이것이 나타나는 모든 테이블들을 적절하게 식별된다.
  • 필드 정의들은 데이터베이스 전체에 걸쳐 일관성을 갖는다.
  • 필드의 값들을 일관적이고 유효하다.
  • 필드의 값들에 적용될 있는 수정, 비교, 그리고 연산의 종류가 명확하게 실별된다.

 

필드 설명을 작성하기 위한 지침

  • 필드를 정확하게 식별하고 목적을 명확하게 기술하는 문장을 사용한다.
  • 명확하고 간결한 문장으로 작성한다.
  • 필드 이름을 재설명하거나 재수식하지 않는다.
  • 기술적인 은어, 두문자어, 약어 사용을 피한다.
  • 구현에 의존적인 정보를 포함하지 않는다.
  • 설명을 다른 필드설명에 의존하게 하지 않는다.
  • 예제를 사용하지 않는다.

 

 

 

테이블 설명을 작성하기 위한 지침

  • 테이블을 정확하게 정의하는 문장을 포함한다.
  • 테이블이 조직에 중요한 이유를 설명하는 문장을 포함한다.
  • 명확하고 간결한 설명을 작성한다.
  • 테이블이 어떻게 또는 어디에 사용되는지와 같은, 구현과 관련된 정보를 테이블 설명에 포함하지 않는다.
  • 다른 테이블의 테이블 설명에 의존적인 테이블 설명을 작성하지 않는다.
  • 테이블 설명에 예제를 사용하지 않는다.

 

필드 이름을 생성하기 위한 지침

  • 전체 조직에 의미가 있는 서술적인 고유한 이름을 만듦
  • 필드가 나타내는 특성을 정확하고 명확하게 그리고 모호하지 않게 식별하는 이름을 생성.
  • 두문자어 사용하지 말고, 약어는 신중하게 사용.
  • 필드 이름의 의미를 혼동시킬 있는 단어들을 사용하지 않음.
  • 하나 이상의 특성을 암시적 또는 명시적으로 식별하는 이름을 사용하지 않음.
  • 단수형의 이름을 사용.

 

테이블 이름을 생성하기 위한 지침

  • 전체 조직에 의미 있는 유일하고 설명적인 이름을 생성한다.
  • 테이블 대상을 정확하고 명확하게 그리고 모호하지 않게 식별하는 이름을 생성한다.
  • 테이블의 대상을 전달할 필요한 최소 개수의 단어를 사용한다.
  • 물리적인 특징을 전달하는 단어들을 사용하지 않는다.
  • 두문자어와 약어를 사용하지 않는다.
  • 테이블에 입력될 있는 데이터를 과도하게 제한하는 이름이나 다른 단어들을 사용하지 않는다.
  • 하나 이상의 대상을 암시적이거나 명시적으로 식별하는 이름을 사용하지 않는다.
  • 이름의 복수형을 사용한다.

 

 

관계 식별하기

  1. 쌍의 테이블을 선택하고, 번째 테이블과 번째 테이블의 교차 지점에 항목을 적는다.
  2. 현재 작업 중인 행렬에서 번째 테이블이 있는 쪽의 번째 테이블을 지정하고 행렬의 반대쪽에 있는 번째 테이블과의 교차점에 항목을 적는다.
  3. 항목에 다음에 나와있는 적당한 공식을 적용하여, 테이블 사이의 공식적인 관계를 식별한다.
  4. 적절한 방식으로 관계도를 그린다.
  5. 행렬에 있는 항목을 삭제한다.

 

요구사항 식별하기

  • 사용자/관리자 대표들의 그룹과 함께 메모를 검토한다.
  • 설계프로세서의 이전 단계에서 수집한 데이터 항목, 보고서, 프레젠테이션 견본을 검토한다.
  • 테이블들과 그것들이 나타내는 대상들을 검사한다.
  • 테이블 관계를 분석한다.
  • 업무 규칙을 연구한다.

 

 

면담 지침

면담 지침 
참석자 지침 
참석자가 의도를 알 수 있도록 한다. 
• 인터뷰 진행자가 인터뷰에 응해준 참석자에게 감사한 마음-을 갖고 있음과 인터뷰 질문에 용 
답한 내용이 전반적인 설계 프로게트에 큰 가치를 가지고 있음을 알도록 한다. 
• 논행이 발생한 경우. 인터뷰 진행자가 공식적인 중재자의 역학을 하는 것올 모든 사람들에 
인식시킨다』

 

olEH$ 진행자 지침 
조명이 밝고 산만한 소음에서 격리되어 있고 근 나지가 안락한 의사를 갖춘 빔이서 인터뷰를 
진행한다. 
. 각 인터뷰는 1이1 이하의 사람들로 제한하여 진행한다- 
A\자와 관리자들을 분리하여 인터뷰를 진 행한다. 
• 사람들의 몇몇 그름의 인터뷰를 진행할 11 다 그룹의 상을 임명원다 
• 인터규에 앞서 질문을 준비한다』 
• 만일 필기를 할 수 없다면. 각 인터뷰를 친행할 매 믿을 수 있는 기록자에게 그 작업을 말기 
거나 인터뷰를 기록하기 위한 디지털 녹음 장지를 사용하도록 그룹의 허락을 최특한다. 
• 모는 사람들에게 동일하고 온전한 관심을 보인다. 
• 인터뷰를 진 행하는 속도를 유지한다| 
1한지한다•

 

 

임무 명세

임무 명세 
학성된 임무 명세는 다음과 같은 특징을 갖는다- 
• 요점을 간결하고 직접 적으로 표현한다- 
불필요한 문장이나 표현을 피하고 잘 정의한다. 
• 특정 직업을 명시적으로 표현하는 구절이나 문상을 피한다. 
• 여러분|더끼터볘이스 개발자)과 설펴선 데이터니이스를 4卜十하는 사람들이 이해말 수 있다, 
2일무목표 
작,!된 업무 목표는 다음과 같은 특징을 갖는다. 
• 일만-적인 직업을 명확하게 정의하는 선언적인 문장으로 구성되며 불핍요한 설명이 없다. 
• 요점을 표현할 때 간결하고 모호하지 않은 일반석인 용어로 표현한다.

 

Comments