Ⅰ.用語の意味を知る必要
①デキる人は、専門用語の使い方が正確です
ウェブサイト開発に長く携わっていてしょっちゅう感じるのは、「デキる人」と「普通な人」でちょっとした仕事のやり方や使う言葉が違う、ということです。具体的な行動や言葉は時代時代で変わってくるのですが、そうした傾向はいつの時代でもあるようです。
今でこそ社内のPCがネットワークでつながっているのは当たり前ですが、平成が始まった頃はそうでもありませんでした。昨日までつながっていたPCやプリンターの接続が切れていることなどしょっちゅうでした。そのような時、普通のエンジニアはネットワークのプロパティを調べたり、PCを再起動したり、しますが、デキるエンジニアはまずケーブルの接続をチェックします。当時のLANケーブルはちゃんと挿したつもりでもストッパーがカチッとハマってなかったり、またそのストッパー(爪)自体が折れていて緩むことが少なくなかったのです。デキる人ほど、自分の技術に溺れず基本を大切にマクロで見ることができるのだな、と皆で感心したのを覚えています。
②用語使用の正確性は開発効率に影響します
また、ウェブ制作というものが仕事として始まった頃、ウェブ制作会社という会社は存在しませんでした。大別すると2通りあって、1つはデザイン会社がウェブ制作も行うようになったケース、もう1つはシステム会社です。フリーランサーでも同様です。グラフィックデザイナー出身とプログラマー出身のウェブ制作者が存在しました。デザイン重視かシステム重視かその案件によって、依頼する会社や制作者を選択する必要があるのですが、これから依頼しようとしている会社がどちらに属するのか、それを端的に見抜く方法がありました。サイトの構造について話す時「ディレクトリ」という用語を使うか、それとも「フォルダ」と呼ぶかということで、どういうバックグラウンドを持ってウェブ制作を行っているかわかりました。
どちらも同じことを表しているのですが、「ディレクトリ」のことを「フォルダ」と言う人はデザイン系の人と認識してほぼ間違いありませんでした。このことがわかるとどういう時に役立つかというと、例えばコーディングの話をする際に、「フォルダ」の人に「パス」という言葉はわからないことが多いので、その場では質問が出なかったとしても、後からしっかり確認しないといけないというようなことがわかるのです。また、サイト企画を打ち合わせにおいて、会話が噛み合わないことがあったのですが、それはディレクトリという概念がわかっていないために、Webディレクトリとポータルサイトの区別があいまいだったことから生じていたものでした。
Ⅱ.データベースにおける用語
リレーショナルデータベースマネジメントシステム(RDBMS、以降単にデータベースと表記します)は、今日のウェブシステムには欠かせないものになっていて、クライアントの担当者やウェブディレクターでも、データベースについて打ち合わせする機会がよくあります。ウェブにおいてデータベースは、動的なページを生成する際に、テンプレートに差し込むデータを保管し、素早く取り出す役目を担っています。そのデータベースに関してよく使われる用語を整理してみましょう。データベースというとほとんどの人はMicrosoft Excelのような表計算ソフトの画面をイメージするので、今回もExcelとの比較で解説することにします。
Ⅱ-ⅰ.「テーブル」
シートに相当するのがテーブルです。データベースではデータの種類やプログラムの利便性を考慮して複数のテーブルを持つことが多く、Excelのブックのような構造になっているとイメージできます。
図はショッピングサイトの例です。商品部分は商品テーブル、購入者情報は顧客テーブルからというように複数のテーブルを関係(リレーション)させるので、リレーショナルデータベースといいます。
Ⅱ-ⅱ.「カラム」
列に相当するのが、”カラム”です。雑誌の囲み記事を”コラム”といいますが、スペルは同じです。データベースではカラムごとに、文字列(と文字数)、数値(と桁数)のように属性が定められるので、打ち合わせにおいては、これら属性のことをカラムと呼ぶ人もいます。
Ⅱ-ⅲ.「レコード」
”テーブル”と”カラム”が、データが保管される場所のことを表していた語に対して、”レコード”はデータそのもののことを指す言葉です。同時に、列である”カラム”に対して行を意味する”ロウ”と同じ意味で用いることもあります。
Ⅱ-ⅳ.「フィールド」
レコードを構成する1つ1つの要素のことです。Excelでいう”セル”に相当します。
カラム、レコード、フィールドの関係を表すと、「複数のレコードの同じフィールドを集めたものがカラム 」ということになります。
また、ユーザーインターフェイスにおいてもフィールドと言う言葉を使います。入力フォームのデータを入力するスペースのこともフィールドといいます。フォームのフィールドから入力されたデータは、(データベースを使っていれば)該当するテーブルのレコード内フィールドに格納されるわけですから、フォームのフィールドとデータベースのフィールドはこの場合同じと言えます。
イタリックの部分は明確に理解していただけましたか?もし、あいまいな部分があると感じられたら今一度これらの用語を再確認してみてください。
ここまでExcelとくらべて用語の説明をしましたが、データベース自体にはExcelのように検索機能や他のシートを参照したりする機能はありません。データを利用するには都度プログラムが必要です。そのプログラム言語がSQLです。セキュリティの話題でSQLインジェクションという言葉を聞いたことがあると思います。これは、データベースから情報を取り出すような命令を、フォームページのフィールドに入力することで、システムにSQLを注入(インジェクション)するというハッキングです。SQLインジェクションという言葉は知っていても、こうやって用語の1つ1つを正確に知り、解説することで、クライアントや仕事仲間から信頼を得られることにつながることも多いので、言葉というものは大切にして頂きたいと思います。