• 検索結果がありません。

PowerPoint プレゼンテーション

N/A
N/A
Protected

Academic year: 2021

シェア "PowerPoint プレゼンテーション"

Copied!
31
0
0

読み込み中.... (全文を見る)

全文

(1)

Database Introduction

データベース

データサイエンス学部専門科目

経済学部

教授 谷口伸一

1

(2)

Database Introduction

データベースシステム

情報処理システム

事例紹介

NEC Web帳票管理システム(YouTube)

受講生課題研究

Ⅰ★

受講生課題研究

Ⅱ★

2

(3)

Database Introduction

情報出力

データ処理・加工

データ入力

データベース

管理システム

実習環境

データベース管理システム

Microsoft Access

,MySQL(フリーソフト)

プログラム作成ソフト

TeraPad

動作実験

Webブラウザ:GoogleChrome

Webサーバ :

IIS

, Apache

URL: http://localhost/input.html

キーボード

タッチパネル

マウス・OCR

HTMLで画面設計

ディスプレイ

音響装置

HTMLで画面設計

VBScript

ASP

データと

情報の違い

3

情報処理とデータベース

(4)

Database Introduction

データベース

路線別時刻表

運賃,乗換時間

etc.

路線検索処理

プログラム

入力画面

出力画面

4

Yahooの路線情報に学ぼう

(5)

Database Introduction

WWWサーバ

110.112.114.116

データベースサーバ

110.112.114.117

連携

DNSサーバ

110.112.114.118

①https://www.yahoo.co.jp/

FireWall

②https://www.yahoo.co.jp/ ③https://203.216.231.189/ ①http://www.shiga-u.ac.jp/ ②http://www.shiga-u.ac.jp/ ③http://110.112.114.116/

Yahooを検索

レポートを提出

④http://110.112.114.116/

Internet

④https://203.216.231.189/

5

Web情報システムとその仕組み

(6)

Database Introduction

<HTML> <HEAD> <TITLE>データ入力画面</TITLE> </HEAD> <BODY> X+Yの計算をします.

<Form Action="keisan.asp"Method="GET"> X=<Input Type="number" Name=“x" Size="5"> Y=<Input Type="number" Name=“y" Size="5"> <HR Align="left" Width="150">

<Input Type="submit" Value="計算"> <Input Type="reset" Value="消去"> </Form> </BODY> </HTML> <%@ LANGUAGE="VBScript" %> <HTML> <HEAD><TITLE>ASP</TITLE></HEAD> <BODY> <% 'プログラムの始まり 'データ処理 X=Request("x") 'このとき x は文字列 Y=Request("y") 'このとき y は文字列

Z=Cint(X)+Cint(Y) 'CInt関数で数値に変換

'結果の表示

Response.Write "ASPによるX+Yの計算<BR>" Response.Write "X=" & X & "<BR>"

Response.Write "Y=" & Y & "<BR>" Response.Write "X+Y=" & Z & "<BR>"

%> 'プログラムのおわり </BODY> </HTML> input.html keisan.asp IIS データの受け渡し

http://localhost/keisan.asp?

X=10

&

Y=20

6

(7)

Database Introduction

■input.htmlの説明

①<Form Action="keisan.asp" Method="GET">

入力フォームを作成し、データをプログラム"keisan.asp"に渡すことを指示 Method="GET"はデータを渡す方式. "GET "と"POST"の2種類がある

②<Input Type="データ形式" Name="タグ" …> →右上の8種類を覚えよう

③計算ボタンが,Type= "submit”となる.Submitの意味:①服従させる(- -) ②提出する(^^)

■keisan.aspの説明

①ファイルの拡張子は"asp" ②<%@ LANGUAGE="VBScript" %> によってスクリプト(プログラム)言語を明記."JScript"もある ③プログラムの記述範囲を "<%"(はじまり)…….. "%>"(おわり) で囲む ④X=Request("X") によって送られてきたデータを変数Xに代入(記憶)する ⑤CInt( )関数 文字列は計算処理できないので、数値(整数)に変換する.Type="number"としても文字列 CInt : Convert Integerの略.2バイトの整数変換(-32,768 ~ +32,767)

