0

私はあなたからデータベース設計の知識を少し得たいと思っています:)

オフィスビルのチェックインシステムを構築しようとしています。

何が起こるか:

  1. 建物Aでの爆弾の脅威についてコードが呼び出されます。
  2. 指定されたユーザーは、割り当てられた1つ以上の領域をスイープすることになっています。
  3. その後、ユーザーは自分のエリアをチェックインします。(チェックされていない、チェックされている-問題なし、チェックされている-問題)

すべての受信送信をプルするインターフェースを構築する必要があります。

Users
---------------
id | name | username | password

Buildings
---------------
id | name

Sections
---------------
id | building_id | name

Assignments
---------------
id | section_id | user_id

したがって、この全体的な設計は、ユーザーをセクション(多対多)に割り当て、セクションを建物(1対1)に割り当てるように機能します。

私が問題を抱えているのは、後で簡単に取得できるようにしながら、実際の提出物を保存することです。

ユーザーが回答を更新できるような方法で提出物を保存できるようにしたいと思います。古い答えを表示します。新しい回答を送信します。

どんな提案でも大歓迎です。

ありがとう!

4

3 に答える 3

2

インシデントとレスポンスの表も必要だと思います。

インシデントは日時と詳細です (爆弾の脅威 - バックパックを探します)。

インシデントが入力されると、システムは応答テーブルに事前入力する必要があります。応答値がチェックされていないすべての割り当て。各人が応答するたびに、応答と応答の日時を追加します。それに対してクエリを実行し、インシデントでフィルター処理され、assignmentID でグループ化された最大応答日時を取得することで、まだチェックされていないものがわかります。

その後、すべての応答に対してログを実行して、誰が最も速く応答したかなどを分析できます。

于 2012-08-27T21:34:49.803 に答える
0

次の表を追加することをお勧めします。

a) 脅威

  • ID
  • 脅迫日
  • 説明
  • 脅威のメタデータを取得するためのその他の列

b) 脅威の状態

  • ID
  • 脅威 ID
  • checker_id (チェックする人が常に割り当てられているとは限りません)
  • section_id
  • 状態
  • datechecked (常に同じ日であるとは限らないと仮定して、真夜中のチェックにも対応しています)、メモ (ある場合)、
  • building_id (この列はルックアップを高速化するために複製されているため、建物を見つけるためにセクションに参加する必要はありません)
于 2012-12-20T12:41:11.817 に答える
0

あなたがいるところから、応答を必要とするレポートのために、レポートの表を追加します。これには、もちろん ID、レポートが作成された日付/時刻フィールド、ステータス フィールド (たとえば、レポートを受信した、応答を必要としないと判断されたレポート、応答中、緊急サービスに連絡した、応答が完了したなど)、およびおそらくインシデントのタイトル (「爆弾の脅威」) の短いフィールドと、説明 (「不明な男性の発信者が MDT の午前 10 時 23 分にフロント デスクに電話し、建物に大きな爆弾が置かれたと述べた」のフリー テキスト フィールド。地下室 B. 午前 10 時 28 分にフロント デスクの受付係 J. ランダムからレポートを受け取りました。")

次に、回答表も必要になります。これは、少なくとも、独自の一意の ID、インシデント ID、応答を行うユーザーのユーザー ID、応答されるセクション ID、応答が記録された日時、「応答タイプ」で構成されます。フィールド (例: 応答保留中、応答中、問題が見つからない、潜在的な問題が見つかった/緊急サービスの連絡先を推奨するなど)、および応答者が応答の詳細を入力できるフリーテキスト フィールド。

これは緊急対応のログであるため、既存のレコードを上書きまたは更新するのではなく、追加のレコードに修正または補足を加えて更新を反映することを検討することをお勧めしますが、それはあなたとユーザーの要件次第です。このシステムを使用すると、レコードごとに直接更新することもできます。どちらの方法でも、問題に対するユーザーの以前の応答のログを簡単に取得できます。

于 2012-08-27T21:53:53.950 に答える