有關聯式資料庫:
職工關係 employee(職工號eno,職工名ename)
工作關係 works(職工號eno,公司號cno,工資wage)
公司關係 company(公司號cno,公司名cname)
假設職工可以在多個公司兼職,請用關係代數表示式寫出至少在公司號為』c2』和』c5』公司兼職的職工名。
1.基於除法:
關係代數:
∏ename((∏cno, eno (works) ⌯ ∏cno (σcno=』c2』 ∨ cno=』c5』( company)))∞ employee)
sql語句:
select ename from employee where not exist(
select * from company where cno in (『c2』, 『c5』) and not exist(
select * from works where works.cno = company.cno and
works.eno = employee.eno))
2. 基於自身連線
關係代數:
∏ename((∏1(σ1=4 ∧ 2=』c2』 ∧ 5=』c5』 (works×works))) ∞ employee)
sql語句:
select ename from employee, works w1, works w2 where
w1.eno =w2.eno and w1.eno=employee.eno and w1.cno=』c2』 and w2.cno=』c5』
3. 基於集合運算
關係代數:
πename ((σcno =' c2' (works) ∩ σcno =『c5』(works)) ∞ employee)
sql語句:
select ename from employee, (
select eno from works where cno = 『c2』 intersect
select eno from works where cno = 『c5』) as dj
where employee.eno = dj.eno
資料庫練習題
一 設有一資料庫,包括四個表 學生表 student 課程表 course 成績表 score 以及教師資訊表 teacher 四個表的結構分別如表1 1的表 一 表 四 所示,資料如表1 2的表 一 表 四 所示。用sql語句建立四個表並完成相關題目。表1 1資料庫的表結構 表 一 student...
資料庫練習題
1 檢視原始資料庫information schema中的表,並顯示出views表的字段結構屬性資訊 show databases use information schema desc views 2 建立乙個offcn資料庫,並建立乙個students表,欄位為id,name,age,phone...
資料庫練習題5
1 事務的原子性是指 a 事務中包括的所有操作要麼都做,要麼都不做 b 事務一旦提交,對資料庫的改變是永久的 c 乙個事務內部的操作及使用的資料對併發的其他事務是隔離的 d 事務必須是使資料庫從乙個一致性狀態變到另乙個一致性狀態 2 事務的一致性是指 a 事務中包括的所有操作要麼都做,要麼都不做 b...