|
Вопрос по связям таблиц БД
|
|||
---|---|---|---|
#18+
Я начал изучать PHP и БД MySQL. Появились вопросы, подскажите: 1) Я правильно понимаю, что связи таблиц можно устанавливать - в самой БД так - через в запросе к БД 2) Как устанавливаются связи обоими способами? Можете привести пример запроса содержащий связи нескольких таблиц (один ко многим, многие ко многим, многие к одному)? Модератор: Тема перенесена из форума "PHP, Perl, Python". ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2019, 23:01 |
|
Вопрос по связям таблиц БД
|
|||
---|---|---|---|
#18+
rownong271) Я правильно понимаю, что связи таблиц можно устанавливать - в самой БД так - через в запросе к БД Нет. Связи таблиц - это установление взаимного соответствия данных в процессе хранения на уровне структуры БД (внешние ключи таблиц, foreign key). Установление соответствия делается ТОЛЬКО на уровне структуры БД, а контроль выполняется подсистемой контроля целостности и непротиворечивости данных СУБД на основании созданной структуры. Связывание таблиц - это установление соответствия в процессе обработки на уровне логических условий отбора. Это делается в запросе в предложении ON (в случае картезианского произведения - в предложении WHERE). И никак не соотносится со структурой и данными. rownong27связи нескольких таблиц (один ко многим, многие ко многим, многие к одному)? Формально на уровне структуры связь типа M:N - не существует. Она эмулируется путём использования двух связей 1:N с использованием дополнительной связующей таблицы. А "один ко многим" и "многие к одному" - это одно и то же. Только в профиль... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2019, 07:37 |
|
|
start [/forum/topic.php?fid=47&fpage=33&tid=1829068]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 130ms |
0 / 0 |