powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проблема проектирования
21 сообщений из 21, страница 1 из 1
Проблема проектирования
    #34005932
budarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть три таблицы

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 1 .паспорта
------------
ID паспорта
данные паспорта

 2 .паспорт-адреса прописки
----------------------------
ID паспорта
ID адреса
дата прописки

 3 .адреса
---------
ID адреса
данные адреса
проблема в следующем: при такой реализации возникает проблема ввода данных - с одной стороны при создании паспорта обязательно должен быть указан адрес прописки, а с другой стороны адрес прописки не может быть создан ранее чем паспорт
Как быть?
...
Рейтинг: 0 / 0
Проблема проектирования
    #34005968
Programmer_Ortodox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В процессе ввода паспорта, пополняете справочник адресов, делаете из него выбор, в чем промблема то,
...
Рейтинг: 0 / 0
Проблема проектирования
    #34006020
budarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Programmer_OrtodoxВ процессе ввода паспорта, пополняете справочник адресов, делаете из него выбор, в чем промблема то,

В форме паспорта заполняю его данные
Затем чтобы мне добавить адрес прописки - мне нужно сначала сохранить данные паспорта, а затем создать прописку - и уже в диалоге прописки указать дату прописки и выбрать адрес

Но уже после сохранения паспортных данных юзер может и не захотеть вводить адрес прописки или напругу вырубят - получится что паспорт есть, а прописки нет

Вот я и думаю что делать?
...
Рейтинг: 0 / 0
Проблема проектирования
    #34006212
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таки делайте в одной транзакции и не сохраняйте данные паспорта.Это же классический master-detail.
...
Рейтинг: 0 / 0
Проблема проектирования
    #34006254
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShtockТаки делайте в одной транзакции и не сохраняйте данные паспорта.Это же классический master-detail.

Этож как вы себе представляете в WEB-приложении?
...
Рейтинг: 0 / 0
Проблема проектирования
    #34006267
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуйте КЛАДР
...
Рейтинг: 0 / 0
Проблема проектирования
    #34006336
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> при создании паспорта обязательно должен быть указан адрес прописки

Кто Вам сказал такую чушь? Ссылку на нормативный акт, пожалуйста.
...
Рейтинг: 0 / 0
Проблема проектирования
    #34006389
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
budarinпри такой реализации возникает проблема ввода данных - с одной стороны при создании паспорта обязательно должен быть указан адрес прописки, а с другой стороны адрес прописки не может быть создан ранее чем паспорт
Как быть?Такая реализация призвана как раз разделить Паспорт и Адрес, а также иметь много Адресов для Паспорта.
Маловероятно, но по тексту поста не исключено, что вам нужен единственный Адрес для Паспорта. Тогда, понятно, ID адреса и Дата прописки просто переезжают в Паспорт.
Скорее, требуется реализовать правило Паспорт (1..1)--( 1 ..N) Паспорт-адреса прописки.
Тогда нужно еще программно контролировать удаление/изменение таблицы Паспорт-адреса прописки так чтобы для данного удаляемого/изменяемого ПаспортID всегда оставалась хоть одна запись.
Фактически придется блокировать Паспорт и ставить такие транзакции в очередь к Паспорту, а не к Паспорт-адреса прописки.
...
Рейтинг: 0 / 0
Проблема проектирования
    #34006446
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> при создании паспорта обязательно должен быть указан адрес прописки

Кто Вам сказал такую чушь? Ссылку на нормативный акт, пожалуйста.

Это не нормативными актами регулируется, а бизнес-правилами нашей конторы!
...
Рейтинг: 0 / 0
Проблема проектирования
    #34006660
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Этож как вы себе представляете в WEB-приложении?

а где это было написано?
...
Рейтинг: 0 / 0
Проблема проектирования
    #34006840
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShtockЭтож как вы себе представляете в WEB-приложении?

а где это было написано?

Да, про тип интерфейса не было написано, но он тут не причем - взять стандартное многоуровневое приложение - таже проблема
...
Рейтинг: 0 / 0
Проблема проектирования
    #34007044
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Это не нормативными актами регулируется, а бизнес-правилами нашей
> конторы!

Понятно. Вот и задайте Ваш вопрос идиоту, который придумал то, что Вы называете "бизнес-правила". Они ничего общего с действующим законодательством РФ (впрочем, и подавляющего большинства других стран) не имеют.
...
Рейтинг: 0 / 0
Проблема проектирования
    #34007081
Фотография BULK INSERT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> Это не нормативными актами регулируется, а бизнес-правилами нашей
> конторы!

Понятно. Вот и задайте Ваш вопрос идиоту, который придумал то, что Вы называете "бизнес-правила". Они ничего общего с действующим законодательством РФ (впрочем, и подавляющего большинства других стран) не имеют.

