DataBase

[Oracle DB 입문 05] - 관계형 데이터모델 개념

코딩순이 2021. 2. 25. 11:10

안녕하세요

 

순코딩의 코딩순이입니다.

 

오늘은 관계형 데이터모델 개념에 대해 알아보겠습니다.

 

▶ 릴레이션(Relation)

  • 테이블
  • 현실세계의 개체를 표현
  • 관계형 데이터베이스에서 정보를 구분하여 저장하는 기본 단위
  • ex) STUDENT 릴레이션 : 학생에 대한 정보를 담고 있음
  • ex) SUBJECT 릴레이션 : 과목에 대한 정보를 저장
  • 동일한 데이터베이스 내에서는 같은 이름을 갖는 릴레이션이 존재할 수 없음

▶ 튜플(Tuple)

  • 개체에 속한 구성원들 개개의 정보를 표현(레코드)
  • '학생'은 개체를 나타내는 이름이고, '김철수','박선하','안미희' 등 은 '학생' 개체의 구성원
  • 한 릴레이션에 포함된 튜플의 개수는 시간에 따라 변할 수 있으며, 한 릴레이션은 여러 개(수십~수십만 개)의 튜플을 포함할 수 있음
  • 튜플의 수(가로방향)를 "카디널리티" 라고 한다.
  • 속성의 수(세로방향)를 "차수" 라고 한다.

▶ 속성(Attribute)

  • 릴레이션에서 관리하는 구체적인 정보 항목(필드)
  • 현실세계의 개체(예: 학생, 교수, 과목, ...)들은 많은 속성들을 갖는데 그 중에서 관리해야 할 필요가 있는 속성들만을 선택하여 릴레이션에 포함시킴
  • 속성 역시 고유한 이름을 가지며 동일 릴레이션 내에서는 같은 이름의 속성이 존재할 수 없음

▶ 도메인(Domain)

  • 각각의 속성들이 가질 수 있는 값들의 집합
  • 예 : '성별'이라는 속성이 있다면 이 속성이 가질 수 있는 값은 {남, 여}
  • 도메인의 이름은 속성 이름과 같거나 다를 수 있음

용어 대비표

▶ 후보키(Candidate key)

  • 테이블에서 각 튜플을 구별하는데 기준이 되는 하나 혹은 그 이상의 컬럼들의 집합
  • 후보키는 테이블에 있는 각 튜플을 고유하게 식별할 수 있어야 함
  • 기본키(Primary key), 대체키(Alternate key)로 구분된다.

▶ 기본키(Primary Key)

  • 후보키 중 튜플을 식별하는데 기준으로 사용할 키 : NOT NULL, NO DUPLICATE
  • 릴레이션에 저장되는 튜플의 유일성을 보장하기 위하여 하나 이상의 속성으로 구성되는 식별자
  • 유일성(Uniqueness)과 최소성(Minimality)을 만족

▶ 대체키(Alternate Key)

  • 후보키 중 기본키로 선택되지 않은 나머지 ㅣ

▶ 복합키(Composite Key)

  • 하나의 컬럼이 후보키의 역할을 하지 못하고 두 개 이상의 컬럼이 합쳐져야 후보키의 역할을 하는 경우

복합키 예시

▶ 외래키(Foreign Key)

  • 상호 관련이 있는 테이블들 사이에서 데이터의 일관성을 보장해주는 수단
  • 두 테이블 사이에 존재하며 관계를 맺고 있는 두 테이블 중 하나는 부모테이블이고, 하나는 자식테이블

외래키 예시

▶ 참조 무결성 제약조건

  •   제한(restrict) :  부모테이블의 튜플의 값을 자식테이블에서 가지고 있으므로 삭제연산 거절
  •   연쇄(cascade) : 부모테이블의 삭제된 튜플의 값을 갖는 자식 테이블의 튜플도 함께 삭제
  •   널 값으로 대체(nullify) : 삭제연산을 수행한 뒤, 삭제된 부모테이블의 값을 갖는 자식테이블의 튜플값을 null값으                                    로 대체