DBMS 스키마: 내부, 개념, 외부
⚡ 스마트 요약
DBMS 스키마는 데이터베이스를 세 가지 절대 구조로 구성합니다.trac사용자, 설계자 및 관리자가 각각 적절한 깊이에서 작업할 수 있도록 계층 구조를 제공합니다. 내부, 개념 및 외부 스키마는 함께 ANSI-SPARC 3단계 아키텍처를 구성하여 데이터 독립성을 제공합니다.
데이터 추상이란 무엇인가tracDBMS에서 tion은 무엇인가요?
데이터베이스 시스템은 복잡한 데이터 구조를 기반으로 구축됩니다. 데이터 검색 효율성을 높이고 사용자의 편의성을 향상시키기 위해 개발자들은 데이터 추상화 기법을 사용합니다.traction. 데이터 abstrac이 방식은 데이터가 저장되고 유지 관리되는 방식에 대한 세부 정보를 숨기고, 각 사용자 유형에게 필요한 정보만 노출합니다.
데이터 추상화에는 크게 세 가지 수준이 있습니다.tracTION :
- 내부 수준: 실제 물리적 저장 구조 및 접근 경로.
- 개념적 또는 논리적 수준: 전체 데이터베이스의 구조 및 제약 조건.
- 외부 또는 보기 수준: 다양한 사용자 보기 방식을 설명합니다.
이 세 가지 레벨은 각각 대응하는 세 개의 스키마로 설명되며, 이를 통틀어 ANSI-SPARC 3단계 아키텍처라고 합니다. 스키마는 한 레벨의 데이터베이스 설계 또는 설명이며, 데이터 자체는 인스턴스라고 합니다. 아래 다이어그램은 각 레벨이 어떻게 서로 연결되어 있는지 보여줍니다.
저장소 계층부터 시작하여 사용자 계층에 이르기까지 각 단계를 자세히 살펴보겠습니다.
내부 레벨/스키마
내부 스키마는 데이터베이스의 물리적 저장 구조를 정의합니다. 내부 스키마는 전체 데이터베이스에 대한 매우 낮은 수준의 표현이며, 여러 유형의 내부 레코드가 여러 번 나타나는 형태를 포함합니다. ANSI 용어로는 "저장된 레코드"라고도 합니다.
내부 스키마에 대한 사실:
- 내부 스키마는 데이터의 가장 낮은 절대 수준입니다.trac기.
- 이는 데이터베이스 전체의 실제 표현 방식, 예를 들어 데이터가 디스크에 레코드 형태로 저장되는 방식 등에 대한 정보를 보관합니다.
- 내부 관점은 데이터베이스에 어떤 데이터가 저장되는지, 그리고 어떻게 저장되는지를 알려줍니다.
- 물리적 장치를 직접적으로 다루지 않습니다. 대신 내부 스키마는 물리적 장치를 물리적 페이지들의 모음으로 간주합니다.
스토리지 계층이 정의되면 그 위에 있는 논리적 설계는 개념 스키마로 설명됩니다.
개념 체계/수준
개념 스키마는 사용자 커뮤니티를 위해 전체 데이터베이스의 구조를 설명합니다. 이 스키마는 물리적 저장 구조에 대한 정보를 숨기고 데이터 유형, 엔티티, 관계 등을 설명하는 데 중점을 둡니다.
이 논리적 수준은 사용자 수준과 물리적 저장소 관점 사이에 위치합니다. 단일 데이터베이스에 대한 개념적 관점은 하나뿐입니다.
개념 스키마에 관한 사실들:
- 데이터베이스의 모든 엔티티, 해당 속성 및 관계를 정의합니다.
- 보안 및 무결성 정보를 보유합니다.
- 개념적 차원에서, 사용자가 이용할 수 있는 데이터는 물리적 차원에 포함되어 있거나 물리적 차원에서 도출될 수 있어야 합니다.
이 개념 디자인은 다음과 같은 용도에 자연스럽게 어울립니다. 관계형 데이터 모델여기서 엔티티는 테이블이 되고 관계는 키가 됩니다. 개념적 수준 이상에서 개별 사용자는 외부 스키마에 설명된 대로 자신에게 관련된 데이터 부분만 볼 수 있습니다.
외부 스키마/레벨
외부 스키마는 특정 사용자가 관심 있는 데이터베이스 부분을 설명합니다. 사용자에게 관련 없는 데이터베이스 세부 정보를 숨깁니다. 각 데이터베이스에는 "n"개의 외부 뷰가 있을 수 있습니다.
각 외부 뷰는 외부 스키마를 사용하여 정의되며, 이 스키마는 해당 특정 뷰에 대한 다양한 유형의 외부 레코드 정의로 구성됩니다.
외부 뷰는 특정 사용자가 데이터베이스의 내용을 보는 방식을 의미합니다. 예를 들어, 영업 부서 사용자는 판매 관련 데이터만 볼 수 있습니다.
외부 스키마에 대한 사실:
- 외부 수준은 특정 최종 사용자가 보는 데이터와만 관련이 있습니다.
- 이 레벨에는 하나 이상의 외부 스키마가 포함됩니다.
- 외부 스키마 레벨은 사용자에게 가장 가깝습니다.
- 외부 스키마는 특정 사용자 그룹에 필요한 데이터베이스 부분을 설명하고 나머지 세부 정보는 해당 그룹에게 숨깁니다.
3단계 스키마 Archi구조 비교
세 가지 레벨은 나란히 놓고 보면 가장 쉽게 기억할 수 있습니다. 각 레벨은 서로 다른 질문에 답하고, 다른 대상을 목표로 하며, 변경되는 이유도 각기 다릅니다.
| 아래 | 내부 스키마 | 개념적 도식 | 외부 스키마 |
|---|---|---|---|
| 또한 호출 | 물리적 수준 | 논리적 수준 | 보기 수준 |
| 설명 | 데이터가 디스크에 저장되는 방식 | 어떤 데이터와 관계가 존재하는가? | 사용자 그룹이 보는 것 |
| 오디언스 (Audience) | 데이터베이스 관리자 | 데이터베이스 설계자 | 최종 사용자 |
| 얼마나 많이 | 한 | 한 | 많은 |
| 숨 깁니다 | 그 아래에는 아무것도 없습니다 | 물리적 스토리지 | 관련 없는 데이터 |
각 레벨은 독립적으로 작동하지 않습니다. 지도로 연결되어 있습니다.pings는 데이터 독립성을 제공하는 메커니즘입니다.
지도ping스키마 레벨 간
지도ping 이는 DBMS가 인접한 두 레벨 간에 유지하는 대응 관계이므로, 상위 레벨의 요청이 하위 레벨의 작업으로 변환될 수 있습니다. 3단계 아키텍처는 두 개의 맵을 사용합니다.pings:
- 개념/내부 지도ping: 논리적 설계와 물리적 저장소를 연결합니다. 개념 스키마의 엔티티와 속성이 내부 스키마에 저장된 레코드 및 파일에 어떻게 대응하는지를 정의합니다. 저장소가 변경될 경우, 이 매핑만 변경됩니다.ping 업데이트됩니다.
- 외부/개념 지도ping: 각 사용자 뷰를 전체 논리적 설계에 연결합니다. 사용자가 보는 필드가 개념 스키마의 엔티티와 어떻게 관련되는지 정의합니다. 논리적 설계가 확장될 때 영향을 받는 맵만 변경됩니다.pings가 업데이트되었습니다.
이 지도 때문에pings는 변화를 흡수하므로 사용자 프로그램을 다시 작성하지 않고도 스토리지를 재구성할 수 있습니다. 이것이 바로 그 핵심입니다. 데이터 독립성 이 건축물은 다음과 같은 기능을 제공하도록 설계되었습니다.
3단계 스키마의 목표 Archi강의
다음은 3가지 스키마 아키텍처를 사용하는 몇 가지 목표입니다.
- 모든 사용자는 동일한 데이터에 접근할 수 있어야 하지만, 맞춤형 보기로 데이터를 볼 수 있어야 합니다.
- 사용자는 데이터베이스의 물리적 저장 위치에 대한 세부 정보를 직접 다룰 필요가 없습니다.
- 데이터베이스 관리자는 사용자의 보기 화면을 방해하지 않고 데이터베이스 저장 구조를 변경할 수 있어야 합니다.
- 저장 장치의 물리적 측면이 변경되더라도 데이터베이스의 내부 구조는 영향을 받지 않아야 합니다.
데이터베이스 스키마의 장점
- 물리적 저장 장치와 관계없이 데이터를 관리할 수 있습니다.
- 새로운 그래픽 환경으로의 마이그레이션 속도 향상.
- The DBMS 아키텍처 프레젠테이션 수준에서 변경 사항을 적용해도 다른 두 레이어에는 영향을 미치지 않습니다.
- 각 단계가 분리되어 있기 때문에 서로 다른 개발자 팀을 활용할 수 있습니다.
- 클라이언트가 데이터베이스의 비즈니스 로직에 직접 접근할 수 없으므로 보안성이 더 높습니다.
- 한 계층에 장애가 발생하더라도 다른 계층에 접근하여 항상 데이터가 안전하게 보호되므로 데이터 손실은 없습니다.
데이터베이스 스키마의 단점
- 완전한 데이터베이스 스키마는 누구나 이해하기 어려운 복잡한 구조입니다.
- 설치 및 유지 관리가 어렵습니다.
- 계층 간의 물리적 분리는 데이터베이스 성능에 영향을 미칠 수 있습니다.


