Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Несколько полей для связи [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.

т.е.? как это?


Наверх

Титульная страница Поиск, карта сайта Написать письмо