ORDBMS에는 어떤게 있나요?

이한길의 이미지

일단 오라클이 ORDBMS를 지원한다는 것은 들어서..
알고 있습니다. 그런데 10g를 설치하려니까 컴퓨터가 무척이나
버겁더군요..

그래서 9i를 설치하려고 합니다... 그런데 웬지 여기서는..
ORDB가 지원이 안될것 같다는 생각이 듭니다

저는 사실 ORDB를 경험해보고 싶어서 오라클을 깔려고 하는건데
9i에서 그게 안되면 조금 의미가 없거든요..

그래서 ORDBMS에는 오라클 최신버전 외에 어느게 있는지..
여쭙니다.. 아시는 분 .. 부탁드립니다.

ps..
자유게시판에다 쓸려다가..
설치 및 활용에 쓴 이유는.. 질문이고..
"활용"에 들어갈꺼란 생각에.. 글 잘못 올려서 관리자분이..
옮기시게 하면 미얀해서 여기다 씁니다..
아무래도 여기가 맞겠죠?

정태영의 이미지

postgreSQL - http://postgresql.org

interbase 를 오픈소스측에서 구현한 firebird 란 녀석도 있는데 이건 ORDBMS 는 아닌가 보네요

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

hanbyeol의 이미지

대표적으로 Unisql 이 있습니다.

http://www.unisql.com/ 참조하세요.

cronex의 이미지

unisql은 ordbms라서 그런지 orz스럽습니다. -_-;;

맨처음 db를 unisql로 배워서 다른 db쓰는데 꽤나 고생했던 기억이 -_-;;

------------------------------------------------------------
이 멍청이~! 나한테 이길 수 있다고 생각했었냐~?
광란의 귀공자 데코스 와이즈멜 님이라구~!

익명 사용자의 이미지

ordbms중에 잘된건 후지쯔인가에서 만든게 있었는데요... unisql은...... 김원박사님께서 삽질해놓으신게 살짝 있어서..

이한길의 이미지

정태영 wrote:
postgreSQL - http://postgresql.org

interbase 를 오픈소스측에서 구현한 firebird 란 녀석도 있는데 이건 ORDBMS 는 아닌가 보네요

한번 해봐야겠네요..
웬지 postgresql은 독특한 느낌이 들어서..
아직까지 보질 않고 있었네요..

cronex wrote:
unisql은 ordbms라서 그런지 orz스럽습니다. -_-;;

맨처음 db를 unisql로 배워서 다른 db쓰는데 꽤나 고생했던 기억이 -_-;;

실무에서는 ordb를 별루 안쓰는거 같더니..
사실인가보군요..

----
먼저 알게 된 것을 알려주는 것은 즐거운 일이다!
http://hangulee.springnote.com
http://hangulee.egloos.com

whitekid의 이미지

정태영 wrote:
postgreSQL - http://postgresql.org

PostgreSQL의 ORDBMS 지원은 완전히지 않습니다.

What do you want to eat?

소타의 이미지

http://www.service-architecture.com/products/object-relational_databases.html

에 보면 목록이 나와있네요.

PostgreSQL이 ORDBMS로서 어떤게 부족한지 잘 모르겠네요.. 제가 볼 때는 충분히 뛰어난데 말이죠..

송효진의 이미지

http://www.postgresql.org/docs/8.0/interactive/index.html
쓰면서도 모르고 있었네요. :oops:

저 매뉴얼 어디쯤 보면 OR 스럽게 :?: 쓸 수 있을까요?

정태영의 이미지

송효진 wrote:
http://www.postgresql.org/docs/8.0/interactive/index.html
쓰면서도 모르고 있었네요. :oops:

저 매뉴얼 어디쯤 보면 OR 스럽게 :?: 쓸 수 있을까요?

http://www.postgresql.org/docs/8.0/interactive/sql-createtype.html
이런걸... 자유롭게 사용할 수 있게 되면 :)

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

송효진의 이미지

OR 은 OO 랑은 좀 다른 개념인건가요?

PG--HUMAN--HEAD
..|......|-BODY
..|......|-FOOT
..|-DOG--HEAD
.......|-BODY
.......|-FOOT

이런식으로 구성되는게 아닌가봐요.

Object 끼리의 연관을 지어줄 수 있기는 한데,
Tree 가 만들어지는건 아닌가보네요.

ORDBMS OODBMS 하면 트리구조가 떠오르더라고요. :oops:

이한길의 이미지

송효진 wrote:
OR 은 OO 랑은 좀 다른 개념인건가요?

PG--HUMAN--HEAD
..|......|-BODY
..|......|-FOOT
..|-DOG--HEAD
.......|-BODY
.......|-FOOT

이런식으로 구성되는게 아닌가봐요.

Object 끼리의 연관을 지어줄 수 있기는 한데,
Tree 가 만들어지는건 아닌가보네요.

ORDBMS OODBMS 하면 트리구조가 떠오르더라고요. :oops:

DB초보라 잘 모르겠습니다만..
제가 배우고 이해한 바에 의하면...

OODB가 두 방향으로 흘러갔는데...
한가지는 OODB를 그대로 프로그래밍 랭귀지에 구현(?)한 것으로
이를테면 객체지향 프로그래밍을 하면서 클래스의 선언에
어떤 명시를 해주면 그것의 변수가 디스크와 동기화가 되어서..
사용한 변수가 그대로 디스크에 남아 있게 하여..
어떻게 어떻게 하는 거구요.. :oops:

