資料庫作業

2021-10-04 06:41:54 字數 1282 閱讀 9483

設有乙個spj資料庫,包括s,p,j,spj四個關係模式:

s( sno,sname,status,city);

p(pno,pname,color,weight);

j(jno,jname,city);

spj(sno,pno,jno,qty);

①**商表s由**商**(sno)、**商姓名(sname)、**商狀態(status)、**商所在城市(city)組成;②零件表p由零件**(pno)、零件名(pname)、顏色(color)、重量(weight)組成;③工程專案表j由工程專案**(jno)、工程專案名(jname)、工程專案所在城市(city)組成;④**情況表spj由**商**(sno)、零件**(pno)、工程專案**(jno)、**數量(qty)組成,表示某**商**某種零件給某工程專案的數量為qty。

試用關係代數完成如下查詢:

(1) 求**工程j1零件的**商號碼sno;

(2) 求**工程j1零件p1的**商號碼sno;

(3) 求**工程j1零件為紅色的**商號碼sno;

(4) 求沒有使用天津**商生產的紅色零件的工程號jno;

(5) 求至少用了**商s1所**的全部零件的工程號jno。

解: 1.πsno(σsno=『j1』(spj))

2.πsno(σsno=『j1』∧pno=『p1『(spj))

3.πsno(σpno=『p1『 (σcolor=』紅『 (p)∞spj))

4.πjno(spj)- πjno(σcity=『天津』∧color=『紅『 (s∞spj∞p)

5.πjno,pno(spj)÷

πpno(σsno=『s1『 (spj))

試述關係模型的完整性規則。在參照完整性中,為什麼外部碼屬性的值也可以為空?什麼情況下才可以為空?

答;實體完整性規則是指若屬性a是基本關係r的主屬性,則屬性a不能取空值。

若屬性(或屬性組)f是基本關係r的外碼,它與基本關係s的主碼ks相對應(基本關係r和s不一定是不同的關係),則對於r中每個元組在f上的值必須為:或者取空值(f的每個屬性值均為空值);或者等於s中某個元組的主碼值。即屬性f本身不是主屬性,則可以取空值,否則不能取空值。

關係代數的基本運算有哪些?如何用這些基本運算來表示其他的運算?

答;並、差、笛卡爾積、投影和選擇5種運算為基本的運算。其他三種運算,即交、鏈結和除,均可以用這5種運算來表達

1,查詢至少選修了3門其直接先行課為5號課程的學生姓名?

解:πsname(σcpno=『5』(course)∧σcpon>3(course)∞sc∞πsno.sname(student))

資料庫作業

inserted表和deleted表的結構 inserted 表用於儲存 insert 和 update 語句所影響的行的副本。在乙個插入或更新事務處理中,新建行被同時新增到 inserted 表和觸發器表中。inserted 表中的行是觸發器表中新行的副本。deleted 表用於儲存 delete...

資料庫11 9作業

2 實驗內容 2.1 掌握實體完整性約束的建立和使用方法 1 建立表時定義由乙個屬性組成的主鍵 給約束命名 create table s sname char 8 not null,constraint pk sname primary key sname 2 建立表時定義由兩個或兩個以上屬性組成的...

作業14 資料庫

本次作業參考檔案 答 我用的是乙個簡單粗暴的方法 直接重寫儲存資料的那部分方法。分別在library 和userunit類裡面新增connection prestatement resultset屬性,理由jdbcunit類簡化 在main函式開始執行時獲得資料庫連線。books表 users表 借...