資料庫 VIEW 的限制 [100公務] - 考試

Table of Contents

查講義上寫到 , VIEW 的輸出要包含主鍵
那假如使用到兩個表格, ex. FROM 表格1,表格2
需要將兩個表格的主鍵都輸出嗎 ?

Q1.
Phone( model,manufacturer,type,price) 第一個是主見
Customer(custid,email) 第一個是主見
Purchase(model,custid,date) 前兩個是主見.......新注音選字太爛,饒了我吧...

建立一個名為Loyal的view , 內容為(custid),(manufacturer)所構成
且該顧客至少購買三台以上電話

--- 我的解法 ---
CREATE VIEW Loyal
SELECT C.custid , P.model ,Ph.custid , P.manufacturer
FROM Customer C , Phone P , Purchase Ph
GROUP BY Ph.model , Ph.date
HAVING COUNT(*)>=3

Q2.
已知關聯R={A,B,C,E,G,H}為1NF,
F={A->B , B->C , AB->CEG , H->A}
(1)主鍵是------->(H)
(2)簡化集合F成為M,使M含最少數量的功能相依 且 F+ = M+
(3)若將R分解成 R1(A,B,C,E,G),R2(H,A),則為無失誤合併的分解嗎? 為什麼?
(4)將R分解為無失誤和並且保留F的3NF關聯,註明個關聯的主鍵,
並注意控制各屬性在各關聯的重複出現。


ps: 第二題看不懂什麼是F+=M+ , 還有無失誤合併是蝦米??
另外問個小問題:
若B->C,D,E,
A,B->F
是否 A,B->C,D,E,F 成立 ??

謝謝大大幫忙解惑 !!

--

All Comments

Megan avatarMegan2013-07-09
create view 語法不對喔 另外select group by的語法也不對
Connor avatarConnor2013-07-13
View印象中只有update有一些限制 create view沒有
Franklin avatarFranklin2013-07-14
(2)是要你化成最簡功能相依
Tristan Cohan avatarTristan Cohan2013-07-15
create view viewname as......
Lucy avatarLucy2013-07-18
哦喔,感謝各位大大,原來group by的參數和select的參
數要有順序上的一至,不能跳過,soga ~