PB7謂詞邏輯演算功能分析
淮陰工學院 張有東
摘要:本文介紹了PowerBuilder7.0中謂詞邏輯演算功能,並舉例分析了其應用。
關鍵詞: SQL、巢狀選擇、謂詞演算
結構化查詢語言SQL是一種介於關係代數與關係演算之間的關係資料庫語言,由於其通用性和功能強的特點,目前已成為關係資料庫的標準語言。因此,各資料庫廠家紛紛推出各自支援的SQL軟體或SQL的介面軟體。但是,不同DBMS中對標準SQL的.支援程度不盡相同。從謂詞邏輯功能上看,現有的微型機上的DBMS一般均支援帶有EXISTS(代表存在量詞)和NOT EXISTS的相關查詢,而Sybase 公司的PowerBuilder7.0 ,還支援ANY、ALL等謂詞和巢狀選擇(nested select),而VFP、Access、Paradox等DBMS則不具備,這就使PB7的查詢功能強大而靈活,本文給合筆者所開發的教務管理系統,就PB7中SQL的謂詞邏輯演算的應用作一分析,本系統中的資料庫包含有以下三個表:
⑴“學生”表ST(sno,sname,ssex,sage,sdept),相應屬性含義分別為學號、姓名、性別、年齡和所在系。
⑵“課程”表Course(cno,cname,cpno,ccredit),相應屬性含義分別為課程號、課程名、先修課名和學分。
⑶“學生選課”表SC(sno,cno,grade), 相應屬性含義分別為學號、課程號和成績。
如查詢條件為“所有選修了2號課程的學生成績”的PB7的SQL語句如下:
SELECT "st"."sname"
FROM "st"
WHERE exists (SELECT "sc"."sno"
FROM "sc"
WHERE ("sc"."cno" = '2' ) AND ( "sc"."sno" = "st"."sno" ) );