Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Таблица с Foreign Key и other значение 
:(
    Опции темы
spruce
Дата 19.10.2011, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 11.11.2010
Где: Московская обл.

Репутация: нет
Всего: нет



Добрый день. 
Подскажите пожалуста по одному вопросу.

Суть следующая - 
Есть 3 таблицы - Оборудование, Модель, Производитель.

Оборудование (Equip)
----------------------
ID (PK) Not Null
ID_Model (FK) Not Null
Name Not Null
<any fields>

Модель (Model)
----------------------
ID (PK) Not Null
ID_Brand (FK) Not Null
Name Not Null
<any fields>

Производитель (Brand)
----------------------
ID (PK) Not Null
Name Not Null
<any fields>

Они связаны внешними ключами (FK).

Суть задачи следующая - когда пользователь хочет внести в таблицу с оборудованием новую запись, у него обязательно должен быть указан ID модели (ID_Model). 
Но может случиться такая ситуация, что необходимой модели в таблице моделей нет, и ему уже необходимо будет ввести просто текст - название модели. (А потом уже придет администратор и внесет нужную запись в таблицу моделей.)

Как организовать такую структуру? 
В оракле есть объектные типы, я так понимаю надо в этом направлении копать, или можно как-то иначе решить?

Спасибо

Это сообщение отредактировал(а) spruce - 19.10.2011, 11:31
PM MAIL   Вверх
LSD
Дата 19.10.2011, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Объекты тут не нужны. Нормально тут вряд ли что-то можно придумать. А так заведите отдельного производителя - [user_defined] и когда юзер захочет добавить новую модель, добавляйте запись в таблицу моделей и указываете ее бренд как [user_defined]. А затем придет админ и отредактирует все модели с [user_defined] брендом.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
spruce
Дата 19.10.2011, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 11.11.2010
Где: Московская обл.

Репутация: нет
Всего: нет



Да, спасибо, это все-таки самый оптимальный вариант.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0424 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.