非エンジニアでも知らないとヤバイSQL Part1
コラム非エンジニアでもエンジニアの知識が最低限必要
IT業界で働いていくには、非エンジニアでもエンジニアの知識がある程度必要です。営業マンやマーケッター、プランナーやデザイナーであっても、同じ業界で働くためには社外の打ち合わせなどはもちろん、社内のやりとりをスムーズにするためにも最低限押さえておくべき知識があります。今回はSQLについてです。この記事を読めば、これまでプログラマーたちの会話が呪文のように聞こえていた人や、プログラミング自体に小難しいイメージがあって苦手意識がある人が少しだけ救われるかもしれません。
そもそもSQLって?
SQL(Structured English Query Language)についての説明をするにはデータベースの説明が不可欠です。DBと略されるデータベースはIT業界でなくとも、聞いたことがある人も多いと思います。
DBにはおおきくわけて「関係型」「NoSQL」「階層型」「ネットワーク型」の4種類があり、現在主流となっているのが「階層型」です。リレーショナルデータベース管理システム(RDBMS)ともいいます。
エクセルをイメージするとわかりやすいです。のように列(column)と行(row)で構成されています。
例えばこの社員管理テーブルと下記有給管理テーブルがあるとします。
このふたつのテーブルは社員IDで紐づいてます。このように二つのテーブルが関係性をもっていることから、「関係型」やリレーショナルデータベース(RDB)と言われています。
ではSQLの役割は何でしょうか。リレーショナルデータベース管理システム(RDBMS)と対話するための言語をSQLと呼びます。上記例で言うと、社員の男女の数をカウントしたり、2018年2月7日に有給をとった人の氏名を取得したりといった具合です。また、2月10日に相沢さんが休んだ場合、そのデータを有給管理テーブルに挿入する必要があります。他には、社員が年をとった時には年齢を加算する必要があります。このようにデータベースに要求することをクエリ(問い合わせ)といいます。リレーショナルデータベース管理システムには「Oracle」「MySQL」や「Access」「PostgreSQL」などの様々な種類があります。中でも「MySQL」は、世界中で利用されているオープンソースのRDBMSの一つです。無償で高速である点が人気です。
次回はSQLのクエリについて学んでいきましょう。
株式会社Knocknote代表取締役。大学卒業後不動産営業に従事した後、ITの重要性を強く感じエンジニアへ転職。ソーシャルゲーム開発、スマホアプリやPepperアプリの企画及び開発、高校でのプログラミング講師などの業務に携わる。2017年1月に創業。現在はプログラミング教育事業、システム開発事業を展開。今後は海外向けの教育事業をさらに拡大させていく事が目標。著書:『作って学べるUnity超入門』(技術評論者)