|
|
|
проектирование базы данных рпг
|
|||
|---|---|---|---|
|
#18+
Банальный вопрос, но инфы не смог найти Есть персонаж, у него есть инвентарь и экипировка. Пояснение: Персонажи(ид перса(К), ид брони, ид оружия, ...) Инвентарь(ид экземпляра предмета(К), ид перса, ид предмета) Предметы(ид предмета(К), ...) Мне понимается так - поля экипировки должны хранить значения экземпляров которые есть у него в инвентаре. Пытался наваять схему в аксесе (несколько связей из одной таблицы входит в одну другую таблицу), так вот аксес ругался как только мог, короче как я понял - субд не может обеспечить целостность данных в этом случае, но ручками неохота делать(триггеры и тд), кроме того это может вызвать дополнительные проблемы. Хелп :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2014, 21:34 |
|
||
|
проектирование базы данных рпг
|
|||
|---|---|---|---|
|
#18+
Не уверен насчёт акцесса, а СУБД может обеспечить целостность в этом случае, внешний ключ по двум полям, включая ID персонажа. Другой вопрос, что далеко не факт, что стоит делать именно так. В частности, экипировка - это всего-навсего развязка между инвентарём и контейнерами. В частности, вполне вероятно, её вообще не стоит выделять, а стоит сделать в инвентаре признак "надето туда-то". В частности, там есть куча бизнес-логики, которую делать средствами контроля целостности не очень стоит - скажем, утверждение "шлем может быть дробящим оружием в руке, а вот меч на голову не надевается". И разумеется, очень странно вообще делать такое в акцессе независимо от класса РПГ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2014, 21:50 |
|
||
|
проектирование базы данных рпг
|
|||
|---|---|---|---|
|
#18+
faustmangosтак вот аксес ругался как только мог, короче как я понял - субд не может обеспечить целостность данных в этом случае http://bash.im/quote/393547 Alfie: а ты чего шас не играеш? Zloigaymer: та ошибка вылазиед, чтото вроде: ваша оперативка расколена до красна и типа игры не стоит запускать иначе она сгорит. Alfie: :D чё прям так и написано? расколена до красна?)) Zloigaymer: не, не докарсна там ред или как то так, но это же красный значит по анг. Alfie: память не может быть READ?))))) Zloigaymer: да именно! Ред большими буквами это значит ппц красная да? faustmangosПытался наваять схему в аксесе, так вот аксес ругался как только могНаваяйте на бумажке. Она все стерпит. faustmangosПредметы(ид предмета(К), ...)Прежде чем писать, что у предмета есть ИД, разберитесь с тем, какие вообще у вас будут сущности и атрибуты и как они друг с другом взаимодействуют. Просто, обычными русскими словами на бумажке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2014, 21:55 |
|
||
|
проектирование базы данных рпг
|
|||
|---|---|---|---|
|
#18+
softwarer, спасибо за ответ. Ну да, аксесс не лучшее средство для проектирования, попробую в mssql. Насчет сделать признак, что предмет куда-то одет, то мне, чтобы просмотреть одетые вещи - мне придется делать выборку по одетым предметам, а затем проверять какие предметы куда одеты и их тип, а где слот вообще пустой, или при одевании предмета мне придется искать не одет ли предмет такого класса. А так у меня получается уже готовые поля и все проблемы отпадают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2014, 22:08 |
|
||
|
проектирование базы данных рпг
|
|||
|---|---|---|---|
|
#18+
в mssql получилось :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2014, 22:53 |
|
||
|
проектирование базы данных рпг
|
|||
|---|---|---|---|
|
#18+
faustmangosИнвентарь(ид экземпляра предмета(К), ид перса, ид предмета) Зачем учитывать предметы поэкземплярно? Достаточно их общего количества. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2014, 23:27 |
|
||
|
проектирование базы данных рпг
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, ну например у каждого предмета может быть изношенность и тому подобное ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2014, 23:36 |
|
||
|
проектирование базы данных рпг
|
|||
|---|---|---|---|
|
#18+
faustmangosну например у каждого предмета может быть изношенность и тому подобное Тогда почему у одетого предмета есть только "ид вообще" вместо "ид экземпляра"?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2014, 23:42 |
|
||
|
проектирование базы данных рпг
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, одетый предмет ссылается на ид экземпляра, а ид экземпляра хранится в таблице Инвентарь где хранится перс (т.е. у кого предмет) и что именно за предмет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2014, 23:50 |
|
||
|
проектирование базы данных рпг
|
|||
|---|---|---|---|
|
#18+
faustmangosодетый предмет ссылается на ид экземпляра, а ид экземпляра хранится в таблице Инвентарь То есть предмет отображается одновременно в инвентаре и на персонаже? Забавно, нигде такого не видел. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2014, 00:01 |
|
||
|
проектирование базы данных рпг
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, я видел. Да даже если оно по другому отображается это еще не значит что оно по другому хранится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2014, 01:54 |
|
||
|
проектирование базы данных рпг
|
|||
|---|---|---|---|
|
#18+
faustmangosДа даже если оно по другому отображается это еще не значит что оно по другому хранитсяПрикольно потом будет писать запросы на количество свободных ячеек в инвентаре, игнорируя одетые. И игнорируя занятые места (либо делать место в инвентаре nullable для одетых). В общем, я бы точно выделил одетое как отдельный от инвентаря контейнер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2014, 07:57 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=24&tid=1540697]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
| others: | 9ms |
| total: | 141ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...