티스토리 뷰

1장. 데이터 모델링의 이해

(1) 모델링

- 복잡한 현실세계를 단순화시켜 표현하는 것

- 추상화, 단순화, 명확화

 

(2) 데이터 모델링 중요성 및 유의점

- 파급효과, 간결한 표현, 데이터 품질

 

(3) 데이터 모델링의 3단계

- 개념적 데이터 모델링: 추상화 수준이 높고 포괄적인 수준의 모델링

- 논리적 데이터 모델링: key, 속성, 관계 등을 표현하고 재사용성이 높음

- 물리적 데이터 모델링: 물리적인 성격 고려 설계

 

(4) 데이터베이스 3단계 구조

- 외부 스키마: 사용자 관점

- 개념 스키마: 통합 관점

- 내부 스키마: 물리적 관점

-> 외부 스키마와 개념 스키마 사이에 논리적 데이터 독립성 필요

-> 개념 스키마와 내부 스키마 사이에 물리적 데이터 독립성 필요

 

(5) 데이터 모델링의 3가지 요소

- 어떤 것, 성격, 관계

 

(6) 데이터 모델링의 작업 순서

- 엔터티를 그림 -> 엔터티를 적절히 배치 -> 엔터티간 관계 설정 -> 관계명 기술 -> 관계 참여도 기술 -> 관계 필수 여부 기술

 

(7) 엔터티

7-1. 엔터티 개념

- 사람, 장소, 물건, 개념 등의 명사

- 엔터티는 업무상 관리가 필요한 관심사에 해당

- 저장이 되기 위한 어떤 것

7-2. 엔터티 특징

- 업무에서 필요하고 관리하고자 하는 정보

- 유일한 식별자에 의해 식별이 가능해야 함

- 반드시 속성이 있어야 함

- 인스턴스의 집합이어야 함 (하나의 엔터티는 2개 이상의 인스턴스로 구성)

- 다른 엔터티와 최소 1개 이상의 관계가 있어야 함

- 현업 업무에서 사용하는 용어 사용

- 약어 사용 X

- 유일한 이름 부여

- 단수 명사 사용

 

(8) 속성

8-1. 속성 개념

- 업무에서 필요로 함

- 의미상 더 이상 분리되지 않음

- 엔터티를 설명, 인스턴스의 구성요소

 

8-2. 속성 분류

1) 특성에 따른 분류

1. 기본속성: 업무분석을 통해 바로 정의한 속성

2. 설계속성: 원래 업무상 존재하지 않지만 설계를 하면서 도출해내는 속성

3. 파생속성: 다른 속성으로부터 계산이나 변형이 되어 생성되는 속성

 

2) 엔터티 구성방식에 따른 분류

1. PK 속성

2. FK 속성

3. 일반 속성

 

* 도메인

- 각 속성이 가질 수 있는 값의 범위

- 각 속성은 오직 도메인 내에 있는 값만 가질 수 있음

 

* 속성의 명명

- 해당 업무에서 사용하는 이름을 부여

- 서술식 속성명은 사용하지 않음

- 약어 사용은 가급적 제한

 

(9) 관계

9-1. 관계의 분류

1) 존재의 의한 관계: 부서와 사원

2) 행위의 의한 관계: 고객과 주문

 

9-2. 관계의 표기법

1. 관계명

2. 관계차수

3. 관계선택사양

-> 관계의 명명은 애매한 동사를 피하고 현재형으로 표현한다.

 

9-3. 관계 정의 시 고려사항

- 두 개의 엔터티 사이 연관규칙이 존재하는가?

- 업무기술서, 장표의 관계연결에 대한 규칙이 서술되어 있는가?

- 업무기술서, 장표의 관계연결을 가능하게 하는 동사가 있는가?

 

(10) 식별자

10-1. 식별자의 특징: 유일성, 최소성, 불변성, 존재성

- 주식별자에 의해 엔터티 내에 모든 인스턴스들이 유일하게 구분되어야 한다.

- 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소 수가 되어야 한다.

- 지정된 주식별자 값은 자주 변하지 않는 것이어야 한다.

 

10-2. 식별자 도출 기준

- 해당 업무에서 자주 이용되는 속성을 주식별자로 지정

- 명칭, 내역 등과 같은 이름으로 기술되는 것은 가능하면 주식별자로 지정하지 않음

- 주식별자가 복합으로 구성되는 경우 너무 많은 속성 포함되지 않도록 한다.

 

10-3. 식별자 관계와 비식별자 관계

1) 식별자 관계

- 부모의 주식별자가 자식 엔터티의 주식별자로 상속되는 경우

2) 비식별자 관계

- 부모엔터티로부터 속성을 받았지만 자식엔터티의 주식별자로 사용하지 않고 일반적인 속성으로만 사용하는 경우

 

 

 

 

 

'SQL' 카테고리의 다른 글

[SQLD] 2장 데이터 모델과 성능  (0) 2023.08.22
[SQL] limit, timestamp, foreach, now, CDATA, CAST, CASE WHEN  (0) 2023.06.29
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함