|
Подскажите как правильно реорганизовать бд
|
|||
---|---|---|---|
#18+
Привет! Видимо неправильно организовал бд и теперь мучаюсь, но не знаю как сделать это по-другому, или правильнее, что-ли. Итак, есть некая бд с документами, назовем ее Docs, в ней есть поля --------------------------- DocID - идентификатор Doc - документ ... ChkdBy - кем проверено Sign1By - кем подписано 1 Sign2By - кем подписано 2 --------------------------- Проблема в том, что в 3 последних поля вставляются ID работников, которые все числятся в одной бд Workers: --------------------------- WorkerID Name Surname ShortName ... --------------------------- Теперь возникает проблема, когда нужно сделать выборку из бд Docs так, чтобы в последних трех полях были фамилии тех работников, чьи ID там стоят. И по ходу получается, что необходимо делать 3 выборки подряд, всякий раз делая JOIN Workers ON на другое поле, типа 1. SELECT ... Workers.Name as ChkdByFIO ... JOIN Workers ON Workers.WorkerID = Docs.ChkdBy 2. SELECT ... Workers.Name as Sign1ByFIO ... JOIN Workers ON Workers.WorkerID = Docs.Sign1By 3. SELECT ... Workers.Name as Sign2ByFIO ... JOIN Workers ON Workers.WorkerID = Docs.Sign2By Проблему отчасти можно решить с помощью UNION, но мне интересно как можно, вернее даже нужно, реорганизовать бд чтобы решить эту проблему, ну, тоесть, какбы правильнее организовать бд. Если вообще другой подход тут применим. Конкретно надо решить вопрос как хранить ID тех работников, которые ChkdBy, Sign1By, Sign2By и тп, чтобы без проблем "доставать" фио их всех. спасибо заранее вфп9 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2009, 10:28 |
|
Подскажите как правильно реорганизовать бд
|
|||
---|---|---|---|
#18+
CTAC-KO, Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2009, 10:44 |
|
Подскажите как правильно реорганизовать бд
|
|||
---|---|---|---|
#18+
Во как! Не знал, не знал... пасибки! т.е. по ходу можно не реорганизовывать свои бд... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2009, 11:30 |
|
Подскажите как правильно реорганизовать бд
|
|||
---|---|---|---|
#18+
CTAC-KOт.е. по ходу можно не реорганизовывать свои бд...Лучше в данном случае замените термин БД на термин таблица, а базой называйте совокупность таблиц и Вас будут лучше понимать. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2009, 11:32 |
|
Подскажите как правильно реорганизовать бд
|
|||
---|---|---|---|
#18+
CTAC-KO...т.е. по ходу можно не реорганизовывать свои бд... Структура у Вас правильная за исключением того, что когда уволят этих работников - возникнут проблемы... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2009, 12:43 |
|
|
start [/forum/topic.php?fid=41&fpage=129&tid=1586524]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 259ms |
0 / 0 |