DBMS의 데이터 독립성: 예제를 통한 물리적 및 논리적

DBMS의 데이터 독립성이란 무엇입니까?

데이터 독립성은 다음 상위 수준에서 스키마를 변경할 필요 없이 데이터베이스 시스템의 한 수준에서 데이터베이스 스키마를 변경하는 데 도움이 되는 DBMS의 속성으로 정의됩니다. 데이터 독립성은 데이터를 사용하는 모든 프로그램에서 데이터를 분리된 상태로 유지하는 데 도움이 됩니다.

이 저장된 데이터를 컴퓨팅 및 프레젠테이션에 사용할 수 있습니다. 많은 시스템에서 데이터 독립성은 시스템 구성 요소의 필수 기능입니다.

데이터 독립성 유형

In DBMS 데이터 독립성에는 두 가지 유형이 있습니다

  1. 물리적 데이터 독립성
  2. 논리적 데이터 독립성.

데이터베이스 수준

데이터 독립성을 배우기 전에 데이터베이스 수준을 다시 살펴보는 것이 중요합니다. 데이터베이스에는 아래 다이어그램과 같이 3가지 레벨이 있습니다.

  1. 물리적/내부
  2. 개념적
  3. 외부
데이터베이스 수준
DBMS 아키텍처 다이어그램 수준

대학 데이터베이스의 예를 생각해 보십시오. 다양한 수준에서 구현은 다음과 같습니다.

스키마 유형 실시
외부 스키마

보기 1: 강좌정보(cid:int,cname:string)

보기 2: 학생정보(id:int.name:string)

개념적 쉐마
Students(id: int, name: string, login: string, age: integer) 
Courses(id: int, cname:string, credits:integer) 
Enrolled(id: int, grade:string)
물리적 스키마
  • 순서가 지정되지 않은 파일로 저장된 관계.
  • 학생의 첫 번째 열에 있는 색인입니다.

물리적 데이터 독립성

물리적 데이터 독립성은 개념적 수준을 내부/물리적 수준에서 분리하는 데 도움이 됩니다. 이를 통해 물리적 구조를 지정할 필요 없이 데이터베이스에 대한 논리적 설명을 제공할 수 있습니다. 논리적 독립성에 비해 물리적 데이터 독립성을 달성하기 쉽습니다.

물리적 독립성을 사용하면 개념적 스키마에 영향을 주어 물리적 저장 구조나 장치를 쉽게 변경할 수 있습니다. 수행된 모든 변경 사항은 개념 수준과 내부 수준 간의 매핑을 통해 흡수됩니다. 물리적 데이터 독립성은 데이터베이스 내부 수준의 존재와 데이터베이스 개념 수준에서 내부 수준으로의 변환을 통해 달성됩니다.

물리적 데이터 독립성에 따른 변경의 예

물리적 독립성으로 인해 아래 변경 사항은 개념 레이어에 영향을 미치지 않습니다.

  • 하드 드라이브 또는 자기 테이프와 같은 새로운 저장 장치 사용
  • 데이터베이스에서 파일 구성 기술 수정
  • 다른 데이터 구조로 전환합니다.
  • 접근 방법을 변경합니다.
  • 인덱스 수정.
  • 압축 기술 또는 해싱 알고리즘이 변경되었습니다.
  • C 드라이브에서 D 드라이브로 데이터베이스 위치 변경

논리적 데이터 독립성

논리적 데이터 독립성은 변경 없이 개념 체계를 변경할 수 있는 능력입니다.

  1. 외부 전망
  2. 외부 API 또는 프로그램

모든 변경 사항은 외부 수준과 개념 수준 간의 매핑을 통해 흡수됩니다.

물리적 데이터 독립성과 비교할 때 논리적 데이터 독립성을 달성하는 것은 어렵습니다.

논리적 데이터 독립성에 따른 변경의 예

논리적 독립성으로 인해 아래 변경 사항은 외부 레이어에 영향을 미치지 않습니다.

  1. 기존 응용 프로그램을 다시 작성하지 않고도 새로운 속성, 개체 또는 관계를 추가/수정/삭제가 가능합니다.
  2. 두 개의 레코드를 하나로 병합
  3. 기존 레코드를 두 개 이상의 레코드로 나누기

물리적 데이터 독립성과 논리적 데이터 독립성의 차이점

논리 데이터 독립성 물리적 데이터 독립성
논리적 데이터 독립성은 주로 구조 또는 데이터 정의 변경과 관련됩니다. 주로 데이터 저장에 관심이 있습니다.
데이터 검색은 주로 데이터의 논리적 구조에 의존하기 때문에 어렵습니다. 검색하기 쉽습니다.
논리적인 물리적 독립성에 비해 논리적인 데이터 독립성은 달성하기 어렵다. 논리적 독립성에 비해 물리적 데이터 독립성을 달성하기 쉽습니다.
새 필드가 데이터베이스에 추가되거나 삭제되면 응용 프로그램에서 변경해야 합니다. 물리적 수준의 변경은 일반적으로 응용 프로그램 수준의 변경이 필요하지 않습니다.
데이터베이스의 논리적 구조가 변경될 때마다 논리적 수준에서의 수정이 중요합니다. 구조의 성능을 향상시키기 위해 내부 수준에서 수정이 필요할 수도 있고 필요하지 않을 수도 있습니다.
개념적 스키마에 관심이 있음 내부 스키마에 대한 우려
예: 새 속성 추가/수정/삭제 예: 압축 기술, 해싱 알고리즘, 저장 장치 등의 변경

데이터 독립성의 중요성

  • 데이터 품질을 향상시키는 데 도움이 됩니다.
  • 데이터베이스 시스템 유지 관리 비용이 저렴해집니다.
  • 표준 시행 및 데이터베이스 보안 강화
  • 응용 프로그램에서 데이터 구조를 변경할 필요가 없습니다.
  • 개발자가 내부 구현에 대해 걱정하지 않고 데이터베이스의 일반적인 구조에 집중할 수 있도록 허용
  • 손상되지 않거나 분할되지 않은 상태를 개선할 수 있습니다.
  • 데이터베이스 불일치가 크게 감소되었습니다.
  • 시스템의 성능을 향상시키기 위해서는 물리적 수준에서 쉽게 수정이 필요합니다.

요약

  • 데이터 독립성은 데이터를 변경하는 데 도움이 되는 DBMS의 속성입니다. 데이터베이스 스키마 다음 상위 레벨에서 스키마를 변경할 필요 없이 데이터베이스 시스템의 한 레벨에서.
  • 데이터 독립성의 두 가지 수준은 1) 물리적, 2) 논리적입니다.
  • 물리적 데이터 독립성은 개념적 수준을 내부/물리적 수준에서 분리하는 데 도움이 됩니다.
  • 논리적 데이터 독립성은 변경 없이 개념 체계를 변경할 수 있는 능력입니다.
  • 물리적 데이터 독립성과 비교할 때 논리적 데이터 독립성을 달성하는 것은 어렵습니다.
  • 데이터 독립성 데이터 품질을 향상시키는 데 도움이 됩니다.