web-dev-qa-db-ja.com

歯科医のためのデータベース設計

MySQL Workbenchを使用して歯科医院のデータベースを作成する必要がある宿題があります。このデータベースは、後で歯科医向けのWebアプリで使用されます。

これはデータベース設計の写真です:

enter image description here

ログインテーブル:

歯科医のログイン情報が含まれています(オンラインで複数の歯科医が使用する場合があります)

id_logged列は、ログインした歯科医のIDの外部キーであり、すべてのテーブルに存在する必要があります。 (歯科医に自分の患者情報と詳細のみを表示させるため)。

patient_id列も外部キーです。また、患者テーブルから取得され、患者の一般的な医療情報を表すmed_history、一般情報を表す患者情報、訪問の理由と実行するタスク、およびアポイントメントテーブルで外部キーとして使用されます。

2つの質問があります。

1-歯科医データベースに追加する情報はそれ以上ありますか?

2-このデータベースは正しいですか?またはエラーはありますか?

1
androidnation

いくつかのことが頭に浮かびます。

  1. Patient_infoテーブルは患者と呼ばれる必要があります。 (my)患者テーブルには、patient_nameが含まれている必要があります。

  2. すべてのテーブルには、idだけでなく、table_name_idと呼ばれる主キーが必要です(デバッグが困難になります。この「id」が問題と列名のあいまいさの問題を引き起こしています)。

  3. Medical_historyテーブルは患者から離れるべきです。

  4. 患者を呼び出すテーブルは、アポイントメントと呼ばれる必要があります。

  5. テーブル名を単数形と複数形の間で変えます。 1つを選んで、それに固執してください。単数形をお勧めします。

  6. これらは単なるmy第一印象です。

  7. また、「オープンソースの医療/歯科診療ソフトウェア」のようなものをグーグルして、彼らが彼らのスキーマでどのように機能するかを見ることができます。次に、それらをニーズに適合させることができる場合があります。それがオープンソースソフトウェアの美点です。

pSフォーラムへようこそ。プロジェクトで頑張ってください! :-)

[OPの明確化のリクエストに応じて編集]

患者テーブルを削除し、それを予定テーブルに置き換えます。

アポイントメントテーブルには、appointment_id、patient_id、dentist_id、日時が含まれます。

あなたの歯科医の友人に関しては、彼らがアイデアを実行できるのは素晴らしいことですが、それでもオープンソースのソフトウェアをチェックしてください。

別の点として、MySQLが要件であるかどうかはわかりませんが、そうでない場合は、PostgreSQLに変更します。チェックの一貫性のためにはるかに良い-つまり、重複する予定はありません&c。

3
Vérace