Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / проектирование базы данных рпг / 13 сообщений из 13, страница 1 из 1
25.12.2014, 21:34
    #38843359
faustmangos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проектирование базы данных рпг
Банальный вопрос, но инфы не смог найти

Есть персонаж, у него есть инвентарь и экипировка.
Пояснение:
Персонажи(ид перса(К), ид брони, ид оружия, ...)
Инвентарь(ид экземпляра предмета(К), ид перса, ид предмета)
Предметы(ид предмета(К), ...)

Мне понимается так - поля экипировки должны хранить значения экземпляров которые есть у него в инвентаре. Пытался наваять схему в аксесе (несколько связей из одной таблицы входит в одну другую таблицу), так вот аксес ругался как только мог, короче как я понял - субд не может обеспечить целостность данных в этом случае, но ручками неохота делать(триггеры и тд), кроме того это может вызвать дополнительные проблемы.
Хелп :(
...
Рейтинг: 0 / 0
25.12.2014, 21:50
    #38843365
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проектирование базы данных рпг
Не уверен насчёт акцесса, а СУБД может обеспечить целостность в этом случае, внешний ключ по двум полям, включая ID персонажа. Другой вопрос, что далеко не факт, что стоит делать именно так. В частности, экипировка - это всего-навсего развязка между инвентарём и контейнерами. В частности, вполне вероятно, её вообще не стоит выделять, а стоит сделать в инвентаре признак "надето туда-то". В частности, там есть куча бизнес-логики, которую делать средствами контроля целостности не очень стоит - скажем, утверждение "шлем может быть дробящим оружием в руке, а вот меч на голову не надевается". И разумеется, очень странно вообще делать такое в акцессе независимо от класса РПГ.
...
Рейтинг: 0 / 0
25.12.2014, 21:55
    #38843371
rockclimber
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проектирование базы данных рпг
faustmangosтак вот аксес ругался как только мог, короче как я понял - субд не может обеспечить целостность данных в этом случае http://bash.im/quote/393547 Alfie: а ты чего шас не играеш?
Zloigaymer: та ошибка вылазиед, чтото вроде: ваша оперативка расколена до красна и типа игры не стоит запускать иначе она сгорит.
Alfie: :D чё прям так и написано? расколена до красна?))
Zloigaymer: не, не докарсна там ред или как то так, но это же красный значит по анг.
Alfie: память не может быть READ?)))))
Zloigaymer: да именно! Ред большими буквами это значит ппц красная да?
faustmangosПытался наваять схему в аксесе, так вот аксес ругался как только могНаваяйте на бумажке. Она все стерпит.
faustmangosПредметы(ид предмета(К), ...)Прежде чем писать, что у предмета есть ИД, разберитесь с тем, какие вообще у вас будут сущности и атрибуты и как они друг с другом взаимодействуют. Просто, обычными русскими словами на бумажке.
...
Рейтинг: 0 / 0
25.12.2014, 22:08
    #38843380
faustmangos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проектирование базы данных рпг
softwarer, спасибо за ответ.
Ну да, аксесс не лучшее средство для проектирования, попробую в mssql. Насчет сделать признак, что предмет куда-то одет, то мне, чтобы просмотреть одетые вещи - мне придется делать выборку по одетым предметам, а затем проверять какие предметы куда одеты и их тип, а где слот вообще пустой, или при одевании предмета мне придется искать не одет ли предмет такого класса. А так у меня получается уже готовые поля и все проблемы отпадают.
...
Рейтинг: 0 / 0
25.12.2014, 22:53
    #38843409
faustmangos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проектирование базы данных рпг
в mssql получилось :)
...
Рейтинг: 0 / 0
25.12.2014, 23:27
    #38843419
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проектирование базы данных рпг
faustmangosИнвентарь(ид экземпляра предмета(К), ид перса, ид предмета)

Зачем учитывать предметы поэкземплярно? Достаточно их общего количества.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.12.2014, 23:36
    #38843423
faustmangos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проектирование базы данных рпг
Dimitry Sibiryakov, ну например у каждого предмета может быть изношенность и тому подобное
...
Рейтинг: 0 / 0
25.12.2014, 23:42
    #38843424
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проектирование базы данных рпг
faustmangosну например у каждого предмета может быть изношенность и тому подобное

Тогда почему у одетого предмета есть только "ид вообще" вместо "ид экземпляра"?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.12.2014, 23:50
    #38843428
faustmangos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проектирование базы данных рпг
Dimitry Sibiryakov, одетый предмет ссылается на ид экземпляра, а ид экземпляра хранится в таблице Инвентарь где хранится перс (т.е. у кого предмет) и что именно за предмет
...
Рейтинг: 0 / 0
26.12.2014, 00:01
    #38843431
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проектирование базы данных рпг
faustmangosодетый предмет ссылается на ид экземпляра, а ид экземпляра хранится в
таблице Инвентарь
То есть предмет отображается одновременно в инвентаре и на персонаже? Забавно, нигде
такого не видел.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
26.12.2014, 01:54
    #38843454
faustmangos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проектирование базы данных рпг
Dimitry Sibiryakov, я видел. Да даже если оно по другому отображается это еще не значит что оно по другому хранится
...
Рейтинг: 0 / 0
26.12.2014, 07:57
    #38843492
Гхостик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проектирование базы данных рпг
faustmangosДа даже если оно по другому отображается это еще не значит что оно по другому хранитсяПрикольно потом будет писать запросы на количество свободных ячеек в инвентаре, игнорируя одетые. И игнорируя занятые места (либо делать место в инвентаре nullable для одетых). В общем, я бы точно выделил одетое как отдельный от инвентаря контейнер.
...
Рейтинг: 0 / 0
26.12.2014, 11:28
    #38843631
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проектирование базы данных рпг
faustmangos,

ты лучше замени аксесс на какую либо стоящую СУБД, аксесс в этом смысле очень специфичен.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / проектирование базы данных рпг / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]