Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MySQL中创建关系_Mysql_Sql_Mysql Workbench - Fatal编程技术网

在MySQL中创建关系

在MySQL中创建关系,mysql,sql,mysql-workbench,Mysql,Sql,Mysql Workbench,目前,我在1个数据库中有3个表 表1:患者 表2:体检 表3:手术 表1包括以下内容: ID First name Last name Born Residence Phone number Date added*(to the database)* Column1 Column2 Column3 Column4 Column5 Column6 Column7 Column8 Column9 Column10 Date Clinique Anesthesia Comments 表2检查包含

目前,我在1个数据库中有3个表

表1:患者 表2:体检 表3:手术 表1包括以下内容:

ID
First name
Last name
Born
Residence
Phone number
Date added*(to the database)*
Column1
Column2
Column3
Column4
Column5
Column6
Column7
Column8
Column9
Column10
Date
Clinique
Anesthesia
Comments
表2检查包含以下内容:

ID
First name
Last name
Born
Residence
Phone number
Date added*(to the database)*
Column1
Column2
Column3
Column4
Column5
Column6
Column7
Column8
Column9
Column10
Date
Clinique
Anesthesia
Comments
表3包含以下内容:

ID
First name
Last name
Born
Residence
Phone number
Date added*(to the database)*
Column1
Column2
Column3
Column4
Column5
Column6
Column7
Column8
Column9
Column10
Date
Clinique
Anesthesia
Comments
表1中的列ID设置为主键和唯一索引,并设置为INT11

显然,名为patients的表将包含唯一的patients

名为checkups的表将保存在各种检查之后收集的数据。 对于同一患者,此表可以包含多行,每行具有不同的字段值

例如:

在检查表中,患者43可以有4行4次检查的数据。 在检查表中,患者21可以有1行数据1检查。 在检查表中,患者78可以有11行11次检查的数据。 ……等等

名为“手术”的表将保存有关手术时间、地点等的患者数据。与检查表类似,每个患者在此表中可以有多行

后来的目标:

我计划在我正在开发的应用程序中与这个数据库进行连接和交互。我希望以这样一种方式链接这些表:当我在应用程序中选择一个患者时,患者将在DBGrid中可见,他在检查表中的所有行检查都将显示在另一个DBGrid中,他的所有手术计划也将类似地显示在另一个DBGrid中

当我从列表中选择不同的患者时,同样的情况也会发生

问题:

如何链接这些表/列以实现上面所述的最终结果?我已经开始浏览MySQL手册,但我似乎无法理解其中所解释的关系。特别是1到1、1到多、识别和非识别类型。 我应该使用哪一个作为我的目标

我正在使用mysql 8.0.3社区版,从他们的网站设置为InnoDB,并通过Workbench进行交互。刚刚打开MySQL模型选项卡,修改EED图


我希望您能阅读一个写得好的示例、教程或其他资料,而不是mysql手册中关于这方面的部分。

我认为您不必担心用来描述关系的词语

逻辑相当简单:

检查有一个病人。因此,它应该有一个非空的patientid,该ID与患者具有外键关系。 手术有一个病人。因此,它应该有一个非空的patientid,该ID与患者具有外键关系。
实现0/1多个关系并不重要。对业务实体的理解决定了您需要什么

没有解释的否决票非常有用。谢谢。看来大家都投票决定结束这场比赛,因为范围太广了。这也是一个关于堆栈溢出的错误:[where is]是一个编写良好的示例、教程或其他一些源代码。这就需要非现场资源。但这个问题似乎是一个写得很好的设计问题。也许你会更幸运。@jww不认为它太宽泛了,但不管怎样。事实上,还有数百个写得很差的问题没有受到这样的抨击。很多人都有同样的要求。许多答案都是类似的,一开始只是示例,最后是附加的非现场资源以进一步阐述。这就是我所指的。我猜人们只是吹毛求疵。好的,我自己关上。无论如何,谢谢你对此事的评论。我一定会看看你的建议。