Oracle ограничения для вложенных таблиц - PullRequest
2 голосов
/ 02 марта 2020

как добавить ограничения CHECK во вложенную таблицу в oracle?

Типы объектов:

Depend_t (depname: varchar2(12), gender: char(1), bdate: date, relationship:varchar2(10))

Dependtb_t таблица Depend_t

Emp_t (eno: number(4), ename: varchar2(15), edept: ref dept_t, salary: number(8,2),

зависимые лица: depentb_t)

Dept_t (dno: number(2), dname: varchar2(12), mgr ref emp_t)
Proj_t (pno: number(4), pname: varchar2(15), pdept ref dept_t, budget: number(10,2))
Work_t (wemp: ref emp_t, wproj: ref proj_t, since: date, hours: number(4,2))

Таблицы:

Emp of Emp_t (eno primary key, edept references dept, nested table dependents store as dependent_tb)

Dept of Dept_t (dno primary key, mgr references emp)
Proj of Proj_t (pno primary key, pdept references dept)
Works of Works_t (wemp references emp, wproj references proj)

Таблицы Emp, Dept, и Proj содержат кортежи для всех сотрудников, отделов и проектов соответственно. Атрибутами Emp являются employee number (eno), name (ename), employee’s department (edept), salary и набор зависимостей, хранящихся в виде вложенной таблицы. Атрибут отношения может иметь только ‘SPOUSE’ или ‘CHILD’ в качестве значений, пол может быть ‘M’ или ‘F’, а bdate записывает дату рождения зависимого.

здесь, как можно добавить 'M' или 'F' ограничение во вложенной таблице?

1 Ответ

1 голос
/ 02 марта 2020

С Oracle 12 C SQL Ссылка :

Ограничения на проверку ограничений

Проверка ограничений при условии соблюдения следующих ограничений:

...

  • Условия проверочных ограничений не могут содержать следующие конструкции:

    ...

    • Столбцы или атрибуты вложенной таблицы ...

Это одна из многих причин, по которой вложенные таблицы используются почти никогда в реальных базах данных, только в курсах, которые изучают все функции Oracle!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...