MySQL シリーズ データベース設計 3 つのパラダイム チュートリアルの例

MySQL シリーズ データベース設計 3 つのパラダイム チュートリアルの例

1. データベース設計の3つのパラダイムに関する知識の説明

1. デザインパラダイムとは何ですか?

テーブルを設計する際の基礎は、これら 3 つのパラダイムに従って設計されたテーブルにはデータの冗長性がないことにあります。

2. なぜ 3 つのデータベースパラダイムを学ぶ必要があるのでしょうか?

データベース設計パラダイムとは、データベース設計が満たす必要のある仕様です。これらの仕様を満たすデータベースは簡潔で、構造が明確です。同時に、挿入、削除、更新操作で例外は発生しません。それどころか、混乱が生じ、データベース プログラマーに問題を引き起こすだけでなく、見苦しくなり、不要な冗長な情報が大量に保存される可能性があります。

データ アナリストは自分でデータベースを設計する必要はありませんが、3 つのデータベース パラダイムを理解しておくと、後でテーブルを理解するのに役立ちます。

3. 3 つのパラダイムとは何ですか?

1) 第 1 正規形: どのテーブルにも主キーがあり、各フィールドはアトミックかつ分割不可能である必要があります。

ここに画像の説明を挿入

2) 第 2 正規形: 第 1 正規形に基づいており、主キー以外のすべてのフィールドが主キーに完全に依存し、部分的な依存関係が発生しないことが求められます。

ここに画像の説明を挿入

解決策: 多対多、3 つのテーブル、およびリレーションシップ テーブル内の 2 つの外部キー。

ここに画像の説明を挿入

3) 第 3 正規形: 第 2 正規形に基づいて構築され、すべての非主キー フィールドは主キーに直接依存し、推移的な依存関係を生成することはできません。

ここに画像の説明を挿入

解決策: 1 対多、2 つのテーブル、複数のテーブルに外部キーを追加します。

ここに画像の説明を挿入

注: 上記の青色の 2 つの文に注意してください。

注意: 実際の開発では、顧客のニーズを満たすことに主な焦点が置かれ、冗長性よりも実行速度が優先されることがあります。

2. データベーステーブルの古典的な設計スキーム

1対1でデザインするにはどうすればいいですか?

最初の解決策: 主キーの共有

ここに画像の説明を挿入

2番目の解決策: 外部キーの一意性

ここに画像の説明を挿入

注: 一意の外部キーの状況は、上で説明した多対多の状況に少し似ています。外部キーフィールドが
一意の制限の後は、1対1になります。

上記は、MySQL シリーズのデータ​​ベース設計の 3 つのパラダイムのチュートリアル例の詳細な内容です。MySQL データベース設計の 3 つのパラダイムの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • MySQLデータベースパラダイムの詳細な説明
  • MySQL データベース設計 3 つのパラダイム例分析
  • MySQL データベースのデータ テーブルの最適化、外部キーの分析、3 つのパラダイムの使用
  • MySQLデータベース正規化設計理論のまとめ

<<:  HTML の入力の readonly 属性と disabled 属性の違いについて簡単に説明します。

>>:  DockerコンテナにRedisをデプロイする手順の紹介

推薦する

ハイパーリンクに関するいくつかの質問

<br />ポテトチップスパーティーのこのエピソードに参加して、何人かの友達に会えてとて...

mysql5.7.18.zip インストール不要版設定チュートリアル(Windows)

これは私が以前使用した mysql5.7.18.zip のインストール チュートリアルです。まずこれ...

Vue プロジェクトで axios をカプセル化する方法 (http リクエストの統合管理)

1. 要件Vue.js フレームワークを使用してフロントエンド プロジェクトを開発する場合、サーバ...

HTML で vue-router を使用するサンプル コード

vue と vue-router の紹介 <script src="https://...

HTML 選択ボックスのプレースホルダーの作成に関する問題

テキスト入力でプレースホルダーを使用していますが、問題なく動作します。しかし、選択ボックスにはプレー...

Centos8 で Apache httpd2.4.37 を使用して Web サーバーをインストールする詳細な手順

ステップ 1: yum install httpd -y #httpd サービスをインストールします...

Linuxでmore、less、catコマンドを使用してファイルの内容を表示します

Linux では、cat、more、less の各コマンドを使用してファイルの内容を表示できます。c...

ウェブページで Enter キーを押すと自動的にフォームを送信し、他のページにジャンプするソリューション

ウェブページでEnterキーを押すと、フォームは自動的に送信され、他のページに移動します。クエリフォ...

MySQL 8.0 アップグレード体験

目次序文1. まず、既存のバージョンの MySQL を完全にアンインストールします。 2. deb ...

CSS3はトランジション効果を実現するためにtransitionプロパティを使用する。

物件の詳細な説明transition 属性の目的は、一部の CSS プロパティ (背景など) をスム...

Mysql Explainコマンドの使用と分析

mysql explain コマンドは、MySQL がインデックスを使用して選択ステートメントを処理...

JavaScriptの基本的なインタラクションの詳細な説明

目次1. 要素の入手方法文書から入手ID取得クラス名 (className) を取得します。タグ名 ...

HTMLテーブルで、各セルに異なる色と幅を設定します

設定が有効にならない場合が多いため、幅や高さなどをテーブル内で直接設定しないことをお勧めします。スタ...

Nginx における 2 つの現在の制限方法についての簡単な説明

負荷は通常、システム設計時に予測されます。システムがパブリック ネットワークに公開されている場合、悪...

MySQL サーバーの接続、切断、および cmd 操作

mysql コマンドを使用して MySQL サーバーに接続します。 MySQL サーバーが起動したら...