데이터 베이스 모델링

Mark·2021년 10월 6일
0

Database

목록 보기
1/1
post-thumbnail

현업에서 일하다 보면,
신규 기능에 대해서 데이터베이스 모델링(테이블 설계)하는 경우가 빈번하다.
예전에 배웠던 기억으로 주먹구구 설계하기 보다는 이번 기회에 다시 한번 정리하고 제대로 설계 해보자!

학습 목표

올바른 프로세스로 DB 설계를 할 수 있다.

데이터베이스 모델링 순서

  1. 요구조건분석
  2. 설계(개념적 설계 -> 논리적 설계 -> 물리적 설계)
  3. 데이터 베이스 구현
  • (요구사항명세서) -> ERD -> ERD 관계 정립

1. 요구조건 분석

  • 기획자 또는 사용자의 요구사항을 정리 및 분석
  • 데이터베이스 용도 식별

2. 설계

  • 2-1 개념적 설계
    DBMS를 고려하지 않는 독립적 설계
    요구사항을 분석하여 얻어낸 정보들을 Entity, Attribute, Relation으로 기술한다.
  • 2-2 논리적 설계
    사용 할 DBMS 특성을 고려한 설계
    데이터베이스의 논리적 스키마(릴레이션 스키마) 생성
  • 2-3 물리적 설계
    DBMS의 물리적 구조와 내부적인 저장구조, 분산형태, 데이터타입의 특징, 인덱스의 특징 등을 구체화하는 설계단계
    데이터베이스의 물리적 스키마 생성

3. 데이터베이스 구현

설계 과정을 거친 ERD를 바탕으로 DML문을 작성하고 구현한다.


실습

<수강 신청 프로그램을 만들 것이다. 데이터베이스를 설계 해보자!>

1) 요구사항 분석

학생이 수강을 신청할 수 있는 프로그램을 만들려면 아래와 같은 정보가 필요할 것으로 보인다.

  • 학생 정보 (학번, 이름, 연락처, 전공학과, 지도교수, 수강과목)
  • 학과 정보 (학과, 학과명, 연락처, 학과장, 위치)
  • 수업 정보 (수업, 수업명, 수강인원)
  • 교수 정보 (교수, 이름, 학과)

2) 개념적 설계

  • 2-1 개념적 설계
    Entity
    : 정보가 저장될 수 있는 독립적인 존재. 즉, 테이블을 의미한다.

    Attribute
    : Entity의 특성을 구체적으로 나타내는 세부 항목. 즉, 물리적 모델의 컬럼을 의미한다.

    Relation
    : 엔터티 사이의 연관성을 표현하는 개념, 카디날리티(Cardinality)로 표현하며, 하나의 화살표만 갖으면 1, 여러개의 선을 갖으면 N으로 표현한다.

(학생 Entity와 수업 Entity의 수강Relation)

(학생 Entity와 학과 Entity의 전공Relation)

(교수 Entity와 학과 Entity의 학과장Relation)

(교수 Entity와 수업 Entity의 강의Relation)

(학생 Entity와 교수 Entity의 지도교수Relation)

(전체 Entity의 Relation)

  • 2-2 논리적 설계

참고

profile
지적인 힘이 부족하면 나의 불행을 확대 해석한다. 지적인 힘을 기르자!

0개의 댓글