PHP
MySQL
SQL
access

SQLをゼロベースで学んだ時に出会う用語まとめ

More than 3 years have passed since last update.

SQLをゼロベースで学んだ時に出会う用語まとめ

合わせて読みたい

はじめに

自分が勉強するときにつかった図書は
スッキリわかる SQL 入門 ドリル215問付き!
です。

とてもわかり易い。これを用いながら
メモしてあった文法一覧。

これからSQLを勉強される方は
ぜひご一読ください。とても
わかりやすいです。

用語

SQL

Structured Query Language
【特徴】
・命令自体は単純で、数も少ない
・修飾語をつけることで複雑な処理も可能

RDB

Relational Database
複数の表の形式でデータを管理すること

DBMS

Database Management System
SQLを送る相手。SQLの内容にしたがって
データベースファイルの内容を検索したり、
書き換えたりする処理を実行してくれる。

DML

Data Manipulation Language
SELECT, UPDATE, DELETE, INSERTを
4大命令と呼ぶことも。

主キー(primary key)

一意に決定される、重複のないキー。
インデックス番号や社員番号など。

特徴は
・必ず何かのデータが格納されている(NULLではない)
・ほかの行と値が重複し無し。

これが必要とされる理由は
・完全に重複した行が存在すると、そのうちのある行だけを選択するようなことができないため

したがって
・社員番号のような、もとから主キーとしての特性を有しているキー(これを自然キー/natural keyと呼ぶ)がない場合、自ら作成する必要がある

複合主キー

氏名、住所、生年月日の組み合わせによって
重複する可能性をなくすことができるような場合、
この組み合わせによる複数の列を一つの主キーとして扱うことがある。

これを「複合主キー」と呼ぶ。

NULL

データが格納されておらず、未定義の状態を「NULLが格納されている」と表現する。

NULLを判定するための条件式ては、IS NULLIS NOT NULLを用いる。= NULLでは、undefinedなどを含む可能性があるため、正しく判定できない。

ストアドプロシージャ/stored procedure

実行する複数のsqlをまとめ、
プログラムのようなものとして
DBMS内に保存し、データベースの
外部から呼び出すもの。

メリットは、多数のSQL文からなる
処理を一つのプロシージャにまとめることで、
ネットワークの負荷を軽減することができる。

トランザクション

DBMSに対して複数のSQL文を送る際、
1つ以上のSQL文をひとかたまりとして
扱うよう指示できるこのかたまりのこと。

特徴は、
・トランザクションの途中で、処理が中断されないようにできる
・トランザクションの途中に、他の人の処理が割り込めないようにできる

2フェーズコミット

各データベースにまたがったトランザクションの
整合性を維持するため、各データベースに対して
「確定準備」と「確定」の2段階の指示を出すこと。

エンティティ, 属性, 関係

概念設計で用いられる概念のこと。
テーブルのようなものをエンティティと呼び、
エンティティは複数の属性を有する。

ER図

ERD = Entity relation diagram

ER図を使うことで、エンティティ、属性、
リレーションを俯瞰してみることができる。

参考リンク

Mac OS X MavericksにApacheとPHPをインストールしてWebアプリの開発環境を作ってみる

http://blog.hyec.jp/2014/02/mac-os-x-mavericksapachephpweb.html

TREASURE DATA Official Quickstart Guide

http://docs.treasuredata.com/articles/quickstart

dokoQL

http://dokoql.com/

さいごに

かなりお勧めです!

参考図書

スッキリわかる SQL 入門 ドリル215問付き!

こちらもおすすめです。
ゼロベースでの知識がつきます。

CD付 SQL ゼロからはじめるデータベース操作 (プログラミング学習シリーズ)