この記事では、例を使用して、MySQL データベースのデータ テーブルの最適化、外部キーの使用、および 3 つのパラダイムを説明します。ご参考までに、詳細は以下の通りです。 データテーブルの最適化 製品情報テーブルを最適化する 1. 製品カテゴリテーブルを作成します。 テーブルが存在しない場合は作成する goods_cates( id int unsigned 主キー auto_increment, 名前varchar(40) nullではない ); 2. 製品カテゴリを製品カテゴリ テーブルに書き込みます。 注意:クエリ結果を別のテーブルに挿入するときに値を追加する必要はありません goods_cates(名前)に挿入 (cate_name で商品グループから cate_name を選択します); 3. 製品カテゴリ テーブルを製品テーブルに更新します。 製品テーブルをカテゴリテーブルに接続し、カテゴリテーブルIDを使用して製品テーブルのカテゴリコンテンツを置き換えます。 更新 (goods_cates 内部結合 goods on goods_cates.name=goods.cate_name) goods.cate_name=goods_cates.id を設定します。 4. テーブル構造を変更します。 製品テーブルの製品カテゴリ名フィールド cate_name の名前を cate_id に変更します。 テーブル商品を変更し、cate_name cate_id int unsigned not null を変更します。 外部キー 1. 外部キーの使用: 外部キー制約を追加し、データ行を挿入して、goods_cates の id に cate_id が存在するかどうかを判断します。存在しない場合、データ挿入は失敗します。 テーブル名 1 を変更し、外部キー (フィールド名 1) を追加して、テーブル名 2 (フィールド名 2) を参照します。 (外部キーを設定することで不正なデータ入力を防ぐことができます) 外部キー(フィールド名 1)はテーブル名 2(フィールド名 2)を参照します。 (接続するテーブルが存在する場合は、テーブル作成時に外部キーを直接設定することもできます) 2. 外部キーの欠点: 外部キーは不正なデータの入力を効果的に防ぐことができますが、テーブルの更新効率が大幅に低下します。そのため、実際の開発では、外部キー制約は一般的に適用されず、データの正当性はトランザクション レベルで判断されます。 3. 外部キーの削除: テーブルを作成するためのステートメントを表示します テーブル商品の作成を表示します。 名前を取得した後、外部キーを削除します。 テーブル goods を変更し、外部キー goods_ibfk_1 を削除します。 3つのパラダイム 1. 第 1 正規形 (1NF): 列の原子性を強調します。つまり、列を他の列に分割することはできません。 第 3 正規形に準拠したデータベースは、より合理的なデータベースです。 MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL 共通関数の概要」、「MySQL ログ操作スキル」、「MySQL トランザクション操作スキルの概要」、「MySQL ストアド プロシージャ スキル」、および「MySQL データベース ロック関連スキルの概要」 この記事が皆様のMySQLデータベース設計に役立つことを願っています。 以下もご興味があるかもしれません:
|
<<: Linux で g++ を使用してプログラムをコンパイルする際の -I (大文字の i)、-L (大文字の l)、-l (小文字の l) の機能の詳細な説明
>>: React-Dropzone をベースにアップロードコンポーネント機能を開発する (サンプルデモ)
目次序文1. ルーティングナビゲーションガードを設定する1. グローバルナビゲーションガード2. ロ...
これは Linux 管理者にとって重要な (そして素晴らしい) トピックなので、誰もが Linux ...
目次プロジェクトにおける一般的な支払い方法Alipay決済微信ペイプロジェクトにおける一般的な支払い...
序文いわゆるファジークエリとは、ユーザーの完全な入力やすべての入力情報がなくてもクエリサービスを提供...
しばらくサーバーいじってなかったけど、やることがなくなったのでモバイルワークスに行って海外サーバーを...
目次1. 環境整備2. Dockerをインストールする3. MySQLマスタースレーブデータベースを...
現在、2016サーバーは、win2008や2012よりも優れたマルチサイトhttpsサービスをサポー...
参考: Docker 公式 Redis ドキュメント1. 特別なバージョン要件がある場合は、redi...
目次1.mysqlダンプ実行プロセス:特徴2. CSVファイルをエクスポートする(最も柔軟性が高い)...
まずpostcss-pxtoremをインストールします: npm install postcss-p...
HTML イベント リスト一般イベント: onClick HTML: マウスクリックイベント。主にオ...
コンテンツを携帯電話、タブレット、支援技術のユーザーから非表示にし、キーボードのユーザーにのみ表示す...
docker create コマンドは、イメージに基づいてコンテナを作成できます。このコマンドの効果...
目次1. MySQLアーキテクチャの分析1.1 コネクタ1.2 クエリキャッシュ1.3 アナライザー...
XHTML 言語では、ul タグに li が含まれ、dl タグに dt と dd が含まれることは誰...