상세 컨텐츠

본문 제목

[정보처리기사 실기 공부] 키와 무결성 제약조건

정보처리기사 공부지식

by 소란한소란 2024. 4. 17. 20:33

본문

728x90

데이터베이스의 키 및 무결성 제약 조건 이해

해당 블로그는 데이터베이스 내 데이터의 정확성과 일관성을 보장하는 데 있어 키와 무결성 제약 조건의 중요성을 간략하게 소개합니다. 데이터베이스 설계자와 관리자에게 이러한 개념을 이해하는 것이 얼마나 중요한지 강조합니다. 그러면 한번 살펴보겠습니다.


속성(컬럼)

  • 개념
    • 릴레이션에서 정보를 나타내는 최소 단위로,
    • 각 열의 상태나 특성을 나타내는 항목을 말한다.
  • 특징
    • 시스템을 구축하려는 업무 프로세스에
    • 필요한 정보로 구성되어야 한다.

속성의 분류

분류 설명
기본속성 - 업무로부터 추출한 모든 속성
설계속성 - 코드성 데이터, 릴레이션 식별용 일련번호
파생속성 - 다른 속성에 영향을 받아 발생하는 속성

 

세부 의미에 따른 분류

분류 설명
단순 속성 (Simple Attribute) - 나이, 성별같이 다른 속성들로 구성될 수 없는 단순한 속성
복합 속성 (Composite Attribute) -  주소와 같이 시, 구, 동처럼 여러 세부 속성들로 구성될 수 있는 속성

 

구성방식 따른 분류

분류 설명
PK (Primary Key) 속성 - 릴레이션에서 튜플을 유일하게 구분할 수 있는 속성
FK (Foreign Key) 속성 -  다른 릴레이션과의 관계에서 참조하고 있는 속성
일반 속성 - 릴레이션에 포함된 속성 중, PK와 FK가 아닌 속성

 

도메인

  • 속성이 가질 수 있는 값의 범위

속성명 부여 원칙

  • 해당 업무에서 사용하는 이름을 부여한다.
  • 서술식 속성명은 사용하지 않는다.
  • 약어 사용은 가급적 제한한다.
  • 전체 데이터 모델에서 유일성을 확보하는 것이 좋다.

키 종류

  • 키(Key)의 개념
    • 릴레이션에서 다른 튜플들과 구별할 수 있는 유일한 기준이 되는 컬럼
    • ex) <학생> 테이블
학번 주민번호 이름 학년  학과 성적
1001 111 공철수 2 컴퓨터 95
1002 222 공영희 3 컴퓨터 90

 

키(Key)의 종류 (★)

키의 종류

 

 

  • 후보키(Candidate Key)
    • 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별할 수 있는 속성들의 부분 집합
    • 모든 릴레이션은 반드시 하나 이상의 후보키를 가져야 한다.
    • 튜플에 대한 유일성최소성을 만족시켜야 한다.
  • 기본키(Primary Key)
    • 후보키 중에서 선택한 주키(Main Key)
    • 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성
    • Null 값을 가질 수 없다. (개체 무결성)
    • 기본키로 정의된 속성에는 동일한 값이 중복되어 저장될 수 없다. (개체 무결성)
  • 대체키(Alternate Key)
    • 후보키가 둘 이상일 때 키본키를 제외한 나머지 후보키
  • 슈퍼키(Super Key)
    • 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키
    • 튜플에 대한 유일성은 만족하지만, 최소성은 만족시키지 못한다.
  • 외래키(Foreign Key)
    • 참조되는 릴레이션의 기본키와 대응되어 릴레이션 간에 참조 관계를 표현하는 데 중요한 도구로 사용

데이터베이스 무결성

  • 개념
    • 데이터의 정확성, 일관성, 유효성이 유지되는 것

데이터베이스 무결성 종류 (★)

  • 개체 무결성(Entity Integrity)
    • 모든 릴레이션은 기본 키(Primary Key)를 가져야 한다.
    • 기본키는 중복되지 않은 고유한 값을 가져야 한다.
    • 릴레이션의 기본키는 NULL 값을 허용하지 않는다.
  • 참조 무결성(Referential Integrity)
    • 외래키 값은 NULL 이거나 참조하는
    • 릴레이션의 기본키 값과 동일해야 한다.
    • 각 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다.

참조 무결성 제약조건 (제한, 연쇄 알아둘 것)

제약조건 설명
제한 (Restrict) - 문제가 되는 연산을 거절
연쇄 (Cascade) - 부모 릴레이션에서 튜플을 삭제하면 자식 릴레이션에서 이 튜플을 참조하는 튜플도 함께 삭제
널값 (Nullify) - 부모 릴레이션에서 튜플을 삭제하면 자식 릴레이션에서 이 튜플을 참조하는 튜플들의 외래키에 NULL 등록
기본값 (Default) - Null을 넣는 대신에 디폴트 값을 등록

 

  • 도메인 무결성(Domain Integrity)
    • 속성들의 값은 정의된 도메인에 속한 값이어야 한다.
  • 고유 무결성(Unique Integruity)
    • 릴레이션의 특정 속성에 대해 각 튜플이 갖는 속성 값들이 서로 달라야 한다.
  • 키 무결성(Key Integrity)
    • 하나의 릴레이션에는 적어도 하나의 키가 존재해야 한다.
  • 릴레이션 무결성(Relation Integrity)
    • 삽입, 삭제, 갱신과 같은 연산을 수행하기 전과 후에 대한 상태의 제약

키와 무결성 제약 조건을 효과적으로 활용함으로써 데이터 관리 방식을 향상하고 오류를 최소화하며 데이터베이스 시스템의 안정성을 높일 수 있습니다. 2024년에 정보처리기사를 따기 위해 노력하는 모두에게 행운을 빕니다!

 

728x90

관련글 더보기