
社員への備品貸し出しの管理システムを構築しているのですが、
誰に何を貸し出しているかを把握するテーブルはどのように作成すればいいでしょうか?
貸し出しテーブルと備品テーブルみたいなのがあり、
備品テーブルは備品の個数だけレコードがあるわけではなくて、
1種類につき1レコード、どんな備品なのかを管理するだけのテーブルを考えています。
社員が1種類しか備品を借りないのであれば、
貸し出しテーブル : 社員番号, 備品番号
備品テーブル : 備品番号, 詳細
みたいにすればOKだと思いますが、複数借りた場合だと貸し出しテーブルが1レコードでは管理ができなくなります。
貸し出しテーブルには上記以外にもカラムを複数入れるので、
1レコードで社員番号から借りている備品を抽出したいのですが、
上手くやる方法はないでしょうか?
(上記テーブルを変えたり、別のテーブルを作成するのはOKです。)
よろしくご教示願います。
No.1ベストアンサー
- 回答日時:
アイディア募集ってことでいいのかな?
このシステムの目的がわからないので、的はずしちゃう可能性大なのだけど。
自分だったら
備品マスタ : 備品番号、備品名
備品テーブル : 備品番号、備品シーケンス、購入日(、償却日)
貸し出しテーブル : シーケンス番号、社員番号, 備品番号、備品シーケンス、貸出日(、返却日)
みたいにするかな。
備品管理ってことは、例えばノートパソコンが何台あってそのうち何台貸し出されてるって管理が必要だよね。はじめは10台かもしれないけど、1台壊れるかもしれないし。ノートパソコンには備品番号+備品シーケンスを貼っておけば管理しやすいでしょ。
> 貸し出しテーブルには上記以外にもカラムを複数入れるので、
> 1レコードで社員番号から借りている備品を抽出したいのですが、
これの意味がよくわからないのですが、何故に1レコードじゃないと駄目なのでしょうか?
表示の問題なのでしょうか?
複数抽出で結合して表示ではどうですか?
まぁ、究極をいえば、
貸し出しテーブル : 社員番号, 備品番号、備品シーケンス、貸出日、返却日、 備品番号2、備品シーケンス2、貸出日2、返却日2、 備品番号3、備品シーケンス3、貸出日3、返却日3、 備品番号4、備品シーケンス4、貸出日4、返却日4・・・・
って100個もつくっておけばできないことはないけど
管理が大変だし、絶対止めたほうがいいと思うけど・・・。
No.2
- 回答日時:
ここのカテゴリ通り、PostgeSQLを前提としての質問でしょうか?
ここでは、自分なりに調べた結果などを示し、分からない点を具体的に示して質問することがルールです。仕様を提示するので、「テーブル設計してください」、「SQLを作ってください」といったものは、質問ではなく作業依頼といった判断をされ、折角、具体的なアドバイスをしても、削除されてしまう可能性があります。
本題ですが、「社員管理」テーブル、「備品管理」テーブルを作成し、「貸し出し管理」テーブルを作るのが自然な発送ではないでしょうか?
>1レコードで社員番号から借りている備品を抽出したい
要件が分かりませんが、社員番号でgroup byして、sum + case で備品番号毎とのクロス集計をするというのが、最初に浮かぶ発想ではないでしょうか?
なお、「一括で借り、一括で返却」でなく、追加での借入、部分的な返却があるなら、個数だけの管理では、備品の行方が不明になる可能性があります。
どこまで精密にやるかですが、備品番号+通番 といった方法で、個々に管理する必要があるのでは?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SELECT 文の NULL列は?
-
2つのテーブルで引き算 postgres
-
PostgreSQL 8.0.2 の ERROR: r...
-
テーブルに存在しない列をselec...
-
テーブル定義書作成時のIndex付...
-
SQLでUPSERTを一度に複数行やる...
-
複数テーブルにまたがるmax
-
SQL 同じテーブル構造の複数の...
-
インデックスについて
-
テーブルにcsvファイルをインポ...
-
SQLにて指定日付より前、かつ最...
-
単純なselectが遅くなるのです...
-
VARCHAR型の数値比較
-
SQL*LoaderでCSVから指定した列...
-
SQL、2つのテーブルで条件一致...
-
外部キーだけのテーブル(主キ...
-
「テーブルに座って……」という...
-
一つ前に戻るには…
-
カラム位置変更
-
会社の飲み会の幹事になり、座...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT 文の NULL列は?
-
テーブルに存在しない列をselec...
-
SQLにて指定日付より前、かつ最...
-
SQLでUPSERTを一度に複数行やる...
-
PostgreSQLの断片化の状況を確...
-
単純なselectが遅くなるのです...
-
MS Access から PostgreSQL へ...
-
javaでデータベース上のテーブ...
-
2つのテーブルで引き算 postgres
-
Postgresqlのレポート機能について
-
reindex と update のデッドロック
-
Postgresのデータ領域の拡張に...
-
デットロック回避策(autocommit...
-
テーブルにcsvファイルをインポ...
-
PostgreSQL 8.0.2 の ERROR: r...
-
PostgreSQL レコードからアイテ...
-
同一カラムに複数条件指定
-
備品管理のデータベースについて
-
PostgresSQLでテーブル定義の抽...
-
DISTINCTとGROUP BYの違い
おすすめ情報