支援递回资料定义之

上传人:j****9 文档编号:57221062 上传时间:2018-10-20 格式:PPT 页数:50 大小:1.80MB
返回 下载 相关 举报
支援递回资料定义之_第1页
第1页 / 共50页
支援递回资料定义之_第2页
第2页 / 共50页
支援递回资料定义之_第3页
第3页 / 共50页
支援递回资料定义之_第4页
第4页 / 共50页
支援递回资料定义之_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《支援递回资料定义之》由会员分享,可在线阅读,更多相关《支援递回资料定义之(50页珍藏版)》请在金锄头文库上搜索。

1、2018/10/20,DBLAB NTOU,1/50,支援遞迴資料定義之 XQuery 查詢句轉換系統 Translating XQuery in Recursive Schemas,指導教授:張雅惠教授 研 究 生:吳俊賢 國立台灣海洋大學資訊工程系,2018/10/20,DBLAB NTOU,2/50,大綱,1. 研究動機與目標 2. 相關定義及轉換模組 3. Mapping 及 Skolem Function 4. 正確性分析與轉換結果評估 5. 結論與未來展望,2018/10/20,DBLAB NTOU,3/50,研究動機與目標,XML 資料儲存於各個資料庫 資料庫對資料定義格式不同

2、目標:建立一個查詢句轉換系統,透過查詢句轉換使得跨資料庫的查詢變得容易。,Target XQuery,Source XQuery,Source XQuery,Target XQuery,2018/10/20,DBLAB NTOU,4/50,相關定義,Target DTD and Source DTD Target Query and Source Query Nested Expression 轉換模組 Mapping & Skolem Function,2018/10/20,DBLAB NTOU,5/50,Target DTD and Source DTD (1/2),Target & So

3、urce DTDTarget DTD Source DTD,2018/10/20,DBLAB NTOU,6/50,Target DTD and Source DTD (2/2),Target & Source DTD Graph,Target DTD Graph,Source DTD Graph,2018/10/20,DBLAB NTOU,7/50,Target Query and Source Query,Target Query FOR $t0 in /dept/course LET $t1 := FOR $t2 in $t0/takenBy/studentRETURN $t2/name

4、WHERE $t0/cno = “C2” RETURN $t1 Source Query FOR $s0 in /dept/course LET $s1 := FOR $s1 in $s0/takenBy,$s2 in /dept/studentWHERE $s1/sno = $s2/snoRETURN $s2/name WHERE $s0/cno = “C2” RETURN $s1,2018/10/20,DBLAB NTOU,8/50,Nested Expression,Nested Expression: LET 宣告之變數所對應的查詢句。 Ex : LET $a := Query RET

5、URN 中以 所定義之查詢句。 Ex : RETURN Query ,2018/10/20,DBLAB NTOU,9/50,轉換模組,2018/10/20,DBLAB NTOU,10/50,正確性定義,定義:等價的查詢句若 Target query 和 Source query,其每一個變數指向之元素節點,對應的關係結構相符合,則為一個等價的查詢句轉換,2018/10/20,DBLAB NTOU,11/50,Why Mapping,Mapping 目的:記錄兩個不同 DTD 之 XML,其資料之相互對應關係。 用途:便於產生 Skolme Function,2018/10/20,DBLAB N

6、TOU,12/50,Mapping,Foreach $S0 in /dept/course,$S1 in $S0/takenBy,$S2 in /dept/student,$S3 in $S2/qualifieds/cno,$S4 in /prereq/courseWhere $S1/sno = $S2/sno Exist $T0 in /dept/course, $T1 in $T0/prereq/course,$T2 in $T0/takenBy/student,$T3 in $T2/qualified/course With $T0/cno = $S0/cno,$T0/title = $

7、S0/title,$T2/sno = $S2/sno,$T2/name = $S2/name,$T3/cno = $S3 RR($T1, $T0, $S0, $S4),2018/10/20,DBLAB NTOU,13/50,Why Skolem Function,目的:將對應資訊結構化的表示,以便利管理者對於資訊的管理與修正。 用途:便利透過 Tracing Skolem Function 取得所有解,以及查詢句轉換時,變數宣告與葉元素對應的取得。,2018/10/20,DBLAB NTOU,14/50,Generate Skolem Function (1/5),Foreach $S0 in

