SSedit Super SQL 20161224 M 2 yusuke Super

































- Slides: 33
SSedit: Super. SQL学習支援 システムの開発 2016/12/24 M 2 yusuke
Super. SQLについて u SQLの拡張言語 - データベース検索、構造化、メディア変換を統合 1 F Smith … Smith 8000 1 F Smith … Johnson 5000 1 F Smith … Williams 4000 … … … 2 F Rodriguez … Rodriguez 7000 2 F Rodriguez … Wilson 300 L, C salary M … name HT SQL floor f_manager SS Super. SQL 3
Super. SQLについて u SQLの拡張言語 - データベース検索、構造化、メディア変換を統合 Super. SQLクエリ例 GENERATE HTML [ {(asc 1)e. floor, e. category@{width=‘ 201’}}@{bgcolor=‘lightgreen’}! {"floor_manager", e. f_manager@{width=‘ 107’}}! [ {"division", e. division@{width=’ 50’}, e. dept @{width=‘ 105’}}@{bgcolor=‘lightgreen’}! {"manager"@{width=’ 80’}, e. d_manager@{width=‘ 142’}}! [e. name@{width=‘ 138’}, (desc 1)e. salary@{width=’ 82’}]! ]! ], FROM EMPLOYEE e; 4
Super. SQLについて u SQLの拡張言語 - データベース検索、構造化、メディア変換を統合 Super. SQLクエリ例 GENERATE HTML [ {(asc 1)e. floor! e. category@{width=‘ 201’}}@{bgcolor=‘lightgreen’}! {"floor_manager", e. f_manager@{width=‘ 107’}}! [ {"division", e. division@{width=’ 50’}, e. dept @{width=‘ 105’}}@{bgcolor=‘lightgreen’}! {"manager"@{width=’ 80’}, e. d_manager@{width=‘ 142’}}! [e. name@{width=‘ 138’}, (desc 1)e. salary@{width=’ 82’}]! ]! ], FROM EMPLOYEE e; 5
Super. SQLについて u SQLの拡張言語 - データベース検索、構造化、メディア変換を統合 Super. SQLクエリ例 GENERATE HTML [ {(asc 1)e. floor, e. category@{width=‘ 201’}}@{bgcolor=‘lightgreen’}! {"floor_manager", e. f_manager@{width=‘ 107’}}! [ {"division", e. division@{width=’ 50’}, e. dept @{width=‘ 105’}}@{bgcolor=‘lightgreen’}! {"manager"@{width=’ 80’}, e. d_manager@{width=‘ 142’}}! [e. name@{width=‘ 138’}, (desc 1)e. salary@{width=’ 82’}]! ]! ], FROM EMPLOYEE e; 6
クエリ自動修正機構 u エラーモデルの定義 pクエリの再解析アルゴリズムの例 Super. SQLクエリ例 if カラムが存在しない then 間違ったカラム = nane カラムリスト = employeeのカラム全て for カラム in カラムリスト do Levenshtein距離を求める if 似ているものが存在する then GENERATE HTML [ {(asc 1)e. floor, e. category@{width=‘ 201’}}@{bgcolor=‘lightgreen’}! {"floor_manager", e. f_manager@{width=‘ 107’}}! [ {"division", e. division@{width=’ 50’}, e. dept @{width=‘ 105’}}@{bgcolor=‘lightgreen’}! {"manager"@{width=’ 80’}, e. d_manager@{width=‘ 142’}}! [e. nane@{width=‘ 138’}, (desc 1)e. salary@{width=’ 82’}]! 候補 = Levenshtein距離が1に近いカラム else 候補 = 全てのカラムをコンボボックスで表示 ]! ], FROM EMPLOYEE e; 21
クエリ自動修正機構 u フロントエンド Ø 可変タブにてエラー修正候補を あるだけ表示 Ø 開発者は修正候補をヒントに クエリを自由に編集可能 Super. SQLクエリ例 GENERATE HTML [ {(asc 1)e. floor, e. category@{width=‘ 201’}}@{bgcolor=‘lightgreen’}! {"floor_manager", e. f_manager@{width=‘ 107’}}! [ {"division", e. division@{width=’ 50’}, e. dept @{width=‘ 105’}}@{bgcolor=‘lightgreen’}! {"manager"@{width=’ 80’}, e. d_manager@{width=‘ 142’}}! [e. name@{width=‘ 138’}, (desc 1)e. salary@{width=’ 82’}]! ]! ]! FROM EMPLOYEE e; 27
クエリ自動修正機構 u フロントエンド Ø 可変タブにてエラー修正候補を あるだけ表示 Ø 開発者は修正候補をヒントに クエリを自由に編集可能 Super. SQLクエリ例 GENERATE HTML [ {(asc 1)e. floor, e. category@{width=‘ 201’}}@{bgcolor=‘lightgreen’}! {"floor_manager", e. f_manager@{width=‘ 107’}}! [ {"division", e. division@{width=’ 50’}, e. dept @{width=‘ 105’}}@{bgcolor=‘lightgreen’}! {"manager"@{width=’ 80’}, e. d_manager@{width=‘ 142’}}! [e. name@{width=‘ 138’}, (desc 1)e. salary@{width=’ 82’}]! ]! ]! FROM EMPLOYEE e, DEPT d; 28
学習支援 u チュートリアル Ø クエリの再解析によって特定された エラーモデル毎の部分的なチュー トリアルを表示 Ø 54パターンのチュートリアル Super. SQLクエリ例 GENERATE HTML [ {(asc 1)e. floor, e. category@{width=‘ 201’}}@{bgcolor=‘lightgreen’}! {"floor_manager", e. f_manager@{width=‘ 107’}}! [ {"division", e. division@{width=’ 50’}, e. dept @{width=‘ 105’}}@{bgcolor=‘lightgreen’}! {"manager"@{width=’ 80’}, e. d_manager@{width=‘ 142’}}! [e. name@{width=‘ 138’}, (desc 1)e. salary@{width=’ 82’}]! ]! ]! FROM EMPLOYEE e, DEPT d; 29