관계 데이터 모델
- 동일한 구조의 관점에서 모든 데이터를 논리적으로 구성하는 모델
- 논리적으로 연관된 데이터를 연결하기 위하여 링크나 포인터를 사용하지 않는다.
- 선언적인 질의어를 통한 데이터 접근을 제공
- 사용자는 원하는 데이터(What)만을 명시하고, 어떻게 이 데이터를(how)를 명시할 필요가 없다.
- 응용 프로그램들은 데이터 베이스 내의 레코들의 순서와 무관하게 작성된다.
System R
- 관계 데이터 모델을 최초로 구현환 관계 DBMS
관계 데이터 모델의 성공 요인
- 바탕이 되는 데이터 구조로 간단한 테이블을 사용한다.
- 중첩된 복잡한 구조가 없어 사용하기 쉽다.
- 집합 위주로 데이터를 처리하며, 다른 데이터 모델에 비해 이론이 잘 정립되어 있다.
- 관계 데이터베이스 설계와 효율적인 질의 처리면에서 뛰어난 장점을 가진다.
- 표준 데이터 베이스 응용(회계 관리) 등에 대해 좋은 성능을 보인다.
- 숙련되지 않은 사용자도 쉽게 이해할 수 있다.
기본 용어
공식 용어 | 자주 사용되는 용어 | 파일 시스템의 용어 |
---|
릴레이션 | 테이블 | 파일 |
투플 | 행/레코드 | 레코드 |
애트리뷰트 | 열 | 필드 |
relation
record
tuple
attribute
카디널리티
- 행들의 개수 (최소 카티널리티는 0이며 시간이 지남에 따라 자주 변경된다)
차수(degree)
- 열들의 개수 (최소 차수는 1이며 자주 변경되지 않는다)
domain
- 한 애트리뷰트에서 나타낼 수 있는 값들의 집합
- 각 애튜리뷰트의 도메인의 값들은 원자값(문자열도 포함)만 가진다.
- 프로그래밍 언어의 데이터 타입과 유사하다
- 동일한 도메인이 여러 애트리뷰트에서 사용될 수 있다.
- 복합 에트리뷰트나 다치 애튜리뷰트는 허용되지 않는다.
Null value
- 알려지지 않음 또는 적용할 수 없음을 나타내기 위하여 사용
- 숫자 0이나 공백 문자, 문자열과 다르다.
- SQL에서는 ^으로 나타낸다.
릴레이션 스키마
- 릴레이션의 이름과 애트리뷰트들의 집합 / 릴레이션을 위한 틀
- 표기법 : 릴레이션 이름 (att1, att2, … att n)
- 기본키 애튜리뷰트에는 밑줄을 표시하며, 스키마는 내포라고도 한다.
릴레이션 인스턴스
- 릴레이션의 어느 시점에 들어있는 튜플들의 집합
- 시간의 흐름에 따라 계속 변하면 현재의 인스턴스만 저장한다. 외연이라고 한다.