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をデプロイする手順の紹介

推薦する

コマンドラインを使用してUbuntuのバージョンを検出する方法

方法1: lsb_releaseユーティリティを使用するlsb_release ユーティリティは、L...

HTMLタグの書き方でよくある間違い

注意を払う必要があります。HTML Police がコードを調べて、意味のないタグをすべて見つけ出す...

MySQLは現在の日付と時刻を取得する関数の例の詳細な説明

現在の日付 + 時刻 (日付 + 時刻) を取得する関数: now() mysql> now(...

幅の比率に応じて高さを変えるCSSを実装するいくつかの方法

[解決策1: パディングの実装]原理:要素の padding の値がパーセンテージの場合、このパーセ...

XHTMLタグは適切に使用する必要があります

<br />123WORDPRESS.COM の以前のチュートリアルでは、Web ページ...

JS クロスドメイン ソリューション React 構成 リバース プロキシ

クロスドメインソリューションjsonp (get をシミュレート) CORS (クロスオリジンリソー...

mysql replace into の使用法の詳細な説明

replace ステートメントは、一般的に insert ステートメントに似ています。ただし、テーブ...

Windows 上の MySQL 5.6 で my.ini 設定ファイルを見つける方法

忘れてしまった場合に後で戻って確認できるようにメモしておいてください。問題の説明:今日はちょっとした...

MySQL インデックスの効率的な使用ガイド

序文ほとんどの方がMySQLとインデックスを使用したことがあると思いますが、適切なインデックスを作成...

404エラーページを作成する際に注意すべき問題の簡単な分析

ウェブサイトを最適化するときは、エラー ページの使い方を学ぶ必要があります。たとえば、ウェブサイトに...

Sitemesh チュートリアル - ページ装飾技術の原理と応用

1. 基本概念1. Sitemeshはページ装飾技術です。 1 : フィルターを通してページアクセス...

MySQLユーザーと権限管理の詳細な説明

この記事では、例を使用して MySQL ユーザーと権限の管理について説明します。ご参考までに、詳細は...

UbuntuでOpenCVをコンパイルしてインストールする方法

opencv2 の簡単なインストール: conda インストール --channel https:/...

Expressはログイン認証を実装

この記事では、ログイン認証を実装するためのExpressの具体的なコードを例として紹介します。具体的...

macOS での MySQL 8.0.17 のインストールと簡単な設定チュートリアル

私が書いた内容が理解できない場合は、インターネット上に理解できるチュートリアルがない可能性があります...