powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / удаление записи
17 сообщений из 17, страница 1 из 1
удаление записи
    #34533587
seeerg_23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть 2 табл. Связь 1-к-1. Почему из верхней табл (или из табл слева) нельзя удалить запись, пока не удалишь запись из табл снизу (или справа).???? Те, как бы, из главной табл нельзя удить запись пока не удалить запись из второстепенной табл.
...
Рейтинг: 0 / 0
удаление записи
    #34533692
странно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К психиатру пришла женщина.
- Доктор, с моим мужем происходит что-то странное. Он каждое утро пьет кофе...
- Что ж здесь странного?
- Да, но потом он сьедает чашку.
- Как, целиком?????
- Нет, ручку почему-то оставляет.
- Действительно странно, - задумчиво говорит доктор, - ведь самое вкусное - это как раз ручка...
...
Рейтинг: 0 / 0
удаление записи
    #34534580
seeerg_23есть 2 табл. Связь 1-к-1. Почему из верхней табл (или из табл слева) нельзя удалить запись, пока не удалишь запись из табл снизу (или справа).???? Те, как бы, из главной табл нельзя удить запись пока не удалить запись из второстепенной табл.
Прочитайте в литературе о целостности БД.
Конкретно речь идет о:
Код: plaintext
1.
ON DELETE RESTRICT|CASCADE|NULLIFY

У Вас установлено в ON DELETE RESTRICT, а Вам надо ON DELETE CASCADE....
...
Рейтинг: 0 / 0
удаление записи
    #34535046
Kosto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав С seeerg_23есть 2 табл. Связь 1-к-1. Почему из верхней табл (или из табл слева) нельзя удалить запись, пока не удалишь запись из табл снизу (или справа).???? Те, как бы, из главной табл нельзя удить запись пока не удалить запись из второстепенной табл.
Прочитайте в литературе о целостности БД.
Конкретно речь идет о:
Код: plaintext
1.
ON DELETE RESTRICT|CASCADE|NULLIFY

У Вас установлено в ON DELETE RESTRICT, а Вам надо ON DELETE CASCADE....

Каскадные удаления - это так весело! :)

П.С. Весело звеня карабинами мимо пронеслась связка альпинистов.
(подходит для описания каскадного удаления)
...
Рейтинг: 0 / 0
удаление записи
    #34536397
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KostoКаскадные удаления - это так весело! :)

П.С. Весело звеня карабинами мимо пронеслась связка альпинистов.
(подходит для описания каскадного удаления)А для некаскадного годится такая аналогия. При выбрасывании мусора открыть мусорный мешок и по-очереди выбросить каждую бумажку и шкурку, а уж потом выбросить опустевший мешок :)
...
Рейтинг: 0 / 0
удаление записи
    #34536448
Kosto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mir KostoКаскадные удаления - это так весело! :)

П.С. Весело звеня карабинами мимо пронеслась связка альпинистов.
(подходит для описания каскадного удаления)А для некаскадного годится такая аналогия. При выбрасывании мусора открыть мусорный мешок и по-очереди выбросить каждую бумажку и шкурку, а уж потом выбросить опустевший мешок :)
Код: plaintext
Петька: "Василий Иванович, а что такое нюанс?"

Что мешает создать хранимую процедуру со сценарием действий при удалении и вызывать ее? В ходе выполнения хп можно провести кучу проверок и тормознуть если что удаление. Или это тяжелее чем восстановить пол базы из-за того что пользователь удалил одну запись в служебной таблице на которую было завязано почти все?

п.с. имеет смысл лишь маркировать записи как удаленные без физического удаления
...
Рейтинг: 0 / 0
удаление записи
    #34536637
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ON DELETE SET NULL ))
...
Рейтинг: 0 / 0
удаление записи
    #34537226
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KostoЧто мешает создать хранимую процедуру со сценарием действий при удалении и вызывать ее? В ходе выполнения хп можно провести кучу проверок и тормознуть если что удаление. Или это тяжелее чем восстановить пол базы из-за того что пользователь удалил одну запись в служебной таблице на которую было завязано почти все?Во-первых, если уж создавать, то триггер. DML через процедуры неудобен. Во-вторых, чего вы разбушевались? Оба вида правил нужны, и CASCADE и NO ACTION (RESTRICT). Для разных таблиц -- разные и правила. Всяческие справочники, разумеется, требуют правила NO ACTION. Для обычных (так сказать, рабочих таблиц), как правило, удобно правило CASCADE.
Kostoп.с. имеет смысл лишь маркировать записи как удаленные без физического удаленияЧепуха. Подобный подход оправдан лишь для некоторых специфичных задач.
...
Рейтинг: 0 / 0
удаление записи
    #34537361
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KostoКаскадные удаления - это так весело! :)

