[SQLD]데이터 모델링 - 데이터 독립성이란?
- SW교육/DB
- 2023. 5. 28.
1. 데이터 독립성이란?
- 일상생활에서 독립적인 사람이란 과연 어떤 사람인가…
친한 친구가 있는데 친구가 무엇을 하면 내가 평소에 관심을 갖던 것이든 아니든 갑자기 하고 싶어 지는 사람. 또 무엇을 하고 싶으나 부모에게 허락을 맡아야 하는 사람은 독립적인 인간형은 아닐 것이다. 이런 인간형은 독립적인 인간형의 반대인 종속적인 인간형이라고 할 수 있을 것이다.
즉, 내가 하고 싶은 것이 있으면 친구나 부모의 영향 없이 그리고 누가 모라고 하든 상관없이 언제든 당당히 할 수 있어야 그 사람을 독립적인 인간형을 갖추었다고 할 수 있을 것이다.
데이터의 독립성도 마찬가지이다.
데이터 모델을 변경해야 할 때마다 화면 뷰를 수정해야 하고 응용 프로그램의 변경을 필수로 가져온다면 독립성을 갖춘 데이터 모델이 아니다.
DB에서의 변경이 화면이나 응용 프로그램에 영향을 최소화 하도록 설계된 모델이 데이터 독립성을 가진 모델일 것이다.
=> 즉, 하위 단계의 데이터 구조가 변경되더라도 상위 단계에 영향을 미치지 않는 속성
아래는 데이터베이스 3단계 구조와 그에 따른 데이터 독립성을 나타낸 그림이다.
2. 스키마(Schema) 란?
- 데이터베이스에 저장되는 데이터의 구조 및 유형을 정의하는 것
- 데이터베이스의 전체적인 정의를 나타내며, 인발적으로 논리 스키마를 지칭함
- 예) 엔티티명 및 엔티티 속성 정의 (보통 엔티티 정의의 그룹체 라고 생각하면 될 것 같다.)
3. 데이터 독립성의 종류
(1) 논리적 독립성
- 기존의 응용프로그램에 영향을 주지 않고, 데이터베이스의 논리적 구조를 변경시킬 수 있는 속성
- 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원하는 것
- 논리적 구조가 변경되어도 응용 프로그램에 영향 없음
- 사용자 특성에 맞는 변경 가능
- 통합 구조 변경가능
(2) 물리적 독립성
- 내부스키마가 변경되어도 외부/개념 스키마는 영향을 받지 않도록 지원하는 것
- 응용프로그램이나 데이터베이스의 논리적인 구조에 영향을 주지않고, 데이터의 물리적 구조를 변경 할 수 있는 속성
- 물리적 구조 영향 없이 개념구조 변경가능
- 개념구조 영향 없이 물리적인 구조 변경가능
[DB]Data, Database, DBMS, Big Data 용어 및 개념 정리
'SW교육 > DB' 카테고리의 다른 글
[SQLD]데이터자격검정 개발자 시험 및 공부 후기 (0) | 2023.06.10 |
---|---|
[DB]엔터티(Entity)와 ERD에 대해서 알아보자. (0) | 2023.06.04 |
[SQLD]모델링의 정의, 데이터 모델링 정의 (2) | 2023.05.25 |
[SQL]SQLD시험 접수하기. SQLD시험 접수 주의사항 (0) | 2023.05.09 |
[Oracle/Sql ]select 문에서 where 절의 다양한 조건들 예시 -1- (0) | 2022.05.02 |