Помогите настроить модель данных в Core Data - PullRequest
2 голосов
/ 06 января 2010

Я новичок в Core Data и пытаюсь выяснить, как настроить мою модель данных. Я сделал пример таблицы, чтобы попытаться показать, как мне нужны данные для связи.

First Name Last Name Competitor Number Gender Team Competition Game Name     All Time high Competition Scores 
Jon         Doe            1          M  Gamers     January   Donkey Kong       Lvl 5         Level #         1 2 3 4
                                                                                       Trys to complete    1   0 1 3
                                                             Pac Man        8000               game 1   7000      
                                                                                              game 2   8500      
                                                                                              game 3   9000      
                                                       March  Donkey Kong         Lvl 5        Level #        
                                                                                             trys        
                                                             Pac Man                         Game 1        
                                                                                              Game 2        
                                                                                              Game 3        
     Bob        Smith       2              M Players   January    Asteroids        34000            Game 1    30000      
                                                                                              Game 2   20000      
                                                                                              Game 3   10000      
                                                              Pac Man          7000           Game 1       5000      
                                                                                              Game 2    4500      
                                                                                              Game 3    7000  

Из того, что я прочитал, я думаю, что мне нужны объекты для игроков, соревнований, игр. С To-Many отношения между игроками и соревнованиями и gameNames, а также отношения между gameNames и соревнованиями.

А затем атрибуты имени, фамилии, номера участника, пола, команды для игроков. Атрибутами для соревнования будет месяц (или имя), Атрибутами для GameName будет имя.

А потом я застреваю, я не знаю, должен ли рекорд всех времен быть атрибутом GameName, потому что он должен быть связан с отдельным игроком, и у игроков будут разные высокие оценки для разных игр. Мне нужно иметь возможность отслеживать количество попыток и самый высокий уровень для таких игр, как осел-конг, так что я бы сделал атрибуты game1, game2, game3? Но в других играх, таких как pac-man, я забочусь только о конечном счете. Значит, game1, game2, game3 будут атрибутами игрока или игры? или это должна быть целая сущность сама по себе?

спасибо за любую помощь.

1 Ответ

0 голосов
/ 11 августа 2011

Что касается вашего конкретного вопроса:

, я бы сделал атрибуты game1, game2, game3?Но в других играх, таких как pac-man, я забочусь только о конечном счете.Значит, game1, game2, game3 будут атрибутами игрока или игры?или это должна быть целая сущность сама по себе?

Я бы посоветовал вам создать класс объектов с именем Games и присвоить ему необходимые вам атрибуты, такие как рекорд, высший уровень и т. д.

Если у вас есть разные типы игр, у вас есть два варианта:

  1. , вы создаете иерархию игр, в которой корневой Game-Class содержит все общие атрибуты, а потомки включают их специфику -или что я предпочитаю в тех случаях,

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

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

ps это на самом деле не столько проблема с основными данными, сколько дизайн БД.

Вы увидите, как только вы закончите с этим структурированием, все станет намного яснее ...

...