database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
ㆍCUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
CUBRID Columns 18 게시물 읽기
No. 18
관계형 + 객체지향형 = ? (1)객체형 (2)관계형 (3)의미형 (4)연역형
작성자
정병주(unisql)
작성일
2003-03-03 22:14
조회수
5,760

조금 오래된(2000년) 글이지요... KAIST 문송천 교수님이 쓰신 글입니다.

 

위의 넷 중에서는 어느것이 정답일까? 빌 게이츠는 최근 마이크로소프트사의 데이터베이스 엔진인 SQL Server를 관계형에서 객체관계형으로 앞으로 2년 내에 탈바꿈하겠다고 선언했다. 위의 네 가지 보기 이외에 '객체관계형'이 새로 추가된다면 이것이 과연 답이 되겠는가? 지금은 '인터넷시대'다 혹은 'eBiz시대'다라는 식으로 묘사하고 있으나 이런 호칭들은 일반인들 사이에서나 새로운 용어로 받아들여질 뿐 전산인들에겐 너무나 진부한 이야기임에 틀림없다. 전산인에게는 지금은 '객체시대다'라고 해야 맞을 것이다. 그러면 객체란 과연 무엇을 지칭하는가? 다름아닌 데이터이다. 프로그램이 아니고 바로 데이터란 의미이다. 전산화의 두 가지 산출물은 뭐니뭐니해도 프로그램과 데이터이겠으나 이 중 첫째가 데이터요, 둘째가 프로그램이라는 입장이 데이터 중심적 견해이다. 프로그램 중심적이라면 첫째와 둘째의 위치가 당연히 바뀌어야 할 것이나 이런 자세는 과거에는 통용되어 왔지 이제는 더 이상 용납하지 않겠다는 자세가 데이터 중심 노선이다. 객체가 데이터를 지칭하므로 데이터 중심방식이란 결국 객체 중심, 즉 객체지향 방식으로 귀결된다.

 

되새겨본다면 그만큼 데이터가 무엇보다도 우선적으로 중요시되는 분위기가 요즘 형성되어가고 있다는 뜻이다. 과거의 '구조적 프로그래밍' 방식하에서는 프로그램이라는 엔티티와 데이터라는 엔티티가 따로 놀았지만, 요즘의 객체지향 프로그래밍 방식에 따르면 프로그램과 데이터는 일종의 융합 상태에 처한다. 그런데 이러한 fusion 과정에서도 데이터가 큰 울타리이고 프로그램은 울타리 내로 들락날락거리는 출입구에 해당하는 역할로 분담된다는 뜻이다. 다시 말하면 데이터가 프로그램을 내장하는 주체가 되어서 프로그램은 데이터에 종속되는 부속적 존재로 격하되는 꼴이다. 과거에는 프로그램이 상전 노릇을 하고 데이터는 오라면 오고 가라면 가는 충실한 종 노릇을 했지만 이제는 상하구도면에서 완전히 거꾸로 바뀌었다는 말이다. 데이터가 프로그램을 필요에 따라 소유하는 개념이 다름아닌 데이터 위주 사상, 즉 객체 위주 사고 방식이다. 이러한 본질을 깨닫지 못하고 객체지향 방법론을 논하는 것은 큰 문제이다. 프로그램도 객체이고 데이터도 객체이고 더 나아가서 무릇 세상 모든 것이 다 객체라고 설명하는 자세 역시 여러 듣는 이들을 현혹케 하는 잘못된 해설이다. 객체지향 개념에서는 무엇보다도 inheritance가 중요하고 polymorphism도 중요하다고 역설하는 자세도 역시 초심자에게 빙산의 일각만 열심히 강조하는 꼴이다. 본질을 깨닫지 못하고 겉도는 이야기만 잔뜩 늘어놓는다면 얼마나 황당한 일이겠는가.

 

위의 자못 도발적인 형태의 제목에서 정답은 1번이다. 관계형이라는 것 자체가 객체지향형에 대해서 부분집합적 존재이기 때문에 '관계형 + 객체지향형'은 그냥 객체지향형(객체형)으로 단순화가 가능해지기 때문이다. 돌이켜보면 관계형 자료 모형에 기반한 세계에서는 프로그램과 데이터가 여전히 따로 노는 형태를 벗어나지 못한다는 한계상황에 직면하게 되고야 만다는 지적이다. 객체관계형 데이터베이스 엔진으로 만들고 말겠다는 발상은 이미 Informix사의 마이클 스톤브레이커에 의해 2년 전에 구현된 바 있다. 객체관계형은 관계형에서 객체지향형으로 가는 길목에서 과도기적 모습이라고 봐야 맞을 듯 하다. 관계형의 한계를 초월해보고자 하는 시도가 1980년대에 많이 있었다. 의미 모형과 연역 모형도 이에 해당한다. 객체지향 모형 역시 해당된다. 결국 객체관계형으로 현재는 수렴되는 편이다. 이제는 모든 소프트웨어의 인터넷화와 더불어 객체지향화 추세가 뚜렷해지고 있다. Java 언어 활용 붐도 이와 같은 맥락임은 두말할 나위가 없다.

 

<소스 : http://www.sds-epartner.com>

[Top]
No.
제목
작성자
작성일
조회
34객체란 무엇인가? `등록여부`도 객체일까?
정병주
2003-03-10
6755
33지금은 데이터시대
정병주
2003-03-10
5792
30컴퓨터월드 UniSQL 6.0 제품 리뷰
정병주
2003-03-07
5734
18관계형 + 객체지향형 = ? (1)객체형 (2)관계형 (3)의미형 (4)연역형
정병주
2003-03-03
5760
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.051초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다