Home 데이터베이스 - 2
Post
Cancel

데이터베이스 - 2

관계 모델 개요

  • 아주 단순하며 우아한 모델
    • 관계 논리식과 관계 대수식에 기반한 수학적 데이터 조회 및 저장
    • 데이터베이스는 하나 이상의 릴레이션의 집합으로, 테이블 형식으로 데이터 표현
    • 데이터를 제어하는 고수준의 언어를 사용하여 데이터의 표현과 복잡한 질의를 쉽게 처리
    • 관계형 데이터베이스가 지켜야 하는 조건을 제시 -Dr.Codd의 12 규칙로 유명

릴레이션

  • 릴레이션은 주로 테이블과 같은 의미로 사용되며, 데이터의 집합을 의미한다. 튜플과 속성으로 구성되어 있다.

릴레이션 스키마

  • 관계 모델에서 스키마는 데이터베이스의 구조와 제역조건에 관한 전반적인 명세를 의미
  • 개체와 개체의 특성을 나타내는 속성, 개체 간의 관계, 이들의 제약조건을 기술한 것
  • 릴레이션 스키마 명세
    • 릴레이션의 이름
    • 필드 또는 열, 또는 속성의 이름
    • 각 속성의 도메인 이름
  • ex: 학생(학번: 문자열, 이름: 문자열, 로그인: 문자열, 나이: 정수, 평점: 실수)

릴레이션 인스턴스

  • 레코드라고도 불리는 투플의 집합
  • 투플
    • 릴레이션 스키마에서 정의된 각 속성로 구성되며, 하나의 데이터 묶음을 나타냄
    • 릴레이션 인스턴스에서 각 투플을 하나의 행으로 구성
  • 릴레이션 인스턴스의 투플 수: 카니널리티
  • 릴레이션 인스턴스의 속성: 차수
  • 릴레이션 인스턴스의 투플 순서는 중요하지 않음

도메인

  • 하나의 속성이 가질 수 있는 동일한 유형의 원자값들의 집합
  • 릴레이션 스키마는 릴레이션 인스턴스읙 각 필드의 도메인을 명세
  • 프로그래밍 언어 관점에서 필드의 데이터 타입을 의미

관계형 데이터베이스

  • 관계 데이터베이스 : 서로 다른 릴레이션 이름을 가진 릴레이션들의 모임
  • 관계 데이터베이스 스키마 : 데이터베이스에 속한 릴레이션의 스키마들의 집합

  1. 기본키(Primary Key) : 각 레코드를 고유하게 식별하는 키로, 중복되지 않는 값으로 이루어지고 또한, NULL 값을 가질 수 없다.
  2. 대체키(Alternate Key) : 기본키가 될 수 있는 후보키 중에서 선택된 키를 말한다.
  3. 후보키(Candidate Key) : 릴레이션을 구성하는 속성들 중에서 각 레코드를 고유하게 식별할 수 있는 속성 또는 속성의 집합이다.
  4. 외래키(Foreign Key) : 다른 릴레이션의 기본키를 참조하는 속성으로, 릴레이션 간의 관계를 설정하는 데 사용됩니다.
  5. 대리키(Surrogate Key) : 식별자가 너무 길거나 여러 개의 속성으로 구성되어 있는 경우 인위적으로 추가하는 식별자이다.

무결성

  • 무결성은 데이터나 시스템의 완전성, 정확성, 일관성이 유지되는 상태를 말한다.

무결성 제약조건

  • 데이터베이스에서 무결정을 위해 설정되는 제약조건으로 데이터베이스에 저장, 수정, 삭제할 때 무결성 제약조건에 위배되지 않도록 데이터베이스 시스템이 검사하고, 위배될 경우 해당 작업을 취소하거나 에러를 발생시킨다.

개체 무결성(Entity Integrity)

  • 기본키를 구성하는 모든 속성은 NULL 값을 가질 수 없고 기본키는 각 레코드를 고유하게 식별할 수 있는 유일한 값을 가져야한다.
  • 키 제약조건으로 개체 무결성을 유지한다.

참조 무결성(Referential Integrity)

  • 외래키 값을 참조하는 참조 릴레이션의 값은 NULL 이거나, 기본키 또는 후보키 값과 일치해야 한다. 즉, 외래키는 참조하는 릴레이션의 값과 일치하는 값을 가져야 한다.

  • 위와 같이 ‘이진수’의 경우 지정되지 않아 NULL 값을 가질수 있지만, ‘박철중’ 과 같이 없는 번호의 값을 가지고 있으면 참조 무결성을 위반하게 된다.

  • 참조 관계에 있는 두 릴레이션의 데이터는 항상 일관된 값으로 유지되어야 함

    • 한 릴레이션의 데이터가 수정될 경우 참조 관계에 있는 데이터 역시 수정되어야 함키
    • 한 릴레이션의 데이터가 삭제될 경우 참조 관계에 있는 데이터 역시 삭제되어야 함

도메인 무결성(Domain Integrity)

  • 각 속성은 정의된 도메인에 속하는 값만 가질 수 있다. 예를 들어, 정수형 속성의 값은 숫자여야 하며, 문자열 속성의 값은 문자열이어야 한다.

무결성 제약조건 집행

  • 제약조건은 릴레이션 스키마에 정의되고 릴레이션의 수정될 때 집행됨
  • 도메인 무결성과 개체 무결성은 직관적으로 즉시 집행됨
    • 제약조건을 위배하는 삽입, 삭제, 갱신 명령은 즉시 거부
  • 참조 무결성 집행 단계
    • 참조하는 릴레이션에 없는 값에 대한 삽입이 시도되는 경우
      • 명령이 거부됨
    • 참조 릴레이션의 데이터가 삭제되는 경우
      • 외래 키가 존재하는 릴레이션의 참조 데이터를 모두 삭제
      • 참조 릴레이션의 데이터를 삭제할 수 없도록 멸령을 거부
      • 외래 키가 존재하는 릴레이션의 해당 데이터를 모두 다른 값으로 갱신
This post is licensed under CC BY 4.0 by the author.