Webエンジニアを目指す文系卒の備忘録ブログ

知識や技術の備忘録として、アウトプットしていきます。

【DB】データベースって何?基礎知識

 

今回はデータベースに付いて、基礎的なところをまとめていきます。

 

 

DBって何ですか?

 

簡単に言うと、データを入れておく箱のこと。

テーブルという形でデータが入っていると見るのが一般的です。

 

テーブルっていうのは、エクセルで見る表のようなものです。

縦の列と横の行にそれぞれ名前や項目が付いてるやつです。

(ちなみに縦がカラム、横がレコードと呼びます。)

 

実際の例で挙げるなら、電話帳や住所録、辞書なんかもDBです。

 

 

DBMSって何ですか?

 

データベースマネジメントシステム。

DBという箱達を、管理する為のシステムです。

「ユーザーがログインしたからユーザーのデータちょーだい」

「OK〜探したらあったよ〜あげるね〜」⇦この部分

 

実際の仕事の現場では、DBMSという言葉は使わないそうな。

DBと略して話すんだそうです。

 

 

どんな機能があるの?

 

・DBのカラム名レコード名の定義

・データの検索、更新、削除などの操作

・不正なデータの登録を防ぐ(完全性)

・複数ユーザー間での、データの共有

・暗号化機能(セキュリティ)

などがあります。

 

マネジメントシステムっていう名前の通りですね。

 

 

DBMSの種類

 

DBMSにはいくつか種類があります。

リレーショナルDBとか、分散型DBとか、ツリー型DBとか。

そんないくつかあるDBMSですが、もっともよく使われるのは、

リレーショナル型DB、略して「RDBMS」です。

 

そして、そのRDBMSの中で最もよく使われているサービスは、

Mysql」です。

現状は、これを使うといいと思われます。

 

 

どうやってDBを操作するの?

 

SQL」というDB言語を使います。

SQL国際標準化機構(ISO)やJISで制定されているらしいです。

なので、どのRDBMSでも使えます。

 

例としてコードを挙げると、

SELECT * FROM users WHERE id = 1

といった感じです。

 

このコードの意味は、

「usersというテーブルから、idが1のデータを取って来てね」

となります。

(「*」は全てのカラム名を指定しています。例えばここが「name」だったら、idが1の「名前」だけ取ってくることになります。)

 

 

覚えておくべき基礎知識

 

・プライマリキー

 プライマリキーとは、レコードを1行ずつ識別する為のもので、重複して同じ値を持つことはありません。

 つまり、同じテーブル内で絶対被らないフィールド(データの数値や文字群)のことです。

 例えば、健康診断テーブルみたいなのがあって、身長、体重などのカラム名があるとします。そこに太郎さんが二人いて、全く同じ身長と体重だったら(ほぼありえませんが笑)どっちがどっちの太郎さんか分からなくなります。

 そういう時に効果を発揮するのが、プライマリキーです。

 idが1の太郎さん、idが2の太郎さん、といったイメージです。

 

 

・外部キー

 テーブルのプライマリキーと、同じ値を持った別のテーブルのフィールド値のこと。

 どうゆう時に使うかというと、テーブルとテーブルをくっつけたい時に使ったりします。

 例えば、体力テスト結果というテーブルがあり、それを先程の例の健康診断テーブルとくっつけたい。健康診断側のプライマリキーと同じ値を、体力テスト側でも作って、idが同じもの同士をくっつけようって感じです。

 

 

・データ型

 フィールドにどんなデータが入るのか、あらかじめ想定して用意しておきます。

例えば、数値なのか、文字列なのか、日付なのか、といった具合です。これらを指定しておけば、予期せぬデータが入ることを防げます。

 

 

 

 

基礎知識、ざっとこんな感じでしょうか。

また追加する内容あれば、別でまとめたいと思います。