본문 바로가기
Backend/DataBase

DataBase 데이터베이스 설계

by YERIEL_염주둥 2020. 3. 25.
728x90

20200325

1. 데이터 베이스 설계란

사용자의 다양한 요구사항을 고려하여 데이터 베이스를 생성하는 과정

1 단계 ; 요구사항 : 데이터 베이스의 용도 파악 
                         결과물 : 요구사항 명세서

2 단계 ; 개념적 설계 : DBMS에 독립적인 개념적 구조 설계
                            DBMS를 결정하기 전 어떠한 DBMS에 적용할 수 있는 설계
                            결과물 : 개념적 스키마 ( E - R 다이어그램 ; ERD)

3 단계 ; 논리적 설계 : DBMS에 적합한 논리적 구조 설계
                            결과물 : 논리적 스키마 ( 릴레이션 스키마), 테이블 정의서

4 단계 ; 물리적 설계 : DBMS로 구현 가능한 물리적 구조 설계
                             결과물 : 물리적 스키마

5 단계 ; 구현 : 이것이야 말로 데이터베이스 생성

설계 과정 중 오류가 발견 되어서 변경이 필요할 때 한 단계씩 올라가서 피드백이 가능 - 폭포 모델

두 단계로 뛰어 올라가는것은 아무리 다리가 길어도 불가능!

 

2. 요구사항 분석

1] 목적

① 사용자의 요구 사항을 수집 분석하여 개발할 데이터베이스의 용도를 파악한다.
② 업무에 필요한 데이터가 뭐지? 데이터를 이용하여 어떻게 처리할 생각이지? 이런 거 고려

 

2] 주요 작업

① 데이터베이스를 실제로 사용 할 사용자의 범위를 결정
② 사용자가 조직에서 수행하는 업무를 분석
③ 구식 방식으로 (쌤 왈) 면담, 설문 조사, 업무 관련 문서 분석 등의 방법을 이용해 요구사항 수집
④ 수집된 요구 사항에 대한 분석 결과를 요구 사항 명세서로 작성

 

3. 개념적 설계 

1] 목적

① DBMS에 독립적인 개념적 스키마 설계
② 요구사항 명세서를 개념적 구조로 표현
③ 개념적 스키마 : E-R-D

2] 주요 작업

① 요구사항 분석 결과를 기반으로 중요한 개체를 추출하고 개체 간의 관계를 결정하여 E-R 다이어그램으로 표현

3] 작업 과정

① 개체 추출, 각 개체의 주요 속성과 키 속성을 선발 한다.
② 개체 간의 관계를 결정한다.
③ E-R 다이어그램으로 표현한다.

4] 개체와 속성 추출

① 저정 할 만한 가치가 있는 중요 데이터를 가진 사람이나 사물
    ex) 학사 행정 데이터베이스 개발에 필요한 개체
         。 학사행정 운영에 필요한 사람 : 학생, 교수, 행정 담당자 등등
         。 학사행정 운영에 필요한 사물 : 강의실, 행정실, 교자재 등등

② 개체 추출 방법
          요구 사항 문장에서 업무와 관련이 깊은 의미 있는 명사
         。업무와 관련이 적은 일반적이고 광범위한 의미의 명사는 제외
         。의미가 같은 명사가 여러 개 일때는 대표 명사 하나만 선택
         。추출된 명사를 개체와 속성으로 분류

5] 개체 간의 관계 추출

① 관계 : 개체간의 의미 있는 연관성

② 개체 간의 관계 추출 방법
          요구 사항 문장에서 개체 간의 연관성을 의미있게 표현한 동사 
          의미가 같은 동사가 여러 개일 경우 대표 동사 하나만 선택
          찾아낸 관계에 대해 mapping cardinality(매핑 카디널리티)와 참여 특성을 결정
                   mapping cardinality : 1 : 1, 1 : N, N : M
                    참여특성 : 필수적 참여 / 선택적 참여

개념적 설계 _ e-r 다이어그램

 

 

4. 논리적 설계

1] 목적

① DBMS에 적합한 논리적 스키마 설계
② 개념적 스키마를 논리적 구조로 사고
③ 결과물로 릴레이션 스키마가 나온다. (테이블정의서)

2] 주요 작업

① E-R 다이어그램을 릴레이션 스키마로 변환
② 릴레이션 스키만 변환 후 속성의 데이터 타입, 길이, NULL 값 허용여부, 기본 값, 제약조건 등을 세부적으로 결정하고 결과를 문서화시킨다.

3] 작업 규칙 E-R 다이어그램  → 릴레이션 스키마

① RULE 1 : 모든 개체는 릴레이션으로 변환
   。E - R 다이어그램은 각 개체를 하나의 릴레이션으로 변환한다.
       。 개체의 이름 = 릴레이션 이름, 개체의 속성 = 릴레이션 속성, 개체의 키 속성 = 릴레이션의 식별자


RULE 2 : N:M 관계는 릴레이션으로 변환
     。 E - R 다이어그램은 각 개체를 하나의 릴레이션으로 변환
     。관계에 참여하는 개체를  RULE 1에 따라 릴레이션으로 변화한 후 릴레이션의 기본키를 관계 릴레이션에 포함시켜
        외래키로 지정하고 외래키들을 조합하여 관계 릴레이션의 기본키로 지정

 

RULE 3 : 1:N 관계는 릴레이션으로 변환
     。1 : N 관계에서 일측 개체 릴레이션의 기본키를 N측 개체 릴레이션에 포함, 관계의 속성들도 N측 릴레이션에 포함
     。1 : N 관계는 외래키로 표현한다.
     。약한 개체가 참여하는 1 : N 관계는 외래키를 포함해서 기본키로 지정
     。N측 개체 릴레이션은 외래키를 포함하여 기본키를 지정
        。약한 개체는 주 개체에 따라 존재 여부가 결정되므로 주 개체의 기본키를 포함해서 기본키를 지정

 

RULE 4 : 1:1 관계는 외래키로 표현
     일반적인 일대일 관계는 외래키를 서로 주고 받는다.
     일대일 관계에 필수적으로 참여하는 개체의 릴레이션만 외래키를 받는다.
     모든 개체가 일대일 관계에 필수적으로 참여하면 릴레이션을 하나로 합친다.

RULE 5 : 다중 값 속성은 릴레이션으로 변환 

 

5. 물리적 설계

** 데이터 베이스 구현 EX) 테이블 생성

 

 

반응형

'Backend > DataBase' 카테고리의 다른 글

DB 서브쿼리 sub Query & UNION  (0) 2020.04.01
DB - 정규화  (0) 2020.04.01
DB 생성 문장 및 사용자 계정 접근 권한 부여  (0) 2020.03.19
MySQL 내장함수  (0) 2020.03.18
20200318 DATABASE 실습  (0) 2020.03.18

댓글