Мой учитель сказал, что это не нормализовано, и я не могу понять, почему - PullRequest
0 голосов
/ 24 января 2019

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

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Сказать, что это salopp, нормализованный означает, что вы предотвращаете любые дубликаты.Например, у вас есть человек и связанные номера телефонов.Вы можете сделать это так:

Person    Type     Number
  A      Mobile    001234
  A      Mobile    004444
  A      Phone     005555

Теперь у вас есть Персона и Тип как дубликаты.Таким образом, вы применяете следующую структуру:

PersonID    Person
   1          A

PersonID    PhoneID
   1           1
   1           2
   1           3

PhoneID      TypeID    Number
   1           1       001234
   2           1       004444
   3           2       005555

TypeID        Type
  1          Mobile
  2          Phone

Теперь, если вы свяжете все вместе (PersonID с PersonID, PhoneID с PhoneID, TypeID с TypeID), вы получите первую таблицу, которую я написал.Эта структура также гарантирует, что ваши зависимости должным образом обеспечиваются ограничениями целостности базы данных (это необходимо для запросов на обновление, удаление и т. Д.).

Если вы примените эту систему в своей игровой команде, вы можете сделать это следующим образомthis:

  • Таблица с Team и TeamID
  • Таблица, которая связывает команды с результатами: GameID, HomeTeamID, GuestTeamID, ResultID
  • Таблица с Results и ResultID
  • Таблица для GameID для получения дополнительной информации об игре (например, время, место и т. Д.) *
  • Таблица с TeamID и PlayerID
  • Таблица с PlayerID ибольше информации об игроке (здесь вы должны учитывать, может ли игрок играть более чем в одной команде)
0 голосов
/ 24 января 2019

Как насчет этого ...

  1. Таблица 1: Все об играх - здесь есть все возможные игровые атрибуты.Это становится вашей таблицей измерений.
  2. Таблица 2: Все об игроках - здесь есть все возможные игроки (включая противников, поскольку они также являются игроками).Это становится вашей таблицей измерений.
  3. Таблица 3: Все о событиях - здесь есть все возможные события (связанные с соответствием).Это становится вашей таблицей фактов.
...