CLng: Convert Long Integerの略.4バイトの整数変換(-2147,483,648 ~ +2147,483,647) ⑥Response.Write "こんにちは"

ダブルクォーテーションで囲まれた文字列"こんにちは"を書き出す. 文字列と変数を連結して処理結果を書き出すこともできる

NAME=Request(

"name")

Response.Write "こんにちは"& NAME &"さん" ※文字列と変数は"&"で連結する. 例:Response.Write "X+Y="& Z&" <BR> "

"X+Y="は文字列,Zは変数なので,その中身"30"が連結されて,"X+Y=30" となって書き出される ※プログラムの動作を自分がコンピュータになって考える癖をつけるとよい. ① Type=“text” ② Type=“number” ③ Type=“radio” ④ Type=“checkbox” ⑤ Type=“select” ⑥ Type=“textarea” ⑦ Type=“date” ⑧ Type=“hidden”

7

(8)

Database Introduction

■入力画面の例

■結果画面の例

1回目のレポートにします。

ポイント

1. 演算子入力の追加

2. 演算子をIF文で判別・処理

※IF文の使い方を調べなさい。

8

四則演算に拡張しよう!

(9)

Database Introduction

データベースシステム

データ分析

事例

NEC 手軽に使えるBIツール(YouTube)

9

(10)

Database Introduction

売上データ.xlsxを使って、以下の分析をしてください。 1. 商品別分析 ① キリマンジャロだけを表示する. ② キリマンジャロの売上合計を計算する. ③ 緑茶に分類される商品の売上合計から特徴を分析する. ④ すべての商品の売上合計から特徴を分析する. 2. 店舗別分析 ① 日光店の売上だけを表示する. ② 日光店の売上合計を計算する. ③ 日光店の商品別売上合計から特徴を分析する. 3. クロス集計分析 ① 店舗別に商品別売上合計を計算して特徴を探る. ピボット・テーブルを使ってみよう.

◼ 今後10年で最もセクシーな仕事は

データサイエンティスト

だ!

Googleチーフエコノミスト ハル・ヴァリアン (2009)

◼ データサイエンティスト

とは大量のデータを分析し、有益な結

果を導き出すことで,ビジネス上の価値創出のシナリオまで描

ける専門家である。

数理統計

プログラミング

のスキル、そこ

経営

マーケティング

などのビジネススキルを備えているこ

と。

トーマス・ダベンポート 参考:週刊ダイヤモンド(2013,3.25)

10

データ分析スキルの重要性

(11)

Database Introduction

以下の手順でEXCELデータをAccessへインポートします. 1. “ACCESS"を起動する. ①「空のデスクトップデータベース」をクリック ②ファイル名入力→売上データベース.accdb ③保存先を指定→X:¥Webpages ④[作成]をクリック 2. ExcelデータをAccessデータベースにインポート ⑤「外部データ」をクリック ⑥インポートとリンクから「Excel」をクリック

11

表計算からデータベースへ

(12)

Database Introduction

3. 「参照」→エクセルファイルを指定. 4. OK

各自の場所を指定

(13)

Database Introduction

5. データ型(整数型、テキスト型など)の設定を正しく!

整数型

(14)

Database Introduction

6. 「売上データ」をダブルクリックするとテーブルが開く

https://paiza.jp/works/sql/primer /beginner-sql1-cloud/10022

14

(15)

Database Introduction

7. SQLでデータ分析!

8. SQLを実行する準備としてクエリを作成. 「作成」メニュー→「クエリデザイン」→テーブルを追加(売上データ) 9. 「商品名」を下のフィールドにドラッグ&ドロップ

15

(16)

Database Introduction

10. SQLビューにする 「ホーム」メニュー→「表示」下の▼をクリック→「SQLビュー」 11. 図のようにSQLを入力して、キリマンジャロだけを表示する SQLの入力が終われば「表示」をクリック→検索結果が表示される

検索結果

