|
|
|
| Доброго времени суток
вопрос пока чисто из спортивного интереса
как показать данные это я соображу
а вот как организовать первоначальное проставление связей - тут ума (опыта и познаний) не хватает
и самое сложное как потом это объяснить пользователям
Заранее спасибо | |
|
| |
|
|
|
| самое сложное как потом это объяснить пользователям |
так по идее это должно быть их обычное действие ну типа "расноски" оплат по контрактам...
как то пользователи это делают без пограммы. | |
|
| |
|
|
|
| Что значит первоначальное и зачем это объяснять пользователям? | |
|
| |
|
|
|
| имеем
таблицаА - 1:м - таблицаБ - м:1 - таблицаВ
нужно увязать таблицуА с таблицейВ
что бы это сделать нужно первоначально ручками проставить id обоих таблиц в записи таблицыБ
самый простой и везде описанный пример институт в начале года
есть куча предметов(таблицаА) которые будут изучать студенты и такая же куча студентов(таблицаВ) | |
|
| |
|
|
|
|
и самое сложное как потом это объяснить пользователям
|
пользователей это вообще не должно касаться - для них организация связей между таблицами находится "за стенкой"
они должны получать результат
обычно "первоначальное проставление связей" организуется на основании здравого смысла и особенностей предметки, определяется логикой взаимодействия объектов
можно почитать что-то по проектированию БД - Дейта например:
http://www.proklondike.com/books/dbobshee/date_db_intro.html | |
|
| |
|
|
|
|
а вот как организовать первоначальное проставление связей
|
кажется сообразил :)
можно сначала сделать все-ко-всем (полное декартово произведение)
походу подфильтровать выборку условиями (исключить замыкания на себя и т.п.)
закинуть в таблицу где хранятся сведения о связях many-to-many (Insert into tablename)
запросами почикать-повыбрасывать лишние - оставить только актуальные | |
|
| |
|
|
|
| За ссылку на книгу отдельное спасибо
у меня ситуация следующая
по факту проверки
выявляются нарушения (заносятся в таблуА)
для устранения нарушения выписываются предписания(заносятся в таблуВ)
записей в таблицах (по одной проверке) не много - максимум 30 в каждой
базу делал для себя и пользуюсь ей один (решил себе труд облегчить, хотя коллеги косятся чегой-то они работают а я пальцем в носу проворачиваю)
пока схема такая выполнили предписание поставил дату в обоих таблицах
сложность в том что пока связи между таблицами не существует
хочу сделать - по логике напрашивается многие ко многим
а вот рационального (красивого, правильного, удобного) решения интефейса для процесса простановки связей пока не видел или не обращал внимания
ладно я - мне понятно что будет происходить и как это будет происходить, а если вдруг кто-то будет юзать - не объяснять же ему основы БД | |
|
| |
|
|
|
|
хочу сделать - по логике напрашивается многие ко многим
|
по логике напрашивается цикл Деминга,
задачу нужно рассматривать сначала с самолета, пытаясь найти типовые признаки "велосипеда" чтобы выбрать готовое решение а не изобретать новое.
Новое тоже неплохо - но это должен быть другой "велосипед" задача которого изобрести "велосипед" лучше того что есть.
цикл деминга это один из паттернов циклических процессов, которые могут называться разно но сводятся к одному "велосипеду"
циклические последовательные процессы
планирование
выполнение
проверка
воздействие
или
анамнез
диагноз
лечение
профилактика
и т.п.
не стану утверждать что для построения схемы БД для управления подобными циклами не требуется отношение Many-To-Many
(хотя и не вижу очевидно ее места и преимущетств перед другими способами организации связей)
но то, что только ее окажется недостаточно и вообще не в этом дело
не вызывает у меня никаких сомнений...
танцуй от печки | |
|
| |