코딩일기/자격증

[정보처리기사] 스키마 (Schema) | 내부스키마, 개념스키마, 외부스키마 | 정보처리기사 기출문제

jhy_2023 2024. 11. 19. 12:59
728x90
반응형

스키마(Schema)는 데이터베이스의 구조와 제약 조건을 정의하며, 데이터의 조직 방식과 설계를 나타냅니다. 이를 이해하기 위해 스키마는 외부 스키마, 개념 스키마, 내부 스키마로 구분됩니다. 이와 함께, 스키마 간의 독립성인 논리적 독립성 물리적 독립성도 중요한 개념으로 다뤄집니다.



📌 스키마의 개념

  • 스키마(Schema)는 데이터베이스의 구조와 제약 조건을 정의한 것을 의미합니다.
  • 스키마는 외부 스키마, 개념 스키마, 내부 스키마로 구분됩니다.

📌 스키마의 종류

1️⃣ 외부 스키마 (External Schema)

  • 정의: 사용자가 데이터베이스를 볼 수 있는 방식, 즉 데이터의 사용자 뷰(View)를 정의합니다.
  • 특징:
    • 사용자 관점에서 데이터베이스를 보여줍니다.
    • 데이터베이스의 일부만을 볼 수 있도록 제한하며, 보안과 편리성을 제공합니다.
    • 같은 데이터베이스라도 사용자마다 다른 외부 스키마를 가질 수 있습니다.
  • 예시: 특정 사용자가 접근 가능한 테이블과 컬럼만 노출.
    • 사용자 1: 직원 관리 뷰
      • 항목: 직원번호, 이름, 부서명, 급여
    • 사용자 2: 프로젝트 관리 뷰
      • 항목: 직원번호, 이름, 프로젝트명, 작업시간

반응형

2️⃣ 개념 스키마 (Conceptual Schema)

  • 정의: 데이터베이스의 전체적인 논리적 구조와 제약 조건을 정의합니다.
  • 특징:
    • 데이터베이스 설계자나 데이터베이스 관리자(DBA)가 사용하는 스키마.
    • 테이블, 속성, 관계, 제약 조건 등을 포함하여 데이터베이스의 일관성을 유지합니다.
    • 물리적 저장 방식과는 독립적입니다.
  • 예시: 직원 데이터베이스 설계
    • 테이블: 직원, 부서, 프로젝트
    • 속성 및 데이터 타입:
      • 직원 테이블:
        • 직원번호: integer(8)
        • 이름: character(20)
        • 부서코드: character(5)
        • 급여: integer(10)
      • 부서 테이블:
        • 부서코드: character(5)
        • 부서명: character(20)
      • 프로젝트 테이블:
        • 프로젝트코드: character(10)
        • 프로젝트명: character(30)
        • 작업시간: integer(4)

3️⃣ 내부 스키마 (Internal Schema)

  • 정의: 데이터가 실제로 저장되는 방식과 관련된 설계를 나타냅니다.
  • 특징:
    • 데이터 저장소의 물리적 구조를 정의합니다.
    • 파일 구조, 저장 장치의 데이터 배치, 인덱스 등과 같은 사항 포함.
  • 예시: 데이터를 하드디스크에 저장하기 위해 사용되는 파일 포맷과 인덱싱 방법. 
    • 직원 테이블 저장 구조
      • 파일명: STORED-EMPLOYEE
      • 총 크기: LENGTH = 43
      • 속성별 저장 구조:
        • 직원번호: BYTE(8), OFFSET=0
        • 이름: BYTE(20), OFFSET=8
        • 부서코드: BYTE(5), OFFSET=28
        • 급여: BYTE(10), OFFSET=33
      • 인덱스 정보: 직원번호에 B-Tree 인덱스 사용.
728x90

📌 스키마 간의 독립성

1️⃣ 논리적 독립성 (Logical Independence)

  • 정의: 외부 스키마개념 스키마 간의 독립성으로, 개념 스키마를 변경하더라도 외부 스키마에 영향을 주지 않는 성질입니다.
  • 특징:
    • 논리적 데이터 구조(테이블, 관계 등) 변경 시, 애플리케이션이나 사용자 뷰에 영향을 미치지 않도록 보장.
    • 데이터베이스의 유지보수를 용이하게 함.
  • 예시: 테이블 구조가 변경되어도, 사용자 뷰는 영향을 받지 않음.

2️⃣ 물리적 독립성 (Physical Independence)

  • 정의: 개념 스키마내부 스키마 간의 독립성으로, 내부 스키마를 변경하더라도 개념 스키마에 영향을 주지 않는 성질입니다.
  • 특징:
    • 데이터의 물리적 저장 방식(예: 인덱싱, 파일 시스템)이 변경되어도 논리적 데이터 구조는 영향을 받지 않음.
    • 데이터베이스 성능 최적화를 지원.
  • 예시: 데이터를 저장하는 파일 구조를 변경해도, 테이블이나 관계에는 영향을 주지 않음.

2020년 3회 정보처리기사 실기 기출문제

문제

DB스키마에 대해서 서술하시오.

정답

데이터베이스의 전체적인 구조와 제약 조건에 대한 명세를 기술하고 정의한 것이다.

해설

스키마는 데이터베이스의 구조와 제약 조건을 정의하는 중요한 개념입니다. 주요 내용은 다음과 같습니다:

  1. 스키마의 역할
    • 데이터베이스의 논리적 설계를 나타내며, 데이터 관리 규칙을 정의합니다.
    • 데이터의 일관성 및 무결성을 유지하는 데 중요한 기준을 제공합니다.
  2. 구성 요소
    • 테이블: 데이터를 저장하는 기본 단위.
    • 속성(컬럼): 테이블에 포함된 개별 데이터 항목.
    • 관계: 테이블 간의 연결 및 연관성.
    • 제약 조건: 데이터의 유효성과 무결성을 보장하는 규칙.
  3. 스키마의 종류
    • 외부 스키마: 사용자의 관점에서 데이터를 정의한 구조(사용자 뷰).
    • 개념 스키마: 데이터베이스 전체 구조를 정의한 논리적 설계.
    • 내부 스키마: 데이터가 실제로 저장되는 물리적 구조를 정의.

 

 


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

728x90
반응형