계층 구조
1. 비트 ( BInary digiT = bit)
▷ 데이터를 저장하는 가장 작은 단위
2. 바이트 ( byte)
▷ 8bits = 1byte
3. 필드
▷ 특정한 종류의 데이터를 저장하기 위한 영역, 의미있는 데이터의 단위
byte를 모아 특정한 data type 으로 표현
- 속성: 릴레이션에서 관리하는 구체적이며 고유한 이름을 갖는 정보
- 도메인(domain): 릴레이션에 포함된 각각의 속성들이 가질 수 있는 값의 집합
=> 엔티티 = 학생/ 테이블 = student
속성 = 이름, 성별/ 필드 = name, sex
이름 필드의 데이터 형식 = 문자열
4. 레코드
▷ 테이블에 쌓이는 행(row) 단위의 데이터
= 필드가 여러 개 모인 것
5. 릴레이션
▷ DB에서 정보를 구분하여 저장하는 기본 단위
엔티티를 데이터베이스에서 관리될 때, 하나의 릴레이션에 담음.
= 여러 개의 레코드가 모인 것
관계형 DB_테이블, NoSQL_컬렉션
6. 데이터베이스
▷ 파일(릴레이션) 여러 개를 모아 논리적으로 연결해 필요한 정보를 적절하게 활용할 수 있도록 통합한 것
엔티티: https://jun2ee22.tistory.com/entry/%EC%97%94%ED%8B%B0%ED%8B%B0-%EC%98%88%EC%8B%9C
계층 구조 예시: https://jun2ee22.tistory.com/entry/DB-%EA%B5%AC%EC%A1%B0-%EC%98%88%EC%8B%9C
추상화 ( abstraction )
▷ 데이터베이스의 내부 구조는 아주 복잡하고, 개별 사용자는 데이터베이스의 일부분만 접근함.
▷ 사용자는 보고싶은 수준의 뷰만 인지해도 됨
→ 데이터베이스의 내부 구조를 감출 수 있는 추상화가 효과적
스키마(schema) : 데이터베이스를 구성하는 데이터의 구조와 제약조건에 대한 명세를 구체적으로 기술한 것
3단계 데이터베이스 구조 ( 3-level database architecture )
추상화 단계, ANSI/SPARC 구조라고도 함
1. 외부 단계 (external level) = 뷰 단계 (view level)
사용자 또는 응용 프로그램 별로 보는 단계
외부 스키마와 대응(n개)
외부 스키마
▷ 개별 사용자가 접근하는 데이터베이스의 정의를 기술한 것
▷ 특정 응용에 한정되 논리적 데이터 구조로서 전체 데이터베이스의 부분집합으로 볼 수 있음
(서브 스키마라고도 함)
2. 개념 단계 (conceptual level) = 논리적 단계 (logical level)
DBMS를 중심으로 보는 단계
개념 스키마와 대응(1개)
개념 스키마
▷ 모든 사용자가 필요로 하는 데이터를 통합한 조직 전체의 데이터베이스 구조를 기술한 것
▷ 모든 사용자 관점의 합집합. 외부 스키마는 하나의 개념 스키마로부터 생성되고 지원됨
3. 내부 단계 (internal level) = 물리적 단계 (physical level)
DB 중심으로 보는 단계
내부 스키마와 대응(1개)
내부 스키마
▷ 하드웨어에 저장되는 전체 데이터베이스의 물리적 구조를 기술한 것
※ 데이터에 대한 기술이지 실제 데이터는 물리적인 DB에만 존재함
관점에 따라 다른 것이며 서로 유기적으로 연결됨 ↓독립성
그림 : https://jun2ee22.tistory.com/entry/%EC%B6%94%EC%83%81%ED%99%94-%EC%98%88%EC%8B%9C
독립성 ( independence )
▷ 상위 수준의 스키마 정의에 영향을 주지 않고, 해당 스키마 정의를 수정할 수 있는 성질
데이터의 독십성 구현
매핑 ( mapping): 추상화 3단계의 스키마와 일련의 유기적 연결 관계를 정의
1. 논리적 데이터 독립성
▷ 개별 사용자의 관점을 변경하지 않고 개념 스키마(전체 데이터의 논리적 구조)를 변경할 수 있는 성질
ex) 기존 DB에 새로운 데이터 항목이나 레코드 추가나 삭제 시, 직접 관련되지 않은 모든 사용자는 영향 x
2. 물리적 데이터 독립성 :
▷ 개념 스키마를 수정하지 않고, 내부 스키마(데이터베이스의 물리적 구조)를 변경시킬 수 있는 성질
ex) 하드웨어 교체나 물리적 파일 구조 변경 시, 개념 스키마는 영향 x
데이터 모델
▷ 추상화(내부 저장 방식의 상세 내용 숨김) + 직관적인 뷰 제공이 목적
구성
(1) 추상적으로 표현된 구조
(2) 구조에서 허용될 수 있는 연산(operator)
(3) 구조와 연산에서의 제약조건(constraint)
차이
사용자에게 인식되는 논리적 모델의 유형
종류
- 개념적 데이터 모델 (conceptual data model)
- 논리적 데이터 모델 (logical data model)
'일기' 카테고리의 다른 글
[02] 추상화 그림으로 이해하기 (0) | 2023.02.02 |
---|---|
[02] 계층 구조 예시 (0) | 2023.02.02 |
01. 기본 (0) | 2023.02.01 |
ㄱㅖ층? (0) | 2023.01.25 |
[프로토콜] ARP, RARP (0) | 2023.01.25 |