Chuẩn hóa lược đồ quan hệ

Một phần của tài liệu bài giảng hệ quản trị cơ sở dữ liệu (Trang 63 - 71)

6.5.1.Táchlượcđồquanhệvề3NF

Thuậttoán.Táchmộtlượcđồthành3NF.

Vào:LượcđồquanhệR,tậpcácphụthuộchàmF;Khônglàmmấttínhtổngq uátgiảsửrằngF

làmộttậpphụthuộchàmtốithiểu.

Ra:PhéptáchkhôngmấtmátthôngtintrênRsaochomỗilượcđồconđềuở3 NF.

Bước1.LoạibỏtấtcảcácthuộctínhcủaRnếucácthuộctínhđókhôngliênq uanđếnmộtphụ

thuộchàmnàocủaF,hoặcvếtrái,hoặcvếphải.Vềnguyêntắccácthuộctínhnàyc óthểhìnhthành

mộtsơđồquanhệriêngvàkhôngtínhnóvàophéptáchRvề3NF.

Bước2.Nếu cóphụ thuộchàm nàocủa Fliên quantớitất cảcác thuộctính c ủaR thìkết quả

chínhlàR.

Bước 3. Ngược lại, kết quả ra bao gồm các lược đồ XA ứng với một phụ thu ộc hàm X → A

trongF.Tuynhiên,nếuchúngtacócácphụthuộchàmX→A1,X→A2,…,X→

ANthìchúngta

cóthểsửdụnglượcđồXA1A2…ANthaychoXAivớii=1,2,…,N.

6.5.2.TáchlượcđồquanhệvềBCNF

Bổđề.

a.Giảsử RlàmộtsơđồquanhệvớitậpphụthuộchàmF.Đặtρ=(R1,R2,…, Rk)làmộtphép

táchkhôngmấtthôngtincủaRđốivới F.Với mỗiI=1,2,…,k,gọiFi làhình chiếucủaFlênRi,

vàđặtδ=(S1,S2,…,Sm)làmộtphéptáchkhôngmấtmátthôngtincủaRiđốivới Fi.

4 8

ThìphéptáchRthành(R1,…,Ri-1,S1,S2,…,Sm,Ri+1,…,Rk)làkhôngmấtmát thôngtinđối

vớiF.

b.GiảsửR,Fvàpnhưtrong(a), τ=(R1,R2,…,Rk,Rk+1,….,Rn)làmộtphép táchcủaRthành

tậpcáclượcđồchứacáclượcđồcủaρthìτlàmộtphéptáchkhôngmấtmátthông tin.

Thuậttoán.TáchkhôngmấtmátthôngtinvềdạngchuẩnBoye-Codd Vào:LượcđồquanhệR,tậpphụthuộchàmFtrênR.

Ra:ρ-mộtphéptáchkhôngmấtmátthôngtinbaogồmmộttậpcáclược đồc ontrongđómỗi

lượcđồđềuởdạngchuẩnBoye-CoddvớicácphụthuộchàmlàhìnhchiếucủaF lênlượcđồđó.

Phươngpháp:

-Chúngta xâydựngmộtphéptách ρđối vớiR theophương pháplặp.Mỗi lầ nlặp, ρsẽđược

táchtiếpvớimộtphéptáchkhôngmấtmátthôngtinđốivớiF.

-Ban đầu, đặtρ =(R). Nếu S làmột sơ đồquanhệ trongρ,không ởdạngch uẩnBoye-Codd,

xétmộtphụ thuộchàmX→A củaS, với điềukiệnXkhôngchứakhóa củaSvà A∉X. Ta thay

thếSvớiS1,S2vớiS1=A∪{X},S2=S\{A}

-TiếptụcquátrìnhtrênchođếnkhimọilượcđồconđềuởdạngchuẩnBoye- Codd,chúngtasẽ

xâydựngđượcphéptáchkhôngmấtmátthôngtinchuẩnhóaRvềdạngchuẩnBoy e-Codd.

49

MỘT SỐ ĐỀ THI MẪU

50

Tênhọcphần:CƠSỞDỮLIỆU

Nămhọc: x Đề thi số: x Ký duyệt đề: x Thờigian:60phút

TrƣờngĐạiHọcHàngHảiViệtNam

KhoaCôngnghệThôngtin BỘMÔNHỆTHỐNGTHÔNGTIN

---***---

THIKẾT THÚC HỌCPHẦN

Câu1:(2điểm)

a. Chobiếtsựkhácnhauchínhgiữahệthốngxửlýtệptinvàhệquảntrịdữ liệu.

