[1] 데이터베이스 모델링이란?
- 개념 : 주어진 개념으로부터 논리적인 데이터 모델을 구성하는 작업, 데이터베이스 골격을 이해하면서 모델 기능과 성능 측면에서 효율적인 모델링이 필요하다. 물리적인 데이터베이스 모델로 만들어 고객 요구사항에 맞춰 반영하는 작업까지 포함한다.
- 목적 : 업무 정보를 구성하는 정보를 일정한 표기법에 의해 표현함으로써 업무 내용을 정확하게 분석하며, 분석된 모델로 실제 DB를 생성하고 개발 및 데이터 관리에 편리하게 사용하기 위함이다.
[2] 데이터베이스 모델링 과정
① 요구사항 수집 및 분석
② 설계 ▶ 개념적 모델링
③ 설계 ▶ 논리적 모델링
④ 설계 ▶ 물리적 모델링
⑤ 데이터베이스 구현
3가지 모델링
- 개념적 모델링 : 개체와 개체 간 관계에서 ER Diagram을 만드는 과정
- 중요 개념을 구분하여 핵심 Entity 독립개체 도출
- ERD 작성
- 논리적 모델링 : ER Diagram을 사용하여 관계 Schema 모델을 만드는 과정
- 각 개념을 구체화하여 ERD-RDB 모델 사상
- 상세 속성 정의
- 정규화
- 물리적 모델링 : 관계 스키마 모델의 물리적 구조를 정의하고 구현하는 과정
- 데이터베이스 생성 계획에 따라 개체, 인덱스 등을 생성
- DB 개체 정의
- 테이블 및 인덱스 등 설계
[3] ERD(Entity Relationship Diagram)
Entity 개체와 Relationship 관계를 중점적으로 데이터베이스 구조를 한 눈에 알아볼 수 있는 다이어그램
[4] 엔터티(Entity)
[4-1] 엔터티란?
- 저장되고 관리되는 데이터 집합
- 개념, 사건, 장소 등
- 유형 or 무형의 대상
[4-2] 엔터티의 특징
- 유일한 식별자를 가져야 한다.
- 2개 이상의 인스턴스가 있어야 한다.
- 반드시 속성을 가져야 한다.
- 다른 엔터티와 최소 1개 이상 관계를 가져야 한다.
- 업무에서 관리가 되는 집합이어야 한다.
[4-3] 엔터티의 특징
- 유형 or 무형에 따른 종류
- 유형 엔터티 : 지속적으로 사용됨 (ex. 학생, 선생님)
- 개념 엔터티(무형 엔터티) : 물리적 형태 X, 개념적으로 사용됨 (ex. 조직, 보험상품)
- 사건 엔터티 : 비즈니스 프로세스 실행하며 생성됨 (ex. 주문, 취소, 수수료)
- 발생시점에 따른 엔터티 종류
- 기본 엔터티 : 다른 엔터티에 영향받지 않으며 독립적으로 생성 (ex. 고객, 상품)
- 중심 엔터티 : 기본 엔터티와 행위 엔터티 중간에 있으며, 기본 엔터티로부터 발생되고 행위 엔터티를 생성함 (ex. 주문, 취소, 체결)
- 행위 엔터티 : 2개 이상의 엔터티로부터 발생함 (ex. 주문 내용, 취소 내용)
[5] ERD 키와 제약조건
[5-1] 주 식별자 (PK)
- 테이블의 Primary Key
- 중복 X, NULL 값 X
- 유일성, 최소성, 불변성, 존재성, 대표성
[5-2] 외래 식별자 (FK)
- 테이블의 Foreign Key
- 타 엔터티와의 관계를 통해 생성되는 식별자
[5-3] 제약조건(Constraint)
- 기본키 (Primary Key) : UNIQUE + NOT NULL
- 외래키 (Foreign key) : UNIQUE or PK
- 고유키 (Unique Key) : 중복 X, NULL 허용
- NOT NULL : NULL 값 허용 X
- CHECK : 범위나 조건 설정해서 지정된 값만 허용
'Database' 카테고리의 다른 글
[Database] 카디널리티(Cardinality) 2가지 의미 (0) | 2024.05.19 |
---|---|
[Database] 식별자 관계 vs 비식별자 관계 (1) | 2024.05.18 |
[Database] Rocky Linux에 MariaDB 설치 방법 (0) | 2024.05.16 |
[Database] RDBMS vs NoSQL (0) | 2024.05.16 |