1

Ich bin neu in Datenbanktabellen und Beziehungen .Ich für die unten aufgeführten Anforderungen etwas Hilfe benötigenZwei Fremdschlüssel verweisen eine Tabelle und null können Fremdschlüssel

Arbeit

1. Hospital will have Male Patient 
    2. Hospital will have Female Patient 
    3. Hospital Will have Couple Patient but in RegTable it will stored as separate record for male and female. 

Für die oben genannten Anforderungen die Tabellenstruktur entworfen unter

Ansatz 1

RegTable

+-------+---------+---------+ 
| RegID | Name | Gender | 
+-------+---------+---------+ 
|  1 | XXX  | M  | 
|  2 | XXX  | M  | 
|  3 | Husband | M  | 
|  4 | Wife | F  | 
+-------+---------+---------+ 

RegDetail

+----+------+-------+ 
| Id | FK_1 | FK_2 | 
+----+------+-------+ 
| 1 | 1 | Null | 
| 2 | 2 | Null | 
| 3 | 3 | 4  | 
+----+------+-------+ 

FK_1 ist FK_2 von RegID Regtable

Ich habe zwei Fragen

  1. ist mein aktueller Ansatz richtig ist oder nicht?
  2. Gibt es einen alternativen Ansatz für den oben genannten Arbeitsablauf.

Bitte helfen Sie mir, dies zu lösen. Danke im Voraus

Antwort

1

Sie benötigen hier keine 2 Tabellen. Sie können es wie unten gezeigt tun.

RegTables - this is the only table you need 

Id int PK 

Name string 

Gender String 

PatientType tinyint 

Hier können Sie enum Type halten für Single und couple trennen.

public enum PatientType : byte 
    { 
     Single=1, 
     Couple =2, 
    } 

Update:

Treatments table 

Id int PK 

Name string 

RegId int FK --> this is the foreign key referencing RegTables table 
+0

Danke Sampath für Ihre Antwort. Aber wie ich das Männchen und Weibchen identifizieren kann gehört zum Paar. Wie in Reg Detail 3,4 Zeile wird auf Paar –

+0

Mit dem 'Type' enum. Sie können es als "1" speichern, wenn es ein Paar ist. – Sampath

+0

+ ------- + --------- + --------- + | RegID | Name | Geschlecht | Typ + ------- + --------- + --------- + | 1 | XXX | M | 0 | 2 | XXX | M | 0 | 3 | Ehemann | M | 1 | 4 | Frau | F 1 + ------- + --------- + --------- + Gefällt mir richtig –

1

Ich würde vorschlagen, die dritte Tabelle RegRecords mit Feld ID, Hinweis, Datum. Es enthält Registrierungsdaten ohne Link zu RegTable. Sie werden also Links zu echten Personen in RegDetail speichern, die nur zwei Felder haben: FK_KEY_RegRecords und FK_KEY_RegTable.

+0

Dank Andrej. Können Sie das bitte kurz erläutern? –

+0

Welcher Teil ist nicht klar? –

+0

Ich habe Zweifel mit RegRecords. Mit RegRecords werde ich herausfinden, ob der Patient ein Paar ist. –

Verwandte Themen