2012-04-02 16 views
2

私はDr患者予約システムを製作しようとしています。アクセス予約システム

Patient:-   Doctor:-   Appointment:-    Availability:- 
patientID   doctorName   time      time 
name    room    date      doctorName 
address        patientID 
             doctorName 

すべての関係は多くの側面が予定表から出てくると、1 manysにあり - :これまでのところ、私は4つのテーブルを持っています。

患者: - 患者の詳細については、表

ドクター: - 医師のためのテーブルが

予定詳細: - 予定

可用性のためのテーブル: - それぞれの医師がいるタイムスロットを格納するテーブルを利用可能

しかし、これは私にとっては比較的新しいものであり、私はかなりスローされています。まず、医師の表でDoctorIDのフィールドを持って、それを医師の名前の代わりに主キーとして使用する必要がありますか?たとえそのテーブルにほんの一握りのレコードしか存在しなくてもそうです。

第2に、doctorNameの代わりにすべてのテーブルでDoctorIDに変更する必要があった場合は、必要な場合にdoctorsNameに簡単にアクセスできますか?この部分は私を混乱させるもので、多分私はこれらのことを考えているだけかもしれません。

私が尋ねる理由は、例えば、私がdoctorIDを示した予定の報告書を作成していたとしたら、関係権に基づいて医師の名前を得ることができるはずですか?同様に、患者IDに基づく患者の場合。

私は、テーブルにチェックインして予約の衝突を防ぐのに十分な情報があると推測しています。あなたは本当に代わりにdoctorsNamedoctorsidを使用する必要があります

+0

はこの宿題ですか? – Fionnuala

+0

いいえ、私は例を見てきました。 – mjsey

答えて

3

多くのおかげで、。もしあなたがjoinにこれらのtablesを計画しようとしているのであれば、joinのints、そしてvarcharsのほうがはるかに良いでしょう。

また、varcharソリューションを使用している場合は、医師がその名前(結婚など)を変更した場合に何が起こるかについての別の質問。あなたはupdateと書かれたテーブルとドクターテーブルが必要です。あなたがintと一緒に行くならば、ちょうど1か所(医者のテーブル)でそれを変えなければなりません。

はい、あなたはあなたに予定レポートを作成する予定です。あなたはテーブルに参加することによって医師の名前を取得する必要があります。

だからあなたのテーブル構造は次のようなものになります。

Patient:-   Doctor:-   Appointment:-    Availability:- 
patientID   DoctorId   AppointmentTime   AvailabilityTime 
PatientName  room    AppointmentDate   DoctorId 
address   doctorName   patientID 
             DoctorId 
+0

名前、時刻、および日付は、Accessの予約語です。 – Fionnuala

+1

Ok。私は彼のためにそれを変更します。それを知らなかった。誰かがアクセスを言うと、私は地獄のように走る – Arion

+0

今、幸せ?..... – Arion

関連する問題