SELECT * FROM 売上データ WHERE 商品名='キリマンジャロ‘ 意味 売上データ・テーブルから、 商品名=‘キリマンジャロ’の行を選択し、 “*”=すべての列(フィールド)を表示する

16

(17)

Database Introduction

SQL実行Webシステムを作ろう!

◼ Accessのクエリ機能で検索を実習しましたが、文字が小さく、扱いやすい

とは言えませんね.

◼ そこで,SQLコマンドを実行できる

Webシステム

を作成して,

データベース

操作

を実習しましょう.

◼ そのために,次のプログラムを作成します.

① SQL文を入力するプログラム

(HTML入力画面)

② SQL文を実行するプログラム

(ASPプログラム)

◼ あわせて,Webデータベースシステムのプログラミングを理解して下さい.

入力画面の例

商品名 売上合計 キリマンジャロ 4989000 緑茶 4553340 コーラ 4467980 ブレンドコー ヒー 4449280 ほうじ茶 4011920

17

(18)

Database Introduction

Web Server

Client PC

InterNet

➢ SELECT.html

➢ SELECT.asp

+

IIS & ASP

単価が150円

以上の商品を

検索!

① 入力画面

② 結果画面

③ ホームディレクトリ

コンテンツ

Client PCの画面

18

Webデータベースシステムの仕組み

(19)

Database Introduction

19

SELECT.HTML

<HTML> <HEAD>

<TITLE>SQL execution SELECT</TITLE> </HEAD>

<BODY>

SQLコマンドを入力して下さい.<BR><BR>

<FORM ACTION="SELECT.asp" METHOD="GET">

<TABLE CELLSPACING="2">

<TR>

<TD>SELECT</TD>

<TD><INPUT TYPE="text" NAME="select" SIZE="100"></TD> </TR>

<TR>

<TD>FROM</TD>

<TD><INPUT TYPE="text" NAME="from" SIZE="50"></TD> </TR>

<TR>

<TD>WHERE</TD>

<TD><INPUT TYPE="text" NAME="where" SIZE="100"></TD> </TR>

<TR>

<TD>GROUP BY</TD>

<TD><INPUT TYPE="text" NAME="group" SIZE="50"></TD> </TR>

<TR>

<TD>ORDER BY</TD>

<TD><INPUT TYPE="text" NAME="order" SIZE="50"></TD> </TR>

</TABLE>

<BR>

<INPUT TYPE="SUBMIT" VALUE="検索"> <INPUT TYPE="RESET" VALUE="取消">

</FORM>

</BODY> </HTML>

(20)

Database Introduction

20

<%@ LANGUAGE="VBScript" %> <HTML> <HEAD> <TITLE>SQL実行</TITLE> </HEAD> <BODY> SQL実行結果<BR><BR> <%

On Error Resume Next '---'コマンド受信 '---vSELECT=Request("select") vFROM=Request("from") vWHERE=Request("where") vGROUP=Request("group") vORDER=Request("order") sp=" " :'半角空白を定義 '---'SQL文の作成

'---SQLs=vSELECT & sp & vFROM & sp & vWHERE & sp & vGROUP & sp & vORDER Response.Write "実行するSQL文<BR>" & SQLs & "<BR><BR>"

'---'DBオープン

'---Set DB=Server.CreateObject("ADODB.Connection") :'Objectを作成

DB.Provider="Microsoft.ACE.OLEDB.12.0" :'propertyを定義

DB.Open Server.MapPath("売上データベース.accdb") :'methodを実行

(21)

Database Introduction

21

'---'SQL実行:データベースOPEN後の操作は細心の注意を払う '---Set RS= DB.Execute(SQLs) '---'エラーチェックを行う '---If (DB.Errors.Count = 0) Then

Response.Write "<Table Border=1>"

'---'SELECT句で指定された列名の表示

'---For i=0 to RS.Fields.Count – 1 :'RS.Fields.Count=検索された列数(2つ) Response.Write "<TH>" & Rs.Fields( i ).Name & "</TH>"

Next

'---'検索された全レコード表示

'---Do Until (RS.EOF=True) :'End Of Fileで終了を判定 Response.Write "<TR>"

