본문 바로가기
정보처리기사

6. 키와 무결성 제약조건 - 2과목 데이터 베이스 구축 - 릴레이션, 속성, 키

by 공불러 2024. 4. 1.
728x90
반응형

6. 키와 무결성 제약조건 - 2과목 데이터 베이스 구축

목차

    속성이란?

    RDBMS(관계형 데이터베이스 관리 시스템)에서 속성은 데이터베이스 테이블의 열을 나타냅니다. 각 속성은 해당 열에 저장되는 데이터의 특성이나 속성을 설명합니다. 

    정보를 설명하는 가장 작은 단위

    다른 용어로 열(column) 또는 필드(field)로도 알려져 있습니다.

    예를 들어, 사용자 테이블의 경우 "이름", "나이", "성별" 등이 속성이 될 수 있습니다. 각 속성은 해당 속성에 저장되는 데이터의 유형을 결정하고, 데이터의 의미를 설명합니다. 속성은 데이터베이스 테이블의 스키마를 정의하는 데 중요한 역할을 합니다.

    속성의 특징

    하나의 속성에는 하나의 값만을 가져야 한다.

    여러 값이 필요한 경우 별도의 테이블로 분리된다.

    1. 유형(Type)
    2. 명칭(Identifier)
    3. 값(Value)
    4. 제약 조건(Constraints)
    5. 의미(Semantics)
    6. 고유성(Uniqueness)
    7. 연결성(Connectivity)
    8. 도메인(Domain)

    속성분류

    • 기본속성
      • 엔티티의 기본적인 특징을 나타내는 속성으로, 더 이상 분해할 수 없는 최소한의 데이터를 포함합니다
      • 업무로부터 추출한 모든 속성
    • 설계속성 : 특정 설계 요구사항을 충족하기 위해 추가된 속성입니다. 
      • 예를 들어, 기록의 생성일 또는 마지막 업데이트일 등이 설계 속성에 해당합니다.
      • 코드성 데이터 릴레이션 식별용 일련 번호
    • 파생속성 : 다른 속성에 의해 계산되거나 유도되는 속성입니다.
      •  예를 들어, 나이는 출생일을 기반으로 자동으로 계산할 수 있습니다.
      • 다른 속성에 영향을 받음
      • 계산값, 합계, 재고

    세부의미에 따른 분류

    • 단순 속성 : 하나의 값을 가지는 속성입니다. 예를 들어, 나이 또는 성별과 같은 속성은 단순 속성입니다.
    • 복합 속성 : 두 개 이상의 하위 속성으로 구성된 속성입니다. 예를 들어, 주소 속성은 번지, 도시, 우편번호 등 여러 하위 속성으로 구성될 수 있습니다.

    구성 방식에 따른 분류

    • PK 속성 : 관계형 데이터베이스에서 주 키(primary key)로 사용되는 속성입니다.
      • 주문 목록 페이지의 주문 번호
    • FK 속성 : 관계형 데이터베이스에서 외래 키(foreign key)로 사용되는 속성으로, 다른 테이블의 기본 키를 참조합니다.
      • 주문 목록 페이지의 주문번호를 상세페이지에서는 참조한다.
    • 일반 속성 : 일반적인 데이터를 저장하는 속성으로, 주 키나 외래 키가 아닌 일반적인 속성입니다.

    도메인

    속성이 허용하는 값의 집합을 정의하는 데 사용됩니다. 즉, 속성의 유효한 데이터 형식을 지정합니다.

    속성에서 표현할 수 있는 값의 범위

    속성명 부여 원칙

    패스하셔도 좋고 빠르게 읽고 가셔도 좋습니다.

    • 속성명은 명확하고 간결하며 의미 있는 이름으로 지정해야 합니다.
    • 또한, 속성명은 표준 명명 규칙을 따라야 하며, 도메인과 일관된 명명 패턴을 사용하는 것이 좋습니다.
    • 약어 사용 금지 : 외계인 코드, 스파게티 코드, 레거시 시스템 등을 동료검토, 워크쓰루, 인스팩션을 통한 리팩토링을 하여 클린코드를 만들어야함. 의존성 최소화

    키(key)란?

    키(key)는 데이터베이스에서 튜플(tuple)을 식별하거나 검색하는 데 사용되는 속성의 집합입니다. 데이터베이스 모델링에서 키는 튜플을 고유하게 식별하는 데 사용되며, 데이터의 정확성과 일관성을 유지하는 데 중요한 역할을 합니다.

    유일성과 최소성

    먼저, 유일성과 최소성에 대한 개념을 알아야합니다.

    유일성(Uniqueness)은 데이터베이스에서 특정 값이 중복되지 않는 것을 의미합니다.

    예를 들어, 기본 키는 각 행을 고유하게 식별하기 위해 사용되며, 중복될 수 없는 값을 가져야 합니다.

    최소성(Minimality)은 키로 선택된 속성의 최소한의 수를 의미합니다.

    즉, 키로 선택된 속성들의 조합이 가능한 한 최소한의 크기여야 합니다. 예를 들어, 슈퍼키는 가능한 한 최소한의 속성으로 구성되어야 하며, 불필요한 속성이 포함되어서는 안 됩니다.

    키의 종류

    시험에 매우 자주 출제되며, 실무에서도 중요한 내용이니 꼭 확인하고 암기하셔아합니다.

    종류 설명 예시
    후보키
    (Candidate Key)
    튜플을 유일하게 식별할 수 있는 속성 또는 속성의 집합
    유일성+최소성
    주민등록번호, 이메일 주소
    기본키
    (Primary Key)
    후보키 중에서 특별히 선택된 하나의 키
    후보키 중에서 가장 적절한 키
    사용자 ID, 주문 번호
    대체키
    (Alternate Key)
    후보키 중에서 주 키가 아닌 나머지 후보키
    기본키로 뽑히지 않은 나머지 후보키
    사원 번호, 전화번호
    슈퍼키
    (Super Key)
    튜플을 유일하게 식별할 수 있는 속성들의 집합
    나를 특정할 수 있는 모두, 조합하여 사용할 수 있음
    유일성
    (주민등록번호, 이름), (주문 번호, 제품 코드)
    외래키
    (Foreign Key)
    다른 테이블의 주 키를 참조하는 키
    다른키에서 참조하는 키 - 기본키
    주문 테이블의 고객 ID

    데이터베이스 무결성이란?

    데이터베이스 무결성(Integrity)은 데이터베이스의 데이터가 정확하고 일관되며 유효한 상태를 유지하는 것을 의미합니다. 즉, 데이터베이스의 구조와 제약 조건이 지켜지면서 데이터가 올바르게 저장되고 유지되어야 합니다.

    데이터베이스 무결성 종류

    무결성 설명
    개체 무결성
    (Entity Integrity)
    각 행은 기본 키 속성이 NULL이 아니고 중복되지 않아야 함.
    중복되지 않은 고유한 값인 기본키
    참조 무결성
    (Referential Integrity)
    외래 키 값은 참조하는 테이블의 기본 키 값과 일치하거나 NULL이어야 함
    유효하거나  Null
    restrict : 문제의 연산을 거부, 삭제를 못하게 함.
    casacade : 참조된 튜플 삭제시, 참조 튜플도 함께 삭제
    도메인 무결성
    (Domain Integrity)
    각 속성 값은 정의된 도메인에서 유효한 값을 가져야 함
    도메인 내의 값만 가져야한다.
    고유 무결성
    (Unique Integrity)
    테이블의 특정 속성 또는 속성의 조합이 중복되지 않아야 함.
    UNIQUE 명령
    키 무결성
    (Key Integrity)
    테이블의 키는 모든 행에서 유일하고 NULL이 아니어야 함
    적어도 하나의 키를 가져야함
    릴레이션 무결성
    (Relational Integrity)
    데이터베이스에 정의된 모든 규칙과 제약 조건을 준수해야 함
    삽입, 삭제, 갱신 등의 연산은 릴레이션의 무결성을 해치지 않도록 수행되어야 함

     

    728x90
    반응형

    댓글