На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! информация о разделе
user posted imageДанный раздел предназначается исключительно для обсуждения вопросов использования языка запросов SQL. Обсуждение общих вопросов, связанных с тематикой баз данных - обсуждаем в разделе "Базы данных: общие вопросы". Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ.

Модераторы: Akina
  
> Обеспечение целосности данных
    У меня есть БД с большим количеством таблиц. Больше 20. Самая длинная связь проходит через 9 таблиц. Вопрос: как мне организовать удаление всех записей из подчинённых записей при удалении записи из главной таблицы? Советы, типа "руками" мне не подходят.
      Точно не знаю, но помоему тригеров в MySQL небыло....

      Ну в общем, если такого механизма нет, то при удалении, тебе придётся самому (програмно разумеется) позаботиться о удалении подчинённых записей других таблиц....
        В M$ Access, M$SQL - есть а в MySQL? Не верю... Говорили гдето-есть. На официальном сайте смотрел - но ничего не понял. Там чего написано про Foreign keys всякие хитрые делиты. Но конкретику я в ихнем буржуйском языке не очень-то обнаружил.
          Foreign key - дословно внешний ключ (т.е. то поле по которому идет связывание таблиц). Скорее всего придется удалять все записи именно "вручную" sad.gif Только сначала надо бы подумать, что удалять в первую очередь, а что в последнюю...
            Связывание идёт по вторичному ключу. Все связи нарисованы на бумажке. Осталось их прописать. Скачал я две странички с описанием и примером. Попробую дома разобраться с ихним буржуйским. Там даже есть примерчИК из двух табличек. Если кто-то знает как прописывать, так называемые, CONSTRAINT'ы то обьясните по-человечески. То я с первого раза не въехал.
              в MySQL внешние ключи поддерживаются в таблицах InnoDB, нужно соответственно перегнать таблицы (если они, например в MyISAM) в этот формат, естественно описав таблицы с учетом связей по ключам, и с параметром CASCADE (каскадно удалять ненужные, потерявшие смысл и нарушающие целостность)
              Подробнее об этом можно почитать в мануале, в разделе Типы таблиц (могу ошибиться в названии)

              по-моему, так
              1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0453 ]   [ 14 queries used ]   [ Generated: 20.05.24, 09:18 GMT ]