For i=0 to RS.Fields.Count-1 :'列数分を表示

Response.Write "<TD Align=center>" & RS.Fields( i ) & "</TD>"

Next Response.Write "</TR>" RS.MoveNext :'次の行へ移動。忘れるエンドレス Loop Response.Write "</Table>" Else Response.Write "SQL実行エラーが発生しました.<BR>" Response.Write "原因=" & DB.Errors(0).Description

End If RS.Close DB.Close %> </BODY> </HTML>

(22)

Database Introduction

次の1. から3. のSQLを実行し、その結果からデータ分析を試みなさい。季節,店舗の立地条件などを 勘案するとよい.検索レコード数が多い場合は20行程度を示すこと。

1. 商品別の売上を分析する

① キリマンジャロだけを表示する.

SELECT * FROM 売上データ WHERE 商品名='キリマンジャロ'

② キリマンジャロの売上合計を計算する.

SELECT SUM(売上金額) FROM 売上データ WHERE 商品名='キリマンジャロ'

③ 緑茶に分類される商品の売上合計から特徴を分析する.

SELECT 商品名, SUM(売上金額) FROM 売上データ WHERE 分類='緑茶' GROUP BY 商品名 ORDER BY SUM(売上金額) DESC

④ すべての商品の売上合計から特徴を分析する.

SELECT 商品名, SUM(売上金額) FROM 売上データ GROUP BY 商品名 ORDER BY SUM(売上金額) DESC

2. 店舗別(自分で考える) ① 日光店の売上データを表示する. ② 日光店の売上合計を求める. ③ 日光店の商品別売上合計から特徴を分析する. 3. 応用(クロス集計) ① 店舗別に商品別売上合計を計算して特徴を探る.

SELECT 店舗名, 商品名, SUM(売上金額) FROM 売上データ GROUP BY 店舗名, 商品名

ORDER BY 店舗名, SUM(売上金額) DESC

② TRANSFORM ~ PIVOTで売上金額をクロス集計表を作成してみよう(Access限定です). SELECT欄に1行で入力してみてください。 TRANSFORM SUM(売上金額) SELECT 店舗名 FROM 売上データ GROUP BY 店舗名

22

店舗名で分類(行) 商品名で分類(列)

(23)

Database Introduction

アンケート調査の分析と考察

1. 女子のみの入学理由を見たい

2. 男子のみの専攻と入学理由を見たい

3. 女子の就職希望と志望業界A,B,Cをみたい

4. 男子の専攻別に就職希望と志望業界A,B,Cをみたい

5. 性別と専攻のクロス集計をしたい

6. 性別と入学理由のクロス集計をしたい

7. 性別と就職希望のクロス集計をしたい

8. 専攻と就職希望のクロス集計をしたい

9. 性別と会社に求めることのクロス集計をしたい

10. 専攻別にデータサイエンティストが求められる業界の予想をみたい

11. 自分の関心がある分析を2つ以上試みなさい

23

2回目のレポートですよ。

SQL(Select)の理解を深める

ためにWebデータベースシス

テムを使ってデータ分析して

みよう!

データベースはデータ管理を主たる目的とします。各種統計処理にはR

やSPSSなど統計処理ソフトで行います。

そこで、データベースからCSV形式ファイルを作成して統計処理ソフト

に渡せるようプログラムを作成してみましょう。

(24)

Database Introduction

24

SELECT.HTML

<HTML> <HEAD>

<TITLE>SQL execution SELECT</TITLE> </HEAD>

<BODY>

SQLコマンドを入力して下さい.<BR><BR>

<FORM ACTION="SELECT.asp" METHOD="GET">

<TABLE CELLSPACING="2">

<TR>

<TD>Database</TD>

<TD><INPUT TYPE="text" NAME="DB" SIZE="50" PLACEHOLDER="例:売上データベース.accdb"></TD> </TR>

<TR>

<TD>SELECT</TD>

<TD><INPUT TYPE="text" NAME="select" SIZE="100"></TD> </TR>

<TR>

<TD>FROM</TD>

