データ整合性は、エンティティ整合性、ドメイン整合性、参照整合性に分けられます。 参照整合性: 参照整合性とは、主に外部キー制約を使用した複数のテーブル間の設計を指します。 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. クライアントとサーバー間の通信方法2. クエリキャッシュ3. クエリ最適化処理4. クエリ...
この記事では、jQueryプラグインを使用してマインスイーパゲームを実装する2番目の記事を参考までに...
in() の ID の順序に従った Mysql クエリ結果の順序の詳細な説明コード例: <se...
この記事では、マスク レイヤーの中空化を実現する 4 つの方法を紹介します。みんなと共有し、自分用の...
usemap は <img> タグの属性であり、使用するイメージ マップの名前を指定する...
問題を見つける最近、仕事で問題が発生しました。InnoDB タイプの SQL ファイルを実行すると、...
1. 表タグはtable、trは行、tdはセル、cellspacingはセル間の距離、cellpad...
目次502 不正なゲートウェイ エラーの発生1. 502 不正なゲートウェイ エラーとは何ですか? ...
1. コマンドの紹介ifconfig (ネットワーク インターフェイスを構成する) コマンドは、ネッ...
Docker Compose は、Docker コンテナ クラスターのオーケストレーションを実現しま...
Tomcat をサービスとして登録する場合の注意点は次のとおりです。 インターフェースを開いたら、以...
Windows: NTFS、FATをサポートLinux は次のファイル形式をサポートしています: C...
タブ: カテゴリ + 説明タグバー: カテゴリ => ユーザーに現在地と目的地を知らせる1. ...
目次トリガーについてトリガーの使用トリガーを作成するトリガーを表示トリガーの削除使用上の注意新旧の違...
序文データベースは常に私の弱点でした。自分の経験 (python+sqlalchemy) を組み合わ...