非エンジニアでも知らないとヤバイSQL Part1

非エンジニアでも知らないとヤバイSQL

非エンジニアでもエンジニアの知識が最低限必要

IT業界で働いていくには、非エンジニアでもエンジニアの知識がある程度必要です。営業マンやマーケッター、プランナーやデザイナーであっても、同じ業界で働くためには社外の打ち合わせなどはもちろん、社内のやりとりをスムーズにするためにも最低限押さえておくべき知識があります。今回はSQLについてです。この記事を読めば、これまでプログラマーたちの会話が呪文のように聞こえていた人や、プログラミング自体に小難しいイメージがあって苦手意識がある人が少しだけ救われるかもしれません。

そもそもSQLって?

SQL(Structured English Query Language)についての説明をするにはデータベースの説明が不可欠です。DBと略されるデータベースはIT業界でなくとも、聞いたことがある人も多いと思います。
DBにはおおきくわけて「関係型」「NoSQL」「階層型」「ネットワーク型」の4種類があり、現在主流となっているのが「階層型」です。リレーショナルデータベース管理システム(RDBMS)ともいいます。
エクセルをイメージするとわかりやすいです。のように列(column)と行(row)で構成されています。
DB
例えばこの社員管理テーブルと下記有給管理テーブルがあるとします。

このふたつのテーブルは社員IDで紐づいてます。このように二つのテーブルが関係性をもっていることから、「関係型」やリレーショナルデータベース(RDB)と言われています。

ではSQLの役割は何でしょうか。リレーショナルデータベース管理システム(RDBMS)と対話するための言語をSQLと呼びます。上記例で言うと、社員の男女の数をカウントしたり、2018年2月7日に有給をとった人の氏名を取得したりといった具合です。また、2月10日に相沢さんが休んだ場合、そのデータを有給管理テーブルに挿入する必要があります。他には、社員が年をとった時には年齢を加算する必要があります。このようにデータベースに要求することをクエリ(問い合わせ)といいます。リレーショナルデータベース管理システムには「Oracle」「MySQL」や「Access」「PostgreSQL」などの様々な種類があります。中でも「MySQL」は、世界中で利用されているオープンソースのRDBMSの一つです。無償で高速である点が人気です。

次回はSQLのクエリについて学んでいきましょう。

関連記事