データ整合性は、エンティティ整合性、ドメイン整合性、参照整合性に分けられます。 参照整合性: 参照整合性とは、主に外部キー制約を使用した複数のテーブル間の設計を指します。 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で自動更新を設定するための手順を完了する
絵文字付きの HTML コメント ボックス。絵文字は Json データを通じて読み込まれ、好みに応じ...
フロントエンド開発者がよく遭遇する問題は、ユーザーに情報を提示するためのポップアップ ウィンドウを作...
目次1. 手順1. ボタンの権限を定義する2. ストアを定義する3. 権限指示を作成する4. パーミ...
win docker-desktopを使ってコンテナ開発に接続し、ネットワーク上で色々試してみたいと...
SQLyog が MySQL に接続する際にエラー番号 1129 が発生します: mysql エラー...
1. フロントエンド主導の実装手順最初のステップは、ページのインポートボタンをクリックしてExcel...
目次MySQL の基本的な共通コマンド1. SQL文2. テーブルを作成する3. フィールドのプロパ...
表示する svg 画像を追加すると、React はファイルが見つからないというメッセージを表示します...
弊社のネットワーク管理センターは管理センター兼サーバーとして機能します!各管理対象デバイスは、TCP...
Linux ホスト名変更コマンド1. ホスト名を一時的に変更するだけの場合は、hostname コマ...
データの挿入テーブル名(列名1、列名2、列名3)の値(値1、値2、値3)に挿入します。ユーザーに(u...
昨日のプロジェクト開発中に、スタイルの読み込み優先順位に関する問題が発生しました。クラスは定義され、...
サーバーとデータベースの構築方法を学ぶ必要があるため、最近は SQL 言語を独学で学び始めました。デ...
1. 基本構造:コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBL...
序文コードを書く過程で、必然的にコードに何らかの変更を加えることになります。しかし、変更を加えるとき...