2016-04-23 3 views
1
CREATE TABLE if not exists PatientDetails 
(pt_id varchar(15) not null, 
    pt_name varchar(20) not null, 
    pt_sname varchar(20) not null, 
    pt_age numeric, 
    primary key(pt_id)); 

create table if not exists who_staging.Symptom (
sypt_id varchar(12) not null, 
symptom varchar(20) not null, 
primary key(sypt_id) 
); 

create table if not exists Medicine(
medi_id varchar(12) not null, 
medi_name varchar(20) not null, 
sypt_id varchar(12), 
foreign key(sypt_id) references who_staging.symptom(sypt_id), 
primary key(medi_id) 
); 

create table if not exists who_staging.FollowUp(
F_id varchar(10) not null, 
pt_id varchar(15), 
sypt_id varchar(12), 
medi_id varchar(12), 
foreign key(pt_id) references who_staging.PatientDetails(pt_id), 
foreign key(sypt_id) references who_staging.symptom(sypt_id), 
foreign key(medi_id) references who_staging.Medicine(medi_id), 
primary key(F_id) 
); 

Ist diese Referenzierung richtig für die folgenden?Vier Tabellen in Beziehung, PatientDetails, Symptome, Medizin und Follow-up

  1. Ein Patient kann mehrere Symptome haben.
  2. Für ein Symptom können mehrere Medikamente gegeben werden.
  3. Für mehrere Symptome kann ein Arzneimittel gegeben werden.
  4. Ein Patient kann mehrere Nachuntersuchungen haben.
  5. Wenn insbesondere Follow-up no ausgewählt ist, sollte das System die Patientendetails sowie den medizinischen Patienten anzeigen, für welches Symptom er/sie leidet.

würde ich sehr zu schätzen jede Hilfe

+1

für Anfänger ist pt_id nicht so heiß. Warum nicht für eine auto_inc int ID schießen? Wer diese Patientenidentität trotzdem zuweist und mit einer Auto_inc muss man nicht träumen – Drew

Antwort

0

Ich werde diese pt_id davon ausgehen, von einem anderen System kommt sonst @drew Kommentar eine bessere Wahl ist. Die Follow-up-Tabelle sollte Autoinkrement int ID haben, weil Ihr System sie erstellt und es ist besser, die eindeutigen Schlüssel automatisch zu erstellen.

1 ist korrekt, weil 4 korrekt ist - Ihr Schema erlaubt mehrere Nachuntersuchungen pro Patient und jede Nachsorge erfolgt für ein Symptom und ein Medikament für dieses Symptom für diesen Patienten.

2 ist korrekt, da es mehrere Medizin Zeilen mit demselben Symptom sein kann

3 korrekt ist, weil es mehrere Medizin Reihen mit unterschiedlichen Symptomen sein kann

5 arbeiten und so eine Patienten-ID-Auswahl und Anzeige aller Nachuntersuchungen für diesen Patienten.

Also, insgesamt ist dies ein guter Anfang, aber betrachten Sie die Vorschläge für Schlüssel. Sie werden wahrscheinlich einige Möglichkeiten finden, wie Sie sich verbessern können.

Verwandte Themen