Я нахожусь в процессе планирования моей БД в MySQL для следующего сценария -Нормализация с 0/NULL значениями или может быть спроектирована лучше?
Я пытаюсь построить пьесу системы игры, такие как НБ, где такие события, как
Play event[id, play_type_id, play_outcome_id, points]
Substitution event[id, player1_in_id, player2_out_id]
Foul event[id, foul_type_id, player_id]
В основном play_by_play показателей конкретное событие должно быть связано с конкретным временем и матч
Play_by_Play[id, match_id, time_id, play_event_id, substitution_event_id, foul_event_id]
Однако если предположить на одной конкретной минуты только один из трех событий принимает место- только одну запись событий из трех будет иметь идентификатор, и О.Т. у нее будет 0 или NULL. Я остался с вопросом, является ли эта нормальная нормализация для этого дизайна или есть лучший способ сделать это?
Для игровой системы play_by_play вам необходимо объединить таблицы и получить требуемые данные. Это должно быть представление не таблицы. –
Благодарим вас за ответ. Вы правы, я мог бы присоединиться к столам. Однако моя проблема заключается в том, что если мне нужно вставить запись Play Play, это выглядит следующим образом: [1,10,5,0,1,0] означает, что только одно из событий среди участников получает запись в определенное время, и я вынужден войти 0 для других событий. Можете ли вы предложить, как я могу сделать этот дизайн лучше? – siva
У вас не должно быть таблицы под названием play by play, жаль, что я не понимаю, как работает баскетбольная игра, но вы должны разделить свои таблицы так, чтобы одна вставка только обрабатывала один тип событий и влияла только на таблицу, связанный с, если у вас есть таблица, которая не соответствует бизнес-модели, то это не правильная схема. –