データベースのパラダイムは3を導入しました

テーブルデータの例

名前があるとしemployee:9つの性質を有する従業員テーブル、id(従業員番号)、 name従業員名)、 mobile電話)、 zip郵便番号)、 province州)、 city都市)、 district郡)は、deptNo(部門番号を)、deptName部署名)、総データテーブルは次のよう:

ID 名前 モバイル ジップ 地区 DEPTNO DEPTNAME
101 ジョー・スミス 13910000001 <br /> 13910000002 100001 北京 北京 海淀区 D1 セクター1
101 ジョー・スミス 13910000001 <br /> 13910000002 100001 北京 北京 海淀区 D2 セクター2
102 ジョン・ドウ 13910000003 200001 上海 上海 静安区 D3 セクター3
103 王呉 13910000004 510001 広東省 広東 白雲区 D4 セクター4
103 王呉 13910000004 510001 広東省 広東 白雲区 D5 セクター5

従業員テーブルは非標準であるため、我々は次のような問題に直面するだろう。

  • 異常な変更のテーブルを、彼は2つの部門に属しているため、ジョー・スミス上の2つのレコードを持っています:私たちは、アドレスの座席を変更したい場合は、強制的な2つの行を変更します。部門は、新しいアドレスジョンのを持って、更新、およびその他の部門は、この時間は、ジョー・スミスは、一貫性のないデータが得られ、表に2つの異なるアドレスを持っているでしょうしていない場合

  • 新しい例外:新しい従業員が会社の場合、彼は誘導期にある場合は、正式にあれば、部門に割り当てられていないdeptNoフィールドが空ことはできません、私たちがすることができなくなりemployee、従業員テーブルにデータを追加します。

  • 例外を削除するには、次の会社はD3部門を撤回することを前提とし、その後、削除deptNoD3を行し、情報がジョン・ドウも削除されます。D3は、彼がこの部門に属しているため。

最初のパラダイム(1NF)

値の原子のみを含むテーブルの列(もはや分)。

1NFのルールに違反して、モバイル列に格納されている2つの電話番号のテーブル席。次のようにテーブル1NFを満たすために、データが変更されるべきです。

ID 名前 モバイル ジップ 地区 DEPTNO DEPTNAME
101 ジョー・スミス 13910000001 100001 北京 北京 海淀区 D1 セクター1
101 ジョー・スミス 13910000002 100001 北京 北京 海淀区 D1 セクター1
101 ジョー・スミス 13910000001 100001 北京 北京 海淀区 D2 セクター2
101 ジョー・スミス 13910000002 100001 北京 北京 海淀区 D2 セクター2
102 ジョン・ドウ 13910000003 200001 上海 上海 静安区 D3 セクター3
103 王呉 13910000004 510001 広東省 広東 白雲区 D4 セクター4
103 王呉 13910000004 510001 広東省 広東 白雲区 D5 セクター5

第二のパラダイム(2NF)

以下の条件を満足するために第2パラダイム

  • 第1正規形。

  • いかなる部分も依存するん

例えば、候補キー従業員テーブルは{ID、モバイル、DEPTNO}であり、DEPTNAMEのDEPTNOに依存して、名前のIDに等しく依存し、従って2NFはありません。第二のパラダイムの条件を満たすために、テーブルには4つのテーブルemployee_mobile、従業員、DEPT、employee_deptに分割する必要があります。次のとおりです。

従業員テーブルの従業員

ID 名前 ジップ 地区
101 ジョー・スミス 100001 北京 北京 海淀区
102 ジョン・ドウ 200001 上海 上海 静安区
103 王呉 510001 広東省 広東 白雲区

部門表dept

DEPTNO DEPTNAME
D1 セクター1
D2 セクター2
D3 セクター3
D4 セクター4
D5 セクター5

従業員関係部門テーブルemployee_dept

ID DEPTNO
101 D1
101 D2
102 D3
103 D4
104 D5

従業員の電話リストemployee_mobile

ID モバイル
101 13910000001
101 13910000002
102 13910000003
103 13910000004

第3正規形(3NF)

以下の条件の両方のための第三のパラダイム

  • 第2正規形
  • いいえ推移依存関係ありません

たとえば、州の従業員表、市、区がジップに依存し、ジッパーがIDに依存し、言い換えれば、省、市、区転送がIDに依存し、3NFは、ルールに違反しています。次のように第三のパラダイムの条件を満足するために、このテーブルは、二つのジップと従業員のテーブルに分割することができます

社員

ID 名前 ジップ
101 ジョー・スミス 100001
102 ジョン・ドウ 200001
103 王呉 510001

エリア表エリア

ジップ 地区
100001 北京 北京 海淀区
200001 上海 上海 静安区
51000 広東省 広東 白雲区

一般的なリレーショナルデータベースモデルの設計では、我々は第三のパラダイムの要件を満たす必要があります。良い主テーブルの外部キー設計した場合、それは3NFテーブルを満たさなければなりません。標準化のメリットをもたらすことは、データの整合性を確保しながら、データの冗長性を削減することによって、更新データの効率を改善することです。しかし、我々は実用的なアプリケーションでは、過剰な標準化の問題を防止する必要があります。標準化度の高い、より多くの分割テーブルには、より多くの可能性が高いテーブルを使用してクエリデータは操作に参加します。そして、あまりにも多くのテーブルには、接続されている場合、クエリのパフォーマンスに影響を与えます。重要な問題は、慎重にデータクエリを計量、ビジネスニーズに基づいており、標準化の最も適切な度合いを指定して、リレーショナル・データを更新することです。標準の厳格なルールに従うと、ビジネスニーズを変更しません。

 

发布了183 篇原创文章 · 获赞 126 · 访问量 7万+

おすすめ

転載: blog.csdn.net/young_0609/article/details/104668694