а что веселого? Тонкий английский юмор... :)
...
Рейтинг: 0 / 0
удаление записи
    #34537708
striel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Псих сидит с удочкой у унитаза.
Подходит доктор - "Ну, что клюёт?"
Псих - "Вы что? Там же рыбы нет."
...
Рейтинг: 0 / 0
удаление записи
    #34541355
seeerg_23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эти таблицы соединил по ключевым полям (тип инт, счётчик). При сохранении диаграммы выдаётся ошибка: " не удаётся создать отношение FK_kod_k. Каскадный внешний ключ FK_kod_k нельзя создать
, когда ссылающийся столбец карт.код_к является столбцом идентификаторов. Нельзя создать ограничение. " - эта ошибка появляется, когда я ставлю тип обновления и удаления КАСКАДОМ. Если поставить обновление, и удаление БЕЗ ДЕЙСТВИЯ, то диаграмма сохраняется без всяких ошибок!!!
Если связь между этими таблицами 1-к-1, может все поля разместить в одной таблице, те. все данные будут храницца в 1 таблице, а не в 2х!!!??????
...
Рейтинг: 0 / 0
удаление записи
    #34541615
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mirВо-первых, если уж создавать, то триггер. DML через процедуры неудобен.
Бред.

mirДля обычных (так сказать, рабочих таблиц), как правило, удобно правило CASCADE.


mirЧепуха. Подобный подход оправдан лишь для некоторых специфичных задач.


Для одной специфической задачи. Это задача "спокойно и с чистой совестью спать по ночам, зная, что не придется вскакивать и нестись "к утру восстановить данные"".
...
Рейтинг: 0 / 0
удаление записи
    #34541649
Kosto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
seeerg_23
Если связь между этими таблицами 1-к-1, может все поля разместить в одной таблице, те. все данные будут храницца в 1 таблице, а не в 2х!!!??????

если связь 1 к 1 и всегда такой и будет - лучше (обработка запросов) хранить в одной таблице, но если по предметной области по каким-то причинам вы решили эти данные разнести по двум таблицам, то в будущем связь превратиться в 1 ко многим.
softwarer mirВо-первых, если уж создавать, то триггер. DML через процедуры неудобен.
Бред.
mirДля обычных (так сказать, рабочих таблиц), как правило, удобно правило CASCADE.

mirЧепуха. Подобный подход оправдан лишь для некоторых специфичных задач.

Для одной специфической задачи. Это задача "спокойно и с чистой совестью спать по ночам, зная, что не придется вскакивать и нестись "к утру восстановить данные"".

+1 (двумя руками и ногами за)
...
Рейтинг: 0 / 0
удаление записи
    #34542737
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer mirВо-первых, если уж создавать, то триггер. DML через процедуры неудобен.
Бред. Ну-ка, ну-ка. То есть вы весь DML через процедуры гоните? Поздравляю, в сад!
softwarer
Для одной специфической задачи. Это задача "спокойно и с чистой совестью спать по ночам, зная, что не придется вскакивать и нестись "к утру восстановить данные"".Направляю в то же место.
...
Рейтинг: 0 / 0
удаление записи
    #34542754
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mir softwarer mirВо-первых, если уж создавать, то триггер. DML через процедуры неудобен.
Бред.
Ну-ка, ну-ка. То есть вы весь DML через процедуры гоните?
Ничуть. "То есть" Вы во-первых сказали чушь, во-вторых, демонстрируете детского уровня логическую ошибку, в-третьих, пытаетесь противопоставить ей такую же чушь, приписывая ее мне.

mirПоздравляю, в сад!
Благодарю, но обойдусь без Вашего общества.
...
Рейтинг: 0 / 0
удаление записи
    #34542832
Kosto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mirНу-ка, ну-ка. То есть вы весь DML через процедуры гоните? Поздравляю, в сад!

Можно детальней описать процесс написания бизнес-логики на тригерах?
Что именно вы реализуете на тригерах?
Также интересует как вы организовываете сопровождение кода?

п.с. может я просто не знаю всех достоинств использования тригеров?
...
Рейтинг: 0 / 0
удаление записи
    #34542844
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mirDML через процедуры неудобен.Не могли бы Вы расшифровать эту фразу ?

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


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