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