プログラム例

ここではデータベースを使った簡単なプログラム例と、それ以外の簡単なwebサイトの例を示す。

 

Webサイトでデータベースを用いる場合、 SQL を用いてデータをアクセスする。アクセス方法やアクセス範囲の変更も SQL を用いて行う。 Web サイトのプログラミングでは金融、SNS、ゲーム、いずれの場合も SQL が利用されるから、Web の仕事を目指すならば SQL は必修科目である。

ここでは SQL コマンドを指定して、雇用統計を2通りの集計方法で表示してみる。

1. 全国の合計

2. 神奈川労働局の合計

以下のようにデータベースを設定する。

SqlDataSource に test2を指定する.

以下のSelectコマンドを指定する。

SELECT 県, 職種, 年, 求人賃金 FROM test2 WHERE (県 = '全国計') AND (職種 = '産業計')

 

Chart1を作る(データ/Chartを使用)

x=年, y=求人賃金を選ぶ

Button1 , Button2 を作り、以下のコードをプログラムする。 Button1では'全国計’が、Button2では'神奈川労働局'の統計が集計される。


    Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim x
        x = "SELECT 県, 職種, 年, 求人賃金 FROM test2 WHERE (県 = '全国計') AND (職種 = '産業計')"
        SqlDataSource1.SelectCommand = x

    End Sub
    Protected Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim x As String
        x = "SELECT 県, 職種, 年, 求人賃金 FROM test2 WHERE (県 = '神奈川労働局') AND (職種 = '産業計')"
        SqlDataSource1.SelectCommand = x
    End Sub

 

例題

example2-1

問題と解答がデータベース化されている

「問題」ボタンを押すと問題が出題される。

回答欄に回答を入れ、「回答」ボタンをクリックすると採点される

example2-2

以下の質問に回答すると、適した仕事を紹介してくれる。

ひと月に何冊本を読みますか?    
学校やバイト先など普段行くところ以外の場所に、週何回出かけますか? 
就職について、よく話す友達は何人いますか? 

 

このプログラム例を含むプログラム例はこちら-> sample3-1.zip

データベースの例

1. 友人同士の時間割データベース

テーブル1: 学籍番号-曜日-時限-科目

クエリ1: 指定した学生の時間割を表示する

クエリ2: 指定した曜日、時限にだれが出席するかを表示する

クエリ3: た日にだれが登校するかを表示する

2. ゲーム仲間データベース

テーブル1: プレーヤID-ゲーム-曜日-参加可能開始時間-参加可能終了時間

テーブル2: プレーヤID-ゲーム-ハンドル

テーブル3: ゲーム-プレイに必要な人数

クエリ1: 必要人数を満たすゲーム、曜日、開始時間、終了時間を表示する

3. 趣味があう人データベース

テーブル1: ユーザID-好きなもの

テーブル2: ユーザID-ハンドル

クエリ1: ユーザIDを指定すると、その学生と好きなものが1つ一致するユーザのリストを表示する

クエリ2: 同じく好きなものが2つ以上一致する組み合わせを表示する

クエリ3: 任意のユーザー同士で好きなものが3つ以上一致する組み合わせを表示する

クエリのヒント

以下のページを参考に示しておく。

金子のデータベース講義資料/いろいろな使い方

 

データベースは難しいが,

データベースを使ったサイトの構築は、Webサイトの構築だけでなく、データベースのデザインやクエリの作成が難しいと感じるだろうと思う。それもそのはずである。コンピュータの応用をデータベースの構築を含めて考えるのは、SEの中でも上級SEと呼ばれる上流工程を担当する技術者の仕事である。

データベース設計は最も難しい仕事である。クエリを作成するのもそれほどではないが、通常のWebサイトを作るよりは難しい。データベースとクエリが完成すれば、Webサイトを作るのは後は部品を組み合わせるだけで、それほど難しくはない。

さらにUXや画像をつけるのは、どちらかといえば単純な仕事であり、下流工程と言われる。もちろんそれらも一流の品質で行えばもちろん価値ある仕事である。しかし、facebookやtwitterの基本的な機能を構築するのは上流工程であり、下流工程では、webサイトのみかけが違うだけで、できることは同じである、ということは理解しておくべきことである。

WebサイトはWebサーバで動作し、Webサーバはデータを集約することに意味があるから、データベースの設計は極めて根本的、重要な工程である。本授業でデータベースを教えないのは単に、2年生ですでに学んでいるからで、実際はデータベースが非常に重要である。

また、各自がどちらの分野でより能力を発揮できるのか、どちらの仕事に取り組みたいのか、ということを考えて、webの分野を学んでいくことが大事である。新しいサービスを提案したいならデータベース技術は必須である。プログラミングやデザインだけの能力しかないと、すでに設計が終わったシステムの構築に補助的に加わることしかできない。

両方がうまい人は、もちろん全体のデザインにもっとも適している。