sql在mysql中创建关系

q5lcpyga  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(233)

关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。

两年前关门了。
改进这个问题
目前,我在1个数据库中有3个表。
表1: patients 表2: checkups 表3: surgery 表1( patients )包含以下内容:

  1. ID
  2. First name
  3. Last name
  4. Born
  5. Residence
  6. Phone number
  7. Date added*(to the database)*

表2( checkups )包含以下内容:

  1. Column1
  2. Column2
  3. Column3
  4. Column4
  5. Column5
  6. Column6
  7. Column7
  8. Column8
  9. Column9
  10. Column10

表3( surgery )包含以下内容:

  1. Date
  2. Clinique
  3. Anesthesia
  4. 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手册中关于这个的部分。

mpbci0fu

mpbci0fu1#

我认为你不必担心用来描述关系的“词语”。
逻辑很简单:
“体检”有一个病人。所以它应该有一个非-
NULL patientid 与病人有外键关系。
“手术”只有一个病人。所以它应该有一个非-
NULL patientid 与病人有外键关系。
实现0/1-many关系并不重要。对业务实体的理解决定了您需要什么。

相关问题