どうも初めまして!
最近基本情報技術者の資格取得に向けて勉強中な駆け出しエンジニアのワカです。
#■この記事を書こうと思ったきっかけ
最近書籍を購入して勉強しているのですが、暗記ばかりでなかなか身にならないと思いました。
そこで基本情報に書かれている内容を自分なりに解釈したものをここに備忘録として書き残すことにしました。
そうすれば手も動かせるし人にみられると思うとその分責任感出ますしね!
あと個人的に今自作PCを作りたいとも考えているのでこの機会に詳しくなっとこうと思ったのも理由の一つです笑
もしかすると間違っている点などあるかもしれませんので、その時は指摘していただけると嬉しいです。
#■DBMS(Data Base Management System)
データベースの定義や操作、制御などの機能を持つミドルウェアのことです
データを蓄積しておくための手段の一つ、大量の蓄積されたデータから必要な上を抜き出したり更新したりが簡単にできるため非常に重宝されます。
型には3種類( 関係型 階層型 ネットワーク型)ありますがここでは関係型のみ紹介しておきます
#■関係型データベース(RDR:Relational Data Base)
名称 | 説明 |
---|---|
表(レコード) | 複数のデータを収容する場所のこと |
行(レコード・組・タプル) | 1件分のデータを表します |
列 (フィールド・属性) | データを構成する各項目を表します |
なぜ関係型というかというとデータ次第で複数の表を関連付けして扱うためこのように言われます
##正規化
リレーショナルデータベースにおいて最も重要な考え方です!
蓄積されているデータに矛盾や重複が発生しないように最適化することを正規化と言い、
例えば1つのテーブルに様々な行(レコード)が書かれていた場合、特定のものを探す場合だとか、編集する場合、探すのが面倒です。
こういう時に正規化を行っておくことで、表が見やすくなったり、矛盾や重複といった間違いをなくす事ができるわけです。
##関係演算について
データを分割する事が正規化と言いましたが、ただ分割されても表単体では全く意味を持ちません。
そこで表と表とで関係性を持たせて意味を持たせる必要があります。(これを関係演算とよぶ)
関係演算の種類には以下3種類が存在します。
関係演算を行うことによって単体では意味を為さなかった表も組み合わせることによって一意的な表を作り出す事ができる話です。
因みに、組み合わせてできる表のことをビュー表と呼びます。
種類 | 説明 |
---|---|
選択 | 量を取りだせんざんですこの演算を行うことで表の中から特定の条件に合致する行だけを取り出すことができます |
射影 | 列を取り出す演算です この演算を使うことで表の中から特定の条件に合致する列だけを取り出すことができます |
結合 | 表と表をつくつける演算です 表の中にある共通の例を介して二つの表をつなぎ合わせます |
##スキーマ
スキーマ=「概要・要旨」 つまり、データベースの構造や使用を定義するものです。
標準的に使用されている ALSI/X3/SPARC規格では三層スキーマ構造をとっています
この構造を取ることでデータの独立性を高めることができます。
名前 | 説明 |
---|---|
外部スキーマ | 利用者の必要とするデータの見方を表現します ビュー表 がこれに回答 ユーザーやプログラムに対して必要なデータだけを提供します プログラムに加えた変更はこのスキーマまでしか影響しません |
概念スキーマ | データの論理的関係を表現します 表の定義はここで いわば データベース 本体 プログラムからもハードウェアからも切り離されているのでどこにも依存せずデータの独立性が保たれています |
内部スキーマ | データの物理的関係を表現します 物理的に道を記憶させるかの定期はここ ハードウェア的な変更はこのスキーまで影響を吸収します |
#■主キーと外部キー
データベースを扱うためには大量のデータの中から順番に探すわけにもいかないので、
特定のものを指す被りがない番号のようなものが必要になってきます。
例えば学生番号とか社員番号などがそうで、学生や社員個人に与えられた番号のようなものです。
それがデータベースにおいて主キーと呼ばれております。
また主キーは表と表とを関連付けさせる際にも一役買っており、「主キーを参照してますよー」と参照側のデータにあるキーのことを外部キーと言います。
##主キーとできる条件
ここまで主キーについて説明してきましたが主キーを設定するためには以下の条件があります。
この条件を満たさない場合は主キーとしては扱う事ができないので注意!
・表の中で内容が重複しないこと
・内容が空ではないこと
また一つの列では一意にならないけど複数の列を組み合わせれば一意になる場合、その主キーたちのことを複合キーと呼びます。
#■最後に
ここまで長々と読んでくださりありがとうございました!
少し説明がわかりにくかった部分があるかと思いますが、もしわからないところがあればコメントしていただけると嬉しいです。
では!次の記事にて!