私はSql Server 2012を使用してデータベースに取り組んでいます.私たちのデータモデルではUser、基本的なログイン情報、名前、住所などを含むタイプがあります.これらのユーザーの一部はTechnician、 a 、しかし、、 などUserの他のいくつかのプロパティ。RouteShip To Location
私の質問は、データベースを設計する際に、この状況をどのようにシミュレートするかです。私は2つのオプションを考えました。
- それらをリンクするために、
Technicianテーブルにデータベースの PK への外部キーを用意します。Userこれに関する私の懸念は、ユーザーが技術者であるかどうかをどのように知ることができるかということです。ユーザーがログインするたびに、技術者テーブルでクエリを実行する必要があります。 - テーブル内のフィールドを
User技術者データベースの PK とリンクさせます。このフィールドが null、または -1、またはこのユーザーが技術者ではないことがわかっている場合。これに関して差し迫った問題は見当たりませんが、私はデータベース設計の専門家ではありません。
これらのどちらにも利点がありますか? もしそうなら、それはなぜですか? 現在、2 つのまったく異なる ID を持つ 2 つの異なるテーブルがあり、それらはまったくリンクされていないため、現在問題に直面しています。