ソフトウェアテストSQL学習外部キー制約

mysql外部キーの概要

これまでに学習したことは、すべてテーブル上の操作です。複数のテーブル間で操作を実行する場合は、外部キーを使用してテーブルを関連付ける必要があります。
外部キーの役割: 複数のテーブルを関連付け、テーブル間の接続を確立し、共通点の抽出を実現します。

アプリケーションシナリオ

データ項目が多い場合は、すべてのデータを1つのテーブルに格納しますが、テーブルが大きすぎると作業効率に影響します。

解決策は、テーブルを複数のテーブルに分割し、外部キーを使用してそれらを関連付けることです。

社員テーブルを設計したい場合
1) 社員テーブル:番号、名前、年齢、性別、支店、部署
2) 部署名テーブル:番号、部署名、部長、主な業務
3) 会社テーブル:番号、支店名、住所、電話、法人は、
会社と部門のデータを抽出して別のテーブルを形成し、会社テーブルをメインテーブルとして使用し、会社テーブルは部門テーブルに関連付けられ、部門テーブルは従業員テーブルに関連付けられます。つまり、会社テーブルの「番号」が使用され、部門テーブルの「会社」をポイントし、部門テーブルの「番号」を使用して従業員テーブルの「部門」をポイントします。


まとめ:
1. 上記 3 つのテーブルの設計により、冗長フィールド + 大きすぎるテーブルの問題が解決されました☆ (実際には、部門テーブル名はさらに細分化できます) 2. あるテーブルの外部キーは、別のテーブルに対応する主キー
ですtable (現在のテーブルの主キーでも構いません)
3. テーブル作成時に外部キーを設定するのが最善で、対応するテーブル タイプは InnoDB タイプですが、別のタイプの場合は制約はありません。 4.
外部キー制約のあるテーブルの場合は、最初に設定する必要があります。メイン テーブル (指す) を作成し、次にセカンダリ テーブル (外部キー付き) を作成します。 5. 外部キー制約の 2 つのテーブルは InnoDB タイプである必要があります

外部キーの設定

1 会社テーブルの作成

CREATE TABLE `company` (
  `id` int NOT NULL AUTO_INCREMENT,
  `company_name` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `company_addr` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `company_tel` varchar(16) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `company_person` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci
INSERT INTO `company` VALUES ('1', '北京分公司', '北京市朝阳区xxxx号', '010-123456', '李四111');
INSERT INTO `company` VALUES ('2', '上海分公司', '上海市浦东区xx号', '123-5678', '李四222');
INSERT INTO `company` VALUES ('3', '深圳分公司', '深圳市xxx号', '789-111222', '李四333');

2 部門テーブルの作成

create table department (
  id int primary key not null auto_increment,
  department_name varchar(32),
  department_leader varchar(32),
  worker varchar(128),
  company_fid int,
  constraint fk foreign key(company_fid) references company(id)
)engine=innodb;

3 従業員テーブルの作成

create table staff (
  id int primary key not null auto_increment,
  staff_name varchar(32),
  staff_age tinyint,
  staff_sex char(1),
  department_fid int,
  CONSTRAINT staff_fk foreign key(department_fid) REFERENCES department(id)
)engine=innodb

外部キーの概要

1 外部キーは主キーのみを指すことができます

2 外部キーと主キーのフィールド型は同じである必要があり、通常は int 型です。

3 外部キーは制約であり、データ管理を容易にすることが目的です。冗長なフィールドがある場合は、テーブルを抽出して関連付けることができ、データの保存を簡素化できます。

4 テーブルには複数の外部キーを含めることができますが、主キーは 1 つだけです

5 外部キーと主キーのテーブル タイプは InnoDB である必要があります

6 リレーショナルデータベースの特徴は、データ間に関連性があることです。

7 テーブルが別のテーブルに関連付けられている場合、そのテーブルは削除できません。

最後に:以下の完全なソフトウェア テスト ビデオ チュートリアルが整理されてアップロードされており、必要な友人は自分で入手できます[100% 無料を保証]

ソフトウェアテストの面接ドキュメント

私たちは高給の仕事を見つけるために勉強しなければなりません。次の面接の質問は、アリ、テンセント、バイトなどの一流インターネット企業からの最新の面接資料であり、一部のバイトの上司が権威ある回答をしています。このセットを完了してください。面接資料は誰もが満足のいく仕事を見つけることができると信じています。

おすすめ

転載: blog.csdn.net/wx17343624830/article/details/132479115