카테고리 없음

데이터베이스 스키마와 인스턴스

N돌핀 2024. 3. 31. 19:56

논리 스키마 (Logical Schema):

논리 스키마는 데이터베이스의 구조와 관계를 정의하는 개념적인 수준의 스키마입니다. 이는 사용자와 응용 프로그램이 데이터를 이해하고 접근하는 방식을 정의합니다. 논리 스키마는 테이블, 열, 관계, 제약 조건 등의 논리적인 개념을 포함합니다. 앞서 제시한 예제가 논리 스키마에 해당합니다.

1. 테이블 (Tables):

테이블은 데이터의 집합을 나타내며 각 테이블은 열(칼럼)과 행(레코드)으로 구성됩니다. 예를 들어, 온라인 상점의 데이터베이스에는 다음과 같은 테이블이 있을 수 있습니다.

 

테이블명: Products

ProductID ProductName Price CategoryID
1 Laptop 800 1
2 Smartphone 600 2
3 Tablet 400 2

2. 열 (Columns):

열은 데이터의 특정 유형의 속성을 나타냅니다. 각 열은 데이터 유형과 제약 조건을 가질 수 있습니다.

  • ProductID: 상품의 고유 식별자입니다. 정수 데이터 유형입니다.
  • ProductName: 상품의 이름입니다. 문자열 데이터 유형입니다.
  • Price: 상품의 가격입니다. 소수점을 포함하는 숫자 데이터 유형입니다.
  • CategoryID: 상품의 카테고리를 나타내는 외래 키입니다. 정수 데이터 유형입니다.

3. 관계 (Relationships):

관계는 여러 테이블 간의 연결을 정의합니다. 이것은 주로 외래 키를 사용하여 수행됩니다. 위의 예제에서 Products 테이블의 CategoryID 열은 Categories 테이블의 CategoryID와 관련될 수 있습니다.

 

테이블명: Categories

CategoryID CategoryName
1 Computers
2 Electronics

여기서 Products 테이블의 CategoryID 열은 Categories 테이블의 CategoryID 열을 참조하여 각 상품의 카테고리를 식별합니다.

4. 제약 조건 (Constraints):

제약 조건은 데이터의 무결성을 보장하기 위해 설정됩니다. 몇 가지 일반적인 제약 조건에는 다음이 있습니다.

  • 기본 키 (Primary Key): 각 행의 고유 식별자로 사용되며 중복된 값을 허용하지 않습니다.
  • 외래 키 (Foreign Key): 다른 테이블의 기본 키와 관계를 나타내는 열입니다.
  • 고유 제약 조건 (Unique Constraint): 열에 중복된 값을 허용하지 않습니다.

위의 예제에서 ProductID 열은 Products 테이블의 기본 키이며, CategoryID 열은 외래 키입니다.

이러한 구성 요소를 통해 데이터베이스 스키마는 데이터의 구조와 관계를 정의하고 데이터의 무결성을 유지합니다.

 


물리 스키마 (Physical Schema):

물리 스키마는 데이터베이스가 실제로 디스크에 저장되는 방식을 나타냅니다. 이는 저장 구조, 인덱스, 파티셔닝 등과 같은 물리적인 구성 요소를 정의합니다. 물리 스키마는 논리 스키마의 구조를 기반으로 데이터를 저장하는 방식을 결정합니다. 예를 들어, 데이터베이스 엔진이 테이블을 어떻게 디스크에 저장할지, 인덱스를 어떻게 구성할지 등을 결정합니다.

 

인스턴스 (Instance):

인스턴스는 데이터베이스의 실제 데이터 집합을 의미합니다. 즉, 논리 스키마와 물리 스키마를 기반으로 구축된 실제 데이터베이스의 내용을 말합니다. 예를 들어, Products 테이블에 저장된 실제 상품 데이터가 인스턴스입니다.

 


정리

데이터베이스 시스템은 논리 스키마를 기반으로 쿼리를 처리하고 인스턴스를 관리하며, 물리 스키마에 따라 데이터가 저장되고 관리됩니다. 이러한 구분은 데이터베이스 설계자가 데이터베이스를 개념화하고 구현하는 데 도움이 됩니다.

 

데이터베이스가 논리, 물리 스키마와 인스턴스로 구분되어 있는 이유 - Data 간 독립성

데이터베이스는 각 계층이 인터페이스를 사이에 두고 서로 독립성을 가지도록 설계되어 있어, 논리 스키마의 변경 없이 물리 스키마가 변경되어도 변경에 대한 영향이 매우 적거나 없습니다.