データベースとは
データベースとは、データ(情報)を保存できる箱のようなものです。
このデータベースに入っているデータを利用することで、様々なシステムは成り立っています。
データベースのメリット
データベースには以下のメリットがあります。
- 大量のデータを保存できる
- データを共有できる
- 入力ミスを防止できる
- 分析しやすい
- セキュリティ管理できる
1.大量のデータを保存できる
企業のデータは財産です。データベースでは大量のデータを保存できるので必須です。
2.データを共有できる
データベースは複数人が同時にアクセスできるため、情報共有がしやすいです。
3.入力ミスを防止できる
データには規則を設定できるため、誤ったデータの入力などを防止することができます。
4.分析しやすい
データベースは規則に従ってデータが保存されているため、欲しい情報を見つけやすくなります。
5.セキュリティ管理できる
データベースは管理下で動くため、いつ誰がアクセスしたかなどの記録を残すことができます。これによってセキュリティ面での管理もしやすいです。
DBMSとは
DBMS(Database Management System)とは、データベース管理システムのことで、データベースを管理できるソフトウェアです。
データベースを箱とすると、DBMSは箱を開けるために必要なものです。
代表的なDBMSは以下が挙げられます。
・Oracle Database
・Microsoft SQL Server
・MySQL
・PostgreSQL
テーブルとは
テーブルとは、データを入れている箱のようなもので、エクセルのような上下のセルで表すことができます。
縦の列をカラム、横の行をレコードと呼びます。
例を見た方が早いので、見てみましょう。

上記で顧客テーブルのIDカラムが2のレコードを取得するとした場合は、「2、佐藤、31」というデータを取得できます。
また、テーブルとカラムには物理名と論理名が存在します。
・物理名:実際のテーブル名・カラム名(基本英語)
・論理名:人が見てわかりやすい名前を付けたテーブル名・カラム名(基本日本語)
| 物理名 | 論理名 | |
|---|---|---|
| 顧客テーブル | customer | 顧客 |
| IDカラム | id | ID |
| 名前カラム | name | 名前 |
| 年齢カラム | age | 年齢 |
次のキャプチャで紹介するSQLなど、実際のデータを操作する際には物理名を使います。
ただ、人がコミュニケーションする際やデータを他の人が見た際には論理名を使います。
マスタデータとは
マスタデータとは、基本となるデータのことです。
マスタデータには、最初からデータを入れておき、変更することはたまにしか(期初や期末など)行わないものになります。
例えば、社員マスタや商品マスタなどがよくあるマスタデータです。
社員マスタには、社員番号・社員名・年齢・性別などが、商品マスタには、商品コード・商品名・金額などがデータとして登録されています。
【スライド資料】データベースについて
SQLとは
SQLは、データベースを操作する言語です。
この言語を用いてデータベースのデータを操作するので、必須の知識です。
DBMSとにて非なるものなので、以下イメージです。

