- 데이터 모델 : 다양한 데이터 요소들을 이해하고 사용하기 편한 형태로 정리해놓은 모형을 의미한다.
- 정의 : 개체, 속성, 관계, 제약 조건 4 가지 요소들을 파악한 후, 이 내용들을 발전시켜 데이터 모델을 만드는 과정
- 과정
- 요구사항 수집 및 분석 -> 설계 -> 데이터베이스 구현 단계로 진행된다.
- 요구사항 수집 및 분석
- 현실 세계를 파악하고 사용자의 요구사항을 수집 및 분석하는 단계
- 개념적 모델링
- 요구사항을 수집하고 분석한 결과를 토대로 핵심적인 개념을 구분하고 전체적인 뼈대를 만드는 과정
- 즉, 개체를 추출하고 각 개체들 간의 관계를 정의하여 ERD를 만드는 과정이다.
- 개체 + 관계
- 논리적 모델링
- 개념적 모델링에서 만든 ERD를 사용하고자 하는 DBMS에 맞게 매핑하여 실제 DB로 구현하기 위한 모델을 만드는 과정
- 개념 모델 + PK, FK
- 물리적 모델링
- 작성된 논리적 모델을 실제 컴퓨터의 저장 장치에 저장하기 위한 물리적 구조를 정의하고 구현하는 과정
- 물리적 모델링을 할 때는 DBMS의 특성에 맞게 저장 구조를 정의하여야 DB가 최적의 성능을 낼 수 있다.
- 논리 모델 + 데이터 타입
- 스키마
- 정의
- DB의 논리적 정의, 다시 말해 데이터 구조와 제약조건에 대한 명세를 기술한 것
- Object들의 모음으로 유저명과 동일하게 사용함.
- DB를 구성하는 개체, 속성, 관계 및 데이터 조작 시 데이터 값들이 갖는 제약조건 등에 관해 전반적으로 정의한다.
- 사용자의 관점에 따라 외부, 개념, 내부 3 계층으로 나눠진다.
- 3 계층
- 외부 스키마
- 서브 스키마 또는 사용자 뷰라고도 한다.
- 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 DB의 논리적 구조를 정의한 것이다.
- 전체 DB의 한 논리적인 부분으로 볼 수 있으므로 서브 스키마라고도 한다.
- 하나의 DB 시스템에는 여러 개의 외부 스키마가 존재할 수 있으며, 하나의 외부 스키마를 여러 사용자가 함께 사용할 수 있다.
- 일반 사용자는 SQL을 이용하여 DB를 사용한다.
- 개념 스키마
- DB의 전체적인 논리적 구조로서, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 DB로 하나만 존재한다.
- 개체 간의 관계와 제약조건을 나타내고 DB의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의한다.
- 보통 스키마라고 하면 개념 스키마이다.
- 기관이나 조직체의 관점에서 DB를 정의한 것이다.
- DBA에 의해서 구성된다.
- 내부 스키마
- DB의 물리적 구조를 정의한다.
- 데이터의 실제 저장 방법을 기술한다.
- 물리적 저장장치와 밀접한 계층이다.
- 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다.
최근댓글