3 Super SQL n Super SQL n SQLSELECTGENERATE

  • Slides: 18
Download presentation

+ 3 Super. SQLとは n Super. SQLクエリの記述 n SQLのSELECT句をGENERATE句で置き換え SQL SELECT <column> Super. SQL

+ 3 Super. SQLとは n Super. SQLクエリの記述 n SQLのSELECT句をGENERATE句で置き換え SQL SELECT <column> Super. SQL GENERATE <media> <TFE>

+ SQL フラットな表 name dept tel salary 山本 書籍 212 30. 5 FROM employee

+ SQL フラットな表 name dept tel salary 山本 書籍 212 30. 5 FROM employee 神田 食品 301 18. 8 WHERE …. 松田 書籍 213 25. 6 SELECT name, dept, tel, salary Super. SQL 構造を自由に表現(GENERATE句) +様々な出力媒体(HTML, PDFなど) GENERATE HTML [dept! [name! {tel , salary} ]! ], FROM employee WHERE …. 書籍 山田 食品 松田 212 30. 5 213 25. 6 神田 301 18. 8

+ 5 Super. SQLの現状 n GENERATE HTML n HTML全体を生成 Super. SQLを実行 A. ssql GENERATE

+ 5 Super. SQLの現状 n GENERATE HTML n HTML全体を生成 Super. SQLを実行 A. ssql GENERATE HTML  <TFE> A. html <html> <head> head要素の内容  </head> <body> body要素の内容  </body> </html>

+ n 8 研究背景 phpでデータベースの値を使用して 表を作成する場合(一例) n Super. SQLで表を作成する場 合 SQLクエリ + SQL +

+ n 8 研究背景 phpでデータベースの値を使用して 表を作成する場合(一例) n Super. SQLで表を作成する場 合 SQLクエリ + SQL + HTML + php print "<table border="2">"; for($i = 0; $i < $num; $i++){ $row = pg_fetch_assoc($result, $i); print <<< EOF <tr> <td>$row[r_name]</td> <td><img src="$row[r_img]" width="150"></td> <td>$row[h_name]</td> <td>$row[a_name]</td> <td>$row[r_price]円</td> <td>$row[min_num]〜$row[max_num]人</td> </tr> EOF; } print"</table>"; ? > GENERATE HTML { [r. name, image(img, path =“. /” ), h. name, a. name, r. price||‘ 円’,   r. min_num||'~'||r. max_num||'名']! } FROM hotel h, area a, room r WHERE a. id = h. area AND r. hotel_id = h. id;

+ n 13 提案手法の流れ HTML n e. HTML A. ssql or Super. SQLquery A.

+ n 13 提案手法の流れ HTML n e. HTML A. ssql or Super. SQLquery A. ssql Super. SQL B. phpなど Browser A. html Super. SQL A. html Browser B. phpなど 動的に表示

+ 17 実装状況 読み込み・更新 Browser(B. php) phpファイル(B. php) <? php $query = “ GENERATE

+ 17 実装状況 読み込み・更新 Browser(B. php) phpファイル(B. php) <? php $query = “ GENERATE e. HTML { [ h. name, r. name, { r. price || '円’ } ]! } FROM hotel h, room r WHERE r. hotel_id = h. id; ” ssqlexec($query); ? >