На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Serafim, fatalist
  
    > Вопрос по связям таблиц БД
      Я начал изучать PHP и БД MySQL. Появились вопросы, подскажите:
      1) Я правильно понимаю, что связи таблиц можно устанавливать
      - в самой БД так
      - через в запросе к БД
      2) Как устанавливаются связи обоими способами?
      Можете привести пример запроса содержащий связи нескольких таблиц (один ко многим, многие ко многим, многие к одному)?
        Вопрос актуален.
          Цитата rownong@yandex.ru @
          в самой БД так

          Не-а. Не совсем так.

          1) FOREIGN KEY в классических реализациях не является связью как таковой, а лишь обеспечивает целостность данных. Чтобы при удалении или добавлении записи в БД не потерялись её связи.
          2) VIEW являются лишь отображением существующих данных, а не самостоятельными таблицами.

          Цитата rownong@yandex.ru @
          - через в запросе к БД

          Да. А можно и через несколько запросов (что зачастую лучше).

          Есть и другие способы структурирования данных, вроде типа JSON или XML для полей. Но это используется для других целей.


          Цитата rownong@yandex.ru @
          Как устанавливаются связи обоими способами?

          На первый вопрос ответит википедия лучше чем смог бы я: https://ru.wikipedia.org/wiki/%D0%92%D0%BD%...%BB%D1%8E%D1%87

          На второй тоже: https://ru.wikipedia.org/wiki/Join_(SQL)


          Главное не бояться экспериментировать. Попробуй "методом тыка" поиграться. Прочитав описание попробовать получить нужные данные.
            Главное не бояться экспериментировать. Попробуй "методом тыка" поиграться. Прочитав описание попробовать получить нужные данные. Согласен.
            Сообщение отредактировано: dolan-uk -
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0188 ]   [ 16 queries used ]   [ Generated: 3.08.21, 07:36 GMT ]