b. Địnhnghĩadạngchuẩn1(1NF),dạngchuẩn2(2NF).Chovídụminhh ọa.

Câu2:(4điểm)

ChomộtcơsởdữliệuvềNgânhàngnhưsau:

Ngânhàngcónhiềuchi nhánhtạicác địađiểmkhácnhau. Mỗichinhánh l ưugiữthôngtin

vềchitiếttàikhoảncủakháchhàngtạichinhánhđó.Cáckháchhàngcóthểcómộ ttàikhoảnhoặc

nhiều tàikhoản.Ngânhàngchokháchhàngvayvớinhiềumụcđíchsửdụngkhác nhau.Ngânhàng

lưu giữ thông tin về các giao dịch được thực hiện bởi các tài khoản khách hàn g. Tất cả các chi

nhánhcónhiềunhânviênvàmộtsốnhânviêngiữchứcvụngườiquảnlý.

a. VẽsơđồThựcthể-Liênkếtmôtảnhữngthôngtintrongcơsởdữliệu trên.

b. ChuyểnsơđồThựcthể-Liênkếttrênsanglượcđồquanhệ.

(cóthểbổsungthêmcácgiảthiếtkhácđểmôtảbàitoánnếucầnthiết)

Câu3:(2điểm)

Cholượcđồquanhệsau:

Suppliers(sid:integer,sname:string,address:string) Parts(pid:integer,pname:string,color:string) Catalog(sid:integer,pid:integer,cost:real)

(Suppliers: thôngtinvề cácnhàcungcấp;Parts:thôngtinvềcácloại ng hóa;Catalog:

thôngtinvềgiábáncácloạihànghóacủacácnhàcungcấp).

a. Viết truy vấn sautrong đại số quan hệ: Tìm têncủa những nhàcung c ấp cósản phẩm

màuđỏ(RED)hoặcmàuxanh(GREEN)

b. Chobiếtmụcđíchcủacáctruyvấnđượcviếtởdạngđạisốquanhệsau:

sid((δcolor='red'Parts)(δcost<100Catalog)Supplier

s))∩

sid((δcolor='green'Parts)(δcost<100Catalog)Supplie

rs))

CholượcđồquanhệRvớicácthuộctínhABCDEcócácphụthuộchàmsa u:

AB,BCE,vàEDA.

XácđịnhdạngchuẩncaonhấtRthỏamãn(1NF,2NF,3NF,BCNF).Giảith ích.

---***HẾT***---

Lưu

ý:-Khôngsửa,xóađềthi,nộplạiđềsaukhithi

51

TrƣờngĐạiHọcHàng HảiViệtNam

KhoaCôngnghệThôngtin BỘMÔNHỆTHỐNGTHÔNGTIN

---***---

THIKẾT THÚC HỌCPHẦN

Câu1:(2điểm)

a. Giảithíchsựkhácnhaugiữacácmứcđộtrừutượngdữliệutronghệ quảntrịdữliệu.

b. Giảithíchcácvấnđềvềdưthừadữliệutrongcơsởdữliệu.Chovíd ụminhhọa.

Câu2:(4điểm)

ChomộtcơsởdữliệuvềBệnhviệnnhưsau:

Bệnh việncónhiều khoakhámbệnh.Mỗikhoa cónhiều bácsỹ. Mộtbác sỹ chỉthuộcvào

một khoa. Một bác sỹ có thể khám cho nhiều bệnh nhân. Một bệnh nhân có thể được khám bởi

nhiềubácsỹ.Thôngtinvềcáclầnkhámbệnhđượclưugiữtrongsổkhámbệnhđểt heodõi.

a. VẽsơđồThựcthể-Liênkếtmôtảnhữngthôngtintrongcơsởdữliệu trên.

b. ChuyểnsơđồThựcthể-Liênkếttrênsanglượcđồquanhệ.

(cóthểbổsungthêmcácgiảthiếtkhácđểmôtảbàitoánnếucầnthiết)

Câu3:(2điểm)

Cholượcđồquanhệsau:

Suppliers(sid:integer,sname:string,address:string) Parts(pid:integer,pname:string,color:string) Catalog(sid:integer,pid:integer,cost:real)

(Suppliers: thôngtinvề cácnhàcungcấp;Parts:thôngtinvềcácloại ng hóa;Catalog:

thôngtinvềgiábáncácloạihànghóacủacácnhàcungcấp).

Tênhọcphần:CƠSỞDỮLIỆU

Nămhọc: x Đề thi số: x Ký duyệt đề: x Thờigian:60phút

a. Viếttruyvấnsautrongđạisốquanhệ:Tìmtêncủanhữngnhàcungcấp cóđủtấtcảcác

