일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 정보처리기사
- let
- TypeScript
- forEach
- 울산 맛집
- Javascript
- 울산맛집
- 배열
- size
- Has
- undefined
- 홈베이킹
- Delete
- Map
- 자바스크립트
- clear
- SQL 전문가
- 화살표 함수
- vuejs
- TS
- 오븐
- 울산 남구 맛집
- 함수
- SQL
- slice
- 휘낭시에
- 객체
- set
- sqld
- Vue
- Today
- Total
Bae
[SQLD] 데이터 모델링에서 데이터 독립성의 이해 본문
ㅁ 데이터 모델링에서 데이터 독립성의 이해
- 데이터 독립성(<--> 데이터 종속성)
사용자 요구사항에 대해 화명과 데이터베이스 간에 서로 독립성을 유지하기 위한 목적으로 데이터 독립성의 개념 출현
- 데이터 독립성의 필요성
유지보수 비용증가
데이터 중복성 증가
데이터 복잡도 증가
요구사항 대응 저하
- 데이터 독립성의 효과
각 View의 독립성을 유지하고 계층별 View에 영향 주지 않고 변경 가능
각 단계별 스키마에 따라 데이터 정의어(DDL)와 데이터 조작어(DML)가 다름을 제공
데이터 독립성을 이해하기 위해 구조, 독립성, 사상(Mapping) 3단계를 이해하면 됨
- 데이터베이스 3단계 구조
(사용자와 가까운 단계) 외부단계 / 개념적 단계 / 내부적 단계 , 서로 간섭되지 않는 모델
- 데이터 독립성 요소
외부스키마: 각 사용자 단계의 개인적 DB 스키마, 사용자 관점, 응용 프로그램이 접근하는 DB
개념스키마: 조직 전체의 통합된 DB 스키마, 설계자 관점 데이터 모델링의 지향점
내부스키마: 물리적으로 데이터가 저장되는 방법을 표현하는 스키마, 개발자 관점, 물리적 저장 구조
데이터 모델링: 통합관점 뷰를 가지는 개념스키마를 만들어가는 과정
항목 | 내용 | 비고 |
외부스키마(External Schema) | - View 단계 여러 개의 사용자 고나점으로 구성, 즉 개개 사용자 단계로서 개개 사용자가 보는 개인적 DB스키마 - DB의 개개 사용자나 응용프로그래머가 접근하는 DB 정의 |
사용자 관점 접근하는 특성에 따른 스키마 구성 |
개념스키마(Conceptual Schema) | - 개념단계 하나의 개념적 스키마로 구성, 모든 사용자 관점을 통합한 조직 전체의 DB를 기술 - 모든 응용시스템들이나 사용자들이 필요로 하는 데이터를 통합한 조직 전체의 DB를 기술한것, DB에 저장되는 데이터와 그들간의 관계를 표현하는 스키마 |
통합 관점 |
내부스키마(Internal Schema) | - 내부단계, 내부 스키마로 구성, DB가 물리적으로 저장된 형식 - 물리적 장치에서 데이터가 실제적으로 저장되는 방법을 표현하는 스키마 |
물리적 저장구조 |
- 두 영역의 데이터독립성
논리적 독립성 (외부 - 개념)
: 개념스키마 변경 -> 외부스키마 영향 X
(사용자 특성에 맞는 변경 가능, 통합 구조 변경 가능)
물리적 독립성 (개념 - 외부)
: 내부스키마 변경 -> 외부/개념스키마 영향 X
(물리적 구조, 개념 구조 상호간 영향 없이 서로 변경 가능)
독립성 | 내용 | 특징 |
논리적 독립성 | - 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원하는 것 - 논리적 구조가 변경되어도 응용 프로그램에 영향 없음 |
- 사용자 특성에 맞는 변경 가능 - 통합 구조 변경 가능 |
물리적 독립성 | - 내부스키마가 변경되어도 외부/개념스키마는 영향을 받지 않도록 지원하는 것 - 저장장치의 구조변경은 응용프로그램과 개념스키마에 영향 없음 |
- 물리적 구조 영향 없이 개념구조 변경 가능 - 개념구조 영향 없이 물리적인 구조 변경 가능 |
- 사상(Mapping)
상호 독립적인 개념을 연결시켜주는 다리
사상 | 내용 | 예 |
외부적/개념적 사상 (논리적 사상) |
-외부적 뷰와 개념적 뷰의 상호 관련성을 정의함 | 사용자가 접근하는 형식에 따라 다른 타입의 필드를 가질 수 있음 개념적 뷰의 필드 타입은 변화가 없음 |
개념적/내부적 사상 (물리적 사상) |
- 개념적 뷰와 저장된 데이터베이스의 상호관련성 정의 | 만약 저장된 데이터베이스 구조가 바뀐다면 개념적/내부적 사상이 바뀌어야 함 그래야 개념적 스키마가 그대로 남아있게 됨 |
데이터독립성을 보장하기 위해서는 사상을 하는 스크립트(DDL)를 DBA가 필요할 때마다 변경해 주어야함
즉, 각 단계(외부, 개념적, 내부적)의 독립성을 보장하기 위해서 변경사항이 발생했을 때 DBA가 적절하게 작업을 해주기 때문에 독립성이 보장됨
[출처] Sql 전문가 가이드
'SQL' 카테고리의 다른 글
[SQLD] 데이터 모델의 표기법인 ERD의 이해와 좋은 데이터 모델의 요소 (0) | 2022.02.20 |
---|---|
[SQLD] 데이터 모델링의 중요한 세 가지 개념 (0) | 2022.02.19 |
[SQLD] 프로젝트 생명주기(Life Cycle)에서 데이터 모델링 (0) | 2022.02.17 |
[SQLD] 데이터 모델링의 3단계 진행 (0) | 2022.02.17 |
[SQLD] 데이터 모델링의 중요성 및 유의점 (0) | 2022.02.16 |