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

推薦する

MySQLはイベントを使用してスケジュールされたタスクを完了します

イベントでは、SQL コードを 1 回または一定の間隔で実行することを指定できます。通常、複雑な S...

Linux で ARM 開発ボード用のファイルシステムを作成する

1. Busyboxのソースコードをオンラインでダウンロードしてください。コンパイル方法については、...

Docker はすべてのコンテナをバッチ起動して閉じます

Dockerの場合すべてのコンテナコマンドを開始する docker を起動します $(docker ...

React 純粋関数コンポーネント setState がページ更新を更新しない問題の解決方法

目次問題の説明:原因分析:解決:補足: Reactでは、フックが使用されている場合、useState...

ホストがアクセスできるようにMySQLの権限を変更する方法

mysqlのリモートアクセス権を有効にするデフォルトでは、MySQL ユーザーにはリモート アクセス...

フォームタグの Enctype 属性とその応用例の紹介

Enctype : ブラウザがデータをサーバーに送り返すときに使用するエンコーディングのタイプを指定...

MySQLクエリ最適化に必須の知識ポイントのまとめ

序文クエリの最適化は一夜にして達成できるものではありません。対応するツールの使い方を学び、他の人の経...

MySQLクエリ構文の概要

序文:この記事では主に、MySQL の where、group by、order by、limit、...

MySQLの左結合と内部結合について簡単に説明します

序文最近、X 省のコールド チェーン トレーサビリティ システムの開発で忙しくしています。毎日午後 ...

vue3.0+vant3.0の迅速なプロジェクト構築の実装

目次1. プロジェクトの構築2. Vue3 体験 + Vant 紹介2020年9月18日にvue.j...

VirtualBox で作成された Debian 仮想マシンは Windows ホストとファイルを共有します

用語: 1. VM: 仮想マシンステップ: 1. Windows 10 に VirtualBox 6...

ブートストラップテーブルの使い方のまとめ

この記事では、bootstrapテーブルの使い方を参考までに紹介します。具体的な内容は次のとおりです...

フロントエンドのパフォーマンス最適化 - フロントエンドエンジニアが話し合うべき問題点

はじめに<br />前回の記事「私の CSS アーキテクチャ コンセプト」では、公園で友...

Vue はトークンの有効期限が切れると自動的にログインページにジャンプする機能を実装します

このプロジェクトは最近テストされ、テスターから、トークンの有効期限が切れたため、ルートが自動的にログ...