loạisảnphẩm.

b. Chobiếtmụcđíchcủacáctruyvấnđượcviếtởdạngđạisốquanhệsau:

πsnamesid((δcolor='red'Parts)(δcost<100Catalog)Su

ppliers))

Câu4:(2điểm)

CholượcđồquanhệRvớibốnthuộctínhABCDcócácphụthuộchàmsau: CD,CA,vàBC.

XácđịnhdạngchuẩncaonhấtRthỏamãn(1NF,2NF,3NF,BCNF).Giảith ích.

---***HẾT***---

Lưu

ý:-Khôngsửa,xóađềthi,nộplạiđềsaukhithi

52

TrƣờngĐạiHọcHàng HảiViệtNam

KhoaCôngnghệThôngtin BỘMÔNHỆTHỐNGTHÔNGTIN

---***---

THIKẾT THÚC HỌCPHẦN

Câu1:(2điểm)

a. Giảithíchcáckháiniệm:dữliệu,cơsởdữliệu,hệquảntrịdữliệu. b. Giảithíchcáckháiniệm:khóa,siêukhóa,khóachính,khóaứngcử, khóangoại.

Câu2:(4điểm)

ChomộtcơsởdữliệuvềCôngtybảohiểmxehơinhưsau:

Công tybảohiểm cónhiều kháchhàngmua bảohiểmxe hơi.Mỗikhách hàngsở hữu một

hoặcnhiều xe. Mỗixeđược muamột loạibảohiểm củacông ty. Mỗixe cóthểk hông cóhoặc có

mộtđếnnhiềuhồsơvềtainạnđượcyêucầubồithường.

a. VẽsơđồThựcthể-Liênkếtmôtảnhữngthôngtintrongcơsởdữliệu trên.

b. ChuyểnsơđồThựcthể-Liênkếttrênsanglượcđồquanhệ.

(cóthểbổsungthêmcácgiảthiếtkhácđểmôtảbàitoánnếucầnthiết)

Câu3:(2điểm)

Cholượcđồquanhệsau: Tênhọcphần:CƠSỞDỮLIỆU

Nămhọc: x Đề thi số: x Ký duyệt đề: x Thờigian:60phút

Suppliers(sid:integer,sname:string,address:string) Parts(pid:integer,pname:string,color:string) Catalog(sid:integer,pid:integer,cost:real)

(Suppliers: thôngtinvề cácnhàcungcấp;Parts:thôngtinvềcácloại ng hóa;Catalog:

thôngtinvềgiábáncácloạihànghóacủacácnhàcungcấp).

a. Viết truy vấn sautrong đại số quan hệ: Tìm têncủa những nhàcung c ấp cósản phẩm

màuđỏ(RED)vàmàuxanh(GREEN).

b. Chobiếtmụcđíchcủacáctruyvấnđượcviếtởdạngđạisốquanhệsau:

sname((δcolor='red'Parts)(δcost<100Catalog)Supplie

rs))∩

sname((δcolor='green'Parts)(δcost<100Catalog)Suppli

ers))

Câu4:(2điểm)

CholượcđồquanhệRvớicácthuộctínhABCDEcócácphụthuộchàmsa u:

ABC,BCE,vàEDA.

XácđịnhdạngchuẩncaonhấtRthỏamãn(1NF,2NF,3NF,BCNF).Giảith ích.

---***HẾT***---

Lưu

ý:-Khôngsửa,xóađềthi,nộplạiđềsaukhithi

53

TrƣờngĐạiHọcHàng HảiViệtNam

KhoaCôngnghệThôngtin BỘMÔNHỆTHỐNGTHÔNGTIN

---***---

THIKẾT THÚC HỌCPHẦN

Câu1:(2điểm)

a. Trìnhbàycácbướccơbảntrongquátrìnhthiếtkếcơsởdữliệu.

b. ChobiếtcáctiênđềAmstrongvàbổđềđượcsửdụngđểtìmcácphụthu ộchàm.

Câu2:(4điểm)

ChomộtcơsởdữliệuvềNhânviêncôngtynhưsau:

Một công tycó nhiều phòngban. Mỗiphòng ban có nhiều nhân viên. Mỗ i nhân viênphải

thuộcvàomộtphòngbannàođó.MộtsốnhânviêncóthểgiữchứcvụNgườiquản lý.Nhânviêncó

Tênhọcphần:CƠSỞDỮLIỆU

Nămhọc: x Đề thi số: x Ký duyệt đề: x Thờigian:60phút

thể đượcchuyển từphòngbannàysang phòngbankhác tạicác thờiđiểmkhácn hau tùytheo yêu

