帮助在Core Data中设置数据模型

时间:2010-01-06 19:47:45

标签: iphone core-data datamodel

我是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的属性,因为它需要与个人玩家相关联,并且玩家将针对不同的游戏获得不同的高分。我需要能够跟踪尝试次数以及像驴子这样的游戏的最高级别,那么我会创建game1,game2,game3的属性吗?但像pac-man这样的其他游戏我只关心最终得分。那么game1,game2,game3会成为玩家或游戏的属性吗?或者它应该是一个完整的实体吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

至于你的具体问题:

  

那么我会创建game1,game2,game3的属性吗?但像pac-man这样的其他游戏我只关心最终得分。那么game1,game2,game3会成为玩家或游戏的属性吗?或者它应该是一个完整的实体吗?

我建议您创建一个名为Games的对象类,并为其提供所需的属性,例如高分,最高等级。

如果你有不同类型的游戏,你有两个选择:

  1. 您创建了一个游戏层次结构,其中根游戏类包含所有常见属性,后代包含其特定内容 - 或者在这些情况下我更喜欢的内容,

  2. 其中类型之间的差异不是太复杂和太多,我只是将属性放在一个类中,并将它们用于需要它们的类型。

  3. 因此,在您的情况下,您首先需要以结构化的方式记下哪些属性需要哪些游戏,然后在类和子类之间决定属性过载和冗余。

    ps这实际上不是核心数据问题,而是数据库设计。

    你会看到,一旦你完成了这个结构,一切都会变得更加清晰......