SQLのメイン3種類
SQLは主に下記の3種類の命令文が使われます。
- データ定義言語(Data Definition Language/DDL)
- データ操作言語(Data Manipulation Language/DML)
- データ制御言語(Data Control Language/DCL)
1.データ定義言語(Data Definition Language)(DDL)
データ定義言語は、テーブル自体を作成・削除・設定の変更などのSQL命令文です。
DDLで利用される命令文としては、次のようなものがあります。
- CREATE(テーブルの作成)
- ALTER(テーブル構造の変更)
- DROP(テーブルの削除)
- TRUNCATE(テーブル内全データの削除)
CREATE(テーブルの作成)
CREATE TABLE テーブル名(カラム名1 カラム型1,カラム名2 カラム型2,・・・);
カラム型1のカラム名1、カラム型2のカラム名2…のテーブル名を作成する
ALTER(テーブル構造の変更)
ALTER TABLE 変更前テーブル名 RENAME TO 変更後テーブル名;
変更前テーブル名を変更後テーブル名に変更する
ALTER TABLE テーブル名 RENAME COLUMN 変更前カラム名 TO 変更後カラム名;
テーブル名の変更前カラム名を変更後カラム名に変更する
DROP(テーブルの削除)
DROP TABLE テーブル名;
テーブル名を削除する
TRUNCATE(テーブル内全データの削除)
TRUNCATE TABLE テーブル名;
テーブル名内のデータを削除する(テーブルは残る)
※DROPやTRUNCATEはテーブルやデータを削除するので使用時は要注意です。
2.データ操作言語(Data Manipulation Language)(DML)
データ操作言語は、データベースに対してデータを検索・追加・更新・削除などを行うSQL命令文です。
DMLで利用される命令文としては、次のようなものがあります。
- SELECT(データの検索)
- INSERT(データの追加)
- UPDATE(データの更新)
- DELETE(データの削除)
これらの一般的なデータ操作をCRUD操作と呼びます。
- Create(作成):DMLではINSERT
- Read(参照):DMLではSELECT
- Update(更新):DMLではUPDATE
- Delete(削除):DMLではDELETE
SELECT(データの検索)
SELECT * FROM テーブル名;
テーブル名から全カラムを検索する
SELECT カラム名1, カラム名2, ・・・ FROM テーブル名;
テーブル名からカラム1,カラム2…を検索する
SELECT * FROM テーブル名 WHERE 条件;
テーブル名から条件に一致したもののみを検索する
INSERT(データの追加)
INSERT INTO テーブル名(カラム名1, カラム名2,・・・)VALUES(‘値1′,’値2’,・・・);
テーブル名のカラム名1に値1を、カラム名2に値2を…追加する
UPDATE(データの更新)
UPDATE テーブル名 SET カラム名1 = 値1, カラム名2 = 値2,・・・ ;
テーブル名のカラム名1の値を値1に、カラム名2の値を値2に…更新するする
DELETE(データの削除)
DELETE FROM テーブル名 WHERE 条件;
テーブル名から条件に一致するカラムを削除する
3.データ制御言語(Data Control Language)(DCL)
データ制御言語は、DMLやDDLの利用を制御するためのSQL命令文です。
DCLで利用される命令文としては、次のようなものがあります。
※現場で使用することはほとんどないです。
- GRANT(権限付与)
- REVOKE(権限剥奪)
GRANT(権限付与)
GRANT 権限 TO ユーザ;
ユーザに権限を付与する
REVOKE(権限剥奪)
REVOKE 権限 FROM ユーザ;
ユーザから権限を剥奪する
データ操作言語(DML)使用時の注意点
実際の現場では、データ操作言語(DML)を使用することがほとんどです。
その際の注意点として、UPDATEやDELETEを使用する際にはSELECTで正しいデータを指定できているか確認してから実行しましょう。
SELECTでデータ(更新対象や削除対象)を取得して、それが正しいことを確認次第、そのSQLのSELECTをUPDATEやDELETEに変更するようにしましょう。
【スライド資料】SQL基礎
確認問題
データベースの主なメリットではないものはどれ?
A. 入力ミスを防止できる
B. データの共有ができる
C. データを物理的に印刷できる
D. セキュリティ管理ができる
正解:C
「DBMS(データベース管理システム)」の役割として正しいものはどれ?
A. データベースを表示するブラウザ
B. データベースにアクセスするための管理ソフト
C. ウェブサイトの見た目を整えるCSSツール
D. 表計算ソフトを自動化するためのマクロ
正解:B
テーブルに関する説明で誤っているものはどれ?
A. テーブルはデータの箱のようなもの
B. 縦の列は「カラム」、横の行は「レコード」と呼ぶ
C. テーブルは1つのデータしか保存できない
D. エクセルのような形でデータを管理できる
正解:C
物理名と論理名の組み合わせとして正しいものはどれ?
A. 物理名:年齢、論理名:age
B. 物理名:name、論理名:名前
C. 物理名:顧客、論理名:customer
D. 物理名:性別、論理名:gender
正解:B
「マスタデータ」に関する説明として最も適切なものはどれ?
A. 毎日更新されるデータ
B. 一時的に保存されるテスト用データ
C. 期初や期末などにたまに変更される基本データ
D. ログイン履歴などのアクセス情報
正解:C
SQLの説明として最も適切なものはどれ?
A. データベースをインストールするソフト
B. データベースのデータを操作する言語
C. プログラムの実行速度を測るシステム
D. サーバーの容量を管理する機能
正解:B
次のうちデータ定義言語(DDL)に該当するものはどれ?
A. SELECT
B. INSERT
C. UPDATE
D. CREATE
正解:D
データベースから条件に一致するデータのみを検索するSQLはどれ?
A. SELECT * FROM テーブル名;
B. SELECT * FROM テーブル名 WHERE 条件;
C. INSERT INTO テーブル名 VALUES (…);
D. DELETE FROM テーブル名;
正解:B
次のSQLはどんな操作をするか?
UPDATE users SET age = 30 WHERE id = 5;
A. usersテーブルのidが5のデータを削除する
B. ageが30のデータをusersテーブルに追加する
C. idが5のレコードのageを30に更新する
D. usersテーブルのすべてのデータを30歳にする
正解:C
次のうちCRUD操作の「R」に該当するものはどれ?
A. INSERT
B. SELECT
C. UPDATE
D. DELETE
正解:B