초코딩(chocoding)

[SQLD] 이기적 - SQL 개발자 / part.2 데이터 모델링의 이해 본문

MySQL

[SQLD] 이기적 - SQL 개발자 / part.2 데이터 모델링의 이해

sweetychocoding 2023. 9. 5. 09:36
728x90

데이터 모델링의 주요 특징

- 데이터 모델링은 추상화해야 한다. => 추상화

- 데이터 모델링은 단순화해야 한다. => 단순화

- 데이터 모델링은 명확해야 한다. => 명확성

 

데이터 모델링을 위한 ERD (entity relationship diagram)

1. 엔터티를 도출하고 그린다.

2. 엔터티를 배치한다.

3. 엔터티 간의 관계를 설정한다.

4. 관계명을 서술한다.

5. 관계 참여도를 표현한다.

6. 관계의 필수 여부를 표현한다.

 

데이터 모델의 3가지 관점

1. 데이터

2. 프로세스

3. 데이터와 프로세스

 

데이트 모델링 관계

- 개념적 모델링

- 논리적 모델링

- 물리적 모델링

 

3층 스키마 구조

- 외부 스키마

: 응용 프로그램이 접근하는 데이터베이스를 정의한다.

: 사용자 관점, 업무상 관련이 있는 데이터 접근이다.

 

- 개념 스키마

: 설계자 관점, 사용자 전체 집단의 데이터베이스 구조이다.

: 통합 데이터베이스 구조이다.

 

- 내부 스키마

: 개발자 관점, 데이터베이스의 물리적 저장 구조이다.

 

엔터티란?

=> 업무에서 관리해야 하는 데이터 집합을 의미, 저장되고 관리되어야 하는 데이터이다.

=> 정보가 저장될 수 있는 장소, 사람, 사건, 개념, 물건 등이다.

 

엔터티의 특징

- 식별자

: 유일한 식별자가 있어야 한다.

 

- 인스턴스 집합

: 2개 이상의 인스턴스가 있어야 한다.

 

- 속성

: 반드시 속성을 가지고 있다.

 

- 관계

: 엔터티는 다른 엔터티와 최소한 한 개 이상 관계가 있어야 한다.

 

- 업무

: 엔터티는 업무에서 관리되어야 하는 집합이다.

 

엔터티의 종류

- 유형, 무형에 따른 엔터티 종류

1. 유형 엔터티

2. 개념 엔터티

3. 사건 엔터티

 

- 발생 시점에 따른 엔터티 종류

1. 기본 엔터티

2. 중심 엔터티

3. 행위 엔터티

 

엔터티 식별자

1. 기본키 : 후보키 중에 엔터티를 대표할 수 있는 키

2. 후보키 : 유일성과 최소성을 만족하는 키

3. 슈퍼키 : 유일성은 만족하지만, 최소성을 만족하지 않는 키

4. 대체키 : 여러 개의 후보키 중에서 기본키를 선정하고 남은 키

5. 외래키 : 하나 혹은 다수의 다른 테이블의 기본 키 필드를 가리키는 것으로 참조 무결성을 확인하기 위해 사용되는 키

728x90