2016-12-21 9 views
0

私は患者アポイントメント予約システムを開発しており、以下は私が出てきたスキーマです。エンティティとその関係が正しいかどうかを確認してお知らせください。私は基本的なシステムを見ていますが、そこではユーザーがログインしたときに医者と患者の予約を予約することができます。彼は医者のリストと予約時に利用可能なタイムスロットを見ることができるはずです。アポイントメント予約システムのシステム設計

**Patient** 
Id 
FirstName 
LastName 
DateOfBirth 
Gender 
Phone 
Email 
Address 
City 

**Apppointment** 


    Id 
    AppointmentTypeId 
    Date 
    Time 
    Notes 
    PatientId 
    PractionersId 

AppointmentType イド名

実施者

Id 
FirstName 
LastName 
PractionerTypeId 

PractionerType

Id 
PractionerType 

答えて

0

あなたがスタースキーマを使用している場合、あなたの「事実」テーブルのように、Appointmentテーブルからノートを移動したいかもしれません。大量のテキスト文字列がある場合、将来的に予想されるクエリーがそのテーブルを通過しなければならないため、パフォーマンスの問題が発生する可能性があります。もちろん、どれくらい大きなものがあるかによって異なります。 Some tips on star schemas here

+0

こんにちは、私はメモをそこに移動する必要がありますどこに移動する必要があります。この場合、スタースキーマの例をサイトに掲載できますか?私はあなたが共有したリンクを通過しましたが、この段階で私には分かりません。たぶんそれがどのように行われているかの例が私にはより良い理解を与えるでしょう。 – Tom

+0

他のテーブルに予定タイプがあるように、メモ付きの予定詳細テーブルが必要な場合があります。 http://datawarehouse4u.info/Data-warehouse-schema-architecture-star-schema.htmlは、スタースキーマのより良い要約かもしれません。 – Jim

0

あなたはPractitionerAvailableHoursテーブルがありません。

PractitionerAvailableHoursテーブル

  • PractitionerId
  • AvailableDate
  • すでにその医師により作られた予定とペアの情報はあなたのそれぞれに利用できる議題を与える必要があることを
  • AvailableHours

1。

+0

AvailableHoursまたはAvailable timeにする必要があります。それはどんなデータ型ですか。 – Tom

+0

あなたの必要に応じて異なります。しかし、Time(またはdatetimeの時間部分)を使用して、そのテーブルの行数をPractitionerHasの使用可能なスロット数と同じにすることができます。 15分または30分のスロットで十分ですが、適切に見えるようにスロットを定義する必要があります。それはあなたのUIの一部です。 DBでは、利用可能な各スロットに対して1つの行があり、予定には必要な数のスロットが必要です。 –

関連する問題