我有一个关于核心数据建模的问题,我想问一下。
我正在开发一款可以帮助用户记忆诗歌的应用。这首诗分为以下几种:
这首诗分为多个章节
每章分为多行
现在,因为这个,我想我会创建两个实体,如下所示:
因为我打算为用户播放音频,我也需要对音频文件的引用,这就是为什么我认为我需要AudioFile的实体。因此我也会:
所以我的章实体会调用一行Line实体,而每一行对象都会引用一个音频实体。这有意义吗?
答案 0 :(得分:1)
我可以想象每首诗都有一个音频文件,每个Line Entity都应该引用该音频文件的一部分。我会创建该实体“AudioFile”,但我会将其称为“AudioFileSplit”(正如您所说)字段: ReferenceToLineEntity,Start,End。 请注意,您不需要此实体中的字段ChapterNumber或LineNumber,因为这个新实体已经引用了它们(使用行引用可以获取行数据,章节数据和诗歌数据)。
现在,您需要存储音频文件的URL。可能你有一个叫做“诗”的实体。如果每首诗都有一个音频文件,你应该为诗实体添加一个新字段(AudioFileURL可能吗?)
恢复,我的Modell会像
PoemEntity:[诗歌领域],AudioFileURL,ReferenceToChapters
ChapterEntity:[Chapter for Chapter],SingleReferenceToPoem,ReferenceToLines
LineEntity:[字段为ine],SingleReferenceToChapter,SingleReferenceToAudioFileSplit
AudioFileSplit:SingleReferenceToLine,开始,结束
请注意,LineEntity和AudioFileSplit之间的关系是1:1,所以你甚至可以简化它:
LineEntity:[Line For Line],SingleReferenceToChapter,Start,End。 (并没有AudioFileSplit实体)
问候;)