私はこの従業員評価Webページを設計しており、現在のデータベース設計が正しいかどうか、または改善できるかどうか疑問に思っていました。評価用のSQL Serverデータベース設計
これは私の現在の設計
表アジェンダさ:
+--------------+----------+----------+-----------+------+-------+-------+
| idEvaluation | Location | Employee | #Employee | Date | Date1 | Date2 |
+--------------+----------+----------+-----------+------+-------+-------+
Date
は、実行される評価用予定日です。
日付1と日付2別のデータベースから一部のメトリックを取得する期間。
表評価:
+--------------+---------+------------+------+----------+
| idEvaluation | Manager | Department | Date | Comments |
+--------------+---------+------------+------+----------+
表スコア:私はそれこれが正しい前記のよう
+--------------+----------+-------+
| idEvaluation | idFactor | Score |
+--------------+----------+-------+
idFactor
は、因子との記述を含む別のテーブルにも関します設計??
Agenda Table
に評価ごとにその1つのレコードのみ(60以来の多くの問題はありませんので、私の関心のこの、現在は60人の従業員、11人のマネージャーと12個の要素、各従業員がありますが、その、すべての管理者が年二回、評価従業員= 60レコード)、どのようにEvaluations Table
にすべての評価のための11のレコードがあるので、それは660レコード(従業員11人のマネージャー= 660)に行くと、Scores Table
評価ごとに12要因、それは7920レコード(660評価* 12要因それぞれ= 7920)になります。
これは正常ですか?私はそれを間違っているのですか?すべての入力はそれを感謝します。
EDIT
場所従業員、#Employee、マネージャーや部門がvb.netページによって自動的にロードされ、それらは「輸入」されている挿入前にチェックActive Directory
とそのからその名が重複し、名前をスペルミスこの種のものは問題ではありません。
7,920レコードは、適切な管理が行われている場合、SQLサーバーが処理できる水のトラック負荷が低下しただけです。これらをさらに踏襲し、従業員、部署、所在地、マネージャーのテーブルを別々にして、それらの名前を複製しないようにする必要があります。あなたは基本的にこれらのテーブルのほとんどにIDの束を持っています。 –
@ C employee私は従業員、所在地、デパートメントのテーブルについて考えましたが、マネージャーについては、名前をIDに変更するのが本当に改善されますか?その主な理由は、従業員の管理者よりも評価を実現した人を識別するためです。 – abichango
マネージャーはおそらく、別の従業員レコードのIDになります。それを元のリストから取り除く。 –