Каковы преимущества и недостатки создания связей таблиц в базе данных MySQL с использованием запросов (JOINS), а не с использованием DDL с использованием внешних ключей и ограничений ссылочной целостности? Я получил базу данных, которая не имеет отношений (Нет FK) в своих таблицах, чтобы идентифицировать отношения между таблицами. Эти отношения создаются в JOINS при запросе данных.MySQL DB Foreign Key
-1
A
ответ
0
Основная причина использования внешних ключей заключается в том, что данные всегда согласованы в базе данных. Это «независимый» от соединений - при использовании внешних ключей вам все равно нужно использовать соединения.
В MySQL он также имеет приятный побочный эффект: если вы используете внешние ключи, вам нужно определить индексы, которые могут ускорить выполнение запросов.
Но с внешними ключами вы можете убедиться, что строка, которую вы указываете, должна существовать в базе данных. См. https://en.wikipedia.org/wiki/Foreign_key.
Смежные вопросы
- 1. MySQL: Foreign Key
- 2. Помощь MySQL FOREIGN KEY
- 3. MySQL add Foreign Key
- 4. Foreign Key Constraint Mysql
- 5. MySQL FOREIGN KEY Ограничения Синтаксис
- 6. MYSQL- SELF REFERENCING FOREIGN KEY
- 7. PHP Mysql Increment Foreign Key
- 8. Ошибка MySQL: 1215 Foreign Key
- 9. Синтаксис MySQL CONSTRAINT FOREIGN KEY
- 10. Форвардная инженерия mysql Foreign key
- 11. MySQL InnoDB FOREIGN KEY ERROR
- 12. Невозможно отменить FOREIGN KEY в Maria DB
- 13. SQlite-Foreign key
- 14. Yii foreign key
- 15. FOREIGN KEY - таблица выполнения
- 16. CakePHP & Foreign Key Constraint
- 17. SQLite Android Foreign Key
- 18. FOREIGN KEY ..again
- 19. Ошибка MySQL FOREIGN KEY, ON DELETE CASCADE
- 20. SQL Manager for MySQL - foreign Key
- 21. Mysql Workbench не может выбрать Foreign Key
- 22. mysql add foreign key error 1215
- 23. Невозможно создать FOREIGN KEY CONSTRAINT в MySQL
- 24. mysql friend system, index, foreign key, prim key
- 25. Visio Foreign Key
- 26. Фильтр Generic Foreign Key
- 27. PHP, PDO, Foreign Key
- 28. SQL Foreign key abrevation
- 29. Foreign Key Error 1215
- 30. django foreign key save
Спасибо MrTux за ваш быстрый ответ. Я знаю, что вы все еще используете JOINS на столах с FK. Я также знаю, что определение таблиц с FK сохраняет целостность данных. Я предполагаю, что я пытался получить было ... Является Нет Нет проектирования базы данных без использования внешних ключей для определения отношений таблицы или это не имеет значения? Помимо целостности данных, каковы основные недостатки проектирования базы данных таким образом, т.е. нет FK? Благодарю. –
Я больше не буду конструировать какую-либо БД без FK. Единственным недостатком является то, что вставка в дочернюю таблицу может быть немного медленнее, так как должно существовать существование ключа в родительской таблице. Но я думаю, что это пренебрежительно по сравнению с «чистой» и последовательной БД. FK поддерживаются только для таблиц InnoDB в MySQL, что также может быть причиной того, что многие БД не используют FK, потому что это всего лишь MyISAM (я тоже не рекомендую - InnoDB имеет блокировку на основе строк и поддерживает транзакции). – MrTux
Спасибо MrTux. Именно такой ответ я искал. –