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  

从我读过的内容来看,我认为我需要玩家、比赛、游戏名称的实体。玩家与比赛和游戏名称之间的多对多关系,以及游戏名称和比赛之间的关系。

然后是名字、姓氏、参赛者编号、性别、球员所在球队的属性。比赛的属性是月份(或名称),GameName 的属性是名称。

然后我就卡住了,我不知道历史最高是否应该是 GameName 的一个属性,因为它需要与单个玩家相关联,并且玩家在不同的游戏中会有不同的高分。我需要能够跟踪像大金刚这样的游戏的尝试次数和最高级别,所以我会制作游戏 1、游戏 2、游戏 3 的属性吗?但是像吃豆人这样的其他游戏我只关心最终得分。那么 game1, game2, game3 是玩家的属性还是游戏的属性?还是它本身应该是一个完整的实体?

谢谢你的帮助。

4

1 回答 1

0

至于你的具体问题:

那么我会制作game1,game2,game3的属性吗?但是像吃豆人这样的其他游戏我只关心最终得分。那么 game1, game2, game3 是玩家的属性还是游戏的属性?还是它本身应该是一个完整的实体?

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

如果您有不同类型的游戏,您有两种选择:

  1. 您创建了一个游戏层次结构,其中根 Game-Class 包含所有常见属性,而后代包含它们的细节 - 或者在这些情况下我更喜欢什么,

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

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

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

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

于 2011-08-10T21:56:27.233 回答