我是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会成为玩家或游戏的属性吗?或者它应该是一个完整的实体吗?
感谢您的帮助。
答案 0 :(得分:0)
至于你的具体问题:
那么我会创建game1,game2,game3的属性吗?但像pac-man这样的其他游戏我只关心最终得分。那么game1,game2,game3会成为玩家或游戏的属性吗?或者它应该是一个完整的实体吗?
我建议您创建一个名为Games的对象类,并为其提供所需的属性,例如高分,最高等级。
如果你有不同类型的游戏,你有两个选择:
您创建了一个游戏层次结构,其中根游戏类包含所有常见属性,后代包含其特定内容 - 或者在这些情况下我更喜欢的内容,
其中类型之间的差异不是太复杂和太多,我只是将属性放在一个类中,并将它们用于需要它们的类型。
因此,在您的情况下,您首先需要以结构化的方式记下哪些属性需要哪些游戏,然后在类和子类之间决定属性过载和冗余。
ps这实际上不是核心数据问题,而是数据库设计。
你会看到,一旦你完成了这个结构,一切都会变得更加清晰......