Giaùo trình CÔ SÔÛ DÖÕ lieäu trang



tải về 1.89 Mb.
trang19/20
Chuyển đổi dữ liệu07.07.2016
Kích1.89 Mb.
1   ...   12   13   14   15   16   17   18   19   20

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={CAD; EBH; BK; CEG}

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={CAD} ñaït chuaån BC

Q2(E,B,H) F2={EBH} ñaït chuaån BC

Q3(E,K) F3={EK} ñaït chuaån BC

Q4(C,E,G) F4={CEG} ñ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:



  1. 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.

  2. 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û.

  3. 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.

  4. Cho bieát ngöôøi thôï naøo thöïc hieän nhieàu coâng vieäc nhaát.

  5. 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={MATHOTENTHO,NHOM,NHOM_TRUONG}

Q1:Tho(MATHO,TENTHO,NHOM,NHOM_TRUONG)
F2={MACVNOIDUNGCV}

Q2:Congviec(MACV,NOIDUNGCV)


F3={SOHDNGAYHD,MAKH,SOXE,TRIGIAHD,NG_GIAO_DK,NG_NGTHU;

MAKHTENKH,DCHI}

Q3: Hopdong(SOHD,NGAYHD,MAKH,TENKH,DCHI,SOXE,TRIGIAHD,NG_GIAO_DK,NG_NGTHU)
F4={SOHD,MACVTRIGIA_CV,MATHO,KHOANTHO}

Q4:ChiTiet_hd(SOHD,MACV,TRIGIA_CV,MATHO,KHOANTHO)


F5={SOPHNGAYPH,SOHD,HOTEN,SOTIENTHU;SOHDMAKH}

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 trPhieuthu 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 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={MATHOTENTHO,NHOM,NHOM_TRUONG}

Q1:Tho(MATHO,TENTHO,NHOM,NHOM_TRUONG)

K1 = MATHO

 Q1 ôû daïng chuaån BC
F2={MACVNOIDUNGCV}

Q2:Congviec(MACV,NOIDUNGCV)

K2 = MACV

 Q2 ôû daïng chuaån BC


F3={SOHDNGAYHD,MAKH,SOXE,TRIGIAHD,NG_GIAO_DK,NG_NGTHU;

MAKHTENKH,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,MACVTRIGIA_CV,MATHO,KHOANTHO}

Q4:ChiTiet_hd(SOHD,MACV,TRIGIA_CV,MATHO,KHOANTHO)

K4 = {SOHD,MACV}

 Q4 ôû daïng chuaån BC


F5={SOPHNGAYPH,SOHD,HOTEN,SOTIENTHU;SOHDMAKH}

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={SOHDNGAYHD,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={MAKHTENKH,DCHI}

Q32: Khachhang(MAKH,TENKH,DCHI)

K32 = MAKH

 Q32 ñaït chuaån BC


F51={SOPHNGAYPH,SOHD,HOTEN,SOTIENTHU}

Q51:Phieu_thu(SOPH,NGAYPH,SOHD,HOTEN,SOTIENTHU)

K51 = SOPH

 Q51 ñaït chuaån BC


F52={SOHDMAKH}

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.

1   ...   12   13   14   15   16   17   18   19   20


Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2016
được sử dụng cho việc quản lý

    Quê hương