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

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

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

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

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

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

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

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

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

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

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


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


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

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

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

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

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

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

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

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

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


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