Это нормализовано правильно? - PullRequest
0 голосов
/ 15 марта 2019

Мне нужно нормализовать эту базу данных. Это приложение, которое позволит пользователям подписываться на игровые турниры, которые будут проводиться в реальных местах. При поиске турнира пользователь может либо зарегистрироваться для участия в турнире, спонсировать событие или просмотреть турнир. Там будет несколько турниров, таких как Fortnite, Apex, и что у вас. Игры будут на таких платформах, как PS4, ПК и Xbox. В турнире могут участвовать несколько игроков, и они могут быть подписаны на несколько турниров одновременно, то же самое для зрителей и спонсоров. Каждый результат должен быть сохранен, например, выигрыши и проигрыши, и помещен в списки лидеров. Пожалуйста, помогите мне нормализовать эту диаграмму ERD.

enter image description here

1 Ответ

0 голосов
/ 15 марта 2019

Для нормализации базы данных вы должны убедиться в следующих правилах:

1) Значения в каждом столбце таблицы являются атомарными.

Я не уверен, что вы намереваетесь оставить в столбцах выигрышей и проигрышей ваших таблиц. Но они должны быть атомными. Количество побед в порядке, но что выигрышей нет.

2) Нет дубликатов

Я не вижу явной двуличности, поэтому я думаю, что эта часть в порядке.

3) Нет транзитивной зависимости

В турнирной таблице есть как команды, так и геймер FK. Если игрок может участвовать в Турнире, только если он в команде, значит, у вас есть переходная зависимость, и вы должны удалить GamerTag из таблицы. То же самое относится к таблице лидеров и таблице результатов

Существуют и другие исправления, например, в таблицах игр есть столбец «имя атрибута». В Командном столе TournamentID не установлен как FK, и GamerTag не является FK, потому что не является PK в таблице игроков. Таблица пользователя также имеет «имя атрибута». Среди других

Кроме того, я не уверен, что эта модель действительно сделает то, что вы хотите. В общем, имена ваших столбцов не являются мнемоническими, поэтому я не могу быть на 100% уверен в том, что они есть. Как и таблица «Лидер Fk в результатах».

Для первой модели это хорошее начало. Я рекомендую, прежде чем вы продолжите нормализовать его, тщательно его пересмотрите и напишите, какова цель каждого столбца.

Нормализация - полезная вещь для ваших таблиц, но не всегда лучший способ их хранения. Так что я бы тоже перестал думать, действительно ли это необходимо делать.

...