レコード保管システムのデータベースを設計中です。 システムには4種類のレコード/フォームがあります。レコード保管システムのデータベース設計
ここは私のデザインです。
まず、4つのフォームには、名前、年齢、住所などの共通入力フィールドがあります。私はテーブルのこの共通入力フィールドを分離し、外部キーを追加します。例えば
:
common_fields
ID
Name
Age
Address
Form_fk_id (foreign key to what form)
Form_type_number(this will define what kind of form the user used)
form1
ID
Birthdate
Occupation
etc..
form 2
ID
Mother_name
Father_name
etc..
form 3
ID
School_address
School_name
etc..
基本的に、それはそのようになります。
Form_fk_id
- 共通の入力を接続する外部キーは、テーブルとフォームテーブル
Form_type_number
をフィールド - これは、取得するために、どのような形を知るために有用であろう。
このデザインが不明です。これが設計に最適な方法であるかどうかはわかりません。
Form_fk_id(ID、FK to common)には3が含まれていなければなりません。 "ID付き"はどういう意味ですか?なぜそれが1、2、3を含まなければならないのか分かりません。それはフォームを所有している人のIDを含むべきですか? – guwop69
IDには、フォームを所有しているユーザーのIDが含まれています。 Form_fk_idフィールドは、IDとともにCommonテーブルへの外部キーを形成します。 CommonテーブルがIDとForm_Typeに固有の制約を形成するのはこのためです。 Form_fk_idには3が含まれている必要があります。これはForm3テーブルであり、フォーム3定義のみを含むことができるためです。チェック制約またはトリガーコードがそれを強制します。 CommonのForm_Typeフィールドには、各フォームタイプがここで定義されているので、1,2、または3が含まれています。 3(たとえば)が含まれている場合、同じID値を持つエントリはForm3テーブルにのみ配置できます。 – TommCatt