Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

데이터베이스의 구조적 독립성과 데이터 독립성 완벽 이해

구조적 독립성(Structural Independence)

구조적 독립성이란 데이터베이스 구조가 변경되더라도 DBMS가 데이터에 접근하는 능력에는 아무런 영향을 주지 않는 상태를 의미합니다.

반대로 구조적 종속성(Structural Dependence)은 데이터베이스 구조의 변경이 DBMS의 데이터 접근 능력에 영향을 미치는 경우를 말합니다. 즉, 저장 구조가 바뀔 때마다 응용 프로그램도 함께 수정해야 한다면 그 시스템은 구조적으로 종속되어 있다고 볼 수 있습니다.

데이터 독립성(Data Independence)

데이터 독립성은 하위 수준에서 발생한 변경 사항이 상위 계층에 영향을 미치지 않는 특성을 뜻합니다. 이 덕분에 응용 프로그램이나 사용자에게 영향을 주지 않고 데이터베이스를 유연하게 관리할 수 있습니다.

데이터 독립성은 크게 두 가지 유형으로 나눌 수 있습니다.

  • 물리적 데이터 독립성(Physical Data Independence)
  • 논리적 데이터 독립성(Logical Data Independence)

데이터베이스의 구조적 독립성과 데이터 독립성 완벽 이해

먼저 물리적 데이터 독립성부터 살펴보겠습니다.

물리적 데이터 독립성(Physical Data Independence)

물리적 데이터 독립성은 논리 스키마나 논리 데이터에 영향을 주지 않고 물리 스키마를 수정할 수 있는 능력을 의미하며, 두 유형 중 비교적 달성하기 쉬운 편입니다.

이는 데이터베이스의 내부 단계(internal level)와 논리 단계에서 내부 단계로의 매핑(mapping)을 통해 구현됩니다. 개념 스키마(Conceptual Schema)가 물리적 저장 장치에서 일어나는 변경으로부터 사용자를 보호해 주는 역할을 합니다.

예를 들어 인덱스 추가, 파일 저장 방식 변경, 저장 장치 교체와 같은 작업은 응용 프로그램에 영향을 주지 않고 수행할 수 있습니다.

논리적 데이터 독립성(Logical Data Independence)

논리적 데이터 독립성은 기존 프로그램에 영향을 주지 않고 논리 스키마를 수정할 수 있는 능력을 의미하며, 물리적 데이터 독립성보다 달성하기가 훨씬 어렵습니다.

즉, 기존의 외부 스키마(External Schema)에 영향을 주지 않으면서 개념 스키마(Conceptual Schema)를 변경할 수 있어야 합니다. 예를 들어 새로운 속성이나 테이블을 추가하더라도 기존 응용 프로그램과 사용자 뷰(view)는 그대로 동작해야 합니다.