8、 /dept/course,$S1 in $S0/takenBy,$S2 in /dept/student,$S3 in $S2/qualifieds/cno,$S4 in /prereq/courseWhere $S1/sno = $S2/snoExist $T0 in /dept/course, $T1 in $T0/prereq/course,$T2 in $T0/takenBy/student,$T3 in $T2/qualified/courseWith $T0/cno = $S0/cno,$T0/title = $S0/title,$T2/sno = $S2/sno,$T2/nam

9、e = $S2/name,$T3/cno = $S3RR($T1, $T0, $S0, $S4),產生 SK0,SK0,2018/10/20,DBLAB NTOU,15/50,Generate Skolem Function (2/5),Foreach $S0 in /dept/course,$S1 in $S0/takenBy,$S2 in /dept/student,$S3 in $S2/qualifieds/cno,$S4 in /prereq/courseWhere $S1/sno = $S2/snoExist $T0 in /dept/course, $T1 in $T0/prere

10、q/course,$T2 in $T0/takenBy/student,$T3 in $T2/qualified/courseWith $T0/cno = $S0/cno,$T0/title = $S0/title,$T2/sno = $S2/sno,$T2/name = $S2/name,$T3/cno = $S3RR($T1, $T0, $S0, $S4),SK0 RETURN /cno = $S0/cno, /title = $S0/title, /prereq/course = RRSK0.0 /takenBy/student = SK0.0,加入RETURN資訊,2018/10/20

11、,DBLAB NTOU,16/50,Generate Skolem Function (3/5),Foreach $S0 in /dept/course,$S1 in $S0/takenBy,$S2 in /dept/student,$S3 in $S2/qualifieds/cno,$S4 in /prereq/courseWhere $S1/sno = $S2/snoExist $T0 in /dept/course, $T1 in $T0/prereq/course,$T2 in $T0/takenBy/student,$T3 in $T2/qualified/courseWith $T

12、0/cno = $S0/cno,$T0/title = $S0/title,$T2/sno = $S2/sno,$T2/name = $S2/name,$T3/cno = $S3RR($T1, $T0, $S0, $S4),加入 FOR 變數,SK0 FOR $S0 in /dept/course RETURN /cno = $S0/cno, /title = $S0/title, /prereq/course = RRSK0.0 /takenBy/student = SK0.0,2018/10/20,DBLAB NTOU,17/50,Generate Skolem Function (4/5

13、),Foreach $S0 in /dept/course,$S1 in $S0/takenBy,$S2 in /dept/student,$S3 in $S2/qualifieds/cno,$S4 in /prereq/courseWhere $S1/sno = $S2/snoExist $T0 in /dept/course, $T1 in $T0/prereq/course,$T2 in $T0/takenBy/student,$T3 in $T2/qualified/courseWith $T0/cno = $S0/cno,$T0/title = $S0/title,$T2/sno =

14、 $S2/sno,$T2/name = $S2/name,$T3/cno = $S3RR($T1, $T0, $S0, $S4),判斷是否需要加入 WHERE 條件限制式,SK0 FOR $S0 in /dept/course RETURN /cno = $S0/cno, /title = $S0/title, /prereq/course = RRSK0.0 /takenBy/student = SK0.0,2018/10/20,DBLAB NTOU,18/50,Generate Skolem Function (5/5),Foreach $S0 in /dept/course,$S1 in

15、 $S0/takenBy,$S2 in /dept/student,$S3 in $S2/qualifieds/cno,$S4 in /prereq/courseWhere $S1/sno = $S2/snoExist $T0 in /dept/course, $T1 in $T0/prereq/course,$T2 in $T0/takenBy/student,$T3 in $T2/qualified/courseWith $T0/cno = $S0/cno,$T0/title = $S0/title,$T2/sno = $S2/sno,$T2/name = $S2/name,$T3/cno

16、 = $S3RR($T1, $T0, $S0, $S4),完成 Skolem Function,SK0 FOR $S0 in /dept/course RETURN /cno = $S0/cno, /title = $S0/title, /prereq/course = RRSK0.0 /takenBy/student = SK0.0,2018/10/20,DBLAB NTOU,19/50,遞迴資料對應,目的,為了表示遞迴資料的對應資訊 表示方式:RR($T1, $T0, $S0, $S4) 意義:$T1 指向之路徑,遞迴至 $T0 所指向之元素,且此遞迴路徑產生 Skolem Function 時,繼承 $T0 所產生之 Skolem Function 資訊,並將該 Skolem Function 中的變數 $S0 以 $S4 取代。並產生其它相關的 RRSK Function。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号