powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите с нормализацией следующей схемы.
12 сообщений из 12, страница 1 из 1
Помогите с нормализацией следующей схемы.
    #39243269
dimon-hacker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите с нормализацией следующей схемы.
Существует 3 таблицы, пользователи,вопросы, результаты.
В таблице Results хранятся баллы всех пользователей по всем вопросам, НО уникальным в таблице Results будет ключ
users.id-Questions.idQuestions-Results.vozrast, т.к. на вопросы можно отвечать повторно, если в прошлом баллы не были набраны, а возраст стал больше предыдущего. Возраст вычисляется как разница системного времени от даты рождения в таблице users.
Будет ли такая схема нормальной и в какой форме, или следует как-то отделить атрибут возраст?
...
Рейтинг: 0 / 0
Помогите с нормализацией следующей схемы.
    #39243286
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimon-hacker,

у тебя нарисовано немного не то, что написано.
нарисуй нормально.
...
Рейтинг: 0 / 0
Помогите с нормализацией следующей схемы.
    #39243294
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimon-hackerВ таблице Results хранятся баллы всех пользователей по всем вопросам, НО уникальным в таблице Results будет ключ
users.id-Questions.idQuestions-Results.vozrast, т.к. на вопросы можно отвечать повторно, если в прошлом баллы не были набраны, а возраст стал больше предыдущего.
Будет ли такая схема нормальной и в какой форме, или следует как-то отделить атрибут возраст?


ничего ненормально го в этом нет.

другое дело, что у тебя не будет сущности «сеанс ответа пользователя на вопросы", и если она будет нужна, то её придется собирать из таблицы ответов distinct-ом.
...
Рейтинг: 0 / 0
Помогите с нормализацией следующей схемы.
    #39243299
dimon-hacker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,

Из таблицы результатов нужно будет собирать такие данные:
Сколько баллов за данный вопрос(группу вопросов), в конкретном возрасте получил такой- то пользователь. Эти данные будут наноситься на график и отображать динамику изменений.
...
Рейтинг: 0 / 0
Помогите с нормализацией следующей схемы.
    #39243301
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimon-hackerБудет ли такая схема нормальной и в какой форме, или следует как-то отделить атрибут возраст?Мгновенное значение свойства "текущий возраст" экземпляра сущности "пользователь" являентся значимым атрибутом экземпляра сущности "ответ". Схема - нормальная.

dimon-hackerна вопросы можно отвечать повторно, если в прошлом баллы не были набраны, а возраст стал больше предыдущегоПредставленная схема не позволяет проводить такой тип контроля непротиворечивости данных. Для поддержания целостности данных необходим уникальный индекс из 3 полей (user,question,vozrast) для исключения повторного ответа при том же возрасте вне зависимости от ответа. Полное же исключение ответа после того, как ответом были набраны баллы, вне зависимости от возраста, в MySQL без переопределения данных или дополнительной расчётной над-логики нереализуем.
...
Рейтинг: 0 / 0
Помогите с нормализацией следующей схемы.
    #39243305
dimon-hacker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dimon-hackerБудет ли такая схема нормальной и в какой форме?
Я имею ввиду правила нормализации БД с первой по 6 форму.
...
Рейтинг: 0 / 0
Помогите с нормализацией следующей схемы.
    #39243308
dimon-hacker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Представленная схема не позволяет проводить такой тип контроля непротиворечивости данных. Для поддержания целостности данных необходим уникальный индекс из 3 полей (user,question,vozrast) для исключения повторного ответа при том же возрасте вне зависимости от ответа. Полное же исключение ответа после того, как ответом были набраны баллы, вне зависимости от возраста, в MySQL без переопределения данных или дополнительной расчётной над-логики нереализуем.
Этот контроль осуществляется внешним приложением использующим данную БД.
Думайте стоит решить этот вопрос средствами СУБД?
...
Рейтинг: 0 / 0
Помогите с нормализацией следующей схемы.
    #39243309
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimon-hackerконтроль осуществляется внешним приложением использующим данную БД.
Думайте стоит решить этот вопрос средствами СУБД?
Я не верю внешним приложениям. Если средства СУБД позволяют накосячить в данных - это обязательно произойдёт. Вопрос лишь в том, насколько быстро, как часто, и сильно ли больно.
...
Рейтинг: 0 / 0
Помогите с нормализацией следующей схемы.
    #39243330
dimon-hacker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Я так понял что данная команда
alter table results
add primary key (id, idQuestions,vozrast);
Создает первичный ключ, состоящий из 3-х полей и исключает возможность повторения ответа на вопрос в текущем возрасте.

Других изменений в схему не требуется?
...
Рейтинг: 0 / 0
Помогите с нормализацией следующей схемы.
    #39243351
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему первичный? как раз в такой таблице я бы предложил синтетический первичный, а этот индекс просто UNIQUE. Да ещё с учётом запросной нагрузки над порядком полей в нём поколдовал бы...
...
Рейтинг: 0 / 0
Помогите с нормализацией следующей схемы.
    #39243380
dimon-hacker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
По вашим ответам вижу, что вы профессионал, боюсь на данном этапе мне пока сложно вас понять, но хочу поблагодарить вас и всех остальных, что помогаете!
Остановлюсь пока на том, что есть. Создал уникальный ключ из 3 полей, тем самым запретив дублирование без изменения возраста. Разобрались с нормальностью, правда так и не понял какой она формы...
Всем еще раз спасибо!
...
Рейтинг: 0 / 0
Помогите с нормализацией следующей схемы.
    #39245313
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimon-hackerdimon-hackerБудет ли такая схема нормальной и в какой форме?
Я имею ввиду правила нормализации БД с первой по 6 форму.

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


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