Я определяю совершенно новую базу данных. Я столкнулся с проблемой , которую я бы назвал «обычной», но до сих пор не смог найти хорошую информацию . Так вот проблема:Как создать таблицу mysql со многими ассоциациями hasMany в CakePHP?
У меня есть много таблиц в моей базе данных (которые я бы назвал в качестве руководства), такие как:
- Навыки
- Места
- Деятельность
- и так далее .. .
Теперь для всех этих типов направляющих я хотел бы добавить функцию комментария и другие подобные функции, такие как добавление изображений и видео. У меня много типов гидов, поэтому я отказался от идеи иметь отдельный комментарий и видео-таблицы для каждого из них. Мне нужна одна таблица для каждого из них.
Вопрос в том, что это лучший способ достичь этого? Я слышал и читал о 3 решениях, и я не знаком ни с одним из них.
Я читал об использовании UUID, исправил бы эту проблему, но я не очень хорошо знаю, как они функционируют. Может ли кто-нибудь уточнить это, если это правильный путь? Something about UUIDs I read but not quite understood it.
Другая вещь, о которой я читал, - это создание иерархической модели «древовидной таблицы», которая будет содержать ссылки на ассоциации. Дополнительная информация: Managing Hierarchical Data in MySQL.
Я также прочитал о создании таблиц объектов и использовании программной наследования объектов внутри MySQL аналогично иерархической модели.
UUIDs звук самый простой, поэтому я был бы признателен за помощь в работе.
Я ничего не знаю о том, как их использовать. Но вот, как я думал, что это работает - по крайней мере, вы получите повесить его, что я пытаюсь достичь здесь и как/что я недопонимание о них:
- Я хотел бы создать новую таблицу: Руководства, которые могут иметь поле UUID.
- Затем соедините все эти типы направляющих (навыки и т. Д.), Чтобы вести таблицу (руководство как родительское, а другое как дочернее).
- Родители и дети имеют как поля UUID, так и при создании руководства. Родитель и ребенок получают одинаковый UUID, чтобы они могут быть связаны. У ребенка также есть собственное поле идентификатора.
- Затем добавьте комментарии к руководствам, используя поле UUID, которое указывает на Руководство плюс отдельное поле id int для комментариев.
Скажите, пожалуйста, правильно ли это, или это полный мусор, и если да, то как я должен это делать?
http://cakeapp.com/sqldesigners/sql/testcase Вот что я пробовал, и он выглядит нормально, но я беспокоюсь о том, есть ли вероятность того, что если шансы/места/вещи получат один и тот же файл-путеводитель, он нарушит систему, потому что тот же руководство будет относиться к нескольким «реальным путеводителям». Или я просто беспокоюсь ни о чем? – Pehmolelu