データ整合性は、エンティティ整合性、ドメイン整合性、参照整合性に分けられます。 参照整合性: 参照整合性とは、主に外部キー制約を使用した複数のテーブル間の設計を指します。 1. エンティティ(行)の整合性 エンティティの整合性は、テーブルの主キーを通じて実現されます。 論理主キー: ID など、実際のビジネス上の重要性を表すものではなく、レコードを一意に識別するためにのみ使用されます (推奨) 例えば: テーブル person2 を作成する( id int 主キー auto_increment, 名前varchar(100) ); 2. ドメイン(列)の整合性 非 null 制約: 非 null テーブル person3 を作成( id int null ではない ユニーク、 名前 varchar(20) null ではない 一意、 性別varchar(20) nullではない、 電話 char(11) ユニーク #許可されていません、 ); 3: 参照整合性 1. 1対多 1対多を作成するための構文入力: テーブルcustomersを作成する( id int、 名前varchar(20), アドレスvarchar(100)、 主キー(ID) ); Orders テーブルを作成します。 テーブル注文を作成する( id int、 order_num int 主キー、 価格 float(4,2)、 顧客ID int, 制約 customer_ord_fk 外部キー(customer_id) は customers(id) を参照します。 ); 注: 制約: 制約、外部キー: 外部キー、参照: 参照 customer_ord_fk という名前の外部キー制約を作成します。外部キーは customer_id を参照し、customers テーブルの id 列を参照します。 テーブル操作は1対多を作成します 顧客テーブル 注文表 外部キー設定を注文する 外部キー フィールド customer_id を持つ customer_ord_fk という名前の外部キー制約を作成します。この外部キー フィールドは、customers テーブルの id 列を参照します。 拡張: サブテーブルの削除と更新の 4 つの戦略:
2. 多対多 教師テーブルを作成します。 テーブル教師を作成する( id int 主キー auto_increment, 名前varchar(20)、 性別文字(5) 件名varchar(20) ); 学生テーブルを作成します。 学生テーブルを作成する( id int 主キー、 名前varchar(20), 年齢 int ); 3 番目は関連テーブルです。 テーブルteacher_student(を作成する id int、 t_id 整数、 s_id 整数、 主キー(t_id,s_id) 制約teacher_id_fk外部キー(t_id)はstudents(id)を参照します。 制約student_id_fk外部キー(s_id)はteachers(id)を参照します。 ); テーブル操作多対多 教師テーブルを作成します。 学生テーブルを作成します。 3番目の表: 3. 一対一 (1)通常は、1つのテーブルのみを設計する必要があります。 (2)2つのテーブルを設計することもできます。 方法 1: 最初のテーブルの主キーに対応する外部キー (一意に設定) として 2 番目のテーブルにフィールドを作成します。 2つのテーブル: ユニークであることは非常に重要です テーブルユーザーを作成( id int 主キー auto_increment, 名前varchar(20), 年齢 int ); テーブルカードを作成( id int 主キー auto_increment, num varchar(20) が null ではない、 アドレスvarchar(100)がnullではありません。 user_id int ユニーク、 制約 user_card_fk 外部キー(user_id) は user(id) を参照します ); 上記は、編集者が紹介したMySQLデータ整合性の詳細な説明と統合です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: webpackを使用してTypeScriptコードをパッケージ化およびコンパイルする方法を教えます
>>: CentOS 8で自動更新を設定するための手順を完了する
目次背景ターゲット効果アイデア成し遂げるスワイパーは変更を聞きますカスタムドットモジュール変更イベン...
まず、href 属性と onclick イベントの実行順序について説明します。マウスが a タグをク...
目次説明する成し遂げるプロジェクトのディレクトリ構造は次のとおりです。効果図は以下のとおりです要約す...
目次1. 補足知識ポイント: 関数の暗黙的な変換2. 補足知識: call/apply を使って配列...
今日は奇妙なネットワーク問題に遭遇しました。調査プロセスといくつかの構成状況を記録し、Linux で...
CSS スタイル仕様1. クラスセレクター2. タグセレクター3. IDセレクター4. CSSスタイ...
クラスターを構成する際に問題が発生しました。当初は 3 台の仮想マシンすべてが外部ネットワークに p...
問題の説明長い間アカウントパスワードを入力して Zabbix にログインしていないため、管理者パスワ...
MySQL はインストール時に自動的に mysql という名前のデータベースを作成します。mysql...
結果: 実装コードhtml <div id="価格表" class=&qu...
目次テーブルを作成するデータベース ファイルを表示します。入れるクエリ消去補足:Mysqlは月テーブ...
リバースプロキシリバースプロキシとは、プロキシサーバーを介してユーザーのアクセス要求を受信し、ユーザ...
Docker バージョン: [root@localhost gae_proxy]# docker バ...
シンプルなアプリケーションの展開1. ディレクトリ構造: └── Pythonpro #ディレクトリ...
最近、データライフサイクル管理の詳細を整理していたときに、小さな問題を発見しました。それは、MySQ...