본문 바로가기
경주사랑컴퓨터학원

데이터베이스모델-관계형 데이터모델1

by 경주사랑신문 2023. 5. 10.
  1. 관계형 데이터 모델의 구조

관계형 데이터 모델은 1970년에 IBM의 E.F.CODD에 의해 처음 제안되었다. 이것은 통일적이고 단순한 데이터 구조, 즉 릴레이션과 수학적인 이론을 기초로 하고 있다. 예를 들어 그림의 학생 테이블을 생각해 보자 관계 데이터 모델에서는 이 테이블을 릴레이션(relation)이라고 하고 테이블의 이름인 학생(STUDENT)은 릴레이션 이름이라 한다. 따라서 이 테이블의 이름은 학생 릴레이션이 된다.

학생(STUDENT) 테이블

학번(SNO)
성명(SNAME)
학과(DEPT)
30101
김선미
통신
30102
임지윤
웹운영
30103
최고온
웹운영
30104
백선식
전자상거래
30105
장나라
디자인

또한 테이블 열(column)인 필드(field)는 어튜리뷰트(attribute)라고 하고, 테이블의 행(row)인 레코드(record)를 튜블(tuple)이라고 한다.

① 어트리뷰트와 도메인

관계 데이터 모델에서 데이터의 가장 작은 논리적 단위는 표에서 예로 보면 30101, 김선미, 통신과 같은 개개의 데이터 값, 즉 어트리뷰트(attribute value)이다. 이러한 데이터 값들은 더 분해하려해도 분해 할 수 없는 원자값(atomic value)만을 허용한다. 도메인은 이러한 어트리뷰트가 취할 수 있는 같은 타입의 모든 원자값들의 집합을 의미한다.

각 어트리뷰트는 어느 한 도메인 위에서 정의되어야 한다. 따라서 정의된 어트리뷰트는 반드시 그 해당 도메인으로부터만 값을 취할 수 있다. 예를 들어 학번(SNO)의 도메인은 다섯 자리 정수의 집합이고 성명(SNAME)의 도메인은 10개의 문자열의 집합이라고 정의되었다면 학번과 성명 어트리뷰트는 각각 세자리 정수와 10자리 문자열만을 값으로 취 할 수 있다. 도메인과 어트리뷰트의 개념은 프로그래밍 언어의 데이터 타입(data type)과 변수(variable)에 비유할 수 있다. 어떤 데이터 타입으로 선언된 변수는 언제나 그 선언된 데이터 타입의 값만 가질 수 있기 떄문이다.

학생(STUDENT)의 릴레이션 정의

DCL
DOMAIN
DSNO
INTEGER
 
DCL
DOMAIN
DNAME
CHAR(10)
 
DCL
DOMAIN
DEPT
CHAR(10)
 
DCL
RELATION
STUDENT
   
   
SNO
DOMAIN
DSNO
   
SNAME
DOMAIN
DNAME
   
DEPT
DOMAIN
DEPT

② 릴레이션의 개념

앞 의 테이블에 비유하여 설명한 릴레이션을 관계 데이터 모델의 견지에서 정의해 보자. 어떤 릴레이션 R이 n개의 도메인 D1, D2.......Dn 위에서 정의 될 떄 이 릴레이션 R은 릴레이션 스킴(relation scheme)과 렐레이션 인스턴스(relation instance)로 구성된다.

릴레이션 R의 스킴은 일레이션 이름 R과 일정수의 어트리뷰트 A1, A2.......An의 집합으로 구성되는 데 편의상 R( A1, A2.......An)로 표기한다. 여기에서 각 어트리뷰트 Ai(I=1, ....,n)는 도메인 D1,D2....Dn의 한 도메인 D와 정확히 대응된다.

릴레이션 R의 인스턴스는 어느 한 시점에서 릴레이션 R에 포함되어 있는 튜블(tupler)의 집합을 말한다. 하나의 튜플은 R의 스킴에 정의된 각 어트리뷰트에[ 대응하는 값(V1, V2.........Vn)으로 구성된다. 여기에서 Vi(i=1,....n)는 어트리뷰트 Ai를 정의하고 있는 도메인 Di의 한 원소값이다.

릴레이션 스킴을 릴레이션 스키마 또는 릴레이션 내포(relation intension)라 하고, 릴레이션 인스턴스를 단순히 릴레이션 또는 릴레이션 외연(relation extension)이라고 한다.