학교 수업 정리/데이터베이스

ch8. 데이터베이스 설계

hjr067 2025. 4. 26. 16:58

01 데이터베이스 설계 단계

관계 db의 대표적인 설계 방법

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

02 요구 사항 분석

목적 - 사용자가 요구사항을 수집하고 분석하여 개발할 데이터베이스의 용도 파악

- 업무에 필요한 데이터가 무엇인지, 그 데이터에 어떤 처리가 필요한지 등을 고려

결과물 : 요구 사항 명세서

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

03 개념적 설계

목적 - DBMS에 독립적인 개념적 스키마 설계, 요구사항 분석 결과물을 개념적 데이터 모델을 이용해 개념적 구조로 표현(개념적 모델링), E-R 모델 ↑

결과물 : ERD

  • 작업 과정
    • STEP 1. 개체 추출, 각 개체의 주요 속성과 키 속성 판별
      • 개체 - 저장할 만한 가치가 있는 중요 데이터를 가진 사람 OR 사물
      • DB(업무)와 관련 있는 의미 있는 명사를 찾아라 !! (같은 의미의 명사가 여러 개일 경우는 대표 명사 하나만 선택
      • 찾아낸 명사를 개체와 속성으로 분류
    • STEP 2. 개체 간의 관계 설정
      • 관계 : 개체 간의 의미 있는 연관성
      • 요구 사항 문장에서 개체 간의 연관성의미 있게 표현한 동사를 찾아라 !!
      • 매핑 카디널리티(일대일, 일대다, 다대다) & 참여 특성(필수적 참여/선택적 참여)를 결정해야됨
    • STEP 3. ERD로 표현
      • 요구 사항 명세서를 개념적 스키마로 작성

04 논리적 설계

목적 - DBMS에 적합한 논리적 스키마 설계, 논리적 모델링(데이터 모델링), 일반적으로 관계 데이터 모델을 많이 이용

결과물 : 논리적 스키마 - 릴레이션 스키마

  • ERD를 릴레이션 스키마로 변환
  • 릴레이션 스키마로 변환 후 속성의 데이터타입, 길이, 널 값 허용 여부, 기본 값, 제약조건 등을 세부적으로 결정하고 문서화

ERD을 릴레이션 스키마로 변환하는 규칙

  1. 모든 개체는 릴레이션으로 변환한다.
    • 개체의 속성이 복합 속성인 경우에는 복합 속성을 구성하고 있는 단순 속성만 릴레이션의 속성으로 변환
  2. 다대다 관계는 별도의 릴레이션으로 변환
    • 관계에 참여하는 개체를 규칙에 따라 릴레이션으로 변환 후 이 릴레이션의 기본키를 관계 릴레이션에 포함시켜 외래키로 지정하고, 외래키들을 조합하여 관계 릴레이션의 기본키로 지정
  3. 일대다 관계는 외래키로 표현
    • 일반적인 일대다 관계는 외래키로 표현
      • 일대다 관계에서 1측 개체 릴레이션의 기본키를 N측 개체 릴레이션에 포함시켜 외래키로 지정(관계의 속성들도)
    • 약한 개체가 참여하는 일대다 관계는 외래키를 포함해서 기본키로 지정
      • N측 개체는 외래키를 포함하여 기본키를 지정 (약한 개체는 강한 개체에 따라 존재 여부가 결정되므로 강한 개체의 기본키를 이용해서 식별해야 함)
  4. 일대일 관계는 외래키로만 표현
    • 일반적인 일대일 관계는 외래키를 서로 주고받는다.
      • 서로의 기본키를 주고받아 외래키로 지정
      • 불필요한 데이터 중복 발생 가능성
      • 관계의 속성들도 모든 개체 릴레이션에 포함시킴
    • 일대일 관계에 필수적으로 참여하는 개체의 릴레이션만 외래키를 받는다.
    • 모든 개체가 일대일 관계에 필수적으로 참여하면 릴레이션 하나로 합친다.
      • 관계의 이름을 릴레이션 이름으로 사용
      • 관계에 참여하는 두 개체의 속성들을 관계 릴레이션에 모두 포함시킴
      • 두 개체 릴레이션의 키 속성을 조합하여 관계 릴레이션의 기본키로 지정
  5. 다중 값 속성은 독립적인 릴레이션으로 변환
    • 다중 값 속성과 함께 그 속성을 가지고 있었던 개체 릴레이션의 기본키를 외래키로 가져옴
    • 새로운 릴레이션의 기본키는 다중 값 속성과 외래키를 조합하여 지정
    • ex. 사원-부하직원 릴레이션 (사원 하나에 부하직원이 여러명 들어올 수 있음 = 다중 값 속성) -> 그럼 사원 릴레이션은 속성의 원자성을 위반하는 것임.

변환 규칙을 순서대로 적용 BUT 해당되지 않는 규칙은 제거

- 모든 관계를 독립적인 릴레이션으로 변환 가능

- 개체가 자기 자신과 관계를 맺는 순환 관계도 기본 규칙을 그대로 적용

 

05 물리적 설계와 구현

- 물리적 설계

: DBMS로 구현 가능한 물리적 구조 설계, HARDWARE나 운영체제의 특성 고려

결과물 - 물리적 스키마

 

- 구현

: SQL문을 작성한 후 이를 DBMS에서 실행하여 데이터베이스 생성

'학교 수업 정리 > 데이터베이스' 카테고리의 다른 글

관계 데이터 모델  (0) 2025.04.25
CH3. 데이터베이스 시스템  (0) 2025.04.18
데이터베이스 관리 시스템  (0) 2025.04.17