データ整合性は、エンティティ整合性、ドメイン整合性、参照整合性に分けられます。 参照整合性: 参照整合性とは、主に外部キー制約を使用した複数のテーブル間の設計を指します。 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で自動更新を設定するための手順を完了する
目次1. nginxのインストールと操作(Mac OS環境) 2. nginxルールの設定3. コマ...
目次1. 環境設定1.NTPサーバー2. ビジネスサーバー2. NTPサーバーの設定1. chron...
js コードをデバッグするには、コード内にデバッガーを記述するか、Chrome で毎回ブレークポイン...
MySQLデーモンの起動に失敗したエラーの解決方法数日前、公開されたウェブサイトはこれらのアクティビ...
方法1: DOMが提供するイベントオブジェクトのターゲットイベント属性を使用して値を取得し、送信する...
1. ソフトウェアの紹介バーチャルボックスVirtualBox は、無料のオープンソース仮想マシン ...
この記事は主に、nginx に基づいてブラウザネゴシエーションキャッシュを設定する詳細なプロセスを紹...
目次1. 基本1.参照2. 参照3. 参照4. 最適な使い方2. 詳細な1. なぜrefが必要なのか...
この記事では、HTML描画ユーザー登録ページの具体的な実装コードを参考までに共有します。具体的な内容...
Confluence は有料ですが、クラックして使用できます (購入が推奨され、正規版がサポートされ...
本来の意図このツールを作った理由は、コンピューターを使用しているときにいつでも毎日の仕事や生活を記録...
問題を見つけるまず問題を見てみましょう。ミニプログラムでは、Vant のダイアログ コンポーネント ...
この記事では、価格カレンダー効果を実現するためのVueの具体的なコードを例として紹介します。具体的な...
本日の記事では、主にNginxのリロードプロセスについて紹介します。実は前回の記事では、nginx ...
1.公式サイトからダウンロードして解凍する参考: 2. 環境変数を設定するMYSQL_HOMEをMy...