데이터베이스 (4) 관계 데이터 모델

gmlwlswldbs·2021년 12월 3일
0

Computer Science

목록 보기
5/16

관계 데이터 모델

관계 데이터 모델의 개념

관계 데이터 모델의 기본 용어

  1. 속성 (애트리뷰트) : 릴레이션의 열
    • 서로 다른 이름을 이용해 구별
    • 파일 관리 시스템에서 릴레이션-파일, 속성-필드에 대응
  2. 튜플 : 릴레이션의 행
    • 파일 관리 시스템에서 레코드에 대응
  3. 도메인 : 속성 하나가 가질 수 있는 모든 값의 집합, 특정 속성이 가질 수 있는 모든 원자 값의 모임
    • 도메인 정의해놓으면 적합성을 판단하여 도메인 이외의 값은 허용하지 않음으로써 항상 올바른 값만 유지할 수 있음
    • 데이터 타입
  4. 널 값 : 특정 튜플의 속성 값을 모르거나 적합한 값이 없는 경우
    • 0 이나 공백 문자와는 다름
  5. 차수 : 속성의 전체 개수
    • 자주 변하지 않는다는 정적인 특징이 있음
  6. 카디널리티 : 튜플의 전체 개수
    • 자주 변하는 동적인 특징이 있음

릴레이션과 데이터베이스의 구성

  1. 릴레이션 스키마 : 릴레이션의 이름과 릴레이션에 포함된 모든 속성의 이름으로 정의하는 릴레이션의 논리적 구조

    • 릴레이션이름(속성이름1, 속성이름2, ... , 속성이름n)
    • = 릴레이션 내포 (relation intension)
  2. 릴레이션 인스턴스 : 어느 한 시점에 릴레이션에 존재하는 튜플의 집합

    • = 릴레이션 = 릴레이션 외연
  3. 데이터베이스 스키마와 데이터베이스 인스턴스

    • 데이터는 여러개의 릴레이션으로 구성됨
    • 데이터베이스 스키마 : 데이터베이스를 구성하는 릴레이션들의 스키마를 모아놓은 것
    • 데이터베이스 인스턴스 : 어느 한 시점에서 데이터베이스에 저장된 데이터 내용의 전체 집합

릴레이션의 특성

  1. 튜플의 유일성 : 하나의 릴레이션에는 동일한 튜플이 존재할 수 없다
    • 하나의 릴레이션에 같은 튜플 X
    • 모든 튜플에는 다른 튜플과 구별되는 유일한 특성 있어야
  2. 튜플의 무순서 : 하나의 릴레이션에서 튜플 사이의 순서는 무의미하다
  3. 속성의 무순서 : 하나의 릴레이션에서 속성 사이의 순서는 무의미하다
  4. 속성의 원자성 : 속성 값으로 원자 값만 사용할 수 있다
    • 모든 속성 값은 더는 분해할 수 없는 하나의 값만을 가질 수 있다

키의 종류

  • 키는 관계 데이터 모델에서 제약 조건을 정의
  • 릴레이션의 튜플들을 유일하게 구별해주는 역할
  1. 수퍼키 : 유일성
    • 유일성 : 키가 갖추어야 하는 기본 특성. 하나의 릴레이션에서 키로 지정된 속성의 값은 튜플마다 다르다 = 키 값이 같은 튜플은 존재할 수 없다
  2. 후보키 : 유일성 + 최소성
    • 최소성 : 키를 구성하고 있는 여러 속성 중에서 하나라도 없으면 튜플을 유일하게 구별할 수 없는 꼭 필요한 최소한의 속성들로만 키를 구성하는 특성
    • 슈퍼키 중 최소성을 만족하면 후보키
  3. 기본키 : 여러 후보키 중에서 기본적으로 사용할 키를 반드시 선택
    • 널 값을 가질 수 있는 속성이 포함된 후보키는 기본키로 부적합하다
    • 값이 자주 변경될 수 있는 속성이 포함된 푸보키는 기본키로 부적합하다
    • 단순한 후보키를 키본키로 선택한다
  4. 대체키 : 기본키로 선택되지 못한 후보키들
  5. 외래키 : 어떤 릴레이션에 소속된 속성 또는 속성 집합이 다른 릴레이션의 기본키가 되는 키
    • 다른 릴레이션의 기본키를 그대로 참조하는 속성의 집합
    • 릴레이션들 간의 관계 표현

관계 데이터 모델의 제약

무결성 제약조건 : 기본 제약 사항. 무결성 보장 + 일관되게 유지
무결성 : 데이터에 결함이 없는 상태. 데이터를 정확하고 유효하게 유지하는 것

개체 무결성 제약조건

  • 기본키를 구성하는 모든 속성은 널 값을 가지면 안된다
  • 널 값이 있으면 튜플의 유일성을 판단할 수 없음

참조 무결성 제약 조건

  • 외래키는 참조할 수 없는 값을 가질 수 없다
  • 외래키가 자신이 참조하는 릴레이션의 기본키와 상관 없는 값을 가지게 되면 두 릴레이션을 연관시킬 없다
  • 외래키는 자신이 참조하는 릴레이션에 기본키 값으로 존재하는 값, 참조 가능한 값만을 가져야한다

📍 질문
키 : 검색, 정렬 시 튜플을 구분할 수 있는 기준이 되는 속성
1. 후보키 (Candidate key) : 튜플을 유일하게 실별하기 위해 사용하는 속성들의 부분 집합
- 기본키로 사용할 수 있는 속성들
- 유일성 + 최소성
2. 기본키 (Primary key) : 후보키 중 선택한 메인 키
- 널 값 X
- 동일한 값이 중복 X
3. 대체키 (Alternate key) : 후보키 중 기본키를 제외한 나머지 키 = 보조키
4. 슈퍼키 (Super key) : 유일성 O, 최소성 X
5. 외래키 (Foreign key) : 다른 릴레이션의 기본키를 그대로 참조하는 속성의 집합

https://gyoogle.dev/blog/computer-science/data-base/Key.html

0개의 댓글