![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Несколько полей для связи [D7, IB6.x]
Kirill © (2004-06-01 12:16:00)Есть табличка
<поле_1>
<поле_2>
<поле_3>
<поле_4>
<поле_5>,
есть два справочника
справочник_1
<поле_11>
<поле_12>
справочник_2
<поле_21>
<поле_22>
Справочник_1 связан с таблицей тремя полями:
поле_2, поле_3, поле_4 связаны с поле_11.
Естественно у меня ругается на это.
Как-нибудь по другому можно реализовать эти связи в Firebird 1.5?
Kirill (2004-06-02 10:13:00) [1]
> По твоей не шибко хорошей (мягко выражаясь 8-) структуре
> тебе надо не одну связь (ФК) а три, каждое полеN ссылается
> на поле11 справочника. Но это для тебя сейчас не главное
> - главное думай над структурой без заморочек типа "сейчас
> там...". Как подсказка - создай отдельную таблицу "работники-на-задание"
> (id_sotrudnik,id_zadan).
Понял. Спасибо за разъяснение. Буду изменять структуру БД.
Вопрос закрыт.
Соловьев (2004-06-02 09:55:00) [2]
> Максимум три. Может быть один... Другой вопрос, что нельзя
> создать справочник бригада, т.к. эти три человека всегда
> меняются в зависимости от задачи.
блин ну на фиг резервировать под не сущестувующих работников место?
при организации
id_zadan
fk_sotrudnik
data
и экономия места, и правильная логика. Обьясни в чем тут у тебя непонятка?
Sergey13 (2004-06-02 09:54:00) [3]2Izyum © (02.06.04 09:31) [12]
>ну вот, вырисовывается класическое многие-ко-многим:)
Оно там было изначально нарисовано, просто не разглядели. Сюрреализм, однако. 8-)
Izyum (2004-06-02 09:31:00) [4]ну вот, вырисовывается класическое многие-ко-многим:)
Sergey13 (2004-06-02 09:14:00) [5]2Kirill © (02.06.04 01:11) [10]
По твоей не шибко хорошей (мягко выражаясь 8-) структуре тебе надо не одну связь (ФК) а три, каждое полеN ссылается на поле11 справочника. Но это для тебя сейчас не главное - главное думай над структурой без заморочек типа "сейчас там...". Как подсказка - создай отдельную таблицу "работники-на-задание" (id_sotrudnik,id_zadan).
Kirill (2004-06-02 01:11:00) [6]
> Если хочешь именно так, - реализуй соответствующие триггеры.
Как? Что-то я не совсем понимаю сам принцип и механизм работы...
> при такой организации - количество сотрудников в бригаде
> не играет роль. Хоть 3, хоть 33, хоть 555
Максимум три. Может быть один... Другой вопрос, что нельзя создать справочник бригада, т.к. эти три человека всегда меняются в зависимости от задачи.
YurikGL (2004-06-01 18:39:00) [7]Kirill © (01.06.04 12:16)
Если хочешь именно так, - реализуй соответствующие триггеры.
Соловьев (2004-06-01 18:36:00) [8]
> id_zadan
> fk_sotrudnik
> data
при такой организации - количество сотрудников в бригаде не играет роль. Хоть 3, хоть 33, хоть 555
Kirill (2004-06-01 18:33:00) [9]
а если не 3 будет,а 4 или 5 ИМХО, структура не верна.
надо 3 поля:
id_zadan
fk_sotrudnik
data
Мне надо именно три, т.к. дам одновременно используются 3 человека (бригада).
bushmen (2004-06-01 16:09:00) [10]>Как-нибудь по другому можно реализовать эти связи в Firebird 1.5?
В принципе, структура построения базы данных везде одинаковая. Разные реализации.
Johnmen (2004-06-01 16:00:00) [11]>Естественно у меня ругается на это.
Видимо, матом ?
И в чём естественность ?
Соловьев (2004-06-01 15:53:00) [12]
> [3] Kirill © (01.06.04 15:47)
а если не 3 будет,а 4 или 5 ИМХО, структура не верна.
надо 3 поля:
id_zadan
fk_sotrudnik
data
Kirill (2004-06-01 15:47:00) [13]таблица
id_zadan
sotrudnik1
sotrudnik2
sotrudnik3
data
Где три сотрудника должны браться из одного справочника.
Соловьев (2004-06-01 12:27:00) [14]вообще-то называть поля надо более понятно и со смыслом...
Соловьев (2004-06-01 12:24:00) [15]
> поле_2, поле_3, поле_4 связаны с поле_11.
т.е.? как это?