はじめに
これはデータベース勉強する上の超個人用メモです。笑笑
データベース
excelの表みたいな感じの大量データを管理するもの。
以下のような感じ笑笑
個人テーブル
個人識別ID | 名前 | 出身地 |
---|---|---|
1 | 星野みなみ | 千葉県 |
2 | 堀未央奈 | 岐阜県 |
3 | 齋藤飛鳥 | 東京都 |
4 | 寺田蘭世 | 東京都 |
所属テーブル
個人識別ID | 所属 |
---|---|
1 | 乃木坂1期生 |
2 | 乃木坂2期生 |
3 | 乃木坂1期生 |
4 | 乃木坂2期生 |
カラム
各テーブルの各項目にあたる列のこと。(列は縦だよ)
例: 個人識別ID、名前、出身地、所属
レコード
各テーブルの1件分のデータにあたる行のこと。(行は横だよ)
例: (1 星野みなみ 千葉県)、(1 乃木坂1期生)
主キー
テーブルのデータを必ず1件特定できるカラム。
主キーに設定したカラムは、重複した値は設定不可。
例: 個人識別ID
外部キー
複数テーブルを連携させる時、テーブル同士で共通しているカラム。
例: 個人識別ID
ユニークキー
意味合い的には主キーと同じ。
しかし、主キーは1つのカラムのみしか設定できないのに対して、ユニークキーは複数のカラムを設定可能。
RDB (Relational DataBase)
RDBとは、複数テーブルでデータを管理する方式。
この方式により、データの重複をなくすことができ、データ検索能力が高くなる。
SQL (Structured Query Language)
RDB等でデータ操作(データの挿入・選択・更新・削除)を行うために使用する言語。
いわば、データベース専用プログラミング言語となる。
正規化
データの重複や繰り返し項目をなくしていき、よりデータの取り扱いがしやすいようにデータベースを設計すること。
非正規形
第1正規形
個人識別ID | 名前 | 出身地 | 所属 |
---|---|---|---|
1 | 星野みなみ | 千葉県 | 乃木坂1期生 |
2 | 齋藤飛鳥 | 東京都 | 乃木坂1期生 |
3 | 寺田蘭世 | 東京都 | 乃木坂2期生 |
4 | 堀未央奈 | 岐阜県 | 乃木坂2期生 |
第2, 3正規形
個人テーブル
個人識別ID | 名前 |
---|---|
1 | 星野みなみ |
2 | 堀未央奈 |
3 | 齋藤飛鳥 |
4 | 寺田蘭世 |
出身テーブル
個人識別ID | 出身地 |
---|---|
1 | 千葉県 |
2 | 岐阜県 |
3 | 東京都 |
4 | 東京都 |
所属テーブル
個人識別ID | 所属 |
---|---|
1 | 乃木坂1期生 |
2 | 乃木坂2期生 |
3 | 乃木坂1期生 |
4 | 乃木坂2期生 |
トランザクション
トランザクションとは、データベースでの一連の処理をひとまとまりにした処理単位。
コミット
トランザクションの処理でエラーが出ずに無事完了すること。
ロールバック
もし、トランザクションの処理途中でエラーが出た場合、トランザクションのその処理が行われる前の状態まで戻ること。
その処理はいかにも最初からなかったような感じになる。
ロールバックの反対で、ロールフォワードというのもある。
トランザクションACID特性
原子性 (ATOMICITY)
トランザクションは、処理が完全に実行されるか、全く実行されないかのどちらかしかないという性質。
一貫性 (CONSISTENCY)
トランザクションの処理の実行前後で整合性を持ち、一貫したデータであるという性質。
独立性 (ISOLATION)
あるトランザクションが別のトランザクションに影響を及ぼすことはないという性質。
耐久性 (DURABILITY)
一度データベースにデータが格納されたら、データは失われることはないという性質。
排他的制御
共有ロック
データを参照する時にかけるロックのこと。
共有ロックをかけている時は、他のトランザクションはデータ参照は可能だが、データ更新は不可である。
占有ロック
データを更新する時にかけるロックのこと。
占有ロックをかけている時は、他のトランザクションはデータ参照・更新は不可である。
つまり、占有ロックをかけているトランザクションのみデータに触れることが可能。
デッドロック
複数のトランザクションの処理が、同じデータベースの同じ場所にアクセスしようとして、お互いの処理を妨げてしまい、どちらのトランザクションの処理も膠着してしまうこと。
例: あるトランザクションAが「データAを使用する処理➡データBを使用する処理」で処理したいと考えていて、別のトランザクションBが「データBを使用する処理➡データAを使用する処理」で処理したいと考えていると仮定する。
また、2つのトランザクション処理は同タイミングで行うと仮定する。
おわりに
ネットワーク編
https://qiita.com/N46_myHearter/items/9f1b75d2432063dc11e7
情報セキュリティ編
https://qiita.com/N46_myHearter/items/421e214bb58e7108c9a9
努力・感謝・笑顔、うちらは乃木坂上り坂 46。笑笑