관계 데이터 모델

배지원·2022년 11월 15일
0

Database

목록 보기
2/2
post-custom-banner

1. 릴레이션(테이블)

  • 행(Tuple)과 열(Attribute)로 구성된 테이블
  • 데이터의 집합

(1) 튜플(Tuple)

  • 표의 행에 해당
  • 릴레이션에서 가로로 묶은 데이터의 집합
  • 삽입 순서는 존재하지는 않음

(2) 속성(Attribute)

  • 표의 열에 해당
  • 릴레이션에서 세로로 묶은 데이터의 집합

(3) 릴레이션 스키마

  • 자료의 구조를 정의하는 것
  • 릴레이션에 데이터를 넣을때 기준점을 제시해주는 틀

(4) 관계 데이터 모델

  • 각 릴레이션의 구조와 릴레이션간의 관계를 나타내는 스키마
  • A 릴레이션에서 사용하는 데이터를 B 릴레이션에서도 호출하여 사용할때 관계형 데이터 베이스라고 한다.

2. 무결성 제약조건

(1) 키

  • 릴레이션에서 특정 튜플을 식별할 때 상요하는 속성 혹은 속성의 집합이다. 릴레이션은 중복된 튜플을 허용하지 않기 때문에 각각에 튜플에 포함된 속성들 중 어느 하나는 값이 달라야 한다.

- 슈퍼키

튜플을 유일하게 식별할 수 있는 하나의 속성 혹은 속성의 집합을 말한다.

슈퍼키 종류
(회원번호),(회원번호,이름),(회원번호,이름,나이)...
(아이디),(아이디,이름),(아이디,이름,나이)...


- 후보키

튜플을 유일하게 식별할 수 있는 속성의 집합으로 슈퍼키에 유일성과 최소성을 만족해야한다.

이전의 슈퍼키중에서 유일성과 최소성을 만족시켜야 후보키가 된다.
따라서 (회원번호),(아이디)만이 후보키이다.


- 기본키

  • 여러 후보키 중 하나를 선정하여 대표로 삼는 키이다.
  • 릴레이션 내 튜플을 식별할 수 있는 고유한 값을 가져야 한다.
  • NULL 값은 허용하지 않는다.
  • 키 값의 변동이 일어나지 않아야 한다.

이러한 조건들을 통해 기본키를 구성할 수 있다. 예를들어
위의 후보키를 보면 회원번호와 아이디 총 2개의 후보키가 있다. 이 중에 아이디를 기본키로 사용한다고 했을때, 아이디는 수시로 수정이 가능하고 아이디는 이메일 주소다 보니 개인정보 보호에는 취약하다. 따라서 기본키로 회원번호를 선택하는 것이 좋다.


- 대리키

  • 기본키가 보안을 요하여 사용하기 어렵거나, 여러 개의 속성으로 구성되어 복잡하거나, 마땅히 사용할 기본키가 없을 경우 가상의 속성을 만들어 기본키로 삼는 경우에 사용한다.

  • 대리키는 DBMS나 관련 소프트웨어에서 임의로 생성하는 값으로 사용자가 직관적으로 그 값의 의미를 알 수 없다.


- 대체키

  • 기본키로 선정되지 않은 후보키를 말한다.

위의 후보키를 예시로 하자면 회원번호, 아이디 중 회원번호를 기본키로 사용하면 아이디는 자동으로 대체키가 된다.


- 외래키

  • 다른 릴레이션의 기본키를 참조하는 속성을 말한다. 지금까지 살펴본 키들이 단일 릴레이션을 기준으로 설명하였다면 외래키는 다른 릴레이션의 기본키를 참조하여 관계 데이터 모델의 특징인 릴레이션 간의 관계를 표현한다.


(2) 무결성 제약조건

  • 데이터 무결성은 데이터베이스에 저장된 데이터의 일관성과 정확성을 지키는 것을 말한다.

※ 참고자료 : CodeLatte - DB 강의

profile
Web Developer
post-custom-banner

0개의 댓글