0

基本的に、人事管理アプリケーションを使用しています。

役職 (トレーナー、副マネージャー、マネージャーなど) は、サービスに基づいて補充されます。

すべての従業員のリストがあり、任意の日付で最高のサービスを提供した従業員が最上位の位置を占めます。

キー位置の数は固定されています。リスト内の従業員の位置に基づいて、彼の推定位置が表示されます。

ポジションは次のとおりです。

  • (ポジション - 投稿数)
  • ディレクター - 1
  • マネージャー - 3
  • ダイ。マネージャー - 5
  • トレーナー - 10

これで、経験に基づいて入力された従業員のリストで、リストの最初がディレクターになり、次の 3 人がマネージャーになり、次の 5 人の従業員が Dy になります。マネージャーと次の 10 人はトレーナーです。

位置と関連する番号を格納するためのデータベース テーブルを設計したいと考えています。新しいポジションが追加される可能性があり、また、ポジションの数は時間の経過とともに変化する可能性があります。たとえば、取締役のポストが 1 つから 2 つに増えた場合は、編集する必要があります。取締役ポストの数が編集されるとすぐに、リストの最初の 2 人の従業員が推定取締役として指定されます。同じ論理が他のすべてのポジションにも当てはまります。

そのようなテーブルのデータベース構造がどうあるべきかわかりません。完了したら、php を使用して、従業員リストでのランクに基づいて特定の従業員の推定位置をテーブルに照会できるはずです。

たとえば、従業員がランク 5 の場合、テーブルにクエリを実行して、推定される位置を取得できるはずです。この場合、ランク 5 は Dy になります。マネジャー。

私の要件を明確にしたことを願っています。この目的のためのデータベース テーブルの設計を手伝ってください。

ありがとうございました!

4

2 に答える 2

0
Employees
=========
name | Boss
rank | 1
doj  | 2010-01-01

「従業員のランク順から名前を選択してください、doj」

doj = 入社日

そうですか?

rankタイトル、名前などを生成するために、読み取り可能なランク タイトルを格納する別のテーブルに参加できます。

于 2013-03-19T10:26:51.470 に答える
0

既存の従業員データベース テーブルは次のもので構成されます。

Employees
=========
name | Mark
doj  | 2010-01-01
wrk  | yes

"従業員から名前を選択します。wrk=yes 順序は doj です"

(これにより、退職した従業員がデータベースから削除され、ステータスが wrk = no になります)

これにより、次のような結果が生成されるとしましょう。

Mark | 2010-01-01
Steve | 2010-02-01
Jack | 2010-04-01
Rick | 2010-09-01
David | 2010-12-01

ここで、結果をフェッチし、年功序列に基づいてポジションを割り当てると (ポジション manager=1、dy. manager=3、trainer=1 と仮定)、結果は次のようになります。

Rank | Name | Doj | Designation
1 | Mark | 2010-01-01 | Manager
2 | Steve | 2010-02-01 | Dy. Manager
3 | Jack | 2010-04-01 | Dy. Manager
4 | Rick | 2010-09-01 | Dy. Manager
5 | David | 2010-12-01 | Trainer

数日後、Jack が会社を辞めたとします (彼の勤務ステータスは no になります)。したがって、フェッチされた結果は次のようになります。

Rank | Name | Doj | Designation
1 | Mark | 2010-01-01 | Manager
2 | Steve | 2010-02-01 | Dy. Manager
3 | Rick | 2010-09-01 | Dy. Manager
4 | David | 2010-12-01 | Dy. Manager

ジャックが辞めると、デビッドは昇進します。ランクは、フェッチされた行数に基づいて生成されたシリアル番号であり、自動インクリメントです。

ここで、称号とポジション数のテーブルを作成して、ランクに基づいて称号を取得したいと考えました。

于 2013-03-19T12:56:42.383 に答える