[기억할 개념] - 3층 스키마
1. 3층 스키마 (3-Level Schema)
1) 데이터 독립성의 필요성: 데이터의 일체적 구성(일관성) 때문, 일관된 형태로 데이터를 수집하는 것을 데이터의 독립적 구성이라고 할 수 있음.
=> 데이터 독립성을 확보할 경우 ①: 각 View의 독립성을 유지하고 계층별 VIew에 영향을 주지 않고 변경 가능
=> 데이터 독립성을 확보할 경우 ②: 단계별 Schema에 따라 데이터 정의어(DDL)와 데이터 조직어(DML) 다르게 제공
=> 응용 프로그램과 물리적 데이터베이스를 분리!
1-2: 3층 스키마란?
데이터베이스를 보는 관점에 따라 데이터베이스를 기술하고, 이들간의 관계를 정의한 ANSI 표준. 각 계층을 뷰(View)라고 함.
→ 사용자, 설계자, 개발자가 데이터베이스를 보는 관점에 따라 데이터베이스를 기술, 이들 간의 관계를 정의한 표준
1-3. 3층 스키마의 구조
- 유저 어플리케이션(프로그램)은 데이터베이스 시스템의 최상위 단계
- 물리적 데이터베이스는 최하위 단계
항목 | 내용 | 비고 |
외부 스키마(External Schema) | - View 단계 여러 개의 사용자 관점으로 구성 - 개별 사용자가 보는 DB 스키마 - 실제로 관심 있는 데이터베이스 부분을 설명하고 나머지는 숨 |
- 사용자 관점 - 접근하는 특성에 따른 스키마를 구성 |
개념 스키마(Conceptual Schema | - 데이터 베이스의 물리적인 저장 구조에 대한 부분은 숨기고, 데이터 의 전체적인 구조와 관계에 집중 - 모든 사용자 관점을 통합한 조직 전체의 DB를 기술 - 모든 응용 시스템들이나 사용자들이 필요로 하는 데이터를 통합한 조직 전체의 DB를 기술 - DB에 저장되는 데이터와 그들간의 관계를 표현하는 스키마 |
- 설계자 관점, 통합 관점 - 통합 데이터베이스 구조 |
내부 스키마(Internal Schema) | - 내부 단계, 내부 스키마로 구성 - DB가 물리적으로 저장된 형식 - 물리적 장치에서 데이터가 실제적으로 저장되는 완전히 구체적인 방법을 표현하는 스키마 |
- 개발자 관점 - 물리적 저장 구조 |
- 사상(mapping)은 각각의 범주간의 요청/응답을 전송
- 외부 스키마에서 요청이 들어오면 DBMS에 의해 개념 스키마 -> 내부 스키마로 전달됨
여기에서 요청과 응답을 변환하는 프로세스를 사상(mapping)이라고 함 - 내부 스키마: 물리적 저장 구조를 갖춘 모델
- 개념 스키마: 전체 데이터베이스의 설계를 설명할 수 있는 모델 (구조, 관계 등) / 내부 상세 정보는 보지 못함
2. 데이터 독립성 (Data Independence)
독립성 | 설명 | 특징 |
논리적 독립성 | - 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원 - 논리적 구조가 변경되어도 응용 프로그램에 미영향 |
- 사용자 특성에 맞게 변경이 가능 - 통합 구조로 변경 가능 |
물리적 독립성 | - 내부 스키마가 변경되어도 개념 스키마는 영향을 받지 않도록 지원 - 저장 장치의 구조 변경은 응용프로그램과 개 념 스키마에 미영향 |
- 물리적 구조의 영향 없이 개념 구조로 변경 가능 - 개념 구조의 영향 없이 물리적인 구조로 변경 가능 |
3. 데이터 모델링의 중요한 3가지 개념
1) 엔터티(Entity) - 업무가 관여하는 어떤 것(thing): 어떤 부분을 중심으로 벌어지고 초점이 맞춰져있는지 확인 가능→데이터모델링에서 사용되는 하나의 대상, 객체
2) 속성(Attribute): 어떤 것이 갖는 세부적인 성격 / Entity가 지닐 수 있는 '여러 특징'
3) 관계(Relationship): 업무가 갖는 어떤 것 간의 관계
4. ERD 작성법
ⓛ 엔터티를 정의하고 그린다. → ② 엔터티를 적절하게 배치한다. **가장 중요한 엔터티를 좌측 상단에 배치&중요 엔터티를 중심으로 다른 엔터티들을 나열 (왼쪽에서 오른쪽, 위쪽에서 아래쪽) → ③ 엔터티간의 관계 설정한다. → ④ 관계명을 설정한다. → ⑤ 관계의 참여도를 기술한다. **특정 엔터티와 다른 엔터티 간의 관계수 → ⑥ 관계의 필수 여부를 기술한다.
4-1. 데이터 모델 표기법
- 대표적인 데이터 모델 표기법은 IE/Crow’s Foot 표기법과 Barker/Case*Method 표기법
- Barker 표기법 참고사항
# : 식별자 속성 앞에 표기
* : 필수 속성 앞에 표기
o : 선택 속성 앞에 표기
4-2. 좋은 데이터 모델의 요소
- 완전성(Completeness): 모든 데이터가 모델에 정의되어 있어야 함
- 중복 제재(Non-Redundancy): 동일한 사실은 한 번만 기록해야 함
- 업무 규칙(Business Rules): 데이터 아키텍처에서 언급되는 논리 데이터 모델(Logical Data Model)에서 이러한 요소들이 포함되어야 함
- 데이터 재사용(Data Reusability): 데이터는 언제든 다시 사용할 수 있는 형태로 가공되고 보관되어야 함
- 의사소통(Communication): 의사소통 도구로서의 역할을 해야 함
- 통합성(Integration): 조직 전체에서 한 번만 정의되어야 함 / 한 번만 정의되고 여러 다른 영역에서 참조, 활용
[배운 점]
- 개인과제 확인 후에 Dbeaver부터 냅다 실행 후, 데이터 csv 파일을 불러왔다.
- 서버 설정 없이 csv 파일을 import 하면 프로그램에서 작동이 되질 않는다.
∴ 따라서 MySQL을 설치 안한 것이 문제였고, 설치 과정에서 매우 험난했음. 우리 팀원 중 한 명은 5시간 세팅했다고 함. 과제 시작부터 쉽지 않다.
'SQL' 카테고리의 다른 글
1/3 - SQL 심화학습 6일차 (0) | 2024.01.03 |
---|---|
1/2 - SQL 심화학습 5일차 & 개인과제 집중 (0) | 2024.01.02 |
12/28 - SQL 심화학습 3일차 & 데이터 관련 자격증 정보 및 일정 & 국민취업제도 간략 설명 (2) | 2023.12.28 |
12/27 - SQL 심화학습 2일차 (2) | 2023.12.27 |
12/26 - NEW 팀 대면식&강의 수강 집중 (2) | 2023.12.26 |