2016-10-22 60 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#類是什麼樣的,但我已經在我的時間裏看到了一些病人的病歷模式,我可以告訴你,你將需要很多表。有些表格可能有歷史因素(諮詢,藥物治療等),但其他表格可能不會(例如親屬關係)。祝你好運!

相關問題