1. 実験の目的
1.時計の基礎知識をマスターする。
2. Navicat またはその他のサードパーティ管理ツールと SQL ステートメントを使用してテーブルを作成する方法を習得します。
3. テーブルの変更、表示、削除などの基本的な操作方法をマスターします。
4. テーブル内の整合性制約の定義をマスターします。
5. 整合性制約の役割をマスターする
2. 実験内容と要件
1.テーブルの定義と変更の操作
schoolInfo データベースに TeacherInfo テーブルを作成します。テーブル構造は次のとおりです。
2. Staffinfo データベースを作成し、部門テーブルと従業員テーブルを定義して、2 つのテーブル間の整合性制約を完了します。
部門テーブルの構造
Worker テーブルの構造
|
3. 実験方法と手順
1.テーブルの定義と変更の操作
(1) まずデータベース schoolInfo を作成します。
(2) TeacherInfoテーブルを作成します。
(3) TeacherInfo テーブルの name フィールドのデータ型を VARCHAR(30) に変更します。
(4) 誕生日欄の位置を性別欄の前に変更します。
(5) num フィールドの名前を t_id に変更します。
(6) TeacherInfoテーブルのアドレスフィールドを削除します。
(7) TeacherInfo テーブルに、wage という名前のフィールドを追加します。データ型は FLOAT です。
(8) TeacherInfo テーブルの名前を TeacherInfo_Info に変更します。
(9) TeacherInfo_InfoテーブルのストレージエンジンをMyISAMタイプに変更します。
2. Staffinfo データベースを作成し、部門テーブルと従業員テーブルを定義して、2 つのテーブル間の整合性制約を完了します。
(1) Staffinfo データベースの下に、部門テーブルと従業員テーブルを作成します。
(2) 部門テーブルを削除します。
(3) 部門テーブルを削除する
(4) ワーカーテーブルの外部キー制約を削除する
(5) 再度部門テーブルを削除します。
4. 実験結果
1.テーブルの定義と変更の操作
(1) まずデータベース schoolInfo を作成します。
コード:
データベース schoolInfo を作成します。
結果:
(2) TeacherInfoテーブルを作成します。
コード:
テーブル TeacherInfo を作成 (
id int(4) not null 一意の主キー auto_increment、
num int(10)null ではありません、
名前 varchar(20) が null ではありません。
性別 VARCHAR(4) が null ではありません。
誕生日の日時、
アドレス varchar(50)
);
結果:
(3) TeacherInfo テーブルの name フィールドのデータ型を VARCHAR(30) に変更します。
コード:
テーブル TeacherInfo を変更します。名前 varchar(30) が null ではありません。
結果:
(4) 誕生日欄の位置を性別欄の前に変更します。
コード:
テーブル TeacherInfo を変更し、名前の後の誕生日日時を変更します。
結果:
(5) num フィールドの名前を t_id に変更します。
コード:
テーブル TeacherInfo の変更 num t_id int(10) が null ではありません。
結果:
(6) TeacherInfoテーブルのアドレスフィールドを削除します。
コード:
テーブル TeacherInfo を変更してアドレスを削除します。
結果:
(7) TeacherInfo テーブルに、wage という名前のフィールドを追加します。データ型は FLOAT です。
コード:
テーブル TeacherInfo を変更して賃金フロートを追加します。
結果:
(8) TeacherInfo テーブルの名前を TeacherInfo_Info に変更します。
コード:
テーブル TeacherInfo を変更します。 TeacherInfo_Info の名前を変更します。
結果:
(9) TeacherInfo_InfoテーブルのストレージエンジンをMyISAMタイプに変更します。
コード:
テーブル TeacherInfo_Info エンジン = MyISAM を変更します。
結果:
2. Staffinfo データベースを作成し、部門テーブルと従業員テーブルを定義して、2 つのテーブル間の整合性制約を完了します。
(1) Staffinfo データベースの下に、部門テーブルと従業員テーブルを作成します。
コード:
CREATE TABLE 部門(
d_id INT(4) NOT NULL 一意の主キー、
d_name VARCHAR(20) NOT NULL UNIQUE、
`関数` VARCHAR(50)、
アドレス VARCHAR(50)
);
テーブルワーカーを作成(
id int(4) not null 一意の主キー auto_increment、
num int(10) null 一意ではありません。
d_id int(4)、
名前 varchar(20) が null ではありません。
sex varchar(4) が null ではありません。
誕生日の日付、
アドレス varchar(50)
);
結果:
(2) 部門テーブルを削除します。
コード:
ドロップテーブル部門。
結果:
(3) 部門テーブルを削除する
コード:
ドロップテーブル部門。
結果:
部門テーブルは以前に削除されているため、再度削除に失敗し、不明なテーブルが表示されます
(4) ワーカーテーブルの外部キー制約を削除する
コード:
テーブルの作成時に外部キーを直接追加できないため、ここではテーブルの作成後に外部キーを追加する必要があります。
テーブルワーカーを変更して制約を追加します。 d_id 外部キー ( d_id ) は部門( d_id ) を参照します。
ワーカーはスレーブテーブルの名前です
d_idは 1 つの外部キー制約名です
部門はメインテーブル名です
テーブルワーカーを変更して外部キー d_id を削除します。
結果:
(5) 再度部門テーブルを削除します。
コード:
ドロップテーブル部門。
結果:
5. 知識ポイントのまとめ
テーブルの整合性制約には次のものが含まれます。
主キー #レコードを一意に識別できるテーブルの主キーとしてフィールドを識別します
外部キー #フィールドをテーブルの外部キーとして識別します
not null # フィールドを空にすることはできず、値を割り当てる必要があることを示します
一意のキー # フィールドが一意であることを識別します
auto_increment #フィールド (整数型および主キー) の値の自動増加を識別します。
default # このフィールドにデフォルト値を設定し、レコードを挿入するときにフィールドに値を割り当てずにデフォルト値を使用します。
unsigned # unsigned (署名など)
zerofill # 0で埋める