数据库设计需要帮助

Mic*_*les 1 mysql sql oracle erd

设计数据库以存储有关美国总统及其任期的详细信息.此外,记录他们的日期和出生地点,性别和政党关系的详细信息.你需要记录总统的顺序,以便确定任何总统的前任和继任者.请记住格罗弗克利夫兰有两个不连续的条款,政治背景可以改变.

这是我到目前为止让我知道如果可以改善这一点.我怎么能这样做"任何总统的前任和继任者都可以被识别"这是使用递归关系完成的,我将如何执行此操作?

Table President       Table Origin

PK presID            PK orID    
   presFName            orCity
   presLName            orState
   affiliation          birthDate
   gender
   term
Run Code Online (Sandbox Code Playgroud)

Ada*_*rth 5

那么,在这种情况下你有两个实体(表):总统和条款.条款将记录该期限的日期和当前主席.

总统表将记录总统的详细信息,不包括条款,因为条款表中对此进行了说明.

知道这一点,你可以自己回答问题.以下是一些线索:

确定前任和继任者. 这将在日期之前完成,因此您知道前一个是您现在正在查看的前一个日期,并且后续日期将是之后的紧接日期.请注意,您所看到的总统(第一任总统和现任总统)可能并不总是存在前任和继任者.

您想查看ORDER BY [DATE]和SELECT TOP ...

从技术上讲,设计可以进一步为出生地创建第三个表,但这是语义.

你当前的想法将术语列入总统表 - 这不包括任期的第二任总统.但是,您可以使用两列 - 但数据的规范化将向您显示条款可能是一个单独的表(但是,设计参数表示每个只有两个术语,因此它的摆动和环形交叉).

实际上,很多关于总统的数据可以使用规范化规则扩展到其他表中 - 但我不会放弃它...

如果您有任何具体问题,请在评论中提问 - 我一直是间接的,因为它的功课:)