エンジニア1年目に, マネージャーから「SQL でQuery を書いてデータ取得するツールを作って」と言われ,ちんぷんかんぷんだったことを思い出し,SQL について少しまとめてみようかと。
SQL (Structured Query Language)
簡単にいうと,データベースにアクセスしてデータを取得したり,データベース内のデータを操作するためのプログラミング言語。Query とは問い合わせの意味。SQL 文自体は,データベースに直接ではなく,データベースを管理するDBMS(DataBase Management System)というサーバに投げられる。
Database
文字通り,複数のデータを集めて,有効に活用できるようにしたもの。通常は,どこかのサーバーPCのHDDのなかにデータが保管されていると思えばいい。保管されているデータに応じてデータベースにも種類がある。一番利用されている形式が,リレーショナルデータベースと呼ばれるもので,エクセルのような表形式のデータを集約している。SQL は主に,このリレーショナルデータベースを操作するための言語。
DBMS(DataBase Management System)
データベースを管理するためのシステム。以下のような役割を持つ。
- データベースからデータを検索する
- 複数のSQL が同時に投げられデータベースの中身が操作されても,整合性を取れるようにする
- 追加できるデータに制限をつけることができる(NULL を許さない,整数型のみにする,など)
- ユーザごとにアクセス権を管理して,不正なアクセスを防ぐ
などなど。
要するにSQL -> DBMS へとQueryを投げ,DBMS が DBを操作する。
データを取得するようなQuery を投げていれば,DBMSのサーバーがQuery を投げたクライアントPCにデータを返してくれる。
コメント