можно дропать записи о паспортах для которых нет записи о прописке - на стартапе, например,

можно просто не выводить-отображать нигде такие записи - нет прописки нет человека...
...
Рейтинг: 0 / 0
Проблема проектирования
    #34007087
Фотография BULK INSERT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sp guest_20040621> при создании паспорта обязательно должен быть указан адрес прописки

Кто Вам сказал такую чушь? Ссылку на нормативный акт, пожалуйста.

Это не нормативными актами регулируется, а бизнес-правилами нашей конторы!

кстати, в паспорте прописка может быть указана, а в действительности ее может уже и не быть
...
Рейтинг: 0 / 0
Проблема проектирования
    #34008043
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорректируйте ваши бизнес-правила, добавьте записи о паспорте статус, для паспортов без прописки - соответствующий статус "неправильная/недовведенная", со всеми вытекающими...
...
Рейтинг: 0 / 0
Проблема проектирования
    #34008094
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какая разница-то - ну web-приложение, ну и что.
Задача делится на 2 - как организовать ввод данных так, чтобы нельзя было
ввести паспорт без прописки, и как организовать запись в БД так, чтобы нельзя было создать запись "паспорт" без записи "прописка". Вторая задача решается, очевидно,
созданием stored procedur'ы, в которую вместе с данными паспорта передается id_address и создаются 2 записи в одной транзакции. Как решать первую - есть несколько способов ( один из них тут описали, со справочником адресов и кнопкой "дополнить"). Никакой особой специфики WEB я тут не вижу.
...
Рейтинг: 0 / 0
Проблема проектирования
    #34010709
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LRСкорректируйте ваши бизнес-правила, добавьте записи о паспорте статус, для паспортов без прописки - соответствующий статус "неправильная/недовведенная", со всеми вытекающими...

Спасибо! идея заслуживающая внимания!
...
Рейтинг: 0 / 0
Проблема проектирования
    #34010724
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинА какая разница-то - ну web-приложение, ну и что.
Задача делится на 2 - как организовать ввод данных так, чтобы нельзя было
ввести паспорт без прописки, и как организовать запись в БД так, чтобы нельзя было создать запись "паспорт" без записи "прописка". Вторая задача решается, очевидно,
созданием stored procedur'ы, в которую вместе с данными паспорта передается id_address и создаются 2 записи в одной транзакции. Как решать первую - есть несколько способов ( один из них тут описали, со справочником адресов и кнопкой "дополнить"). Никакой особой специфики WEB я тут не вижу.

Проблема как раз в том что адреса у меня хранятся как отдельная сущность и для их обработки существует форма, которая только обрабатывает объект Адрес - соответственно никак в одной sp это выполнить нельзя - иначе надо в этой форме тогда отслеживать и рулить какого объекта адрес - лица, ЧП. СПД , банка и т.д.
...
Рейтинг: 0 / 0
Проблема проектирования
    #34011191
Alexandr_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Логично предложить исользовать поле тип_адреса (прописка, проживание и регистрации, фактический) для физ. и юр. лиц соответственно
плюс начало и окончание действия для оного. Собственно так появится история перемещения для данного субьекта. Возможно несколько избыточное представлние для данного проекта. Но в дальнейшем очень пригодится для всякого рода замысмоватых отчетов !!!
...
Рейтинг: 0 / 0
Проблема проектирования
    #34011751
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexandr_pЛогично предложить исользовать поле тип_адреса (прописка, проживание и регистрации, фактический) для физ. и юр. лиц соответственно
плюс начало и окончание действия для оного. Собственно так появится история перемещения для данного субьекта. Возможно несколько избыточное представлние для данного проекта. Но в дальнейшем очень пригодится для всякого рода замысмоватых отчетов !!!

Спасибо за идею с типом "прописки"
Дата начала и окончания у меня есть - т.к. прописка бывает временной, но у обычной прописки нет даты окончания и предположить, что юзер будет настолько сознательным что заполнит дату окончания у предыдущей прописки, довольно сложно
...
Рейтинг: 0 / 0
Проблема проектирования
    #34013192
Alexandr_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дата начала и окончания у меня есть - т.к. прописка бывает временной, но у обычной прописки нет даты окончания и предположить, что юзер будет настолько сознательным что заполнит дату окончания у предыдущей прописки, довольно сложно[/quot]
Достаточно ограничение на ввод только 1-го документа с одним типом "прописки", при вводе второго документа пребуем коректного ввода даты окончания действия для предыдущего с соответствующим типом или заполняем его автоматически с даты ввода следущего.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проблема проектирования
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]