정보처리기사

8. 키와 무결성 제약조건

nayeonee__ 2023. 4. 7. 09:40

https://www.njobler.net/product/lecture/show/prod/10810

 

1억뷰 N잡

[연장 미포함] 흥나게 합격달성! 정보처리기사 실기

www.njobler.net

본 강의를 듣고 내용을 정리하며 적은 게시글 입니다. 

 

 

 

 

 

 

 

  • 속성(컬럼)
    • 속성의 개념
      • 릴레이션에서 정보를 나타내는 최소 단위로, 각 열의 상태나 특성을 나타내는 항목
      • 등등
    • 특징
      • 시스템을 구축하려는 업무 프로세스에 필요한 정보로 구성되어야 한다.
      • 하나의 속성은 하나의 속성값만을 가진다.
        • 여러개의 속성값이 들어가면 별도의 테이블로 분리
    • 속성의 분류
      • 기본 속성
        • 업무로부터 추출한 모든 속성
      • 설계 속성
        • 코드성 데이터, 릴레이션 식별용 일련번호
      • 파생 속성
        • 다른 속성에 영향을 받아 발생하는 속성
        • 계산값, 합계, 재고 등
    • 세부 의미에 따른 분류
      • 단순 속성
        • 나이, 성별 같이 다른 속성들로 구성될 수 없는 단순한 속성
      • 복합 속성
        • 주소와 같이 시, 구, 동처럼 여러 세부 속성들로 구성될 수 있는 속성
    • 구성방식에 따른 분류
      • PK(Primary Key) 속성
        • 릴레이션에서 튜플을 유일하게 구분할 수 있는 속성
      • FK(Foreign Key)
        • 다른 릴레이션과의 관계에서 참조하고 있는 속성
      • 일반 속성
        • 릴레이션에 포함된 속성 중, PK 와 FK 가 아닌 속성
    • 도메인
      • 속성이 가질 수 있는 값의 범위
    • 속성명 부여 원칙
      • 해당 업무에서 사용하는 이름을 부여한다.
      • 등등
  • 키 종류
    • 키 개념
      • 릴레이션에서 다른 튜플들과 구별할 수 있는 유일한 기준이 되는 컬럼
    • 키의 종류
      • 후보키 ( Candidate Key )
        • 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별할 수 있는 속성들의 부분 집합
        • 튜플에대한 유일성과 최소성을 만족시켜야 한다.
        • 모든 릴레이션은 반드시 하나 이상의 후보키를 가져야 한다.
      • 기본키 ( Primary Key )
        • 후보키 중에서 선택한 주키(Main Key)
        • 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성
        • Null 값을 가질 수 없다 - 개체 무결성
        • 기본키로 정의된 속성에는 동일한 값이 중복되어 저장할 수 없다 - 개체 무결성
      • 대체키 ( Alternate Key )
        • 후보 키가 둘 이상일 때 기본키를 제외한 나머지 후보키
        • 보조키
      • 슈퍼키 ( Super Key )
        • 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키
        • 튜플에 대한 유일성은 만족하지만 최소성은 만족시키지 못한다.
      • 외래키( Foreign Key )
        • 관계를 맺고 있는 릴레이션 R1, R2 에서 릴레이션 R1이 참조하고 있는 릴레이션 R2의 기본키와 같은 R1 릴레이션의 속성
        • 참조되는 릴레이션의 기본키와 대응되어 릴레이션 간에 참조 관계를 표현하는데 중요한 도구로 사용
        • 외래키로 지정되면 참조 테이블의 기본키에 없는 값은 입력할 수 없다 - 참조 무결성 조건
  • 데이터베이스 무결성
    • 데이터베이스 무결성 개념
      • 데이터의 정확성, 일관성, 유효성이 유지되는 것
      • 데이터의 무결성을 유지하는 것은 데이터베이스 관리시스템(DBMS)의 중요한 기능
      • 데이터에 적용되는 연산에 제한을 두어 데이터의 무결성을 유지
    • 종류
      • 개체 무결성 (Entity Integrity) - ex) 주민번호
        • 모든 릴레이션은 기본키를 가져야 한다.
        • 기본키는 중복되지 않은 고유한 값을 가져야 한다.
        • 릴레이션의 기본키는 NULL 값을 허용하지 않는다.
      • 참조 무결성 (Referential Integrity) - ex) - 쇼핑몰
        • 외래키 값은 NULL 이거나 참조하는 릴레이션의 기본키 값과 동일해야 한다.
        • 각 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다.
        • 참조무결성 제약조건
          • 제한(Restrict) : 문제가 되는 연산을 거절
          • 연쇄(Cascade) : 부모 릴레이션에서 튜플을 삭제하면 자식 릴레이션에서 이 튜플을 참조하는 튜플도 함께 삭제
          • 널값(Nullify) : 부모 릴레이션에서 튜플을 삭제하면 자식 릴레이션에서 이 튜플을 참조하는 튜플들의 외래키에 NULL 등록
          • 기본값(Default) : Null 을 넣는 대신에 디폰트 값을 등록
      • 도메인 무결성(Domain Integrity)
        • 속성들의 값은 정의된 도메인에 속한 값이어야 한다.
        • 성별이라는 컬럼에는 ‘남’, ‘여’를 제외한 데이터는 제한되어야 한다.
      • 고유 무결성(Unique Integrity)
        • 릴레이션의 특정 속성에 대해 각 튜플이 갖는 속성 값들이 서로 달라야 한다.
      • 키 무결성(Key Integrity)
        • 하나의 릴레이션에는 적어도 하나의 키가 존재해야 한다.
      • 릴레이션 무결성(Relation Integrity)
        • 삽입, 삭제, 갱신과 같은 연산을 수행하기 전과 후에 대한 상태의 제약