2016-10-22 59 views
-4

我正在制作一个程序,并且我被卡在患者病史部分。我不确定我是否应该为每位患者制作一张桌子,但是由于我创建的所有桌子都会使得该程序在某个时候变得缓慢。我真的在这方面达到了最低点。需要一些专业建议,我仍然是编程新手,仍然想学习。你需要一些帮助C#我需要为每个患者创建一个新表格

+1

这个问题与c#和visual studio 2010无关。它是一个数据库设计问题 – pinkfloydx33

+0

我对我做的错误标记表示歉意。再次,我仍然对编程和本网站不熟悉。我会记住将来的问题,我会让THANKs为您的答案很多^ _^ –

回答

0

你应该做一个Patient表和Patient-History表。 如何取决于您需要在历史记录表中存储的内容,但患者历史记录表应该有一个外键给患者表。

+0

是否可以将患者姓名连接到另一个包含他的历史记录的表? –

+0

当然!正如我以前写的,您使用外键将Patient表与Patient-History关联起来。在您的Patient表中创建一个名为PatientId的字段(或类似的东西)。在历史记录表中,您可以创建一个名为Patient_FK(外键或其他)的字段。每次在历史记录表格中插入新行时,都需要将PatientId添加到该行。 –

0

必须只有一个包含历史记录和患者标识的表(患者表中的标识)必须在列中引用。所以你可以通过一个简单的查询检索每一位病人的病史

0

你是指数据库中的新表吗?虽然这在某些引擎中是可行的,但除非您有特别的要求(例如:在不具有每行权限的引擎中为每位患者分开权限),您应该为患有ID的患者使用表格,然后患者病史表中的Patient ID列,以及参照完整性(通过外键)链接它们。请致电Database Normalization。在某些情况下,您可能需要Denormalization以提高性能(或者在极少数情况下用于安全性),但一般建议是为数据库创建规范化设计,然后根据需要进行非规范化。

+0

只是一张桌子。我想连接病人的名字..病人的历史..因为如果我的程序只是添加病人,我不认为这可以给一个好成绩哈哈。我需要能够存储患者病史。并可以将它连接到患者,以便任何东西都不能放错位置 –

+0

@JohnSheldonCo当患者有同名患者时,您会做什么?你不应该冒这个风险,这就是为什么你需要某种形式的独特识别。 – Theraot

0

SQL'table'有点类似于C#'class'。因此,不是在编码时为每个患者定义一个新类,而是在运行时为每个患者实例化一个类的实例。所以用SQL,而不是CREATE TABLE PatientJoeBloggs为每个病人,你INSERT INTO Patients VALUES ('Joe Bloggs' ...);

现在我不知道你的C#类是什么样的,但我已经在我的时间里看到了一些病人的病历模式,我可以告诉你,你将需要很多表。有些表格可能有历史因素(咨询,药物治疗等),但其他表格可能不会(例如亲属关系)。祝你好运!

相关问题