связь между таблицами объектов

#sql #database #oracle #user-defined-types #ordbms

#sql #База данных #Oracle #определяемые пользователем типы #ordbms

Вопрос:

Я новичок в OODB. Я пытался решить эту задачу в течение нескольких дней. Просто не получается, может ли кто-нибудь помочь мне и написать небольшой пример для понимания?

Задача:

Создайте 3 таблицы объектов с вложенными объектами (объект в объекте).

  • Первая таблица объектов связана со второй таблицей объектов с использованием отношения 1: 1 (с использованием REF и DEREF).
  • Вторая таблица объектов связана с третьей таблицей объектов отношением 1: N (используется промежуточная таблица с ссылочной коллекцией REF).

Я хочу создать 3 таблицы объектов: РАБОЧИЕ, ДОЛЖНОСТИ, ЛИЧНЫЕ ДАННЫЕ

Связь:

РАБОЧИЕ 1: N ПОЗИЦИЯ

ПЕРСОНАЛЬНЫЕ ДАННЫЕ РАБОТНИКОВ 1: 1

 CREATE OR REPLACE TYPE T_POSITION AS OBJECT(
    TITLE   VARCHAR2(30),
    SALARY  FLOAT
);

CREATE OR REPLACE TYPE O_POSITION AS OBJECT(
    ID          INT,
    O_POSITION  T_POSITION
);

CREATE TABLE X_POSITIONS OF O_POSITION(
ID PRIMARY KEY)
OBJECT IDENTIFIER IS PRIMARY KEY;

CREATE TABLE T_REL(
    POSITION REF O_POSITION SCOPE IS X_POSITIONS
);


CREATE OR REPLACE TYPE T_WORKER AS OBJECT(
    NAME    VARCHAR2(30),
    SURNAME VARCHAR2(30)
);

CREATE OR REPLACE TYPE O_WORKER AS OBJECT(
    ID      INT,
    O_WORKER T_WORKER,
    POSITION_ID # Here is some ref i think
);
 

Комментарии:

1. Добро пожаловать в Stack Overflow. Тем не менее, вам нужно продемонстрировать, что вы сделали, чтобы выполнить то, что вы хотите сделать.

2. @KaiserKatze готово