현업에서 일하다 보면,
신규 기능에 대해서 데이터베이스 모델링(테이블 설계)하는 경우가 빈번하다.
예전에 배웠던 기억으로 주먹구구 설계하기 보다는 이번 기회에 다시 한번 정리하고 제대로 설계 해보자!
올바른 프로세스로 DB 설계를 할 수 있다.
- 2-1 개념적 설계
DBMS를 고려하지 않는 독립적 설계
요구사항을 분석하여 얻어낸 정보들을 Entity, Attribute, Relation으로 기술한다.
- 2-2 논리적 설계
사용 할 DBMS 특성을 고려한 설계
데이터베이스의 논리적 스키마(릴레이션 스키마) 생성
- 2-3 물리적 설계
DBMS의 물리적 구조와 내부적인 저장구조, 분산형태, 데이터타입의 특징, 인덱스의 특징 등을 구체화하는 설계단계
데이터베이스의 물리적 스키마 생성
설계 과정을 거친 ERD를 바탕으로 DML문을 작성하고 구현한다.
학생이 수강을 신청할 수 있는 프로그램을 만들려면 아래와 같은 정보가 필요할 것으로 보인다.
- 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 논리적 설계