7. 데이터베이스 설계

2023. 11. 27. 12:01· CS/데이터베이스
목차
  1. 데이터베이스 설계
  2. 데이터 베이스 설계 단계
  3. 1. 요구 사항 분석
  4. 2. 개념적 설계
  5. 3. 논리적 설계
  6. 4. 물리적 설계
  7. 5. 구현

데이터베이스 설계

데이터 베이스 설계

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

관계 데이터베이스의 대표적인 설계 방법

  1. E-R 모델과 릴레이션 변환 규칙을 이용한 설계
  2. 정규화를 이용한 설계

E-R 모델과 릴레이션 변환 규칙을 이용한 설계 과정

  1. 요구사항 분석
    • 데이터 베이스의 용도 파악
    • 결과물: 요구 사항 명세서
  2. 개념적 설계
    • DBMS에 독립적인 개념적 구조 설계
    • 결과물: 개념적 스키마(E-R 다이어그램)
  3. 논리적 설계
    • DBMS에 적합한 논리적 구조 설계
    • 결과물: 논리적 스키마(릴레이션 스키마)
  4. 물리적 설계
    • DBMS로 구현 가능한 물리적 구조 설계
    • 결과물: 물리적 스키마
  5. 구현
    • SQL문을 작성한 후 이를 DBMS에서 실행하여 데이터베이스 생성
  • 설계 과정 중에 오류를 발견해서 변경이 필요하면 이전 단계로 되돌아가 설계 내용을 변경한다.

데이터 베이스 설계 단계

1. 요구 사항 분석

요구 사항 분석

  • 사용자의 요구 사항을 수집하고 분석하여 개발할 DB의 용도 파악
    • 업무에 필요한 데이터가 무엇인지, 그 데이터에 어떤 처리가 필요한 지 고려
  • 결과물: 요구 사항 명세서

 

2. 개념적 설계

개념적 설계

  • 요구 사항 분석 결과물을 개념적 모델링을 통해 DBMS에 독립적인 개념적 스키마 설계 -> 일반적으로 E-R 모델을 많이 사용
  • 요구 사항에서 중요한 개체를 추출하고 개체 간의 관계를 결정하여 E-R 다이어그램으로 표현
  • 결과물: 개념적 스키마 (E-R 다이어그램)

작업 과정

  1. 개체와 속성 추출
    • 개체: 저장할만한 가치가 있는 중요 데이터를 가진 사람이나 사물
    • 요구 사항에서 업무와 관련이 깊은 의미 있는 명사를 찾고, 찾아낸 명사를 개체와 속성으로 분류
  2. 개체 간의 관계 결정
    • 관계: 개체 간의 의미 있는 연관성
    • 요구 사항에서 개체 간의 연관성을 표현한 동사를 찾고, 찾아낸 관계의 매핑 카디널리티와 참여 특성 결정
  3. E-R 다이어그램 작성

IE 표기법 (Information Engineering)

  • ER 다이어그램을 더 축약하여 표현하는 방법

 

3. 논리적 설계

논리적 설계

  • 개념적 스키마를 논리적 모델링(데이터 모델링)을 통해 DBMS에 적합한 논리적 스키마 설계 -> 일반적으로 관계 데이터 모델 많이 이용
  • 개념적 스키마를 릴레이션 스키마로 변환 후 속성의 데이터 타입, 길이, 널 값 허용 여부, 기본 값, 제약 조건 등을 세부적으로 결정하고 결과를 문서화
  • 결과물: 논리적 스키마(릴레이션 스키마)

ER 다이어그램을 릴레이션 스키마로 변환하는 규칙

  1. 모든 개체는 릴레이션으로 변환한다.
    • 개체의 속성이 복합 속성인 경우, 복합 속성을 구성하고 있는 단순 속성만 릴레이션의 속성으로 변환
  2. 다대다(n:m) 관계는 릴레이션으로 변환한다.
    • 관계에 참여하는 개체 릴레이션의 기본키를 관계 릴레이션에 포함시켜 외래키로 지정
  3. 일대다(1:n) 관계는 외래키로 표현한다.
    • 1측 개체 릴레이션의 기본키를 n측 개체 릴레이션에 포함시켜 외래키로 지정
    • 관계의 속성도 n측 개체 릴레이션에 포함시킴
  4. 일대일(1:1) 관계는 외래키로 표현한다.
    • 일반적인 일대일 관계는 외래키를 서로 주고받는다
    • 일대일 관계에 필수적으로 참여하는 개체의 릴레이션만 외래키를 받는다.
    • 모든 개체가 일대일 관계에 필수적으로 참여하면 릴레이션 하나로 합친다.
  5. 다중 값 속성은 릴레이션으로 변환한다.

 

테이블 명세서 작성

  • 릴레이션 스키마 변환 후 속성의 데이터 타입, 널 값 허용 여부, 기본값, 제야조건 등을 세부적으로 결정하고 문서화시킴
  • 테이블 명세서: 릴레이션 스키마에 대한 설계 정보를 기술한 문서
  • 사용할 DBMS의 특성을 고려하여 작성한다.

 

4. 물리적 설계

물리적 설계

  • 하드웨어나 운영체제의 특성을 고려하여 필요한 인덱스 구조나 내부 저장 구조 등에 대한 물리적인 구조 설계

 

5. 구현

구현

  • SQL로 작성한 명령문을 DBMS에서 실행하여 데이터베이스를 실제로 생성
저작자표시 (새창열림)

'CS > 데이터베이스' 카테고리의 다른 글

9. 회복과 동시성 제어  (1) 2023.12.02
8. 정규화  (0) 2023.11.30
6. SQL 기본 문법  (1) 2023.11.18
05. 관계 데이터 연산  (0) 2023.11.09
04. 데이터 모델링  (0) 2023.11.06
  1. 데이터베이스 설계
  2. 데이터 베이스 설계 단계
  3. 1. 요구 사항 분석
  4. 2. 개념적 설계
  5. 3. 논리적 설계
  6. 4. 물리적 설계
  7. 5. 구현
'CS/데이터베이스' 카테고리의 다른 글
  • 9. 회복과 동시성 제어
  • 8. 정규화
  • 6. SQL 기본 문법
  • 05. 관계 데이터 연산
호프
호프
호프
Untitled
호프
전체
오늘
어제
  • 분류 전체보기 (341)
    • 오류😬 (4)
    • 스터디📖 (96)
      • 웹 개발 기초 (8)
      • Spring (20)
      • ML, DL (30)
      • Node.js (22)
      • React (0)
      • 블록체인 (12)
      • Go (3)
      • Javascript (1)
    • 알고리즘💻 (153)
      • 그리디 (23)
      • Bruteforce&Backtracking (16)
      • DP (17)
      • 이분탐색&정렬&분할정복 (17)
      • 누적합&투포인터 (6)
      • 스택&큐&덱 (19)
      • 그래프(DFS&BFS) (19)
      • 트리 (7)
      • 우선순위큐&다익스트라 (11)
      • 벨만포드&플로이드와샬 (8)
      • map&set&number theory (5)
      • 기타 (5)
    • 프로젝트 (3)
      • 캡스톤 디자인 프로젝트 (3)
    • 블록체인🔗 (3)
      • Solana (2)
      • 개발 (0)
      • Harmony (1)
    • ASC (6)
    • CS (73)
      • 데이터베이스 (12)
      • 클라우드컴퓨팅 (21)
      • 운영체제 (11)
      • 컴퓨터네트워크 (14)
      • 블록체인응용 (15)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 복습

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.1
호프
7. 데이터베이스 설계
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.