[DB] 관계형 데이터 모델링 개념 정리

2020. 10. 15. 23:54개발/[DB] 데이터베이스 개념정리

반응형

이 글은 DB 개념정리를 한 글입니다.

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

속성 : 릴레이션의 열을 속성 또는 애트리뷰트라고 부른다

투플 : 릴레이션의 행을 투플이라 부른다

도메인 : 속성 하나가 가질 수 있는 모든 값의 집합을 해당 속성의 도메인이라 한다.(ex 등급 속성에서 gold vip gold silver값을 모아놓은 것이 등급 속성의 도메인

널 값 : 해당값을 모르거나 존재하지않거나 해당되는 값이 없음을 나타낸다.

차수 : 속성의 전체개수를 릴레이션의 차수라고 한다.

카디널리티 : 투플의 전체 개수를 릴레이션의 카디널리티 라고 한다

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

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

릴레이션 인스턴스 : 어느 한 시점에 릴레이션에 존재하는 투플들의 집합이다. (릴레이션 외포)

릴레이션 = 릴레이션 스키마 + 릴레이션 인스턴스

-릴레이션 스키마는 자주 변하지 않아서 정적인 특성이 있고 릴레이션 인스턴스는 자주 변해서 동적인 특성이 있다.

릴레이션의 특성

투플의 유일성 : 하나의 릴레이션에는 동일한 투플이 존재할 수 없다.

투플의 무순서 : 하나의 릴레이션에는 투플 사이의 순서는 무의미하다.

속성의 무순서 : 하나의 릴레이션에서 속성 사이의 순서는 무의미하다.

속성의 원자성 : 속성 값으로 원자 값만 사용할 수 있다.(다중 값을 허용하지 않는다.)

키의 종류

슈퍼키 : 유일성을 만족하는 키 ex) 릴레이션에서 고객아이디는 서로 같은 값을 가지지 않기 때문에 슈퍼키가 될 수 있다.

후보키 : 유일성 + 최소성을 만족하는 키

기본키 : 유일성 + 최소성을 만족하는 키. 여러 후보키 중에서 기본적으로 사용할 키

대체키 : 기본키로 선택되지 못한 후보키들이다.

외래키 : 어떤 릴레이션에 소속된 속성 또는 속성 집합이 다른 릴레이션의 기본키가 되는 키다. ex) 주문 릴레이션의 주문고객 속성이 고객 릴레이션의 기본키인 고객아이디 속성을 참조하면 주문고객 속성을 외래키라고 한다.

외래키는 반드시 다른 릴레이션의 기본키를 참조해야 한다.

- 외래키의 도메인은 참조되는 기본키와 같게 정의되어야 한다.

기본키를 선택할 때 고려하면 도움이 되는 기준

- 널 값을 가질 수 있는 속성이 포함된 후보키는 기본키로 부적합하다

- 값이 자주 변경될 수 있는 속성이 포함된 후보키는 기본키로 부적합하다.

단순한 후보키를 키본키로 사용한다.

관계 데이터 모델의 제약

관계 데이터 모델에서 정의하고 있는 기본 제약 사항은 키와 관련한 무결성 제약조건이다.

무결성 : 데이터의 결함이 없는 상태, 즉 데이터가 정확하고 유효하게 유지된 상태를 말한다.

 

 

ㅣ ㅡㅡㅡㅡ개체 무결성 제약 조건 : 기본키를 구성하는 모든 속성은 널 값 을 가질 수 없다

무결성 제약조건 ㅣ

ㅣㅡㅡㅡㅡ 참조 무결성 제약 조건 : 외래키는 참조할 수 없는 값을 가질 수 없다.

개체 무결성 제약조건 : 기본키를 구성하는 속성의 값은 NULL값을 가질 수 없다.

이유 : 기본키를 구성하는 속성 전체나 일부가 널 값이 되면 투플의 유일성을 판단할 수 없다.

참조 무결성 제약조건 : 외래키는 참조할 수 없는 값을 가질 수 없다. 쉽게 말해서 기본키를 참조하는 외래키의 도메인은 참조되는 기본키와 같게 정의되어야 한다.(고객 릴레이션 고객아이디 속성 apple banana 고객아이디를 참조하는 주문고객 속성은 apple banana)

반응형