ファイルシステムの限界。データベースシステムの勉強。
こんにちは。
sipelです。
今回はデータベースとは何なのかについてただただ書いていきます。
リレーショナル(関係)型・・・データを表形式で表す
主キー・・・表の行を特定できる列、または列の組み合わせ。
※重複や空白の値(NULL値)があってはいけない
E-R図・・・対象となる実体(エンティティ)と実体間の関連(リレーションシップ)を表現する図
正規化・・・データの整合性と一貫性を図るために表を分割する作業
外部キー・・・表を分割したときに同じ名前のものを作り、元の表に戻すためののりしろ
インデックス・・・「索引」のこと。特定のデータを素早く見つけられる。
データベースの演算
演算・・・データベースの表に対する操作のこと。3つの演算がある。
・選択・・・表から特定の行を取り出す
・射影・・・表から特定の列を取り出す
・統合・・・複数の表から特定の列をのりしろにして1つの表を作る
DBMS・・・データベース管理システム
NoSQL・・・否定形な構造のデータを管理できる
トランザクション・・・データベースの処理単位
コミット・・・トランザクションの変更を確定しデータベースに反映
ロールバック・・・一連の処理による変更を取り消す
同時実行制御機能・・・データの整合性を維持する機能
排他制御・・・ほかのトランザクションを排除する。使用中はロックをかける
バックアップ・・・データベースを丸ごとコピーしたファイル
ログファイル・・・トランザクションの開始時点と終了時点を更新の都度、記録する
デッドロック・・・2つ以上が譲り合い永遠に続行が出来なくなること
まとめ
現在はデータを表形式で保管するリレーショナル型のデータベースが主流である。
その表の中の項目の中で主キーというものがあり、これは特定の行がすぐわかるキーです。重複や空欄があってはならない。
例えば住所のデータベースだと名前という列を主キーにすると同姓同名がダメ。
電話番号だと住んでいる人が複数だとわからないためダメ。
この場合、名前と電話番号の2つを主キーとするのが正しい。
E-R図は関係性を表す図である。
データベースを作るには正規化と言う作業が必要。
データの整合性と一貫性を図るため表を分割する作業。
要は効率化するための作業。
この時分割した表を元の1つの表に戻すときに必要な列を外部キーと呼ぶ。
例えば表の中の性別で男だけ取り出すことを選択(行を取り出すから)
そして他の情報はいらず名前と性別だけ取り出すことを射影。
さらに新たな列を合わせる時は統合と呼ぶ。
データベースを管理しているのがDBMSで特に
リレーショナルデータベースを管理しているのがRDBMSである。
トランザクションとはデータベースの変更の予定表の一連の流れ。
変更したい部分を検索してそれを変更して最後に更新するといった流れで
1トランザクション。
確定することをコミット。
取り消すことをロールバックと呼ぶ。
トランザクション中の時に他のアクセスは拒否します。
この機能を同時実行制御と言いアクセスを拒否することを排他制御という。
例えば預金を出しているときに別の場所で同じ預金を出そうとすると
不具合が起きるから(整合性が保てない)アクセス拒否する。
障害が起きても大丈夫なようにバックアップしたり、ログファイルを取ったりして
対策しています。
sipel