본문 바로가기
SQLD를 위한 낙서장

[SQLD] SQL 개발자 자격증 공부 메모장 세 번째

by Luciditas 2023. 6. 23.
728x90

프로젝트 생명주기에서의 데이터 모델링

Waterfall기반

데이터 모델링의 위치는 분석과 설계 단계로 구분

정보공학 or 구조적 방법론

분석단계 => 업무 중심의 논리적인 데이터 모델링

설계 단계 => 하드웨어와 성능을 고려한 물리적 데이터 모델링을 수행

[이미지] 프로젝트 생명 주기에 따른 데이터 모델

 

 

데이터 독립성

데이터 독립성의 필요성

유지보수 비용을 절감하고 데이터 복잡도를 낮추면서 중복된 데이터를 줄이고 지속적으로 요구되는 사용자 요구사항에 대한 화면과 데이터베이스 사이에 독립성을 유지하기 위함이다.

[이미지] 데이터 독립성이 필요해진 이유

데이터독립성을 확보함으로써 얻는 이점

1. 각 뷰의 독립성을 유지하고 계층별 뷰에 영향을 줒지 않고 변경할 수 있다.

2. 단계별 스키마에 따라서 데이터 정의어(DDL)과 데이터 조작어(DML)가 다름을 제공한다.

 

데이터 베이스의 3단계 구조

ANSI / SPARC 3단계 데이터 독립성 모델

외부단계, 개념 단계, 내부 단계로 구성되어 서로 간섭하지 않는다.

1. 외부 단계

사용자와 가까운 단계, 개인이 보는 자료에 대한 관점

=> 데이터 유형과 관점, 방법에 따라 다른 스키마 구조를 가지고 있다.

2. 개념 단계

데이터 유형의 공통 사항을 저리하는 톤합된 뷰를 스키마 구조로 디자인한 형태

3. 내부 단계

데이터가 물리적으로 저장된 방법에 대한 스키마 구조

 

논리적 독립성과 물리적 독립성

논리적 독립성

개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원함

논리적 구조가 변경돼도 응용 프로그램에 영향이 없다.

= > 사용자 특성에 맞게 변경할 수 있고 통합 구조도 변경이 가능하다.

물리적 독립성

'내부스키마가 변경되어도 외부/ 개념 스키마에는 영향을 받지 않도록 지원함

저장 장치의 구조 변경은 응용 프로그램과 개념스키마에 영향이 없다.

= > 물리적 구조의 영향 없이 개념 구조가 변경이 가능하고 개념 구조에 영향을 주지 않고 물리적인 구조가 변경이 가능하다.

 

사상(Mapping)

상호 독립적인 개념을 연결시켜주는 다리를 의미하며 데이터 독립성에서는 크게 2가지 매핑이 있다.

1. 외부적 / 개념정 매핑(논리적 매핑)

외부적인 뷰와 개념적인 뷰의 관련성을 정의한다.

ex) 사용자가 접근하는 형식에 따라서 다른 타입의 필드를 가질 수 있는데 이때 개념적 뷰의 필드 타입은 변화가 없다.

2. 개념적 / 내부적 매핑

개념적 뷰와 저장된 데이터베이스의 상호 관련성을 정의한다.

ex) 개념적 스키마가 그대로 보존되기 위해서는 데이터베이스 구조가 바뀌면 개념적 / 내부적 매핑이 바뀌어야한다.

 

데이터 모델링의 3요소

1. 업무가 관여하는 것 (Things) == 엔터티

 

2. Things가 가지는 성격 (Attribute) == 속성

 

3. Things 사이의 관계 (Relationship) == 관계

 

단수와 집합(복수)의 명명

개념 복수 / 집합 (타입 / 클래스) 개별 / 단수 (어커런스 / 인스턴스)
Things Entity Type Entity
Entity Instance / Occurence
Assoiation between Things Relationship Pairing
Charicteristic of a Thing Attribute Attribute Value

 

좋은 데이터 모델 요소

1. 완전성

업무에서 필요한 데이터가 데이터 모델에 정의 돼 있어야한다.

2. 중복 배제

하나의 DB 내에 동일한 사실은 반드시 한 번만 기록해야한다.

3. 업무 규칙

업무 규칙은 데이터 모델에 표현하고 모든 사용자가 공유할 수 있도록 제공해야한다.

4. 데이터 재사용

데이터 통합성과 독립성에 대해 충분히 고려해야한다.

5. 의사소통

데이터를 분석하는 과정에서 데이터 모델에 엔터티, 서브타입, 속성, 관계 등의 형태로 최대한 자세히 표현돼야 한다.

6. 통합성

동일한 성격의 데이터를 한 번만 정의하기 위해서는 여러 업무 영역에서 공동으로 사용하기 용이하게 정의하야한다.

728x90