<TD><INPUT TYPE="text" NAME="from" SIZE="50"></TD> </TR>

<TR>

<TD>WHERE</TD>

<TD><INPUT TYPE="text" NAME="where" SIZE="100"></TD> </TR>

<中略>

</TABLE>

CSVファイルを作成するとき⇒

<INPUT TYPE="text" NAME="FL" SIZE="30" PLACEHOLDER ="ファイル名を入力"><BR><BR>

<INPUT TYPE="SUBMIT" VALUE="検索"> <INPUT TYPE="RESET" VALUE="取消"> </FORM>

</BODY>

朱 書 き が 追 加 ・ 変 更 に な ります

(25)

Database Introduction

<%@ LANGUAGE="VBScript" %> <HTML> <HEAD> <TITLE>SQL実行</TITLE> </HEAD> <BODY> SQL実行結果<BR><BR> <%

On Error Resume Next '---'コマンド受信 '---vSELECT=Request("select") vFROM=Request("from") vWHERE=Request("where") vGROUP=Request("group") vORDER=Request("order") vDB=Request("DB") :'データベース名 vFL=Request("FL") :'ファイル名 vPT=Server.MapPath("csvFile") :'csvFile(作成済み)フォルダーのパス sp=" " :'半角空白を定義 '---'SQL文の作成

'---SQLs=vSELECT & sp & vFROM & sp & vWHERE & sp & vGROUP & sp & vORDER

Response.Write "実行するSQL文<BR>" & SQLs & "<BR><BR>"

25

SELECT.ASP

(26)

Database Introduction

26

'---'ファイル作成ボタン

'---Response.Write "<Form Action='CreateFile.asp' Method='GET'>"

Response.Write "<Input Type='hidden' Name='DB' Value='" & vDB & "'>" Response.Write "<Input Type='hidden' Name='FL' Value='" & vFL & "'>" Response.Write "<Input Type='hidden' Name='PT' Value='" & vPT & "'>" Response.Write "<Input Type='hidden' Name='select' Value='" & vSelect & "'>" Response.Write "<Input Type='hidden' Name='from' Value='" & vFrom & "'>"

vWhere=Replace(VWhere,"'","$") :'アポストロフィ"'"を"$"に変換 Response.Write "<Input Type='hidden' Name='where' Value='" & vWhere & "'>"

Response.Write "<Input Type='hidden' Name='group' Value='" & vGroup & "'>" Response.Write "<Input Type='hidden' Name='order' Value='" & vOrder & "'>" Response.Write "<Input Type='submit' Value='ファイル作成'>"

Response.Write "</Form>"

'---'DBオープン

'---Set DB=Server.CreateObject("ADODB.Connection") :'Objectを作成

DB.Provider="Microsoft.ACE.OLEDB.12.0" :'propertyを定義 DB.Open Server.MapPath("売上データベース.accdb") :'methodを実行

(27)

Database Introduction

27

CreateFile.ASP

<%@ LANGUAGE="VBScript"%> <HTML> <HEAD> <TITLE>File作成</TITLE> </HEAD> <BODY> ファイルの作成中!<BR> <%

'On Error Resume Next

'---'パラメータ受信 '---vDB=Request("DB") :'データベース名 vPT=Request("PT") :'フォルダーパス vFL=Request("FL") :'作成ファイル名 vSELECT=Request("select") vFROM=Request("from") vWHERE=Request("where") vGROUP=Request("group") vORDER=Request("order") vWhere=Replace(vWhere,"$","'") :'"$"を"'"に戻す sp=" " :'半角空白文字 '---'SQL文の作成

'---SQLs=vSELECT & sp & vFROM & sp & vWHERE & sp & vGROUP & sp & vORDER

'---'DBオープン

'---Set DB=Server.CreateObject("ADODB.Connection") :'Object DB.Provider="Microsoft.ACE.OLEDB.12.0" :'property DB.Open Server.MapPath(vDB) :'method

(28)

Database Introduction

28

'---'CSVファイルを作成するためのプログラム

