フィールドをテーブルに追加することについて混乱した

私はこれらの情報を持っており、私はデータベースを構築しなければなりません:

a Person have name,lastname,marital status, mail,phone number,profession,field of activity(the field of activity of the person not of the company =>his skill),company name

私はフィールドを知りたい:企業名と活動分野、それらをテーブルPersonneに追加すべきか、別のテーブルに入れるべきか?

0

2 答え

1人の組織またはスキルが1つ以上あるかどうかによって異なります。

1人の組織と1人のスキルがあると仮定すると、このようなものが得られます

Table Person
 person_id
 organisation_id
 skill_id
 etc. 

組織とスキルのための対応テーブル。

あなたが1人あたり1つ以上ある場合、あなたは1-n-1の関係を持っています:

Table Person
 person_id

Table skill
 skill_id
 text
 etc.

Table skill_person
 skill_id
 person_id

組織にとっても同じことです。このようなものの背景については、Googleの1-n-1の関係、データベースの正規化とエンティティの関係の図。

0
追加された

柔軟性と冗長性を回避し、データの一貫性を確保するために、繰り返し可能なデータを別々のテーブルに格納する方がよいでしょう。これは正規化と呼ばれ、おそらくリレーショナルデータベース設計の最も基本的な原則です。 企業スキル、また職業活動分野外部キーを使用してこれらを参照するには、外部キーを使用してください。

0
追加された