Learn business/Database

관계 데이터 모델


관계 데이터 모델

E.F. Codd1970년에 관계 데이터 모델을 제안

실세계의 동일한 구조(릴레이션)의 관점에서 모든 데이터를 논리적으로 구성하며 선언적인 질의어를 통한 데이터 접근을 제공한다. 응용 프로그램들은 데이터베이스 내의 레코드들의 어떠한 순서와도 무관하게 작성된다.

• 사용자는 원하는 데이터(what)만 명시하고, 어떻게 이 데이터를 어떻게 찾을 것인가(how)는 명시할 필요가 없다.

관계 데이터 모델은 논리적으로 연관된 데이터를 연결하기 위해서 링크나 포인터를 사용하지 않는다. 관계 데이터베이스 모델에서는 실세계에서 서로 다른 객체들을 연관시키는 것이 값들의 비교에 의해 이루어진다.

 

1. 관계 데이터 모델의 목적

데이터베이스의 관리의 논리적인 면과 물리적인 면을 명확하게 구분하여 데이터의 독립성을 높인다.

그 당시의 다른 데이터 모델에 비해서 보다 단순한 구조를 갖도록 한다.

단순한 구조는 사용자와 프로그래머 간의 의사소통을 원활하게 하며 조직의 다양한 사용자들이 단순한 모델과 쉽게 상호 작용할 수 있게 한다.

한 번에 다수의 레코드들의 집합을 조작할 수 있는 기능을 제공함으로써 프로그래머가 데이터베이스를 레코드 단위로 처리하지 않는다.

 

2. 기본적인 용어

릴레이션: 2차원 테이블을 의미

: 레코드라고 부른다. 레코드를 조금 더 공식적으로 투플이라고 부르는데, 릴레이션이 나타내는 엔티티의 특정 인스턴스에 관한 사실()들의 모임이다. 다시 말해서, 한 투플은 그 릴레이션이 나타내는 엔티티의 한 인스턴스를 의미한다. 행은 한 명의 사원을 나타낸다.

: 릴레이션에서 이름을 가진 하나의 애트리뷰트이다.

한 릴레이션(테이블)은 특정 엔티티 타입에 속하는 애트리뷰트들을 나타내는 하나 이상의 열을 포함한다. 한 릴레이션에서 모든 애트리뷰트들의 이름은 서로 달라야 한다.


각 사원(객체)를 나타내기 위해 EMPNO, EMPNAME, TITLE, DNO, SALARY의 다섯 애트리뷰트가 사용되었다.

EMPNO는 각 사원 투플을 고유하게 식별하므로 기본 키라고 한다.

차수: 한 릴레이션에 들어있는 애트리뷰트들의 수. 유효한 릴레이션의 최소 차수는 1이다. 즉 모든 릴레이션은 적어도 한 개의 애트리뷰트를 가져야 한다.

카디날리티: 릴레이션의 투플 수. 유효한 릴레이션은 카디날리티 0을 가질 수 있다.

(null): 릴레이션에 투플을 삽일할 시점에 그 투플의 모든 애트리뷰트들의 값이 알려지지 않을 수 있다. ‘알려지지 않음또는 적용할 수 없음을 나타내기 위해 널값을 사용한다.

널값은 임의의 애트리뷰트 나타날 수 있는 값과도 다른 특별한 값으로 생각할 수 있다. 널값은 숫자 타입의 0이나 문자열 타입의 공백 문자 또는 공백 문자열과 다르다. 널은 0이 아니고, 공백 문자가 아니고, 공백 문자열은 모두 특정한 값을 나타내는 반면에 널은 값이 없음을 나타낸다.

 

릴레이션 스키마: 렐레이션의 이름과 릴레이션의 애트리뷰트들의 집합. 스키마는 릴레이션을 위한 틀이자 구조이다. 릴레이션 스키마는 다음과 같이 나타낸다.

EMPLOYEE(EMPNO, EMPNAME, TITLE, DNO, SALARY)

이런 표기법은 릴레이션의 상세한 내용은 숨기면서 데이터베이스의 전체적인 구조를 병확하게 나타낼 때 유용하다.

내포라고 한다.

릴레이션 인스턴스: 릴레이션에 어느 시점에 들어 있는 투플들의 집합이다. 릴레이션 인스턴스는 정적이지 않고 시간의 흐름에 따라 계속 변한다.

투플의 삭제, 수정 등

데이터 조작어(DML)를 통해 이루어진다.

외연이라고 한다.

관계 데이터베이스 스키마: 하나 이상의 릴레이션 스키마들로 이루어진다.

관계 데이터베이스 인스턴스: 릴레이션 인스턴스들의 모임으로 구성된다.

'Learn business > Database' 카테고리의 다른 글

릴레이션 키 총 정리  (0) 2017.03.23
ANSI/SPARC 3단계  (0) 2017.03.23
DBMS의 언어  (0) 2017.03.23
DBMS의 발전 과정  (0) 2017.03.23
데이터베이스란?  (0) 2017.03.23