powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Нормализация Базы Данных
25 сообщений из 35, страница 1 из 2
Нормализация Базы Данных
    #37873537
jazzmusicmate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, господа программисты!
Создатю небольшую базу данных для игры. База должна содержать информацию о профилях (индекс, количество пройденных уровней, число заработанных апгредов и т.п.) причём в базе должна присутствовать информация о том сколько апгрейдов заработал профиль в том или ином уровне! то есть
prof_id level_num upgrade_num
1 1 R
1 2 R
1 3 R
2 1 R
2 2 R
2 3 R
3 1 R
3 2 R
3 3 R
где R - случайное число (к примеру от 0 до 10)

Последнее что пришло в голову - это создать для каждого профиля таблицу levels-upgrades, но эта идея не особо радует т.к. при создании новых профилей придется создавать дополнительные таблицы.
Помогите оптимизировать базу безболезненно)))) Заранее спасибо
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873774
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jazzmusicmateПомогите оптимизировать базу безболезненно

Я не вижу предпосылок к оптимизации. Зачем она Вам понадобилась?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873780
Ares_ekb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Куда ещё нормализовывать? Итак 6НФ )
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873793
jazzmusicmate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за ответы!
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873819
Ares_ekb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, но тут явно есть какая-то зависимость... При удалении определенного уровня у профиля, нужно удалить и все последующие его уровни. Как и при вставке, должны быть вставлены все предшествующие. Гуру, просветите, что это за зависимость? )
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873828
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ares_ekbПри удалении определенного уровня у профиля, нужно удалить и все последующие его уровни. Как и при вставке, должны быть вставлены все предшествующие
Это ещё почему?
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873829
jazzmusicmate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ares_ekb,
при удалении профиля обнуляются значения всех пройденных уровней не более о какой вставке вы говорите?
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873836
Ares_ekb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Васкецов,

а... уровни не обязаны быть последовательными... Я почему-то решил, что в базе есть ещё такое упорядочивающее отношение:
Текущий уровеньСледующий уровень12233445......
Если уровни нельзя перескакивать, то что это за зависимость?

jazzmusicmate,

я имел ввиду удаление и вставку уровней. Например, человек прошел уровни с 1 по 5. Потом, вдруг, оказывается, что на 3 уровне он использовал чит, и мы решаем удалить информацию о прохождении этого уровня. Что делать с 4 и 5 уровнями? Или он каким-то образом пройдет 8-ой уровень, минуя 6 и 7. Текущая схема данных позволит нам вставить запись о 8-ом уровне, не вставляя 6 и 7. Это явная аномалия.


В принципе, вопрос больше теоретический )))
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873842
jazzmusicmate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ares_ekb,
честно говоря не заморачивался по поводу слежений за пройденными уровнями с читами))
система работает следующим образом:
после прохождения каждого уровня игрока перебрасывает на сцену где он может выбрать уровень из списка т.е. каждый пройденый уровень открывает последующий
если игрок удаляет профиль то чистится соответствующая запись в таблице profiles и таблица levels-upgrades, которая хранит значения всех заработанных на каждом уровне апгрейдов.
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873844
jazzmusicmate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще я именно как раз заморачивался над тем как связать профиль из таблицы profiles и данные о количестве пройденных уровней с их апгрейдами. В итоге остановился всё таки на том, что буду при создании профиля создавать таблицу SQL -запросом которая в имени будет иметь id этого профиля(например если profileid=2 то таблица назовется levels-upgrade_2)
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873849
Ares_ekb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jazzmusicmate,

нафига?? ) Чем
prof_idlevel_numupgrade_num не устраивает??
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873853
jazzmusicmate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я конечно новичёк в работе с базами данных, но мне кажется что запрос удаляющий информацию из таблицы такой структуры будет выполнятся несколько дольше чем запрос чистящий таблицу привязанную к определенному профилю. Поправте меня господа если я ошибаюсь
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873858
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ares_ekbпозволит нам вставить запись о 8-ом уровне, не вставляя 6 и 7. Это явная аномалия
Разве? Если чел прошёл 8 уровень, не пройдя 7-й - это проблема игры, а не схемы данных. Схема должна поразумевать усточивость к небольшим изменениям в исходной постановке задачи.
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873864
Ares_ekb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Васкецов,

но если исходная постановка подразумевает игру с упорядоченными уровнями, то отмена этой упорядоченности, имхо, уже достаточно сильное изменение. Не факт, что пропущенные уровни - это проблема игры, раз схема данных их допускает, она уже не идеальна )
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873869
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jazzmusicmateмне кажется что запрос удаляющий информацию из таблицы такой структуры будет выполнятся
несколько дольше чем запрос чистящий таблицу привязанную к определенному профилю.

А сколько миллионов уровней в твоей игре?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873872
jazzmusicmate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
конечно же миллионов нет и профилей также не миллионы единственное о чем я заморачивался так это об упорядоченности данных в БД да и с точки зрения ООП это звучит логичнее имхо
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873874
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jazzmusicmateконечно же миллионов нет
Тогда нет и проблем с удалением записей из таблицы. Точка.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873875
Ares_ekb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jazzmusicmateда и с точки зрения ООП это звучит логичнее имхоТогда заводи для каждого профиля отдельный класс, чоуж ))
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873878
jazzmusicmate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ares_ekb,
отдельный класс для профиля имеется)
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873879
Ares_ekb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jazzmusicmate,

для каждого профиля )
class Profile1 {}
class Profile2 {}
и т.д.

Грубо говоря (один) класс соответствует (одной) таблице, (один) экземпляр класса / объект соответствует (одной) строке таблицы.
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873887
jazzmusicmate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ares_ekb,
класс имеет интерфейс в котором содержится данные профиля - этот класс 1
нет смысла создавать class Profile1, class Profile2 поскольку инициализация (или конструктор как вам будет угодно) будет менятся в зависимости от выбранного профиля - ведь невозможно играть одновеременно под несколькими профилями
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873895
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jazzmusicmateкласс имеет интерфейс в котором содержится данные профиля - этот класс 1
нет смысла создавать class Profile1, class Profile2
Но какой-то смысл в создании отдельных таблиц на каждый профиль ты же нашёл... Вот и в
твоём ООП класс Profile1 имеет интерфейс профиля первого игрока, класс Profile2 имеет
интерфейс профиля второго игрока и т.д.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873896
Ares_ekb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jazzmusicmateнет смысла создавать class Profile1, class Profile2Тогда нет смысла создавать таблицы levels-upgrade_1, levels-upgrade_2 и т.д. Т.к. количество таблиц, грубо говоря, соответствует количеству классов.

И дело даже не в том, что человек не может играть одновременно под двумя профилями, а в том, что эти классы Profile1, Profile2 и т.п. один в один будут дублировать друг друга, они будут отличаться только названием. Как и таблицы levels-upgrade_1, levels-upgrade_2, ...
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873900
jazzmusicmate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
в том то и смысл что класс Profile сам создает дополнительную таблицу для своего экземпляра, и так же благополучно её удаляет при своём уничтожении. Но это не значит что мне нужно следить за свеми профилями одновременно поскольку этим занимается класс Profile
...
Рейтинг: 0 / 0
Нормализация Базы Данных
    #37873906
Ares_ekb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jazzmusicmate,

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


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