データベースとは?
- データベースを一言で表現するならデータの貯蔵庫です。
- データベースは常に変化する。どのように処理をするかと言うアルゴリズムの部分は、Javaなどのアプリケーションにデータの部分はデータベースにそれぞれ切り分けて管理する。
クエリとは?
データベースに対する命令文のこと。
①SELECT この列(項目から取り出す)
②FROM この表(テーブル)から
③WHERE この条件で
;(最後はセミコロンで締める)
※② ⇨ ③ → ① の順序で目を通す
JOINとは?
2つのテーブルを結合すること
JOIN句:結合条件に当てはまるものだけをリストアップ(当てはまらないものを除外する)
SELECT この列(項目から取り出す)
FROM テーブル名(表A)
JOIN 繋げるテーブル名(表B)
ON 繋げる条件
テーブル
-
データベース内は複数の表のようなもので構成されていて、この表のようなものを『テーブル』と言い、意味的なまとまりを持ったデータを整理・管理する。
-
テーブルにおける行のことを『レコード』、列のことを『カラム』、1つ1つのデータのことを『フィールド』と言う。
-
データベースで管理するデータはプログラミング同様に型を持つ。型はカラムごとに設定可能で、以下のようなものがある。
○ 整数型 INT、BIGINTなど
○ 小数点数型 DOBULE,FLOAT
○ 文字列型 CHAR VARCHAR
○ 日時系 DATE TIMESTAMP -
型以外にもカラムごとに設定できる代表的なもの
○ 主キー(PRIMARY KEY)・・・データの整合性を守るための制約。カラム内でデータの重複とNULL(データなし)を認めない。
○ NOT NULL・・・カラム内でNULL(データなし)を認めない。
主キー(PRIMARY KEY)の重要性
- レコードを一意に識別可能
データベース管理システム(DBMS)
- データベースの管理を専門で行うソフトウェアを『データベース管理システム(DBMS:Database Management System)』と言う。データを最適な状態に保つ、Javaなどのアプリケーションからのアクセスに応える等の役割を担う。
○ データ操作
アプリケーションから要求されたデータ操作(検索・挿入・更新・削除)を実行
○ データの整合性の維持
不正なデータやデータ同士の関係性が崩れないようにチェックする。
○ 復旧障害
データベースに障害が発生した時に回復処理を行う
○ 機密保護
セキュリティを設けることで不正アクセスやデータの破壊を防ぐ
○ 同時実行制御
複数のユーザーが同時に同じデータにアクセスすることを防ぐことでデータに矛盾が生じることを未然に防ぐ
RDBMS
-
テーブルを繋いだデータ同士の結び付きのことをリレーションシップと言う。またこのリレーションシップを保持することで、複数のテーブル同士を関連付けて管理するDBMSのことを『RDBMS(Relational DataBase Management System)と言う。
-
オープンソースで一般的なRDBMSとしてMySQLやPostgreSQLが挙げられ、小規模なアプリで頻繁に使用される。
※ 無料で使用可能だが、別料金を支払えばサポートも受けられる
RDBMSの構築と利用
- RDBMSにおいて複数のテーブルを管理する領域を『スキーマ』といい、データベースの構築はスキーマを作るところから始まる
参考サイト
【SQL】未経験者もこれ一本でOK!MySQLで学ぶ「SQL」「データベース基礎」講座【プログラミング初心者向け】
データベースの用語を理解しよう 「テーブル」「レコード」「カラム」「フィールド」とは?
データベースの構造はどうなっているの?