💕IT 공부하기/데이터베이스

관계 데이터 모델 개념의 이해와 제약 조건

수리즘 2022. 8. 19. 09:00
반응형

01. 관계 데이터 모델을 아시나요?

관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나라고 합니다.

관계 데이터 모델은 1970년도에 처음 제안되었으며 이 모델에는 4가지 중요한 특징이 있습니다.

 

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

② 단순한 구조를 사용하여 사용자와 프로그래머 간의 의사소통을 원활하게 합니다.

③ 한 번에 다수의 레코드들의 집합을 조작할 수 있는 기능을 제공합니다.

④ 데이터베이스 관리 분야에서 튼튼한 이론적인 근거를 제공합니다.

 

다수 사용자용    ・오라클
   ・MS SQL Server
   ・DB2 (SQL/DS)
   ・INFORMIX
   ・SYBASE
개인용    ・MSFT/ACCESS
자바 기반    ・InstanceDB
   ・Simple Text

 

관계 데이터 모델이 이처럼 큰 성공을 거둔 이유는 바탕이 되는 데이터 구조로서 간단한 테이블(릴레이션)을

사용하고 중첩된 복잡한 구조가 없으며, 관계 데이터 모델 이전의 계층 데이터 모델, 네트워크 데이터 모델이

데이터를 레코드 위주로 처리했던 반면 집합 위주로 데이터를 처리하고, 고급 언어인 SQL을 제공하며

익숙하지 않던 사용자도 쉽게 이해할 수 있으며, 트랜잭션 관리 기능을 제공하였기 때문입니다.

표준 데이터베이스 응용에 대해 좋은 성능을 보이고, 다른 데이터 모델에 비해 이론이 잘 정립되어 있어

데이터베이스 설계와 효율적인 질의 처리 면에서 뛰어납니다.

 

02. 관계 데이터 모델의 개념에 대하여

관계 데이터 모델은 동일한 구조(릴레이션)의 관점에서 모든 데이터를 논리적으로 나타내며 선언적인 질의어를 통한

데이터 접근을 제공합니다. 응용 프로그램들은 데이터베이스 내의 레코드들의 어떠한 순서와도 무관하게 쓰입니다.

 

관계 데이터 모델의 목적은 높은 데이터 독립성을 제공하는 것입니다. 데이터베이스와 사용자의 상호 작용은

데이터의 내부 단계, 레코드들의 순서와 접근 경로의 변경에 영향을 받지 않습니다. 또한 관계 모델에서는

질의를 작성하기가 쉽습니다.

 

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

따라서 관계 DBMS는 사용자를 대신해서 보다 많은 일을 수행합니다.

 

① 기본적인 용어

관계 데이터 모델의 가장 큰 장점은 단순한 구조입니다. 

・릴레이션(relation) : 2차원의 테이블

・애트리뷰트(attribute) : 릴레이션에서 이름을 가진 하나의 열

 

릴레이션의 예

②도메인

도메인(domain)은 한 애트리뷰트에 나타날 수 있는 값들의 집합을 말합니다.

각 애트리뷰트의 도메인의 값들은 원자값입니다. 도메인은 프로그래밍 언어의 데이터 타입과 유사하며

동일한 도메인이 여러 애트리뷰트에서 사용될 수 있으며, 관계 데이터 모델에서는 복합 애트리뷰트나

다치 애트리뷰트는 허용되지 않는다고 합니다.

 

오라클을 포함하여 많은 상용 관계 DBMS들이 도메인을 명시하는 기능을 제공하고 있지 않습니다.

도메인을 지원한다면 아래와 같이 작성할 수 있습니다.

 

・ CREATE DOMAIN EMPNAME CHAR (10)

・ CREATE DOMAIN EMPNO INTEGER

・ CREATE DOMAIN DNO INTEGER

 

EMPNO와 DNO는 둘 다 정수형이지만 서로 의미가 다른 도메인입니다.

하지만 몇 가지 작업을 수행하기 위해서는 서로 다른 도메인을 명시하는 것이 정말 중요합니다.

 

・ 릴레이션들의 합집합, 교집합, 차집합 등은 무의미한 작업이므로 제한하기 위해서입니다.

・ 사용자가 의미 없는 작업을 하지 않도록 제한하기 위해서입니다.

 

③차수(degree)와 카디날리티(cardinality)

차수는 한 릴레이션에 들어 있는 애트리뷰트들의 수를 가리킵니다. 

모든 릴레이션은 적어도 한 개의 애트리뷰트를 가져야 하며 최소 차수는 1입니다.

릴레이션의 투플 수를 카디날리티라고 부르며,

유효한 릴레이션은 카디날리티 0을 가질 수 있으므로 투플을 하나도 갖지 않은 릴레이션이 가능합니다.

공식적인 용어 자주 사용되는 용어 파일 시스템의 용어
릴레이션 테이블 파일
투플 행/레코드 레코드
애트리뷰트 필드

 

④널(null) 값

릴레이션에 투플을 새로 작성할 시점에 그 투플의 모든 애트리뷰트들의 값이 알려지지 않을 수 있기 때문에

'알려지지 않은 값', '적용할 수 없음'을 나타내기 위해 널값을 이용합니다.

이때 널값은 숫자 도메인의 0이나 문자열 도메인의 공백 문자 또는 공백 문자열과는 다릅니다.

따라서 DBMS들마다 널값을 나타내기 위해 서로 다른 기호를 사용합니다.

 

03. 스키마와 인스턴스

릴레이션의 이름과 릴레이션의 애트리뷰트들의 집합을 릴레이션 스키마(relation schema)라고 합니다.

이때 스키마는 릴레이션을 위한 틀(framework)의 개념입니다.

 

릴레이션 이름(애트리뷰트 1, 애트리뷰트 2,..., 애트리뷰트 N)

 

릴레이션 이름 다음에 릴레이션이 포함하는 애트리뷰트들의 이름을 열거하며, 기본 키 애트리뷰트에는 밑줄 표시를 합니다.

 

릴레이션 인스턴스(relation instance)는 릴레이션에 어느 시점에 들어 있는 투플들의 집합입니다.

릴레이션 인스턴스는 정적이지 않으며 시간의 흐름에 따라 계속 변합니다.

 

릴레이션 스키마를 내포(intension)라고 하며 릴레이션 인스턴스를 외연(extension)이라고 합니다.

관계 데이터베이스(relational database) 스키마는 하나 이상의 릴레이션 스키마들로 이루어집니다.

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

 

실세계에서 존재할 수 없는 인스턴스들이 관계 데이터베이스에 저장되는 것이 가능하므로

적절한 의미적 조건을 사용하여 이런 인스턴스들을 제한해야 합니다.

이것을 무결성 제약조건(integrity constraint)라고 합니다.

 

 

[IT 공부하기/데이터베이스] - 릴레이션의 특성과 키에 대하여 알아보자

 

릴레이션의 특성과 키에 대하여 알아보자

01. 릴레이션의 특성 릴레이션의 각 투플은 하나의 주장으로 볼 수 있다고 합니다. 위 표를 보면 EMPLOYEE 릴레이션에서 사원번호가 3022인 사원은 이수빈이고, 직급이 과장이며, 3번 부서이고 급여

soonirism.tistory.com

 

 

 

 

반응형