cầucủacôngty.

a. VẽsơđồThựcthể-Liênkếtmôtảnhữngthôngtintrongcơsởdữliệu trên.

b. ChuyểnsơđồThựcthể-Liênkếttrênsanglượcđồquanhệ.

(cóthểbổsungthêmcácgiảthiếtkhácđểmôtảbàitoánnếucầnthiết)

Câu3:(2điểm)

Cholượcđồquanhệsau:

Suppliers(sid:integer,sname:string,address:string) Parts(pid:integer,pname:string,color:string) Catalog(sid:integer,pid:integer,cost:real)

(Suppliers: thôngtinvề cácnhàcungcấp;Parts:thôngtinvềcácloại ng hóa;Catalog:

thôngtinvềgiábáncácloạihànghóacủacácnhàcungcấp).

a. Viếttruyvấnsautrongđạisốquanhệ:Tìmtêncủanhữngnhàcungcấp cóđủtấtcảcác

loạisảnphẩmmàuđỏ(RED).

b. Chobiếtmụcđíchcủacáctruyvấnđượcviếtởdạngđạisốquanhệsau:

πsnamesidcolor='red'Parts)(δcost<100Catalog)Sup

pliers)

Câu4:(2điểm)

CholượcđồquanhệRvớibốnthuộctínhABCDcócácphụthuộchàmsau: BC,vàDA.

XácđịnhdạngchuẩncaonhấtRthỏamãn(1NF,2NF,3NF,BCNF).Giảith ích.

---***HẾT***---

Lưu

ý:-Khôngsửa,xóađềthi,nộplạiđềsaukhithi

54

TrƣờngĐạiHọcHàng HảiViệtNam

KhoaCôngnghệThôngtin BỘMÔNHỆTHỐNGTHÔNGTIN

---***---

THIKẾT THÚC HỌC PHẦN

Tênhọcphần:CƠSỞDỮLIỆU

Nămhọc: x Đề thi số: x Ký duyệt đề: x Thờigian:60phút

Câu1:(2điểm)

a. Chobiếtnhữngưuđiểmkhisửdụnghệquảntrịdữliệuđểquảnlýdữliệu. b. Địnhnghĩadạngchuẩn3(3NF),dạngchuẩn4(4NF).Chovídụminhhọa.

Câu2:(4điểm)

ChomộtcơsởdữliệuvềThưviên:

Mộtthưviệncónhiều sách.Mỗicuốnsáchđượcviếtbởimộthoặcnhiềutácgiả. Mỗicuốn sáchthuộcvàomộthoặcnhiều thểloạisáchkhácnhau.Thư việncónhiềugiásáchđặttạinhiềuvị tríkhácnhau.Mỗicuốnsáchđượcđặtởmộtgiásáchnàođótrongthưviên.

a. VẽsơđồThựcthể-Liênkếtmôtảnhữngthôngtintrongcơsởdữliệutrên. b. ChuyểnsơđồThựcthể-Liênkếttrênsanglượcđồquanhệ.

(cóthểbổsungthêmcácgiảthiếtkhácđểmôtảbàitoánnếucầnthiết)

Câu3:(2điểm)

Cholượcđồquanhệsau:

Suppliers(sid:integer,sname:string,address:string) Parts(pid:integer,pname:string,color:string) Catalog(sid:integer,pid:integer,cost:real)

(Suppliers:thôngtinvề cácnhàcungcấp;Parts:thôngtin vềcácloạihànghóa;Catalog: thôngtinvềgiábáncácloạihànghóacủacácnhàcungcấp).

a. Viếttruyvấnsautrongđạisốquanhệ:Tìmtêncủanhữngnhàcungcấpcóđủtấtcảcác loạisảnphẩmmàuđỏ(RED)hoặcmàuxanh(GREEN).

b. Chobiếtmụcđíchcủacáctruyvấnđượcviếtởdạngđạisốquanhệsau:

sid((δcolor='red'Parts)(δcost<100Catalog)Suppliers))∩

sid((δcolor='green'Parts)(δcost<100Catalog)Suppliers))

Câu4:(2điểm)

CholượcđồquanhệRvớicácthuộctínhABCDEcócácphụthuộchàmsau: ABC,ABD,CA,vàDB.

XácđịnhdạngchuẩncaonhấtRthỏamãn(1NF,2NF,3NF,BCNF).Giảithích. ---***HẾT***---

Lưu

Một phần của tài liệu bài giảng hệ quản trị cơ sở dữ liệu (Trang 63 - 71)

Tải bản đầy đủ (DOCX)

(71 trang)
w