mysql-mysql学習詳細3&&データベースのバックアップとリカバリ&&マルチテーブル設計&&外部キー制約


一、mysqlデータベースのバックアップとリカバリ
データベース・テーブルのデータのバックアップ
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、マルチテーブル設計における三つのエンティティ関係
  • 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、外部キー:
  • データベース・テーブルとテーブル・フィールドの対応関係を通知し、データベースにその関係を維持してもらうキーを外部キー
  • と呼びます.
  • 外部キー:データの整合性を維持する
  • 外部キー制約の定義
    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);