データベース(MySQL)
Windows 版
データベース
1
データベース 目次
データベース 目次 ...................................................................................................... 1
第 1 章 データベース ................................................................................................. 4
第 1 節 データベースとは ................................................................................................................... 4 第 1 項 データベースとは ....................................................................................................................... 4 第 2 項 データベースの種類.................................................................................................................... 4
第 2 節 データベースのモデリング ..................................................................................................... 6 第 1 項 3 層スキーマ ............................................................................................................................... 6
第 3 節 リレーショナルデータベース ................................................................................................. 7 第 1 項 リレーショナルデータベース ..................................................................................................... 7 第 2 項 DBMS .......................................................................................................................................... 8 第 3 項 SQL ............................................................................................................................................. 8
第 2 章 MARIADB のインストール ........................................................................... 9
第 1 節 MariaDB のインストール ........................................................................................................ 9 第 1 項 MariaDB のインストール ............................................................................................................ 9
第 3 章 データベースの設計 .................................................................................... 14
第 1 節 データベースの作成 .............................................................................................................. 14 第 1 項 E-R 図 ....................................................................................................................................... 14
第 2 節 データベースの論理設計 ...................................................................................................... 15
第 1 項 主キーの設定 ............................................................................................................................ 15
第 3 節 正規化 ................................................................................................................................... 16 第 1 項 非正規形と第 1 正規形 .............................................................................................................. 16 第 2 項 第 2 正規形 ................................................................................................................................ 16 第 3 項 第 3 正規形 ................................................................................................................................ 17 第 4 項 外部キーと参照整合性制約 ....................................................................................................... 17
第 4 節 データベースの物理設計 ...................................................................................................... 18 第 1 項 データ型と制約 ......................................................................................................................... 18
第 5 節 データベースのパフォーマンス設計 .................................................................................... 19
第 1 項 インデックスの定義.................................................................................................................. 19
第 4 章 データベース作成と SQL ............................................................................ 21
第 1 節 データベースの作成 .............................................................................................................. 21
第 1 項 データベースの作成.................................................................................................................. 21
第 2 節 テーブルの作成 ..................................................................................................................... 23 第 1 項 テーブルの作成 ......................................................................................................................... 23 第 2 項 テーブルの作成:解答 .............................................................................................................. 26 第 3 項 外部キーを含むテーブルの作成 ............................................................................................... 26 第 4 項 外部キーを含むテーブルの作成:解答..................................................................................... 28
第 3 節 インデックス ........................................................................................................................ 29 第 1 項 インデックスの作成.................................................................................................................. 29 第 2 項 インデックスの作成:解答 ....................................................................................................... 30
第 5 章 関係演算と集合演算 .................................................................................... 31
第 1 節 関係演算 ................................................................................................................................ 31 第 1 項 射影 ........................................................................................................................................... 31 第 2 項 選択 ........................................................................................................................................... 32 第 3 項 結合 ........................................................................................................................................... 32
第 2 節 集合演算 ................................................................................................................................ 34 第 1 項 集合演算 .................................................................................................................................... 34
第 6 章 データ操作と SQL....................................................................................... 36
第 1 節 データの作成 ........................................................................................................................ 36
データベース
2
第 1 項 データの作成 ............................................................................................................................ 36 第 2 項 データの作成:解答 .................................................................................................................. 39 第 3 項 列を指定した挿入 ..................................................................................................................... 40
第 2 節 データの検索 ........................................................................................................................ 41 第 1 項 基本的な検索 ............................................................................................................................ 41 第 2 項 基本的な検索:解答 .................................................................................................................. 43 第 3 項 条件を指定しての検索 .............................................................................................................. 43 第 4 項 条件を指定しての検索:解答 ................................................................................................... 47 第 5 項 検索結果のソート ..................................................................................................................... 48 第 6 項 検索結果のソート :解答......................................................................................................... 49 第 7 項 データのグループ化 .................................................................................................................. 50 第 8 項 検索結果のソート :解答......................................................................................................... 52 第 9 項 副問い合わせ ............................................................................................................................ 52 第 10 項 副問い合わせ :解答 .............................................................................................................. 53 第 11 項 集合演算の実行 ....................................................................................................................... 54
第 3 節 データの更新 ........................................................................................................................ 55 第 1 項 データの更新 ............................................................................................................................ 55 第 2 項 データの更新:解答 .................................................................................................................. 57
第 4 節 データの削除 ........................................................................................................................ 57 第 1 項 データの削除 ............................................................................................................................ 57
第 5 節 テーブルをまたいだ検索 ...................................................................................................... 59
第 1 項 テーブルの結合 ......................................................................................................................... 59 第 2 項 テーブルの結合:解答 .............................................................................................................. 62 第 3 項 外部結合 .................................................................................................................................... 62 第 4 項 外部結合:解答例 ..................................................................................................................... 63 第 5 項 相関副問い合わせ ..................................................................................................................... 64 第 6 項 相関副問い合わせ:解答例 ....................................................................................................... 64
第 6 節 ビューの作成 ........................................................................................................................ 65 第 1 項 ビューの作成 ............................................................................................................................ 65 第 2 項 ビューの作成:解答 .................................................................................................................. 68 第 3 項 更新可能なビュー ..................................................................................................................... 68
第 7 節 パフォーマンスの分析 .......................................................................................................... 68 第 1 項 SQL の実行 ............................................................................................................................... 68 第 2 項 実行計画の確認 ......................................................................................................................... 69
第 7 章 権限の管理 .................................................................................................. 72
第 1 節 データベースとアクセス権限 ............................................................................................... 72
第 1 項 データベースとアクセス権限 ................................................................................................... 72
第 2 節 ユーザーの作成 ..................................................................................................................... 72 第 1 項 データベースユーザーの作成 ................................................................................................... 72
第 3 節 権限の管理 ............................................................................................................................ 73 第 1 項 権限の付与 ................................................................................................................................ 73 第 2 項 アクセス制限の確認 .................................................................................................................. 74
第 8 章 トランザクション ........................................................................................ 77
第 1 節 トランザクション ................................................................................................................. 77
第 1 項 トランザクション ..................................................................................................................... 77
第 2 節 排他制御 ................................................................................................................................ 78 第 1 項 排他制御 .................................................................................................................................... 78
第 3 節 障害からの復旧 ..................................................................................................................... 80 第 1 項 障害からの復旧 ......................................................................................................................... 80
第 9 章 トランザクションと SQL ............................................................................ 82
第 1 節 トランザクションの制御 ...................................................................................................... 82 第 1 項 トランザクションの制御 .......................................................................................................... 82 第 2 項 トランザクションの独立性 ....................................................................................................... 83
データベース
3
第 2 節 ロック ................................................................................................................................... 86 第 1 項 ロック ....................................................................................................................................... 86 第 2 項 デッドロック ............................................................................................................................ 88
第 10 章 データベースの応用 .................................................................................. 91
第 1 節 データウェアハウス .............................................................................................................. 91 第 1 項 データウェアハウス.................................................................................................................. 91
第 2 節 分散データベース ................................................................................................................. 91 第 1 項 分散データベース ..................................................................................................................... 91
第 11 章 総合演習 .................................................................................................... 93
第 1 節 データベース設計 ................................................................................................................. 93 第 1 項 構築するデータベース .............................................................................................................. 93 第 2 項 E-R 図:解答 ............................................................................................................................ 93 第 3 項 DDL:解答 ................................................................................................................................ 94
第 2 節 データベースへの問い合わせ ............................................................................................... 96
第 1 項 実行する問い合わせ.................................................................................................................. 96 第 2 項 DML:解答 ................................................................................................................................ 99
付録 SQL リファレンス ........................................................................................ 102
データベース、テーブル、インデックスの作成 ............................................................................... 102 データベースへの接続 mysql.............................................................................................................. 102 データベース接続の終了 exit .............................................................................................................. 102 データベースの作成 CREATE DATABASE ........................................................................................ 102 データベースの一覧表示 SHOW DATABASES .................................................................................. 102 データベースの削除 DROP DATABASE ............................................................................................ 103 テーブルの作成 CREATE TABLE ....................................................................................................... 103 テーブルの一覧表示 SHOW TABLES ................................................................................................. 104 テーブルの情報表示 SHOW COLUMNS ............................................................................................ 105 テーブルの定義 SQL の表示 SHOW CREATE TABLE ....................................................................... 105 テーブルの削除 DROP TABLE ........................................................................................................... 105 ビューの作成 CREATE VIEW ............................................................................................................. 106 ビュー定義の確認 SHOW CREATE VIEW ......................................................................................... 106 ビューの削除 DROP VIEW ................................................................................................................. 106 インデックスの作成 CREATE INDEX ................................................................................................ 107 インデックスの一覧表示 SHOW INDEX ............................................................................................ 107 インデックスの削除 DROP INDEX .................................................................................................... 107
データの操作 ..................................................................................................................................... 108
データの挿入 INSERT ........................................................................................................................ 108 データの検索 SELECT ....................................................................................................................... 108 データの更新 UPDATE ........................................................................................................................ 112 データの削除 DELETE ........................................................................................................................ 113 実行計画の表示 EXPLAIN.................................................................................................................... 113
権限の管理 ......................................................................................................................................... 113
ユーザーの作成 CREATE USER ......................................................................................................... 113 ユーザーの一覧表示 mysql.user .......................................................................................................... 114 ユーザーの削除 DROP USER ............................................................................................................. 114 権限の付与 GRANT ............................................................................................................................. 114 権限の一覧表示 SHOW GRANTS ....................................................................................................... 115 権限の剥奪 REVOKE ........................................................................................................................... 115
トランザクションの制御 ................................................................................................................... 115 トランザクションの開始 BEGIN ......................................................................................................... 115 トランザクションの確定 COMMIT ...................................................................................................... 115 トランザクションの取り消し ROLLBACK .......................................................................................... 116