Цитата:
Сообщение от Tails
Вопрос с избыточностью решается очень просто. Если, например, для описания атаки требуется больше 1 свойства и это создаёт проблемы, то атака как таковая, выносится как отдельная сущность, а предмет просто ссылается на неё: Item.attackID = 5, где Attack id=5 - Могучий удар гнома с типом хаос - 74ед. (Атака: id,title,type,damage) Когда у огурца attackID = 0 - огурцом нельзя ударить, но если мы поставим ему attackID = 5, то, о чудо, огурцом можно нанести могучий удар гнома!
При этом, сам код игры никаких данных не содержит. Всю информацию о том, кто сколько и чего наносит, кто к какому типу/категории относится и т.п. он берёт из соответствующих таблиц.
|
Tails, я что ещё подумал. Если у нас база данных состоит из реляционных таблиц, то они на то и "реляционные", что между ними выстроены связи, причём строго определённым образом (что кстати поднимает отдельный вопрос трудозатрат на перенос схемы под новые проекты, но сейчас не об этом). Значит, в рамках программы должна быть какая-то СУБД, которая "знает", что и откуда тягать. Если не секрет и не в ломак, расскажи, как ты это реализуешь, плиз. Хотя бы на примере тех же предметов и эффектов. Каким образом ты "говоришь", что эффект - это не просто запись, а именно ссылка на другую таблицу данных?