SQL質疑応答スレ 9問目

このエントリーをはてなブックマークに追加
572NAME IS NULL
社員
・ID
・名前
・現在の課ID
・その他社員情報いろいろ(各列は独立した要素)

異動歴
・社員ID
・異動番号(社員ID単位の通し番号)
・課ID

のような構造とした場合、このデータベースを使うアプリケーション上では、
社員というオブジェクトがあって、異動歴という可変長配列を、
IDや名前と同じように社員オブジェクトのメンバに持たせたいです。

社員検索のSQLから引っかかった社員オブジェクトを作る際、
WHEREやJOINで社員と異動歴をつなげた状態で検索すると
同じIDの社員レコードが異動歴ごとに連続して出てきてしまいます。

異動歴を固定数の列として社員テーブルに持たせてしまえば
なにも悩まずに1つのレコードから社員オブジェクトを作れるのですが、
このようなケースの場合、異動歴の可変長配列を作るためだけに
異動歴テーブル単体をあとから再検索することになるのでしょうか?