저장을 습관화

객체 관계 데이터베이스 ORDBMS 본문

공부/데이터베이스

객체 관계 데이터베이스 ORDBMS

ctrs 2024. 1. 8. 16:52

원문 출처: https://rastalion.me/%EA%B0%9D%EC%B2%B4-%EA%B4%80%EA%B3%84-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-ordbms/

 

객체 관계 데이터베이스 ORDBMS - RastaLion IT Blog

  객체관계 데이터베이스 ORDBMS 객체 관계 데이터베이스(object-relational database; ORD, ORDB) 또는 객체 관계형 데이터베이스 관리 시스템(object-relational database management system; ORDBMS)은 객체지향 데이터베

rastalion.me

 

객체관계 데이터베이스 ORDBMS

객체 관계 데이터베이스(object-relational database; ORD, ORDB) 또는 객체 관게형 데이터베이스 관리 시스템(object-relational dataabase management system; ORDMBS)은 객체지향 데이터베이스 모델을 가진 관계형 데이터베이스 관리 시스템(RDBMS, 관계 데이터베이스)을 말합니다. 

 

소프트웨어 개발자가 스스로 데이터 형과 메서드(이 두 조합은 객체 지향에서 말하는 객체의 클래스에 해당)를 자유롭게 정의하여 데이터베이스를 개발할 수 있는 데이터베이스 관리 시스템(DBMS)입니다. 

 

쉽게 풀어 쓰면 ORDBMS는 오브젝트 지향 모델(OODBMS)과 관계형 모델(RDBMS) 사이의 하이브리드인 데이터베이스 관리 시스템입니다.

 

이 두 모델은 각각 장단점이 있습니다. DBMS는 두 모델을 결합하여 각 모델의 다양한 장점을 활용할 수 있습니다.

 

ORDBMS의 종류

  • PostgreSQL, PostgreSQL Global Deveopment Group에서 개발한 오픈 소스 ORDBMS
  • Oracle Corporation의 Oracle 데이터베이스
  • IBM의 Informix
  • Microsoft의 SQL Server
  • Pivotal Software의 Greenplum 데이터베이스

이 밖에도 unisql이나 다른 ORDBMS가 더 존재합니다.

이러한 시스템 중 일부는 단순 RDBMS로 분류 될 수도 있습니다.

ORDBMS 속서의 수는 이러한 시스템마다 다르지만 공급 업체는 모두 ORDBMS라고 주장합니다.

 

기존의 RDBMS에 외부 소프트웨어 도구를 추가하여 ORDBMS와 비슷한 기능을 제공하게 할 수도 있는데, 이러한 외부 소프트웨어 도구를 객체 관계 매핑 시스템이라고 부릅니다.

 

관계 모델을 기반으로 RDBMS 또는 SQL-DBMS는, SQL과 같은 데이터베이스 언어 표준에 의해 사전에 규정된 제한된 데이터 형식 집합에 속하는 데이터에 대해서는 효과적으로 처리할 수 있지만, 객체 지향의 사고방식을 채용한 ORDBMS에서는 소프트웨어 개발자가 스스로 데이터 형식과 방법을 자유롭게 정의하여 데이터베이스를 개발하여 DBMS에 통합시킬 수 있습니다.

 

ORDBMS 기술의 목표는 소프트웨어 개발자에게 문제 영역을 생각하는 수준까지 데이터베이스 설계의 추상화 수준을 높이는 것입니다.

 

ORDBMS

ORDBMS는 SQL3라는 확장된 형식의 SQL을 지원합니다.

ORDBMS가 ADT를 지원해야하기 때문에 확장이 필요합니다.

 

데이터가 행과 열이 있는 테이블 형식으로 저장되고 SQL이 쿼리 언어로 사용되며 쿼리 결과도 테이블 또는 튜플(Tuple/행, Row)이기 때문에 ORDBMS에는 관계형 모델이 있습니다.

  • 비디오의 정보를 DB에 담으려고 할 때
  • 먼저 비디오를 ADT*객체로 저장하고 수행하려는 특수 조작을 캡처하는 메소드를 작성할 수 있습니다.
  • 둘째, 목록과 같은 구조화 된 유형을 저장할 수 있기 때문에 비디오 정보와 함께 프로브의 위치 시퀀스를 단일 튜플(행, Row)에 저장할 수 있습니다.
  • 이 레이아웃을 사용하면 시퀀스 및 비디오 정보가 모두 포함된 쿼리에서 조인할 필요가 없습니다.

 

ADT* : Abstract Data Type, 추상자료형

구현하고자 하는 구조에 대해 구현 방법은 명시하지 않고 자료구조의 특성들과 어떤 Opreatoins들이 있는지를 설명하는 자료구조의 한가지 형태.

즉, 일종의 '규칙'들의 나열이라고 쉽게 이해할 수 있다. 

ADT의 가장 대표적 예로는 스택(Stack)과 큐(Queue)가 있다.

출처:https://ontheway.tistory.com/23#%E-%--%BC%C-%A-%--%ED%--%---Queue-%--%EC%-D%--%--%ED%-A%B-%EC%A-%--

 

끝으로

현재 RDB, ORDB를 구분하는 것 자체가 의미가 없는 것 같습니다.

태생이 RDB 제품들은 객체 지향 기능을 수용했고, 처음부터 ORDB로 포지셔닝 했던 제품의 사용자 분들도 대부분 RDB를 기반으로 설계 및 구현을 하고 있기 때문입니다.

'공부 > 데이터베이스' 카테고리의 다른 글

PosgreSQL과 MySQL의 비교: 주요 차이점  (0) 2024.01.08
RDBMS와 ORDBMS  (0) 2024.01.08
SQL - FULL JOIN, SELF JOIN  (0) 2023.12.09
SQL - LEFT JOIN, RIGHT JOIN  (0) 2023.12.09
SQL - INNER JOIN  (0) 2023.12.08