- 관계형 데이터 모델의 구조
관계형 데이터 모델은 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)이라고 한다.
'경주사랑컴퓨터학원' 카테고리의 다른 글
컴퓨터가 가정과 교육분야에서 어떻게 활용 될까요?-경주사랑 강의자료 (0) | 2023.06.20 |
---|---|
I-TOP 경진대회(IT on Productivity contest) 경주참가자 모집 (0) | 2023.06.19 |
QR코드 이야기 (0) | 2023.04.14 |
STK 국제공인자격증 포토샵취득과정 경주,포항,울산 국제공인자격시험장 (0) | 2023.01.16 |
프로그램의 개념-경주프로그램밍 언어기초배우기 (2) | 2023.01.03 |