powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Правильная реализация cascade delete
16 сообщений из 41, страница 2 из 2
Правильная реализация cascade delete
    #38716705
simlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmag,учту. Буду описывать проблему более детально. Но если создаются две таблицы, значит на это есть свои причины: в частности расширяемость предметной области Center1 и Center2 в разных направлениях
...
Рейтинг: 0 / 0
Правильная реализация cascade delete
    #38716706
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
simlex,

Мля... да добавь ты еще одно поле (код_направления) и главную таблицу Направления... пипец... а если будет 100 направлений ? Будет 100 таблиц Center ???? Мдя.... не будет счастья....
...
Рейтинг: 0 / 0
Правильная реализация cascade delete
    #38716708
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
simlex,

Одна таблица Центр и адрес тупо текстовое поле...
Дальше нет смысла обсуждать ибо обсуждаем не саму проблему, а твоё видение проблемы,
которую ты никому не собираешься говорить и скорее всего даже сам не правильно понимаешь
саму эту проблему...
...
Рейтинг: 0 / 0
Правильная реализация cascade delete
    #38716711
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
simlexзачем в таблицах дополнительные ненужные поля
Адрес - одно поле. И оно - нужное. Ели тебе не нужен адрес - вообще его выкинь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Правильная реализация cascade delete
    #38716714
simlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, как тогда насчет cascade delete для Address? с таким подходом...
...
Рейтинг: 0 / 0
Правильная реализация cascade delete
    #38716715
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovО, слова у него кончились, наскальная живопись пошла...

Обломись, нету тебе в жизни счастья.

Мдя... наверное на этом и нужно было всё закончить
...
Рейтинг: 0 / 0
Правильная реализация cascade delete
    #38716716
simlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmag,
Дальше нет смысла обсуждать ибо обсуждаем не саму проблему, а твоё видение проблемы-как прикажете...
в разных направлениях относится к ООП. Повторюсь, Center1 и Center2
отличаются всем, кроме наличия адреса
...
Рейтинг: 0 / 0
Правильная реализация cascade delete
    #38716718
simlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmag, если к этому
привентить ORM, то вообще ничего работать не будет без навигационных свойств в Address.
...
Рейтинг: 0 / 0
Правильная реализация cascade delete
    #38716740
Goffman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovsimlexЕсть две таблицы: Center1 и Center2.
Чем они отличаются?

on delete cascade - само по себе must die.

Предлагаете пользователю сначала помучиться, удаляя по одной записи во всех подчиненных таблицах , прежде чем он доберется до главной?
Хотя решение автора на самом деле несколько странное
...
Рейтинг: 0 / 0
Правильная реализация cascade delete
    #38716741
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GoffmanПредлагаете пользователю сначала помучиться, удаляя по одной записи во всех подчиненных таблицах , прежде чем он доберется до главной?

Сама идея удалять адрес из модели несколько странная - что, дом снесли?

Достаточно добавить поле ARCHIVE во все таблицы, и выводить в представление, только если =null.
...
Рейтинг: 0 / 0
Правильная реализация cascade delete
    #38716743
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
simlexvmag, если к этому
привентить ORM, то вообще ничего работать не будет без навигационных свойств в Address.

Когда вы уже перестанете употреблять несвязанные между собой наборы слов ???
...
Рейтинг: 0 / 0
Правильная реализация cascade delete
    #38716746
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
за center1 и center2 руки отрубать надо
а так же за перевернутую связь между center и address

как надо:

table center (Id, Name, Desc, MainImageUrl, AddressId)
table address (Id, ...)
FK center.AddressId = address.Id

и никакого каскадного удаления, так как по одному адресу могут находится несколько объектов
...
Рейтинг: 0 / 0
Правильная реализация cascade delete
    #38717717
NikolayV81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PallarisGoffmanПредлагаете пользователю сначала помучиться, удаляя по одной записи во всех подчиненных таблицах , прежде чем он доберется до главной?

Сама идея удалять адрес из модели несколько странная - что, дом снесли?

Достаточно добавить поле ARCHIVE во все таблицы, и выводить в представление, только если =null.

... по требованию ... обязан прекратить хранение, обработку...
p.s. Ещё бывают неправильно введённые, задвоенные операторами и т.д. on delete cascade ставится там где содержимое таблицы детализации является лишь уточнением для главной таблицы, в случае когда сами записи не несут какой-то осмысленной нагрузки в бизнесс процессах компании, как пример справочник контрагентов
Contragetns (
ID /*PK*/ )

Legals (
ID_CONTRAGENTS /*PK, FK Contragents(ID)*/
INN )

Persons (
ID_CONRTAGENTS /*PK, FK Contragents(ID)*/
FIO )

как таковые записи с одним ID в таблицах являются плоскими данными по одному из видов контрагентов, все же реальные документы в базе завязаны на ID из Contragents ( в большинстве случаев, при этом завязаны с параметром on delete restrict) поэтому никакого смысла в последовательном удалении вручную, а не средствами ключа on delete cascade нет.
p.p.s. правила удаления/архивирования документов также не всегда очевидны, с одной стороны можно всех юр. лиц архивировать ( даже если тупо неправильно завели ) с другой стороны можно повесить ограничения на inn/kpp (для простого случая, пока филиальную систему не будем рассматривать, либо физикам на номер паспорта ), таким образом если пользоваться меткой архив, а не физическим удалением, станет проблематично использовать встроенные в БД средства контроля уникальности данных.
...
Рейтинг: 0 / 0
Правильная реализация cascade delete
    #38718658
2604
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmag ...
Когда вы уже перестанете употреблять несвязанные между собой наборы слов ???
++




как лично понял ТСа :

он хочет при удалении записи в Детайл таблице(ах)
снести соответствующее в Мэйн-таблице

....

эээ
...
Рейтинг: 0 / 0
Правильная реализация cascade delete
    #38718713
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2604,

Тут много странностей...
С одной стороны ТС понимает, что таблица adres должна быть одна, а писать ул. Пушкина в таблицу adres1, ул. Мира в таблицу adres2, ул. Ленина в adres3... это есть высшая степень идиотизма...
С другой стороны плодить множество одинаковых по структуре таблиц для хранения информации о центрах - автор считает совсем не идиотизмом, а...
simlexНо если создаются две таблицы, значит на это есть свои причины: в частности расширяемость предметной области Center1 и Center2 в разных направлениях
...
Рейтинг: 0 / 0
Правильная реализация cascade delete
    #38718771
2604
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
simlexЗдравствуйте ! Возникли сомнения в правильности построения архитектуры бд ...
Есть две таблицы, ссылающиеся на одну (Addresses). У последней созданы два FK на первые таблицы с cascade delete.
Подскажите, правильно ли такое решение? И если нет. то как лучше реализовать?
если Addresses - Справочник
то ФК там могут быть

если это починенный Справочник(ФК Владельца)
+
какой-нить атрибут в нем(ФК другого Справочника)

ну и тд
и тд
мля - чо написал - сам фигею...



без сомнений
Ваши сомнения - не зря



а и ваще
(С) on delete cascade - само по себе must die .
...
Рейтинг: 0 / 0
16 сообщений из 41, страница 2 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Правильная реализация cascade delete
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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