củacơsởdữliệuthamchiếuđếnmộthoặcmộttậpthuộctínhcủaquanhệkháctron gcùngcơsởdữ
liệuđó.
Các khoá ngoại rất quan trọng đối với cơ sở dữ liệu quan hệ. Chúng có ý nghĩa thể hiện dữliệu
bảngnàyliênkếtvớidữliệubảngkhác.
3.3. Chuyển đổi sơ đồ Thực thể-Liên kết sang cơ sở dữ liệuquan hệ quan hệ
Tậpcác lượcđồquanhệđược sửdụngđểbiểudiễnthôngtinđốivớimộttổchức được gọilàmột
lượcđồcơsởdữliệuquanhệhayđơngiảngọitắtlàlượcđồcơsởdữliệuquanhệ nếukhôngcósự
hiểunhầm.Cácgiátrịhiệnthờicủacácquanhệhìnhthànhcơ sởdữliệuquanhệ haygọitắtlàcơ
sở dữ liệu. Tấtnhiên, chúngtahoàn toàntự dotạo lậpcác quanhệvới mộttập th uộc tínhnào đó
như mộtlượcđồquanhệvàcóthểđặtmộtsựdiễngiảitrêncácbộnếuchúngtam uốn. Tuynhiên,
cómộtkiểuthiếtkếđiểnhìnhcácsơđồcơsởdữliệuquanhệmàchúngtacóthểx ácđịnhđượccác
sơđồquanhệkhibiếnđổisơđồthựcthểliênkếtsangmôhìnhquanhệ.
Biếnđổicáctậpthựcthể
Một tậpthựcthể Eđược biếnđổi thànhmộtquan hệmà lượcđồ quanhệcủa nó bao gồmtập các
thuộctínhcủatậpthựcthể. Mỗibộcủaquanhệbiểudiễnmộtthựcthểtrongthểhi ệnhiệnthờicủa
E.
NếuElàmộttậpthựcthểmàcácthựcthểcủanóđượcxácđịnhthôngquamộtliên kếtvớimộttập
thựcthểkhácFnàođóthìlượcđồquanhệtươngứngvớiEchỉchứacácthuộctính khóacủaF.
Biếnđổicácliênkết
MỗiliênkếtRgiữatậpcácthựcthểE1,E2,…,Ekđượcbiếnđổithànhmộtquanhệ màlượcđồquan
hệcủanóbaogồmcácthuộctínhtrongkhóacủamỗiE1,E2,…,Ek.Thôngqua phépđặtlạitênnếu
cầnthiết, chúngtađảmbảochắcchắnkhôngcóhai tậpthựcthể trongdanhsách c ó cácthuộctính
cùngtên,thậpchínếuchúngthuộccùngmộttậpthựcthể.
Bài tập
1. Giảsửtrongnghiệpvụquảnlýpháthànhbáochí,thôngtin gồmcó:
a. Thôngtinvềkhách hàng đặtmuabáo(tạpchí):
• Mãkhách hàngđặtmua, 5kýtự,kiểucharacter.
• Họvàtên kháchhàng, 21kýtự, kiểucharacter.
• Địachỉkhách hàng,21 kýtự,kiểucharacter.
28
• Sốđiệnthoại,7kýtự,kiểucharacter.
• Địađiểmgiaonhận báo(tạpchí)hàngngày,25kýtự,kiểucharacter.
b. Thôngtinvềcácloạibáo(tạpchí)baogồm:
• Mãbáokháchđặtmua.,3kýtự,kiểucharacter.
• Tênbáo(tạpchí), 15 kýtự,kiểucharacter.
• Giábáo, 5số.
• Kỳpháthànhbáo(báongày,báotuần,báotháng...).3kýtựchữ
c. Thôngtinvề phiếuđặtbáogồm
• Mãhiệukhách hàngđặtmuabáo.
• Mãbáokháchđặtmua.
• Sốlượngbáo, chí khách đặtmua.
• Thànhtiềntừngloạibáo.
HãypháchoạmôhìnhCSDLquanhệvớicácdữliệutrên.
2 9
Chương 4. Đại số quan hệ
Đạisốquanhệlàmộtngônngữđạisốtrongđócácbảngmớiđượcđịnhnghĩabằn gcáctoántửliên
hệvớicácbảngkhác.Đâylàmộtngônngữ biểuthức.Trongđómộtbảngmớiđượ cđịnhnghĩanhư
mộtbiểuthứcbaogồmcácbảngkhácvàcáctoántử.
4.1. Phépchọn
PhépchọntrênquanhệrkýhiệuδF(r)làphéptínhđểxâydựngmộttậpconcácbộ củar,thoảmãn
biểuthứclogicF.
CácphéptoánsửdụngtrongbiểuthứcFlà: -Phéptoánsosánh:>,<,=,>=,<=,<> -Phéptoánlogic:∧,∨,¬
Biểudiễnhìnhthứcphépchọn:
δF(r) ={t∉r|F(t)=TRUE}
F(t)đượchiểulàgiátrịcủacácthuộctínhxuấthiệntrongbiểuthứcFtạibộtthoảc ácđiềukiệncủa
F. Vídụ4.6: r ( A B C) F≡(A=a1) δF(r) =( A B C) a1 b2 c1 a1 b2 c1 a2 b5 c4 a3 b2 c2 4.2. Phépchiếu
GiảsửR ={A1,A2,..., AN} làmộttậpcác thuộctính, A∈R, r làmộtquan hệtrê nR, t làmộtbộ
thuộcr.Khiđókýhiệut[A]làgiátrịcủabộttạithuộctínhA.Mởrộngra, nếuX= {B1,B2,...,BM}
⊆RvớiM≤N,Bi∈Rvớii=1,2,...,Mthìt[X]=(t[B1],t[B2],...,t[BM]).
Người ta định nghĩa phép chiếu như sau:Phép chiếu trên tập X của quan hệ r, k ý hiệu là ∏X (r)
hoặcr[X]đượcđịnhnghĩatheocôngthức∏X(r) ={t[X]|t∈r} Vídụ4.5: r ( A B C) X={A,B} ∏X=( A B ) a1 b2 c1 a1 b2 a2 b5 c4 a2 b5 a3 b2 c2 a3 b2 3 0 4.3. Phép hợp
*Tínhkhảhợp:rlàquanhệxácđịnhtrêntậpthuộctínhR={A1,A2,...,AN},slà quanhệxácđịnh
trêntậpthuộctínhS={B1,B2,...,BM}.rvàsđượcgọilàhaiquanhệkhảhợpkhiv àchỉkhiM=N
vàmiềngiátrịcủaAivàBivớii=1,2,...,Nlàtươngđồngvớinhau.
Hợpcủahaiquanhệrvàskhảhợp,kýhiệulàr∪slàtậpcácbộthuộcrhoặcs. Biểudiễnhìnhthứcphéphợpcódạng: r∪s={t|t∈r ∨ t∈s} Vídụ4.1: r ( A B C ) S( A B C ) r∪s=( A B C) a1 b2 c5 a7 b2 c3 a1 b2 c5 a2 b5 c6 a2 b2 c2 a2 b5 c6 a4 b3 c7 a4 b3 c7 a7 b2 c3 a2
b2 c2
4.4. Phép giao
Giaocủahaiquanhệrvàskhảhợp,kýhiệulàr∩slàtậpcácbộthuộccảquanhệ rvàs.
Biểudiễnhìnhthứcphépgiaocódạng. r∩s={t|t∈r ∧ t∈s} Vídụ4.2: r ( A B C ) S( A B C ) r∩s=( A B C) a1 b2 c5 a1 b2 c5 a4 b3 c7 a2 b5 c6 a2 b2 c2 a1 b2 c5 a4 b3 c7 a4 b3 c7 4.5. Phép trừ
Hiệucủahaiquanhệrvàskhảhợp,kýhiệur–slàtậpcácbộthuộcrnhưngkhông thuộcs. Biểudiễnhìnhthứcphéptrừcódạng: r-s={t|t∈r ∧ t∉s} Vídụ4.3: r ( A B C ) s( A B C ) r-s=( A B C) a1 b2 c5 a1 b2 c5 a2 b5 c6 a2 b5 c6 a2 b2 c2 a4 b3 c7 a4 b3 c7
Hệquả:Phépgiaocủarvàscóthểbiểudiễndướidang:r∩s=r–(r–s)
3 1