Database - (2) 데이터베이스 설계 목적

파워 오브 데이터베이스 ( 가장 쉬운 데이터베이스 설계를 위한 지침서, 마이클 J. 헤르난데즈 저/송현호, 황규용 역 )의 2장을 공부하고 요약 한 내용입니다.

2. 설계 목적

데이터베이스 설계에 관심을 가져야 하는 이유

  • 데이터베이스 내의 데이터의 일관성, 무결성, 정확성에 결정적으로 중요
  • 부적절한 설계 시 특정 유형의 정보를 검색하기 어렵고, 부정확한 정보를 제공 할 수 도 있음
  • 부정확한 정보를 최대한 피해야함
  • 논리적 데이터베이스의 설계 = 건축 설계사의 청사진 구축
  • RDBMS는 논리적 데이터베이스의 설계 이후 사용 하는것이 최적

이론의 중요성

  • 하나의 작업 혹은 일련의 작업을 수 행할 때에 무슨 일이 일어날 지 예측하게 해줌
  • 관계형 데이터베이스는 집합이론, 1차 술어 논리로 알려진 수학의 두 분야에 기초를 두고 있음 → 정확한 정보를 보장 할 수 있는 형태
  • 설계 방법론의 이점
    • 견고한 데이터베이스 구조를 설계하는데 필요한 기술을 제공
      • 불필요한 데이터 / 데이터의 중복 / 부재 등을 피할 수 있음
    • 실수와 설계 반복 최소화
    • 단계적으로 설계 프로세스를 알려줄 조직화 된 기술 집합 ㄱ제공
    • 설계에 소요되는 시간 감소
    • RDBMS 프로그램 이해도 증가

훌륭한 설계의 목적과 이점

설계의 목적

  • 데이터베이스는 필수 및 임의적인 정보 검색을 모두 지원
    • 필요한 데이터 모두 저장 할 것
  • 테이블을 적절하고 효율적으로 구성되어야 할 것
    • 각 테이블 = 제목
    • pk로 데이터 식별
    • 중복 데이터 최소화
  • 필드, 테이블, 관계 수준에서 데이터 무결성 부과
    • 무결성 → 데이터 구조와 값이 유효하다는것 보증
  • 데이터베이스는 조직과 관련된 업무 규칙 지원
  • 데이터베이스의 확장 / 수정 용이해야함

설계의 이점

  • 데이터 베이스의 구조를 쉽게 수정 / 운영 가능
  • 데이터 쉽게 수정 가능
  • 정보 쉽게 검색 가능
  • 응용프로그램 개발 / 구축 쉬움

데이터베이스 설계 방법

  1. 전통적인 설계 방법
    • 요구사항 분석 → 데이터 모델링 → 정규화
      1. 요구사항 분석
      • 모델이 되는 사업에 대한 조사 및 분석 2. 데이터 모델링 단계
      • ERD, 의미-개체, 개체-관계, UML 모델링과 같은 방법을 사용하여 데이터베이스 구조를 설계하는 것
      • ERD
        • 사각형은 각 테이블을 나타냄
        • 다이아몬드는 두 테이블 사이의 관계를 나타내고, 1:1, 1:n 과 같은 관계를 서술
        • 테이블의 데이터가 다른 데이터와 반드시 연관 되어야 하고, 연관 되지 않아도 된다는 등의 관계를 선, 도형으로 표현 ( 선분 → 해당 테이블의 데이터는 다른 테이블의 생성에 있어 반드시 필요함, 원 → 해당 테이블의 데이터는 다른 테이블의 생성에 있어 반드시 필요한 것은 아님 )
          1. 정규화
      • 불필요한 데이터와 중복 데이터 제거
      • 데이터 삽입 / 업데이트 또는 삭제에서 발생하는 문제를 방지하기 위해 큰테이블을 작은 테이블로 분해하는 과정
      • 정규형 ( normal form )에 대해서 테스트 수행 후 문제 발견시 수정
  2. 이 책에서 소개된 설계 방법
    • 전통적인 정규형의 사용을 하지 않음
    • 정규화 프로세스를 일반화 한 필자만의 방법 제시 할 것
    • 이상적인 테이블의 속성을 제시 할 것