mysql-mysql学習詳細3&&データベースのバックアップとリカバリ&&マルチテーブル設計&&外部キー制約
一、mysqlデータベースのバックアップとリカバリ
データベース・テーブルのデータのバックアップ
データベースのリカバリ
(注:データベースが削除されている場合は、データベースを作成してからデータを復元します.)
二、mysqlマルチテーブル設計
1、マルチテーブル設計——外部キー制約
外部キー制約の定義
マルチテーブル設計では、外部キー制約の発生が伴うことが多い.
2、マルチテーブル設計における三つのエンティティ関係 M:Nの連絡導入関係テーブル 関連するプロパティと2つのエンティティのプライマリIDがリレーショナル・テーブルを形成します.
リレーショナル・テーブルのプライマリ・キーは、2つのエンティティのプライマリIDの組合せです.
参加表
(E1,P1,percent)
従業員テーブル
(E1,E2)
プロジェクトテーブル
(P1,P2,P3) 1:Nの連絡は、関係テーブル を導入しなくてもよい
リレーションのプロパティと非マルチパーティのプライマリIDをマルチパーティテーブルに追加
複数テーブルの外部キーが複数エンティティでないプライマリID
先生の時計
(Tid,Tname,Tsex)
カリキュラム
(Cid,Cname,Tid,allowance)
三、mysql外部キー制約
1、外部キー:データベース・テーブルとテーブル・フィールドの対応関係を通知し、データベースにその関係を維持してもらうキーを外部キー と呼びます.外部キー:データの整合性を維持する 外部キー制約の定義
2、例:
新規部門テーブルdept(id,name)
外部キー制約による従業員テーブルempとの関係の確立
データベース・テーブルのデータのバックアップ
cmd> mysqldump -u -p > .sql
mysqldump -uroot -p db_name > d:/1.sql
データベースのリカバリ
(注:データベースが削除されている場合は、データベースを作成してからデータを復元します.)
: cmd :
mysql –u -p < .sql
mysql -uroot -p db_name < d:/1.sql
mysql -uroot -p mydb3 < d:/1.sql
: mysql
source .sql
source d:/1.sql
二、mysqlマルチテーブル設計
1、マルチテーブル設計——外部キー制約
外部キー制約の定義
foreign key(ordersid) references orders(id)
マルチテーブル設計では、外部キー制約の発生が伴うことが多い.
2、マルチテーブル設計における三つのエンティティ関係
リレーショナル・テーブルのプライマリ・キーは、2つのエンティティのプライマリIDの組合せです.
参加表
(E1,P1,percent)
従業員テーブル
(E1,E2)
プロジェクトテーブル
(P1,P2,P3)
リレーションのプロパティと非マルチパーティのプライマリIDをマルチパーティテーブルに追加
複数テーブルの外部キーが複数エンティティでないプライマリID
先生の時計
(Tid,Tname,Tsex)
カリキュラム
(Cid,Cname,Tid,allowance)
三、mysql外部キー制約
1、外部キー:
foreign key(ordersid) references orders(id)
2、例:
新規部門テーブルdept(id,name)
外部キー制約による従業員テーブルempとの関係の確立
create table dept(
id int primary key auto_increment,
name varchar(20)
);
insert into dept values(null, ' ');
insert into dept values(null, ' ');
insert into dept values(null, ' ');
insert into dept values(null, ' ');
create table emp(
id int primary key auto_increment,
name varchar(20),
dept_id int,
foreign key(dept_id) references dept(id)
);
insert into emp values(null, ' ', 1);
insert into emp values(null, ' ', 2);
insert into emp values(null, ' ', 3);
insert into emp values(null, ' ', 4);
insert into emp values(null, ' ', 4);