2021. 4. 19. 21:32ㆍ코 딩 공 부/O R A C L E
관계형 데이터 모델(relational data model)
개요
● 데이터 모델이란?
- 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화하여 체계적으로 표현한 개념적 모형
- 현실 세계를 데이터베이스에 표현하는 중간 과정, 즉 데이터베이스 설계 과정에서 데이터의 구조를 표현학 위해 사용되는 도구임
- 데이터의 구조(Schema)를 논리적으로 묘사하기 위해 사용되는 지능적 도구
● 관계형 데이터 모델이란?
- 테이블(Table)을 이용해서 데이터 상호관계를 정의하는 DB 구조
- 데이터간의 관계를 기본키(primary key)와 이를 참조하는 외래키(foreign key)로 표현함
- 대표적인 관계형 데이터베이스 : Oracle, MS-SQL, Informix 등
- 1:1, 1:N, M:N 관계를 자유롭게 표현 할 수 있음
- 장점 : 간결하고 보기 편하고 다른 데이터베이스로의 변환이 용이함
- 단점 : 성능이 다소 떨어짐
● 관계형 데이터베이스의 특징
- 1970년 IBM에 근무하는 E.F.Codd(에드거 프랭크 커드)에 의해 처음 제안되었음
- 객체(Entity)나 관계(Relationship)를 모두 릴레이션(Relation)이라는 테이블(Table)로 표현함
- 릴레이션은 객체를 표현하는 객체 릴레이션, 관계를 나타내는 관계 릴레이션으로 구분할 수 있음
- 구성이 간결하고 데이터베이스의 변환이 용이하나 성능이 저하되는 단점이 있다.
릴레이션(Relation)
● 관계형 데이터베이스의 기본적인 구조
● 릴레이션 용어
- 릴레이션(Relation)
· 릴레이션 = 릴레이션 스키마 + 릴레이션 인스턴스 (즉, 전체의 표를 지칭한다) ≒ 테이블
· 릴레이션은 모두 테이블이지만 모든 테이블이 다 릴레이션은 아니다.
- 릴레이션 스키마(relation scheme)
· 릴레이션 스키마 = 릴레이션 이름 + 애트리뷰트 이름
- 릴레이션 인스턴스(relation instance)
· 어느 한 시점에 릴레이션 R 이 포함하고 있는 튜플들의 집합
- 튜플(Tuple, 레코드, 행)
· 릴레이션을 구성하는 각각의 행(파일 구조에서 레코드와 같은 의미)
· 속성의 모임으로 구성됨
· 튜플의 수를 카디널리티(Cardinality) 또는 기수라 한다.
● 릴레이션 용어
- 애트리뷰트(Attribute, 속성, 컬럼)
· 데이터베이스를 구성하는 가장 작은 논리 단위
· 파일 구조상의 데이터 항목 또는 데이터 필드에 해당
· 객체(Entity)의 특성을 기술한다.
· 속성의 이름은 모두 달라야 한다.
· 속성의 수를 디그리(Degree) 또는 차수라 한다.
- 도메인(Domain)
· 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자값(atomic, 더이상 분리되지 않는 값)들의 집합이다.
● 릴레이션 특징
- 릴레이션에 포함된 튜플들은 모두 다르다.
- 릴레이션에 포함된 튜플 사이에는 순서가 없다
- 튜플들의 삽입, 삭제 등의 작업으로 인해 릴레이션은 시간에 따라 변한다.
- 릴레이션 스키마를 구성하는 애트리뷰트들 간의 순서는 중요하지 않다.
- 애트리뷰트의 유일한 식별을 위해 애트리뷰트의 명칭은 유일해야 하지만, 애트리뷰트를 구성하는 값은 동일한 값이 나올 수 있다.
- 릴레이션을 구성하는 튜플을 유일하게 식별하기 위해 애트리뷰트들의 부분집합을 키로 설정한다.
- 테이블의 컬럼은 단일 값을 포함한다.
- 애트리뷰트는 더 이상 쪼갤 수 없는 원자 값만을 저장한다.
키(key)의 개념 및 종류
● 키의 개념
데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 애트리뷰트
● 키의 종류
- 후보키(Candidate Key)
· 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합. 즉, 기본키로 사용할 수 있는 속성들을 말함
· 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야함
- 기본키(Primary Key)
· 후보키 중에서 선택한 주 키(Main Key)
· 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성
· Null 값을 가질 수 없음
· 기본키로 정의된 속성에는 동일한 값이 중복되어 저장될 수 없음
- 대체키(Alternate Key)
후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키들을 말함. 보조키라고도 함
- 슈퍼키(Super Key)
· 릴레이션에서 같은 튜플이 발생하지 않는 키를 구성할 때, 속성의 집합으로 구성하는 것을 말함
· 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족시키지만, 최소성은 만족시키지 못함
- 외래키(Foreign Key)
· 관계(Relationship)를 맺고 있는 릴레이션 R1, R2에서 릴레이션 R1이 참조하고 있는 릴레이션 R2의 기본키와 같은 R1 릴레이션의 속성
· 외래키로 지정되면 참조테이블의 참조 컬럼(기본키 등)에 없는 값은 입력할 수 없음ㅁ
● 널(NULL)
데이터베이스에서 아직 알려지지 않거나 모르는 값으로서 "해당없음" 등의 이유로 정보 부재를 나타내기 위해 사용하는 이론적으로 아무것도 없는 특수한 데이터
객체 관계형 DBMS(ORDBMS, Object-Relational DBMS)
객체 지향형 데이터베이스 관리 시스템(OODBMS)
● 개요
- 객체 지향형 데이터베이스 관리 시스템(object-oriented database management system)은 객체로서의 데이터 생성 및 모델링을 지원하는 DBMS이다.
- OODBMS는 또한 객체 클래스와 클래스 속성의 상속을 지원하고 메소드, 서브 클래스 및 객체를 통합한다.
- 대부분의 객체 데이터베이스는 일종의 쿼리 언어를 제공하여 선언적 프로그래밍 방식을 통해 객체를 찾을 수 있도록 한다.
객체 관계 데이터베이스(ORDBMS)
● 개요
- 객체 관계 데이터베이스(object-relational database : ORD, ORDB) 또는 객체 관계형 데이터베이스 관리 시스템(object-relational database management system : ORDBMS)은 객체지향 데이터베이스 모델을 가진 관계형 데이터베이스 관리 시스템(RDBMS, 관계데이터베이스)을 말한다.
- ORDBMS가 구현된 것은 오라클 데이터베이스, IBM DB2, MS SQL SERVER, 티베로, Illustra, Informix Dynamic Server, PostgreSQL 등이 있다.
● 특징
- Data type과 Object를 사용자가 정의할 수 있다.
- 참조 타입 지원
하나의 객체 레코드가 다른 객체 레코드를 참조(reference)함으로써 참조 구조를 이용한 내비게이션 기반 접근 가능
- 중첩된 테이블
테이블 안의 하나의 컬럼이 또 다른 테이블로 구성됨으로써 복합 구조의 모델링이 가능해짐
-관계형 DB 기능 모두 포함, 멀티미디어와 대형 Object 지원
이미지, 오디오, 비디오 등의 대단위 비정형 데이터를 위한 LOB(Large Object)를 기본형으로 지원함
- 테이블간 상속관계
테이블 간의 상속 관계를 지정함으로써 객체지향의 장점 수용
'코 딩 공 부 > O R A C L E' 카테고리의 다른 글
ORACLE - 데이터베이스 (0) | 2021.04.19 |
---|