본문 바로가기

CS/데이터베이스

데이터베이스

체계화 된 데이터의 집합

데이터를 구조화하여 효율적으로 처리할 수 있도록 관리

 

스키마(Schema)

데이터 모델을 기반으로 데이터베이스의 구조를 기술한 것

  • External Schema
    • 특정 유저들이 필요로 하는 데이터만 표현
    • 그 외의 필요 없는 데이터들은 숨김
    • 사용 언어: VDL
  • Conceptual Schema
    • 전체 DB의 구조를 기술
    • 물리적인 저장 구조에 관한 내용은 숨김
    • 사용 언어: DDL
  • Internal Schema
    • 물리적으로 데이터가 어떻게 표현되는지
    • 사용 언어: SDL

VDL(View Definition Language)
: External Schema를 정의하기 위해 사용되는 언어 대부분의 DBMS에서는 DDL이 VDL 역할까지 수행


DDL(Data Definition Language) 
: Conceptual Schema를 정의하기 위해 사용되는 언어 (Internal Schema까지 정의하는 경우도 있음)


SDL(Storage Definition Language)
: Internal Schema를 정의하기 위해 사용되는 언어 (최근에는 SDL 사용 대신 파라미터의 설정 등으로 대체)


DML(Data Manipulation Language) 
: Database에 있는 Data를 활용하기 위해 사용되는 언어 (추가, 삭제, 수정, 검색 등)

SQL
: 위의 언어들을 통합


제약 조건

RDB에서 Relations가 갖는 제약 사항

1. 암시적 제약 조건 :: Implicit Constraints

Relational Database Model 자체가 갖는 제약 조건

  • Relation은 중복되는 Tuple을 가질 수 없다.
  • Relation 내에서 같은 이름의 속성을 가질 수 없다.

2. 명시적 제약 조건 :: Explicit Constraints

주로 DDL을 통해 스키마에 직접 명시할 수 있는 제약 조건

 

무결성 제약 조건

: 데이터 베이스에 저장된 데이터의 무결성을 보장하고 데이터베이스의 상태를 일관되게 유지 하는 것

무결성이란?
데이터의 정확성, 일관성, 유효성이 유지되는 것
  • 개체 무결성
    Primary Key는 Null 값을 가질 수 없다.

  • 참조 무결성
    FK와 PK의 도메인이 같아야 하고, PK에 없는 값을 FK가 값으로 가질 수 없다.

  • 도메인 무결성
    속성의 값은 해당 속성의 도메인에 속한 값이어야 한다.

  • 키 무결성
    서로 다름 튜플은 같은 값의 키를 가질 수 없다.

  • Null 무결성
    속성이 Not Null로 명시되었다면 Null 값을 가질 수 없다.

  • 고유 무결성
    각 튜플에서 하나의 속성 값은 중복된 값이 없는 각각 서로 다른 값을 가져야 한다.

'CS > 데이터베이스' 카테고리의 다른 글

정규화  (0) 2025.06.13