[데이터베이스] 관계 데이터베이스
관계 데이터베이스
데이터 간의 관계를 테이블 구조로 나타내는 데이터베이스
이 데이터베이스는 개체를 표현하는 데 있어 속성과 속성 간의 연관 관계를 파악하여 테이블의 형태로 표현하며, 개체와 개체 사이의 연관 관계도 테이블 형태로 표현한다.
관계 데이터베이스 용어
속성(Attribute)
어떤 개체의 정보의 특성이나 특징
에 대한 이름을 의미. 파일 시스템의 레코드 필드와 유사
속성이란 용어는 우리가 프로그래밍하게 되면 어떤 값을 넣을 변수를 선언하게 되는데 이 변수의 개념에 해당
도메인(Domain)
한 속성의 의미로 들어오는 실제
값(원자값)들의 집합
변수를 선언하게 되면 그 선언 타입에 해당하는 개념
튜플(Tuple)
릴레이션 스킴에 따라 각 속성으로 실제 값이 입력됐을 때 하나의 행
값에 해당하는 개념
파일시스템의 레코드 개념과 유사
릴레이션(Relation)
데이터 간의 관계를 나타내는 표 자체
한 개 이상 속성들의 집합으로 표현 릴레이션의 일반적 의미는 테이블과는 학술적으로 다르게 사용되어 진다 릴레이션이라는 것은 릴레이션 스킴과 릴레이션 어커런스를 합쳐 지칭하는 용어
릴레이션 스킴(Relation Scheme)
릴레이션 스키마
(Schema), 릴레이션 타입
(Type) 또는 릴레이션 내포
(Intention)라고도 불리며
릴레이션의 논리적 구조를 정의하는 것으로 릴레이션 이름과 해당 릴레이션을 형성하는 하나 이상의 속성을 합쳐 정의하는 개념
릴레이션 어커런스(Relation Occurrence)
릴레이션 인스턴스
(Instance) 또는 릴레이션 외연
(Extension)이라고도 하며
어느 한 시점(시간에 가변적인 특성)에서 릴레이션 스킴에 따라 실제 데이터로 입력된 튜플들의 집합을 의미하는 개념
릴레이션의 특성
-
튜플의 유일성
모든 튜플은 다르다는 것으로, 하나의 릴레이션으로 입력되는 튜플은 중복된 튜플이 존재하지 않는다는 개념 -
튜플간의 무순서
릴레이션으로 입력되는 모든 튜플은 순서가 정해져 입력되는 것이 아니라 상황에 따라 순서 없이 입력된다는 개념 -
속성값은 원자값
릴레이션에서 하나의 속성으로 입력되는 도메인 값은 하나의 튜플에서 분해 될 수 없는 형태로 입력되어야 한다는 개념 -
속성 간의 무순서
하나의 릴레이션에서 속성 간의 논리적인 순서는 관계가 없다는 개념 -
속성 이름의 유일성
하나의 릴레이션에서 속성 이름은 유일해야 한다
차수(Degree)
하나의 릴레이션에서 정의된 속성
의 개수, 즉 필드의 개수를 표현
설계의 변경이 이루어지지 않는 한 항상 정적인 상태를 유지
카디널리티(Cardinality)
기수라고도 하며, 하나의 릴레이션에 형성된 튜플의 개수, 즉 레코드의 수를 의미
데이터 조작 연산에 의해 항상 변화하므로 동적인 상태
NULL 값
Empty, 모르는 값, 정의되어 있지 않은 값을 의미. 0과 공백의 의미와 다르다는 것을 유의
관계 데이터베이스 키 제약사항
키(Key)는 각각의 튜플을 유일하게 구분할 수 있는 개념이며 유일한 식별성과 최소성을 가지고 있어야 하며, 하나의 릴레이션에는 최소한 하나의 키가 있어야 한다.
- 최소성
가장 적은 개수의 어트리뷰트로 구성될 수 있는 성질 - 유일성
릴레이션으로 입력되는 모든 튜플을 유일하게 구별할 수 있는 성질
슈퍼키(Super Key)
최소성
없이 단지 튜플을 식별하기 위해 두 개 이상의 속성 집합으로 이루어진 키를 의미
후보키(Candidate Key)
하나의 릴레이션에서 유일성과 최소성을 가지고 있는 모든 속성 또는 속성의 집합
기본키(Primary Key)
후보키들 중 데이터베이스의 설계자에 의해 선택된 한 개의 키를 의미
기본키로 선택된 속성은 중복되지 않으며 정의되지 않는(NULL) 값을 가질 수 없다
대체키(Alternate Key)
후보키 중 기본키를 제외한 모든 키는 대체키의 역할을 한다.
외래키(Foreign Key)
테이블의 필드(attribute) 중 다른 테이블의 행(row)을 식별할 수 있는 키를 의미
두 테이블을 연결하는 연결다리 역할을 하며, 참조하는 테이블에 무결성
을 높여주는 역할을 수행
무결성(Integrity) 제약사항
데이터베이스에 저장되는 데이터에 대한 정확성을 부여할 목적으로 제약사항을 설정하는 것을 의미
도메인 무결성(Domain Integrity)
기본적인 무결성 규정으로 데이터베이스 릴레이션에서 주어진 속성으로 입력되는 모든 값은 그 속성으로 정의되거나 제약된 도메인 영역에 있어야 한다는 규정을 의미
개체 무결성(Entity Integrity)
하나의 개체 릴레이션에서 기본키를 구성하는 속성은 널(NULL)값이나 중복된 튜플이 존재해서는 안된다는 규정을 의미
참조 무결성(Referential Integrity)
외래키 값은 NULL 값이거나 참조 릴레이션의 기본키와 동일해야 한다. 즉, 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다는 의미
릴레이션에 있는 튜플 정보가 다른 릴레이션에 있는 튜플 정보와 비교하여 관계성이 있으며, 관계되는 정보의 정확성을 유지하는 가를 규정하는 것
고유 무결성
특정 속성에 대해 고유한 값을 가지도록 조건이 주어진 경우, 그 속성값은 모두 달라야 하는 제약조건
NULL 무결성
특정 속성값에 NULL값을 가질 수 없다는 조건이 주어진 경우, 그 속성값은 NULL값이 올 수 없다는 제약조건
키 무결성
한 릴레이션에는 최소한 하나의 키가 존재해야 한다는 제약 조건
댓글남기기