【習得して欲しい技術】
■変数、関数のスコープ
■モジュール、関数の作成
■プログラム言語とデータベースの連携
■プログラムのコメントを元にプログラムを新規開発
「03_ExcelVBA」研修、「04_SQLServer」研修で学習してきたスキルを使用して、プログラム言語とデータベースを連携するプログラムを作成します。「プログラム言語とデータベースの連携って何?」と戸惑う人が多いです。難しいですよね。
ExcelVBAでSQLServerに対してSelectコマンドを実行して、取得してきたテーブル情報をExcelシートに出力するといったプログラムを組みます。 「03_ExcelVBA」 同様、コメントを元にプログラムをゼロから開発していただきます。
システム開発をする上で、プログラム言語からデータベースを操作するという流れは、結構な確率で必要になります。組込系システム開発とかだとデータベースを使用しない開発もあります。ただ、結構なシステム開発で使用する場面が多いですし、エンジニア人生では高確率でかかわると思ってください。フレームワークなどを使用すれば、設定だけで簡単に接続ができるような環境も準備できますが、実際に自分で接続をするプログラムを作ることが大切だと思っています。フレームワークなどを使わない状態でプログラムを実装した経験があるのと、フレームワークのみの経験しかないエンジニアでは、何か障害が発生した時などの対応力が変わってきます。
データベースの連携部分では、しっかり調べて実装をしないと接続ができずにつまってしまう人も多いです。初めてデータベース連携のプログラムを記載する人は、意味のわからない用語や型が多くでてきますので、難しいと思います。たまたま、すんなり接続をできてしまう人もいますが、それはそれでよくあることです。「なんか知らないけど繋がったからいいや」ではなく、質問をされた時に意味を説明できるくらいは理解しておきましょう。
新人研修ではソースコードレビューを対面で行う場合もあります。プロジェクトに参画した時も対面でソースコードレビューが行われ、「なぜ、このように組んだのか?」、「この処理の意味は何か?」ということを聞かれることは沢山あります。自分で調べて理解をしておき、説明をするという流れを学習してもらいます。
この課題では、モジュール化や関数化の意味も改めて理解をしてもらいたいと思っています。「01_Excel」研修でも、モジュールや関数は出てきていますが、とりあえず作ってみるというレベルの内容です。ここでは、改めてモジュール化や関数化をしながら意味を深めていって欲しい部分となっています。
例えば、ExcelVBAとSQLServerをの操作をまとめた、データベースモジュールを自分で作成します。モジュール内の関数としては、データベース接続、データベース検索、データベース更新、データベース切断といった関数も自分で作成していきます。
あわせて、変数のスコープも意識します。グローバル変数、モジュール変数、ローカル変数など、変数にはスコープがあるので、しっかりと理解できなかったとしても、手を動かして覚えます。オープン系言語と呼ばれるプログラム言語は、変数のスコープを意識しないとちゃんとしたプログラムは組めませんので、スコープを意識します。
関数も同様にスコープがあるので教えてはおきます。スコープはわかりづらい部分ですので、この時点で理解できなくとも、経験を積んでいくうちに理解するタイミングがくると思います。新人研修では今後のスキルを高めるための事前準備の意味もこめてあります。
課題を抜粋しておきますので、プログラム言語とデータベースの連携部分について、自分で考えて開発できるか、試してみてください。入社前からプログラム言語とデータベースを接続できるような人だと、結構すごいと思いますよ。