关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。
两年前关门了。
改进这个问题
目前,我在1个数据库中有3个表。
表1: patients
表2: checkups
表3: surgery
表1( patients
)包含以下内容:
ID
First name
Last name
Born
Residence
Phone number
Date added*(to the database)*
表2( checkups
)包含以下内容:
Column1
Column2
Column3
Column4
Column5
Column6
Column7
Column8
Column9
Column10
表3( surgery
)包含以下内容:
Date
Clinique
Anesthesia
Comments
列 ID
在表1中( patients
)设置为 PRIMARY Key
以及 UNIQUE
索引和设置为 INT(11)
.
名为 patients
很明显,会容纳独特的病人。
名为 checkups
将保存各种检查后收集的数据。对于同一患者,此表可以包含多行,每行的字段值不同。
例子:
在检查表中,患者#43可以有4行数据(4次检查)。
在检查表中,患者#21可以有1行数据(1次检查)。
在检查表中,患者#78可以有11行数据(11次检查)。
……等等。
名为 surgery
将保存有关手术安排的患者数据(时间、地点等)。类似 checkups
表中,每个患者可以在此表中有多行。
后期目标:
我计划在我正在开发的应用程序中与这个数据库进行连接和交互。我希望以这样一种方式链接这些表:当我在应用程序中选择一个患者时(患者将在 DBGrid
)他所有的行(检查)从 checkups
表格将显示在另一个 DBGrid
他所有的手术时间表都会以同样的方式显示在另一个屏幕上 DBGrid
.
当我从列表中选择不同的患者时,同样的事情也会发生。
问题/问题:
如何链接这些表/列以获得最终结果(如上所述)?我已经开始浏览mysql手册,但我似乎无法理解这里所解释的关系。具体来说是1到1,1到多,识别和非识别类型。我应该用哪些来实现我的目标?
我正在使用mysql 8.0.3(他们网站上的社区版),设置为innodb,并通过workbench进行交互。刚刚打开mysql models选项卡并修改eed图
我希望有一个写得很好的例子,教程或者其他一些可以阅读的源代码,而不是mysql手册中关于这个的部分。
1条答案
按热度按时间mpbci0fu1#
我认为你不必担心用来描述关系的“词语”。
逻辑很简单:
“体检”有一个病人。所以它应该有一个非-
NULL
patientid
与病人有外键关系。“手术”只有一个病人。所以它应该有一个非-
NULL
patientid
与病人有外键关系。实现0/1-many关系并不重要。对业务实体的理解决定了您需要什么。