ホームページ >バックエンド開発 >PHPチュートリアル >データベースの 3 つのパラダイム、わかりやすい_PHP チュートリアル
データベースパラダイムの理解に関する記事をインターネット上で集めました。それらはすべて Qianlu からのコピーアンドペーストです。少し工夫してください。 3 つのパラダイムについての私自身の理解について記事を書きます。認識が間違っている場合は、279537592#qq.com (#=>@)までご連絡ください
正式な定義: 第一正規形 (1NF): データベース テーブル内のフィールドは単一の属性を持ち、細分化することはできません。
私の理解: 第一正規形は言うまでもなく、リレーショナルデータベースが第一正規形を満たす限り
正式な定義: 第 2 正規形 (2NF): データベース テーブル内の候補キー フィールドに対する非キー フィールドの部分的な機能依存はありません
私の理解: 第 2 正規形では、結合主キー (AB) [注: 複合主キーとも呼ばれます] の A または B を他のフィールドと結合することはできません。この問題を解決するには、通常のアプローチは必要ありません。主キーを結合して単一の主キーとして ID を追加すると、第 2 正規形を満たすことができます。 ID を追加したくない場合は、複合主キー (AB) の A または B が他のフィールドと重複しないようにしてください。
例: 第 2 正規形が満たされず、複合主キーの A とフィールド C の組み合わせが繰り返されます
+-----+----------+----------+
PKPK行
+-----+----------+----------+
A A B B C
+-----+----------+----------+
A A D D
+-----+----------+----------+
あ、あ、C
+-----+----------+----------+
+----------+-----+----------+---------- ---------+
PK列列
+----------+-----+----------+---------- ---------+
1 1 A A B B C
+----------+-----+----------+---------- ---------+
2
+----------+-----+----------+---------- ---------+
3 3 AAEC
+----------+-----+----------+---------- ---------+
正式な定義: 第 3 正規形 (3NF): 第 2 正規形に基づき、データ テーブル内の候補キー フィールドに対する非キー フィールドの推移関数依存がない場合、第 3 正規形に準拠します。
私の理解: 第 3 正規形では、フィールド間の組み合わせの重複はあり得ません
例: 第 3 正規形が満たされない場合、フィールド A とフィールド C の組み合わせが繰り返されます
+----------+-----+----------+---------- ---- -+--------------+
PK列列
+----------+-----+----------+---------- ---- -+--------------+
1 1 A A B B C C
+----------+-----+----------+---------- ---- -+--------------+
2
+----------+-----+----------+---------- ---- -+--------------+
3 3 AAEECCK
+----------+----------------+----------+---------- ---- -+--------------+
第 3 正規形を満たすためにこれに変更します:
表1
PK列列
+-----------+----------------+-----------+
1 1 A A B B
+-----------+----------------+-----------+
2
+-----------+----------------+-----------+
3 3 ああ
+-----------+----------------+-----------+
そしてテーブル2
+--------+-------------------+----------------+
PK列列
+--------+-------------------+----------------+
1 1 CC
+--------+--