Задавайте вопросы, мы ответим
Вы не зашли.
У меня предположим 2 таблицы.
Первая таблица хранит название каталогов.
Во второй таблице находятся названия файлов, и id каталога, к которому относится файл.
Неактивен
Вообще тут скорее отношение один ко многим - много файлов может находиться в одном каталоге.
> Теперь вопрос: зачем создавать реляции, если можно создать 2 таблицы MyIsam.
Поясните плиз, что Вы имели в виду под реляцией?
Использование вторичного ключа на поле category таблицы Document даст гарантию того, что вы сможете привязать документ только к реально существующей категории документов. Плюс даст дополнительные плюшки, такие как каскадное удаление (или наоборот невозможность удалить категорию документов, если вдруг в ней еще есть документы). Но это - в случае использования innodb, а не myisam.
Неактивен
Если я захочу на странице вывести список категорий.
Список из себя будет представлять ссылки на следующую страницу, на которой будет находится список уже с документами, относящимися к категории, которую выбрали).
Например документация к автомобилям. Выбираю категорию AUDI
Меня перенаправляет на страницу, где будет список моделей
- Q7
-A8
-A6
и т.д.
То есть я могу вывести всех производителей. А затем модели, относящиеся к определённому производителю.
И всё это я могу сделать без реляций между таблицами.
Приблизительный запрос:
SELECT * FROM `Document`
WHERE `category` = 1
Если мне не нужно использовать каскадное удаление, и всё что Вы описали. То тогда есть ли разница между использованием реляций между таблицами и их не использованием.
Неактивен
Что вы называете "реляцией"?
Неактивен
"какая либо связь"
Неактивен
Приведите пожалуйста структуры Ваших таблиц - как Вы преполагаете определять марку автомобиля по автомобилю, если эти таблицы никак не связаны?!
Неактивен
Отредактированно ew4oo (11.12.2011 21:20:05)
Неактивен
Так у Вас есть связь (поле category в таблице model_avto), просто она не закреплена вторичным ключом.
При текущих таблицах Вы можете случайно занести в поле category несуществующую марку и потом намучаетесь выискивать эту ошибку.
А если создадите вторичный ключ (и сделаете таблички innodb), то база просто не даст Вам это сделать. Тем самым Вы избавите себя от лишней работы, переложив её на базу.
Неактивен
Спасибо. Теперь всё понял.
Неактивен