【发布时间】:2017-01-15 16:03:24
【问题描述】:
我正在尝试开发一个 android 应用程序,用户可以在其中为孩子们创建故事。我正在使用 Sqlite 创建我的数据库,我想知道我的关系数据库是否正常。
- 具有主键故事 ID 并存储故事名称的故事表
-
它存储页面内容和编号并将其与哪个故事相关联的页面表。但我没有主键
CREATE TABLE story ( storyID INTEGER PRIMARY KEY, storyTitle TEXT ); CREATE TABLE pages ( page INTEGER, content TEXT, storyID INTEGER );
【问题讨论】:
-
这个问题似乎与这里无关。但是 -
pages表的主键应该是(page, storyID)。 -
第一范式要求关系数据库中的每一行都有一个主键。当然,您的 PAGE(单数)表将有一个主键。如果您没有自然候选键,则应为每一行创建一个代理键。
标签: sqlite database-design primary-key composite-primary-key