| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > СУБД, общие вопросы > Подогнать под 3НФ |
| Автор: zhenya1 8.12.2011, 22:48 | ||||
| Здравтвуйте, есть такая проблемка: У меня есть есть "БД" и сервер, который с ней и работает. БД содержит 7 табличек с одинаковыми полями, но разными названиями.(см.ниже). На сервере я, в зависимости от выбраной таблички, скажем, посылаю запрос для заполнения всех её полей и т.д. Но вся проблема в том, что они никак между собой не связаны, а код вроде как уже написан. Как можно сделать осмысленные связи между ними, чтобы я по прежнему мог работать с ними как раньше?!
и т.д. |
| Автор: zhenya1 9.12.2011, 16:32 |
| Можно ли сделать вот по такой схемке?! (см.ссылку) http://s2.ipicture.ru/uploads/20111209/LGT4TJ24.png |
| Автор: LSD 9.12.2011, 16:36 |
| Я не могу понять связь полей в старом варианте и новом, какое в какое должно перейти. |
| Автор: zhenya1 9.12.2011, 16:49 |
| В страром варианте не было связей , а было 7 независимых табличек с одинаковыми, по названию, полями. |
| Автор: LSD 9.12.2011, 17:00 |
| Где в старых таблицах НаименованиеВидаСтрахования? Добавлено через 2 минуты и 6 секунд В любом случае что можно сделать легко: - разбить данные на несколько таблиц - воссоздать старую структуру с помощью view С модвификацией данных сложней. Если база позволяет, можно загнать всю необходимую логику в триггер. Если нет, то придется менять клиента. |
| Автор: zhenya1 9.12.2011, 17:07 |
| Буду пробывать. Спасибо за внимание! |
| Автор: Zloxa 9.12.2011, 17:09 |
Это тоже может потребовать модификации клиента. Не все операции над таблами аналогичны для вьюх. |
| Автор: LSD 9.12.2011, 17:24 | ||
Честно говоря, не вижу в данном примере, таких операций которые бы нельзя было бы реализовать instead of тригером. |
| Автор: Zloxa 9.12.2011, 19:23 |
| LSD, я не о том, что нельзя. Я не раз подменял таблы вьюхами, но, зачастую, доводилось и обламываться, затрагивать и клиентскую часть. Точно не припомню что именно не получилось и при каких условиях, но вроде как мержи переставали во вьюху работать, for update накинуть не удавалось, rowid забрать. Т.е. таки не все, что можно сделать с таблой, можно сделать и со вьюхой. И таких случаев, к сожалению, в моей практике в достатке. Так, что если таки удастся не затрагивать клиента, я полагаю это почитай повезло. |