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값으 로 대체