は、ボードを貸すために、例えば販売のために不動産業者のためにボードを建てる会社です。
エージェントがジョブを投稿すると、ボードアドレス、ボードを所有するエージェント、およびジョブタイプがすべて保存されます。
注:属性の前のアスタリスクは主キーであり、後のアスタリスクは外部キーです。すべてのテーブルが表示されるわけではありません
// background info to help understand the project more
AGENTS
*agent_id
agency_name
agency_office
address_id*
BOARDS
*board_id
client_id*
address_id*
PENDING_JOBS
*job_id
board_id*
job_type_id*
notes
submitted_on
これで、ジョブタイプテーブルができました。各ジョブには次のものがあります。
- board_id(クライアントとボードがある場所を追加するため)
- job_type_id(ボードを立てる、降ろす、変更する、販売済みの伝票を追加するなど)
これは私のジョブタイプテーブルです
JOB_TYPES
*job_type_id
action
board
slip
データは次のようになります:(行は省略)
JOB_TYPES
id | action | board | slip
-----------------------------------
1 | up | for sale | sold
2 | up | to let | let by
3 | up | for sale | null
4 | up | to let | null
5 | down | null | null
6 | service call | null | null
私はデータベースを効率的に正規化しようとしていますが、正規化によれば、テーブルにはIDに直接依存するデータのみが含まれることになっています。たとえば、agent_nameとagent_officeはagent_idに直接依存します。
ただし、ジョブタイプテーブルでは、SLIPはBOARD列に直接依存し、ボード列はアクション列に直接依存します。
しかし、確かに、すべての列をキーを使用して別々のテーブルに選択するのは正しくありませんか?
私の漠然とした質問は次のとおりだと思います。
Is this okay?
Or in the real world, do people use better method or storing data like this?