또 다른 하나는 RDB에 OO개념을 플러스 해서..
RDB를 확장해나가는 식으로 기존의 RDB와 유사하지만..
도메인이 SET이나 Array를 사용할 수 있게 되고..
또한 정의한 타잎도 사용할 수 있도록 한 것이라고..
알고 있습니다..

-----
근데..

postgresql의.. 아래 둘의 차이는 뭔가요?

CREATE TYPE name AS
CREATE TYPE name

위의 것은 attribute를 갖고 아래의 것은 function을 갖나요?
그런거 같은데.. 그렇다면 같이 갖을 수는 없는건가요?
뭔가 쪼금... 제가배운 ORDBMS와 다른듯 해서요..

----
먼저 알게 된 것을 알려주는 것은 즐거운 일이다!
http://hangulee.springnote.com
http://hangulee.egloos.com

소타의 이미지

postgresql은 하나의 데이터 타입, 하나의 row, 하나의 테이블, 하나의 뷰, 하나의 row의 한 컬럽의 데이터가 모두 객체로 취급됩니다.
relation(테이블) - row - column - data(정의된 타입 상속, array, composite 등)
테이블도 상속 받을 수 있고.. array타입(다차원 배열 가능)의 경우가 그 예가 될 수 있습니다. anyarray라는 큰 객체가 있고 이것이 틀이 되어 모든 데이터 타입이 배열타입이 되죠. 물론 anyarray의 요소로 anyarray도 가능하구요. 그래서 int[], text[][], varchar(100)[][][] 같은 다차원배열도 가능합니다. (null은 타입이 없어서 null배열은 아직..)
그리고 datatype과 비슷한것이 composite(8.0에 등장) 타입이 있는데 이것은 한 컬럼이 row를 상속받을 수 있게 합니다. row를 한개의 컬럼에 넣을 수 있게 되는데 이것 역시 전체 데이터 구조가 객체화 되고 그것들의 연관관계가 내부에 저장되는 형식이기 때문에 가능한 것 입니다.

LispM의 이미지

ORDB는 RDB의 table을 oo programming language의 object에 맵핑하는 것을 말합니다.

즉, oopl에서 추상층을 둠으로써 rdb의 존재를 최소화하는 인터페이스를 두어 프로그래머는 상위레벨 인터페이스를 통해 object 위주로 프로그래밍 하면 하위 층에서 rdb의 테이블과 맵핑해 주는 것이죠.

제 경험으로는 일반적인 rdb에 대해 그런 층을 만들어 줄 수 있으며, PostgreSQL의 경우 ordb를 표방하면서 table의 상속이 가능하기 때문에 상대적으로 더 쉽게 그런 층을 만들 수 있습니다. (제가 이해하는 PostgreSQL의 ordb는 바로 이런 테이블간의 상속, 타입 간 상속 등인데 아직 완전치 못합니다)

그런 층은 대개의 경우 object 캐시를 포함하면서 여러가지 유용한 오퍼레이션을 지원합니다. 예를들어
* object id로 객체 선택
* object의 attribute로 객체 선택
* object를 persistent store(rdb 겠죠)로 부터 제거
* object를 persistent store에 저장
...

제가 일전에 마소에 persistent object layer 구현을 기고한 적이 있는데, 그런 층이 있어야 ordb로 유용하게 사용할 수 있을 겁니다.

http://lisp.or.kr http://lisp.kldp.org - 한국 리습 사용자 모임

송효진의 이미지

소타 wrote:
그리고 datatype과 비슷한것이 composite(8.0에 등장) 타입이 있는데 이것은 한 컬럼이 row를 상속받을 수 있게 합니다. row를 한개의 컬럼에 넣을 수 있게 되는데 이것 역시 전체 데이터 구조가 객체화 되고 그것들의 연관관계가 내부에 저장되는 형식이기 때문에 가능한 것 입니다.

제가 생각했던것이 여기서 구현되는거군요.

그럼 이제...
이걸로 뭘 구현할지를 생각해야 겠습니다. :oops: :oops:

소타의 이미지

배열컬럼을 쓰면 좋은게 테이블 2개를 하나로 줄일 수 있더라구요 1:n관계라서 꼭 분리해야 하는 경우 배열컬럼 하나로 뚝딱 -.-
8.0에 오면서는 composite 타입으로 훨씬 줄일 수 있는;;;

nonun=# CREATE TYPE complex AS (
nonun(#     r       double precision,
nonun(#     i       double precision
nonun(# );
CREATE TYPE
nonun=#
nonun=# CREATE TYPE inventory_item AS (
nonun(#     name            text,
nonun(#     supplier_id     integer,
nonun(#     price           numeric,
nonun(#     comp            complex
nonun(# );
CREATE TYPE
nonun=# CREATE TABLE on_hand (
nonun(# item      inventory_item,
nonun(# count     integer
nonun(# );
CREATE TABLE
nonun=# INSERT INTO on_hand VALUES (ROW('text', 1, 1.988, ROW(3.888, 2.001)), 1);
INSERT 635113 1
nonun=# SELECT * from on_hand ;
              item              | count
--------------------------------+-------
 (text,1,1.988,"(3.888,2.001)") |     1
(1건 있음)
nonun=# SELECT ((item).comp).i from on_hand ;
   i
-------
 2.001
(1건 있음)

테이블의 한 필드에 ROW를 넣을 수 있는데 그 ROW가 다른 ROW를 가질 수도 있고 계속 아래로 내려갈 수 있는.. ->->-> 이런식으로요..

비현실적으로 생각하면 테이블 하나로 모든걸 끝낼수 있을지도;; 인덱스가 안걸리는 문제만 제외하면요 -_-;

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.