データ整合性は、エンティティ整合性、ドメイン整合性、参照整合性に分けられます。 参照整合性: 参照整合性とは、主に外部キー制約を使用した複数のテーブル間の設計を指します。 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で自動更新を設定するための手順を完了する
コアSQL文数字を含まない MySQL クエリ ステートメント: SELECT * FROM tes...
障害に遭遇すると、障害の根本的な原因を考えるのではなく、障害を解決する方法を考えることがよくあります...
セル - 表の内容 セルの余白 (表の余白) (cellpadding) - セルの外側の距離を表し...
1. MySQL でグローバル変数を変更するには 2 つの方法があります。方法 1: my.ini ...
この記事では、参考までにMySQLのインストールと設定のチュートリアルを紹介します。具体的な内容は次...
キーワード 一般タイトルには、クラック、キー、シリアル番号、キージェネレータなどの単語を含めることは...
2つの異なるサーバー間の転送ポート転送を有効にするまず、デフォルトでは無効になっている IP 転送機...
概要: MYSQLの問題解決記録:どのようなインストール方法 (rpm、gz、gz.xz) を使用す...
数日前に CentOS8 がリリースされました。8 の最初のバージョンですが、今日は VM12 に ...
目次1 マウントディレクトリとファイルを作成する2 Redisイメージを取得する3 コンテナを作成し...
厳密に言えば、nginx には負荷分散バックエンド ノードのヘルス チェック機能はありませんが、デフ...
目次1. 解決策2. サーバーから返されたトークンをブラウザに保存する3. リクエストにアクセス権限...
目次コンストラクタインスタンスとプロトタイプの関係プロトタイププロパティ属性またはメンバーの検索原則...
xml <?xml バージョン="1.0" エンコーディング="...
序文scp は secure copy の略です。scp は、Linux システムの ssh ログイ...