#はじめに
データベースの基礎部分のまとめです。
(※ 現在学習中の部分の情報を中心にまとめています。)
#1. データベース(DB)とは?
###1.1 概要
- 決まった形式で整理されたデータの集まり。
∟ 複数のユーザーが情報を共有して使用できる。
∟ [取得・登録・修正・削除]などでき、効率よくデータを抽出できる。
「図書館」 のようなイメージで例えられる。
注※「データベース」という言葉はやや抽象的に使われ、会話の中では
DBMS(※後述)なども「データベース」と呼ばれたりもする。
例:Aさん「データベース何使ってるの〜?」
Bさん「Oracle使ってますよ〜。」
など。
###1.2 データベースの種類
データベースはざっくりと以下の種類がある。
1.リレーショナル型(関係型) ←略してRDB、現在の主流。
2.階層型
3.ネットワーク型
4.NoSQL
#2. リレーショナル型データベース(RDB)について
データを 表(テーブル)形式 で管理するデータベース。
列と行を持つ、「Excel」のようなイメージ。
###2.1 テーブルとは
カラム(列)とレコード(行)で構成される表(テーブル)です。
###2.2 データ型
データ型とは、列に格納するデータを制限する方法。
整数、文字列など列に入るデータの種類を限定できる。
■可変長、固定長ってなに?
可変長・・・可変長とは文字数の上限を明示的に定義した文字列。
例えば文字数が「可変長で10文字」と定義されている場合、
10文字以内であればよいということになります。
固定長・・・固定長は文字数が明示的に定義されている文字列。
例えば文字数が「固定長で10文字」と定義されていている場合、
必ず10文字である必要があります。
#3. データベース管理システム「DBMS」とは
DBMS ・・・ 【Database Management System】の略称。
「DBの機能を提供するソフトウェア」のこと。
「RDB」の管理システムなら「RDBMS」という。
###3.1 RDBMS と NoSQL
「NoSQL」とは"リレーショナル型データベース以外のDBMSのこと"を指します。
■代表的なNoSQL
・ MongoDB (MongoDB Inc.)
・ BigTable (Google)
・ Cassandra (Apache Software Foundation)
NoSQLデータベースのメリット
・ データの格納および取得が高度に最適化されている
・ 大規模データに対応できる
・ 多種多様なデータに対して柔軟に対応できる
NoSQLデータベースのデメリット
・ データの整合性が確保されない
・ 登録済みデータの加工は基本的に不可能、可能でも最小限
・ データの並べ替えには注意が必要
###3.2 DBMSとデータベースの違い
前述のように、
OracleやMySQLも便宜上「データベース」と呼ばれるような場合も多いが、
厳密には、「DBMS(RDBMS)であってデータベースではない」というのが正しい区分。
データベースが 図書館 なら、
DBMSは、 そこで働く職員さん のイメージ。
#4. SQLとは?
「SQL」はRDBを操作するための言語。
RDBを扱うとき、SQLを知らなければ何も操作ができないのです!(^^;;
※SQLのもう少し詳しい説明については別でまとめました。
→SQLまとめ(分類まで)
#5. まとめ
以上、データベースについて、ざっくりとまとめてみました。
間違ってる点などあれば修正いたしますので、ご指摘いただけると幸いです!(^_^;)