'---Set objFS=Server.CreateObject("Scripting.FileSystemObject") :'Object Set objFile=objFS.CreateTextFile(vPT & "¥" & vFL) :'File作成 'SQL実行

Set RS=DB.Execute(SQLs) IF ( DB.Errors.Count=0 ) Then

For i=0 to RS.Fields.Count-1 :'RS.Fields.Countの値=列数 vRecord=vRecord & "," & Rs.Fields( i ).Name

Next

'先頭行の書出し

vRecord=Mid(vRecord,2) :'先頭のカンマ","を削除 objFile.WriteLine vRecord

Do Until ( RS.EOF=True ) :'End Of Fileで終了を判定 vRecord="" :'Set null to csvRecord For i=0 to RS.Fields.Count-1 :'列数分を表示

vRecord=vRecord & "," & RS.Fields(i) Next 'データ行の書出し vRecord=Mid(vRecord,2) :'先頭のカンマ","を削除 objFile.WriteLine vRecord RS.MoveNext Loop Response.Write vFL & "の作成が完了しました!<BR>" objFile.Close Else Response.Write "SQL実行エラーが発生しました.<BR>" Response.Write "原因=" & DB.Errors(0).Description End If RS.Close DB.Close %> </Body> </HTML>

(29)

Database Introduction

ExcelあるいはAccessのデータ(表)を見て、なにか「ムダ」、「不都合」

がないか考えてみよう!

1.

「ムダ」と思ったものは?

みなさんなら「ムダ」を省くためにどのような表にしますか?

2.

「不都合」と考えたものは?

「緑茶,ほうじ茶,玉露」は,「緑茶」として分類され,間違いで

はありませんが,「日本茶」に変更したい.

→どうしますか?

※ここで気づいたことがデータベースの設計にとって重要!

29

データベースの設計を考えるために

(30)

Database Introduction

Check!

Webシステムの動作・仕組みを理解できましたか?

Web Serverの役割を理解できましたか?

ExcelからAccessに変換してデータベースを作成できましたか?

Excelでクロス集計ができるようになりましたか?

SQLによるデータ操作ができるようになりましたか?

データ分析の重要性を考えるきっかけになりましたか?

次章では

データベース設計

のための

技法

理論

を学びます

データベース入門編チェック!

30

(31)

Database Introduction

専用クライアント (専用ソフトが必要) Webブラウザ (標準装備) Webサーバ データベースサーバ 連携(ODBC) 基幹系システム 以下の手順でWebサーバを準備しましょう. 1. IISの機能を追加する. ◼ 設定(歯車)→アプリ→アプリと機能(左側)→プログラムと機能(右側) Windowsの機能の有効化(左側)→インターネットインフォーメーションサービス →World Wide Webサービス→アプリケーション開発機能→ASP→ISAPI機能拡張 2. ホームディレクトリを設定する

◼ タスクバーのフォルダー→PCクリック→管理→サービスアプリケーション

→インターネットインフォーメーションサービス→サイト→Default Web Service →詳細設定(右側)→物理パス→ホームディレクトリ選択

3. このWebサーバへアクセスするためのURL:http://localhost/input.html

参照

関連したドキュメント

視することにしていろ。また,加工物内の捌套差が小

 本実験の前に,林間学校などで行った飯 はん 盒 ごう 炊 すい

Jabra Talk 15 SE の操作は簡単です。ボタンを押す時間の長さ により、ヘッドセットの [ 応答 / 終了 ] ボタンはさまざまな機

子どもが、例えば、あるものを作りたい、という願いを形成し実現しようとする。子どもは、そ

自分は超能力を持っていて他人の行動を左右で きると信じている。そして、例えば、たまたま

*Windows 10 を実行しているデバイスの場合、 Windows 10 Home 、Pro 、または Enterprise をご利用ください。S

C :はい。榎本先生、てるちゃんって実践神学を教えていたんだけど、授

3月 がつ を迎え むか 、昨年 さくねん の 4月 がつ 頃 ころ に比べる くら と食べる た 量 りょう も増え ふ 、心 こころ も体 からだ も大きく おお 成長 せいちょう