![]() |
|
Модераторы: LSD |
![]()
|
|
| nextzi0 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.5.2008 Где: о. Корсика Репутация: нет Всего: нет |
У меня есть 3 таблицы
Категории: id - ключевое поле (код категории) descr - описание Подразделения: id - ключевое поле (код подразделения) name - название Виды работ: id - ключевое поле (код вида работ) idpod - код подразделения(й) (из таблицы Подразделения) name - название работ Смысл в чем - для каждой категории есть свои работы (таблица Виды работ), причем в поле idpod может быть несколько значений, тоесть там может находится одно или несколько id из таблицы Категории (определенные категории занимаются определенными видами работ) Знаю, что это не все, помоему нужны еще таблицы, чтобы довести это все до рабочего состояния, и помоему еще надо поменять одну или несколько из этих таблиц.. Кто нибудь поможет? --------------------
Не бойся начинать что-то новое, помни, что ковчег построили любители - профессионалы построили "Титаник" |
|||
|
||||
| ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: 5 Всего: 252 |
Да ну? А по таблицам этого не скажешь - связываются то они по ками полям?
Если это хочешь выводить в одну строку, то указывай тип СУБД, ибо реализация например в MySQL и в MS-SQL ьудет различна. А ты написал вопрос? Задача то в чем состоит??? |
|||
|
||||
| nextzi0 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.5.2008 Где: о. Корсика Репутация: нет Всего: нет |
Вот и я не знаю, как связать их, в этом и вопрос. База на MS SQL Server 2005.
В таблице Виды работ еще одно поле - idcat, по которому она связывается с таблицей Категории. Только мне кажется это неправильно --------------------
Не бойся начинать что-то новое, помни, что ковчег построили любители - профессионалы построили "Титаник" |
|||
|
||||
| ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: 5 Всего: 252 |
||||
|
||||
| nextzi0 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.5.2008 Где: о. Корсика Репутация: нет Всего: нет |
Основной вопрос в том, как потом данные извлекать из строки со столбца idpod, там же их несколько, и как их туда, через запятую, потом отделять?
--------------------
Не бойся начинать что-то новое, помни, что ковчег построили любители - профессионалы построили "Титаник" |
|||
|
||||
| FINANSIST |
|
|||
|
Статус: Жив ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 11.4.2008 Где: Москва Репутация: нет Всего: 23 |
Чего отделять, куда отделять, через какую запятую? Понятно что данные нужно извлечь, а вот какие поля и из каких таблиц тебе хочется в запросе видеть - вот это уже не понятно -------------------- “...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности” Эдуард Успенский, “Каникулы в Простоквашино” |
|||
|
||||
| nextzi0 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.5.2008 Где: о. Корсика Репутация: нет Всего: нет |
Попробую обьяснить еще раз, если никто не поймет, наверно лучше закрыть тему )
Все таблицы - пока на листочке, в базу ниче не писал, потому что до ума не довел... таблица WorkTypes: +==+=======+=====+======+======+======+======+=====+ | id | idsubunit |idcat + name | norma1 | norma2 | norma3 | remark| +==+=======+=====+======+======+======+======+=====+ + 1 31 имя1 0.1 0.3 0.4 - + + 2 31 имя2 0.4 0.5 0.2 - + + 3 31 имя3 0.2 0.8 1.0 - + +==================================================+ таблица SubUnits: +===+=========+ | id | description | +===+=========+ + 101 отдел1 + + 201 отдел2 + + 301 отдел3 + +=============+ таблица Categories: +===+=========+ | id | description | +===+=========+ + 31 описание1 + + 32 описание2 + + 33 описание3 + +=============+ С полем idcat в таблице WorkTypes все понятно - указывается для какой категории (таблица Categories) разрешен данный тип работ. В поле idsubunit должны указываются один или несколько отделов (id таблицы SubUnits). Этих таблиц достаточно? Как мне организовать запись/выборку в/из поля idsubunit? Там же (по моим соображениям) должны храниться одно или несколько значений, что то вроде такой структуры: WorkTypes: +==+=======+=====+======+======+======+======+=====+ | id | idsubunit |idcat + name | norma1 | norma2 | norma3 | remark| +==+=======+=====+======+======+======+======+=====+ + 1 101,201 31 имя1 0.1 0.3 0.4 - + + 2 201 31 имя2 0.4 0.5 0.2 - + + 3 201,301 32 имя3 0.2 0.8 1.0 - + +==================================================+ --------------------
Не бойся начинать что-то новое, помни, что ковчег построили любители - профессионалы построили "Титаник" |
|||
|
||||
| vladimir74 |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 28.11.2006 Репутация: нет Всего: 3 |
nextzi0,
если у тебя таблмцы WorkTypes и SubUnits имеют отношение N-M то надо создать еще одну таблицу
если же отношение 1-N То в таблицу с N-связями заносят id второй основной таблицы... Это из аксиом... Добавлено через 13 минут и 30 секунд это к тому - что в таблице WorkTypes нет смысла держать idsubunit т.к. это противоречит первой форме БД.
т.к. у тебя в обеих таблицах может находится N соединений со второй таблицей и наоборот, то создавай третью таблицу, и JOIN тебе в руки --------------------
* В доме помешанного не говорят о миксере.* На любой Ваш вопрос у меня есть любой мой ответ. |
||||
|
|||||
| nextzi0 |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.5.2008 Где: о. Корсика Репутация: нет Всего: нет |
Спасибо что понял меня, то что надо ;) --------------------
Не бойся начинать что-то новое, помни, что ковчег построили любители - профессионалы построили "Титаник" |
||||||
|
|||||||
![]()
|
| Правила форума "Общие вопросы по базам данных" | |
|
|
Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:
Данный форум не предназначен для:
Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение.
Полезные советы: Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | СУБД, общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |