vaäy Q coù khoùa duy nhaát laø K={C,E}
3. C K vaø C+=CAD thuoäc tính khoâng khoùa A Q khoâng ñaït chuaån 2 Q ñaït chuaån 1
4. Q(A,B,C,D,E,G,H,K); F={CAD; EBH; BK; CEG}
V aäy löôïc ñoà quan heä Q ñöôïc taùch thaønh löôïc ñoà cô sôû döõ lieäu ñaït chuaån BC sau:
Q1(C,A,D) F1={CAD} ñaït chuaån BC
Q2(E,B,H) F2={EBH} ñaït chuaån BC
Q3(E,K) F3={EK} ñaït chuaån BC
Q4(C,E,G) F4={CEG} ñaït chuaån BC
----oOo----
Ñeà 2
Cho moät löôïc ñoà cô sôû döõ lieäu C duøng ñeå quaûn lyù hoaït ñoäng söûa chöõa, baûo trì xe cuûa moät gara xe hôi. Löôïc ñoà cô sôû döõ lieäu C goàm caùc löôïc ñoà quan heä nhö sau:
Q1: Tho(MATHO,TENTHO,NHOM,NHOM_TRUONG)
Taân töø: Moãi ngöôøi thôï ñeàu coù maõ soá laø MATHO ñeå nhaän dieän. Moãi thôï chæ coù moät teân (TENTHO) vaø chæ thuoäc moät nhoùm (NHOM). Nhoùm tröôûng (NHOM_TRUONG)cuûa moãi nhoùm laø moät trong soá nhöõng ngöôøi thôï cuûa nhoùm ñoù.
MGT(MATHO)=MGT(NHOM_TRUONG)
Q2: Cong_viec(MACV,NOIDUNGCV)
Taân töø: Dòch vuï söûa chöõa xe ñöôïc chia nhoû thaønh nhieàu coâng vieäc ñeå deã daøng tính toaùn chi phí vôùi khaùch haøng. Moãi coâng vieäc ñeàu coù maõ rieâng (MACV) vaø noäi dung cuûa coâng vieäc ñöôïc moâ taû qua NOIDUNGCV.
Q3: Hop_dong(SOHD,NGAYHD,MAKH,TENKH,DCHI,SOXE,TRIGIAHD, NG_GAIO_DK,NG_NGTHU)
Taân töø: Moãi hôïp ñoàng söûa xe kyù keát vôùi khaùch haøng ñeàu coù maõ soá (SOHD) ñeå phaân bieät. NGAYHD laø ngaøy kyù hôïp ñoàng. Moãi khaùch haøng coù moät maõ soá (MAKH), moät teân (TENKH) vaø moät ñòa chæ (DCHI) ñeå theo doõi coâng nôï. SOXE laø soá ñaêng boä cuûa xe ñem ñeán söûa chöõa, soá naøy do phoøng CSGT ñöôøng boä caáp (neáu xe ñoåi chuû thì xem nhö moät xe khaùc). Khaùch haøng kyù hôïp ñoàng chính laø chuû xe söûa chöõa. Moät khaùch haøng coù theå kyù nhieàu hôïp ñoàng söûa chöõa nhieàu xe khaùc nhau hoaëc hôïp ñoàng söûa chöõa nhieàu laàn cuûa cuøng moät xe nhöng trong cuøng moät ngaøy. Nhöõng coâng vieäc söûa chöõa cho moät ñaàu xe chæ kyù hôïp ñoàng moät laàn. TRIGIAHD laø toång trò giaù cuûa hôïp ñoàng. NG_GIAO_DK laø ngaøy döï kieán phaûi giao traû xe cho khaùch. NG_NGTHU laø ngaøy nghieäm thu thaät söï sau khi ñaõ söûa chöõa xong ñeå thanh lyù hôïp ñoàng.
Q4: Chitiet_HD(SOHD,MACV,TRIGIA_CV,MATHO,KHOANTHO)
Taân töø: Moãi hôïp ñoàng söûa xe coù theå goàm nhieàu coâng vieäc. MACV laø maõ soá cuûa töøng coâng vieäc. TRIGIA_CV laø chi phí veà vaät tö, phuï tuøng, thieát bò, coâng thôï ... ñaõ tính toaùn vôùi khaùch. Moãi coâng vieäc cuûa hôïp ñoàng seõ giao cho moät ngöôøi thôï phuï traùch (MATHO) vaø moät ngöôøi thôï coù theå tham gia vaøo nhieàu coâng vieäc cuûa moät hay nhieàu hôïp ñoàng khaùc nhau. KHOANTHO laø soá tieàn giao khoùan laïi cho ngöôøi thôï söûa chöõa.
Q5: Phieu_thu(SOPH,NGAYPH,SOHD,MAKH,HOTEN,SOTIENTHU)
Taân töø: Khaùch haøng (MAKH) coù theå thanh toaùn tieàn cuûa moät hôïp ñoàng (SOHD) laøm nhieàu laàn tröôùc hoaëc sau khi nghieäm thu (trong cuøng ngaøy hoaëc khaùc ngaøy). Moãi laàn thanh toaùn ñeàu coù soá phieáu ñeå phaân bieät (SOPH), NGAYPH laø ngaøy phaùt haønh phieáu vaø SOTIENTHU laø soá tieàn thanh toaùn. HOTEN laø hoï teân cuûa ngöôøi mang tieàn ñeán thanh toaùn (coù theå khaùc vôùi teân cuûa khaùch haøng ñöùng ra kyù hôïp ñoàng)
Caâu hoûi:
1/ Xaùc ñònh taäp hôïp F goàm taát caû caùc phuï thuoäc ham suy ra töø taân töø cuûa caùc löôïc ñoà quan heä (khoâng caàn lieät keâ caùc phuï thuoäc haøm hieån nhieân). Xaùc ñònh khoùa cho töøng löôïc ñoà quan heä.
2/ Moâ taû taát caû caùc raøng buoäc toaøn veïn cuûa löôïc ñoà cô sôû döõ lieäu C. Laäp baûng taàm aûnh höôûng toång hôïp.
3/ Duøng ngoân ngöõ SQL ñeå thöïc hieän nhöõng yeâu caàu sau:
-
Cho bieát danh saùch nhöõng ngöôøi thôï hieän khoâng tham gia vaøo moät hôïp ñoàng söûa chöõa naøo.
-
Cho bieát danh saùch nhöõng hôïp ñoàng hieän ñaõ thanh lyù (ñaõ giao tra xe cho khaùch) nhöng chöa ñöôïc thanh toaùn ñaày ñuû.
-
Giaû söû hoâm nay laø ngaøy 21/12/95 cho bieát danh saùch nhöõng hôïp ñoàng caàn phaûi hoaøn taát tröôùc ngaøy 31/12/95.
-
Cho bieát ngöôøi thôï naøo thöïc hieän nhieàu coâng vieäc nhaát.
-
Cho bieát ngöôøi thôï naøo thöïc hieän toång giaù trò coâng vieäc (toång soá tieàn) cao nhaát.
4/ Löôïc ñoà cô sôû döõ lieäu C ôû daïng chuaån maáy (cao nhaát). Haõy duøng thuaät toaùn phaân raõ ñeå naâng caáp löôïc ñoà cô sôû döõ lieäu treân.
Löu yù: Caùc thuoäc tính ñeàu ñöôïc xem nhö thuoäc tính ñôn.
Ñaùp aùn:
Caâu 1:
F1={MATHOTENTHO,NHOM,NHOM_TRUONG}
Q1:Tho(MATHO,TENTHO,NHOM,NHOM_TRUONG)
F2={MACVNOIDUNGCV}
Q2:Congviec(MACV,NOIDUNGCV)
F3={SOHDNGAYHD,MAKH,SOXE,TRIGIAHD,NG_GIAO_DK,NG_NGTHU;
MAKHTENKH,DCHI}
Q3: Hopdong(SOHD,NGAYHD,MAKH,TENKH,DCHI,SOXE,TRIGIAHD,NG_GIAO_DK,NG_NGTHU)
F4={SOHD,MACVTRIGIA_CV,MATHO,KHOANTHO}
Q4:ChiTiet_hd(SOHD,MACV,TRIGIA_CV,MATHO,KHOANTHO)
F5={SOPHNGAYPH,SOHD,HOTEN,SOTIENTHU;SOHDMAKH}
Q5:Phieu_thu(SOPH,NGAYPH,SOHD,MAKH,HOTEN,SOTIENTHU)
Caâu 2: moâ taû taát caû caùc raøng buoäc toaøn veïn:
R11 t1,t2 rTho RBTV khoùa chính
t1.MATHO t2.MATHO
cuoái
R12 rTho[NHOM_TRUONG] rTho[MATHO] RBTV khoùa ngoaïi
R13 t rTho
t.TENTHO NULL RBTV mieàn giaù trò
t.NHOM NULL RBTV mieàn giaù trò
cuoái
R21 t1,t2 rCongviec RBTV khoùa chính
t1.MACV t2.MACV
cuoái
R22 t rCongviec RBTV mieàn giaù trò.
t.NOIDUNGCV NULL
cuoái
R31 t1,t2 rHopdong RBTV khoùa chính.
t1.SOHD t2.SOHD
cuoái
R32 t rHopdong
t.NGAYHD NULL RBTV mieàn giaù trò.
t.MAKH NULL RBTV mieàn giaù trò.
t.TENKH NULL RBTV mieàn giaù trò.
t.SOXE NULL RBTV mieàn giaù trò.
t.TRIGIAHD > 0 RBTV mieàn giaù trò.
t.NGAYHD <= t.NG_NGTHU RBTV lieân thuoäc tính.
t.NG_NGTHU <= t.NG_GIAO_DK RBTV lieân thuoäc tính.
cuoái
R41 t1,t2 rChiTiet_hd RBTV khoùa chính.
t1.{SOHD,MACV} t2.{SOHD,MACV}
cuoái
R42 rChitiet_HD[MATHO] rTho[MATHO] RBTV khoùa ngoaïi
R43 rChitiet_HD[SOHD] rHopdong[SOHD] RBTV khoùa ngoaïi
R44 rChitiet_HD[MACV] rCongviec[MACV] RBTV khoùa ngoaïi
R45 t rChiTiet_hd
t.TRIGIA_CV > t.KHOANTHO RBTV lieân thuoäc tính.
t.KHOANTHO > 0 RBTV mieàn giaù trò.
cuoái
R51 t1,t2 rPhieu_thu RBTV khoùa chính
t1.SOPH t2.SOPH
cuoái
R52 rPhieu_thu[SOHD] rHopdong[SOHD] RBTV khoùa ngoaïi
R53 t rPhieuthu
t.NGAYPH NULL RBTV mieàn giaù trò
t.MAKH NULL RBTV mieàn giaù trò
t.HOTEN NULL RBTV mieàn giaù trò
t.SOTIENTHU > 0 RBTV mieàn giaù trò
cuoái
R54 trPhieuthu t’rHopdong RBTV lieân thuoäc tính lieân quan heä.
t.SOHD = t’.SOHD vaø
t.NGAYPH <= t’NGAYHD
cuoái
Baûng taàm aûnh höôûng toång hôïp:
|
rTho
|
rCongviec
|
rHopdong
|
rChiTiet_hd
|
rPhieu_thu
|
|
T
|
S
|
X
|
T
|
S
|
X
|
T
|
S
|
X
|
T
|
S
|
X
|
T
|
S
|
X
|
R11
|
+
|
+
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
R12
|
+
|
+
|
+
|
|
|
|
|
|
|
|
|
|
|
|
|
R13
|
+
|
+
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
R21
|
|
|
|
+
|
+
|
-
|
|
|
|
|
|
|
|
|
|
R22
|
|
|
|
+
|
+
|
-
|
|
|
|
|
|
|
|
|
|
R31
|
|
|
|
|
|
|
+
|
+
|
-
|
|
|
|
|
|
|
R32
|
|
|
|
|
|
|
+
|
+
|
-
|
|
|
|
|
|
|
R41
|
|
|
|
|
|
|
|
|
|
+
|
+
|
-
|
|
|
|
R42
|
-
|
+
|
+
|
|
|
|
|
|
|
+
|
+
|
-
|
|
|
|
R43
|
|
|
|
|
|
|
-
|
+
|
+
|
+
|
+
|
-
|
|
|
|
R44
|
|
|
|
-
|
+
|
+
|
|
|
|
+
|
+
|
-
|
|
|
|
R45
|
|
|
|
|
|
|
|
|
|
+
|
+
|
-
|
|
|
|
R51
|
|
|
|
|
|
|
|
|
|
|
|
|
+
|
+
|
-
|
R52
|
|
|
|
|
|
|
-
|
+
|
+
|
|
|
|
+
|
+
|
-
|
R53
|
|
|
|
|
|
|
|
|
|
|
|
|
+
|
+
|
-
|
R54
|
|
|
|
|
|
|
-
|
+
|
+
|
|
|
|
+
|
+
|
-
|
Caâu 3:
a)SELECT'> SELECT matho,tentho
FROM tho
WHERE matho NOT IN
(SELECT matho
FROM hop_dong INNER JOIN chitiet_HD ON hop_dong.sohd = chitiet_HD.sohd
WHERE ng_ngthu > date() OR ISNULL(ng_ngthu))
b)SELECT sohd,ngayhd,makh,tenkh,dchi,soxe,trigiahd,ng_giao_dk,ng_ngthu
FROM hop_dong
WHERE ng_giao_dk <= DATE() AND (TRIGIAHD >
(SELECT SUM(SOTIENTHU) FROM phieu_thu
WHERE phieu_thu.sohd = hop_dong.sohd) OR sohd Not In (Select sohd From phieu_thu))
c)SELECT sohd,ngayhd,makh,tenkh,dchi,soxe,trigiahd,ng_giao_dk,ng_ngthu
FROM hop_dong
WHERE ng_giao_dk > #12/21/95# AND ng_giao_dk <= #12/31/95#
d)SELECT chitiet_hd.matho,tentho,COUNT(macv) AS soluongcv
FROM chiTiet_hd INNER JOIN tho ON chiTiet_hd.matho = tho.matho
GROUP BY chiTiet_hd.matho,tentho
HAVING COUNT(macv) >= ALL (SELECT COUNT(macv) FROM chiTiet_hd GROUP BY matho)
e)SELECT chiTiet_hd.matho,tentho,SUM(trigia_cv) AS congtrigia_cv
FROM chiTiet_hd INNER JOIN tho ON chiTiet_hd.matho = tho.matho
GROUP BY chiTiet_hd.matho,tentho
HAVING SUM(trigia_cv) >= ALL (SELECT SUM(trigia_cv) FROM chiTiet_hd GROUP BY matho)
Caâu 4:
F1={MATHOTENTHO,NHOM,NHOM_TRUONG}
Q1:Tho(MATHO,TENTHO,NHOM,NHOM_TRUONG)
K1 = MATHO
Q1 ôû daïng chuaån BC
F2={MACVNOIDUNGCV}
Q2:Congviec(MACV,NOIDUNGCV)
K2 = MACV
Q2 ôû daïng chuaån BC
F3={SOHDNGAYHD,MAKH,SOXE,TRIGIAHD,NG_GIAO_DK,NG_NGTHU;
MAKHTENKH,DCHI}
Q3: Hopdong(SOHD,NGAYHD,MAKH,TENKH,DCHI,SOXE,TRIGIAHD,NG_GIAO_DK,NG_NGTHU)
K3 = SOHD
Q3 ôû daïng chuaån 2
F4={SOHD,MACVTRIGIA_CV,MATHO,KHOANTHO}
Q4:ChiTiet_hd(SOHD,MACV,TRIGIA_CV,MATHO,KHOANTHO)
K4 = {SOHD,MACV}
Q4 ôû daïng chuaån BC
F5={SOPHNGAYPH,SOHD,HOTEN,SOTIENTHU;SOHDMAKH}
Q5:Phieu_thu(SOPH,NGAYPH,SOHD,MAKH,HOTEN,SOTIENTHU)
K5 = SOPH
Q5 ôû daïng chuaån 2
Vaäy löôïc ñoà cô sôû döõ lieäu C ñaït daïng chuaån 2.
Ñeå naâng caáp löôïc ñoà cô sôû döõ lieäu treân ta phaûi phaân raõ Q3 vaø Q5 thaønh:
F31={SOHDNGAYHD,MAKH,SOXE,TRIGIAHD,NG_GIAO_DK,NG_NGTHU}
Q31: Hopdong(SOHD,NGAYHD,MAKH,SOXE,TRIGIAHD,NG_GIAO_DK,NG_NGTHU)
K31 = SOHD
Q31 ñaït chuaån BC
F32={MAKHTENKH,DCHI}
Q32: Khachhang(MAKH,TENKH,DCHI)
K32 = MAKH
Q32 ñaït chuaån BC
F51={SOPHNGAYPH,SOHD,HOTEN,SOTIENTHU}
Q51:Phieu_thu(SOPH,NGAYPH,SOHD,HOTEN,SOTIENTHU)
K51 = SOPH
Q51 ñaït chuaån BC
F52={SOHDMAKH}
Q52:Hopdong(SOHD,MAKH)
K52 = SOHD Q52 ñaït chuaån BC
Löôïc ñoà Q52 laø löôïc ñoà con cuûa Q31 neân ta loaïi Q52 khoûi löôïc ñoà cô sôû döõ lieäu C. Vaäy löôïc ñoà cô sôû döõ lieäu C ñöôïc phaân raõ thaønh caùc löôïc ñoà Q1,Q2,Q31,Q32,Q4,Q51
----oOo----
Ñeà 3
Cho moät löôïc sô ñoà cô sôû döõ lieäu C duøng ñeå quaûn lyù hoaït ñoäng kinh doanh kieàu hoái cuûa moät ñôn vò. Löôïc ñoà cô sôû döõ lieäu C goàm caùc löôïc ñoà quan heä nhö sau :
Q1: Nguyen_te(LOAINT,NGAY,TIGIA,TILE_HH)
Taân töø : Moãi nguyeân teä ñöôïc nhaän dieän duy nhaát qua LOAINT. Caùc loaïi nguyeân teä coù theå laø: USD, FF, DM, YEN, ...Thuoäc tính TIGIA chæ tæ giaù so vôùi tieàn ñoàng VN cuûa moãi nguyeân teä trong ngaøy ( do Ngaân haøng Ngoaïi thöông quyeát ñònh vaøo ñaàu moãi ngaøy vaø coá ñònh trong ngaøy). Thuoäc tính TILE_HH laø tæ leä % hueâ hoàng maø coâng ty ñöôïc höôûng treân giaù trò chi traû cuûa moãi nguyeân teä (tæ leä naøy coá ñònh trong naêm).
Löu yù : Quan heä naøy chæ chöùa caùc nguyeân teä maø coâng ty coù chi traû kieàu hoái. Moãi khi caàn chi traû moât loaïi nguyeân teä môùi, coâng ty baét ñaàu löu tæ giaù nguyeân teä môùi keå töø ngaøy chi traû trôû ñi.
Chia sẻ với bạn bè của bạn: |