2010-01-06 3 views
2

Я новичок в 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 отношения между игроками и соревнованиями и именами игр, а также отношения между игровыми именами и соревнованиями.

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

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

благодарит за любую помощь.

ответ

0

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

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

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

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

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

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

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

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

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

Смежные вопросы