Hướng dẫn ôn tập CSDL 2009
Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only HƯ NG D N ÔN T P THI H T MÔN - THI T T NGHI P MÔN CƠ S D LI U QUAN H (Lưu hành n i b ) H : Cao Đ ng – Đ i h c Biên so n: ThS Nguy n M nh Cư ng Tài li u bao g m: - Gi i thi u d ng t p môn s d li u quan h - Gi i thi u phương pháp gi i d ng t p - Ph l c 1: Các l i thư ng g p gi i t p CSDL - Ph l c 2: M t s t p sinh viên t ôn t p - Bài t p th c hành SQL thi t k CSDL - M t s t p t ng h p Tài li u sinh viên nên tham kh o: - Nh p môn CSDL quan h - Lê Ti n Vương - Đ cương chi ti t môn Cơ s d li u quan h - Ngơ Th Bích Th - Đ i h c Cơng nghi p Hà N i - 2004 Hà N i 5-2009 Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only H-íng dÉn «n tËp CSDL quan hÖ M CL C Th c hi n bi u th c đ i s quan h Bi u di n yêu c u b ng bi u th c đ i s quan h Bi u di n yêu c u b ng SQL 14 Ch ng minh ph thu c hàm .20 Tìm bao đóng c a t p thu c tính 22 Ph t i thi u tìm ph t i thi u 23 Tìm khố t i thi u c a m t quan h .27 Ki m tra tính m t mát thơng tin c a phép tách lư c đ quan h 28 Chu n hoá lư c đ quan h 31 Ph l c 1: Các l i thư ng g p gi i t p CSDL .36 Ph l c 2: M t s t p sinh viên t ôn t p 37 Bài th c hành SQL 39 Hư ng d n th c hành SQL Server 2000 44 Bài t p thi t k CSDL 47 M t s t p t ng h p 49 Tài liệu tham khảo Trang Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only H-íng dÉn «n tËp CSDL quan hƯ L I NĨI Đ U Trong m i d ng t p tóm t t ki n th c liên quan phương pháp gi i c a t ng lo i t p Tuy nhiên, có nh ng phương pháp ch áp d ng m t l p r ng t p mà không ph i áp d ng cho t t c t p d ng t p Do v y, sinh viên c n n m v ng phương pháp m r ng trư ng h p đ c bi t M i d ng t p l i có th có nhi u phương pháp gi i, tài li u ch trình bày m t ho c m t s phương pháp cho m t d ng t p mà tác gi cho phù h p Thi t nghĩ t t v i m t đ cương ôn t p th i gian ôn t p không nhi u Do th i gian h n h p, tài li u khơng tránh kh i nh ng sai sót R t c m ơn đóng góp c a đ c gi đ tài li u đư c ti p t c hoàn thi n Sinh viên ch nên coi tài li u tham kh o Tµi liƯu tham kh¶o Trang Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only H-íng dÉn «n tËp CSDL quan hÖ D NG 1: TH C HI N BI U TH C Đ I S QUAN H Đ bài: Cho m t s lư c đ quan h m t s bi u th c đ i s quan h Hãy th c hi n bi u th c đ i s quan h Ki n th c liên quan: Trong đ i s quan h có phép tốn chia làm hai nhóm: - Các phép tốn t p h p: Phép h p (∪), phép giao (∩), phép tr (-), phép tích đ (x) - Các phép tốn quan h : Phép chi u (∏), phép ch n (δ), phép k t n i ( phép chia (÷) , * ), [1] Phép h p: - Ch th c hi n quan h kh h p (có t p thu c tính) - Phép h p hai quan h kh h p R S th c ch t vi c g p b n ghi hai quan h thành quan h b n ghi trùng ch gi l i m t b n ghi Ví d : R A a1 a2 a1 a1 B b1 b1 b2 b1 C S A a1 a2 a1 a3 B b1 b2 b1 b3 C Tính Q = R ∪ S Các b n ghi trùng đư c bơi đen Do đó, h p chúng l i ta ph i lo i b n ghi trùng Q b n ghi c a R Các b n ghi c a S sau lo i b b n ghi trùng A a1 a2 a1 a1 a2 a3 B b1 b1 b2 b1 b2 b3 C 3 [2] Phép giao: - Ch th c hi n hai quan h kh h p - Phép giao gi a R S th c ch t vi c ch n hai quan h R S nh ng b n ghi trùng Ví d : R A a1 a2 a1 a1 Tài liệu tham khảo B b1 b1 b2 b1 C S A a1 a2 a1 a3 B b1 b2 b1 b3 C Trang Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only H-íng dÉn «n tËp CSDL quan hƯ Tính Q = R ∩ S Q A a1 a1 B b1 b1 C [3] Phép tr : - Ch th c hi n quan h kh h p - Phép tr R - S th c ch t vi c ch n b n ghi ch có R mà khơng có S Ví d : V i hai quan h R S trên, Q = R-S s có d ng: Q A a2 a1 B b1 b2 C [4] Phép tích đ các:Th c hi n quan h b t kỳ - Phép tích đ c a hai quan h R S th c ch t vi c l y m i b n ghi c a R "g n" v i m i b n ghi c a S - T p thu c tính c a b ng quan h k t qu t t c thu c tính c a quan h R thu c tính c a quan h S, x p theo th t : thu c tính c a R trư c, thu c tính c a S sau S b n ghi c a quan h k t qu b ng tích s b n ghi c a hai quan h (R S) Ví d : R 3b n ghi A a1 a2 a1 B b1 b1 b2 C A a1 a1 a1 a2 a2 a2 a1 a1 a1 B b1 b1 b1 b1 b1 b1 b2 b2 b2 S 3b n ghi A a1 a2 a1 D d1 d2 d3 Tính Q = R x S: Q 9b n ghi C 1 2 3 A a1 a2 a1 a1 a2 a1 a1 a2 a1 D d1 d2 d3 d1 d2 d3 d1 d2 d3 [5] Phép chi u: - Là phép c t d c quan h đ l y d li u m t s thu c tính c a quan h Các thu c tính t m g i thu c tính “c n chi u” - Quan h R có t p thu c tính U, ta c n chi u thu c tính X X ph i t p c a U (t c không th chi u R thu c tớnh m R khụng cú) Tài liệu tham khảo Trang Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only H-íng dÉn «n tËp CSDL quan hƯ - B ng k t qu có th xu t hi n b n ghi trùng Khi đó, ph i lo i b b n ghi trùng Ví d : R A a1 a2 a1 B b1 b2 b1 C ∏ AB(R) thu đư c: Q A a1 a2 a1 B b1 b2 b1 Q A a1 a2 → B b1 b2 [6] Phép ch n: - Ch n b n ghi tho mãn u ki n ch n - N u khơng có b n ghi tho mãn u ki n ch n b ng k t qu thu đư c r ng ( ∅ ) - Đi u ki n ch n m t bi u th c Logic Ví d : R A A1 A2 A1 B b1 b2 b1 C Q A B C δA=a2 v C =1(R) thu đư c: a1 a2 b1 b2 [7] Phép k t n i: - Phép k t n i gi a hai quan h R S th c ch t vi c l y m t b n ghi c a R "g n" v i m t b n ghi c a S cho b n ghi k t qu tho mãn u ki n k t n i - Đi u ki n k t n i có d ng: A θ B A, B hai thu c tính c a R ho c S θ m t phép so sánh - Phép k t n i v y, nói chung g i k t n i thư ng ( ) Ví d : R A B a1 a2 a1 a1 Q=R b1 b1 b2 b1 C S B b1 b2 b1 b1 C D d1 d3 d2 d1 S vi c l y m t b n ghi R "g n" v i m t b n ghi S v i R.C < S.C u ki n b n ghi k t qu ph i đ m b o giá tr thu c tính C c a quan h R ph i nh Tài liệu tham khảo Trang Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only H-íng dÉn «n tËp CSDL quan hÖ giá tr thu c tính C c a S Thu đư c: Q A a1 a1 a1 a2 a1 B b1 b1 b1 b1 b1 C 1 2 B b2 b1 b1 b1 b1 C 3 D d3 d2 d1 d2 d2 - K t n i t nhiên (*) k t n i b ng (=) thu c tính tên T c phép so sánh θ phép so sánh “=”, quan h ch k t n i t nhiên đư c n u có thu c tính chung - Có th b thu c tính (c t) trùng sau k t n i t nhiên Ví d : V i hai quan h R S trên, R S = R*S R.BC = S.BC R A A1 A2 A1 A1 B b1 b1 b2 b1 C R*S S A a1 a2 a1 B b1 b2 b1 b1 C 2 C D d1 d3 d2 d1 D d1 d1 d1 Thu đư c: B b1 b1 b1 [8] Phép chia: - Quan h R có t p thu c tính U quan h S có t p thu c tính V Phép chia R ÷ S ch có th th c hi n đư c n u: V t p th c s c a U - Quan h k t qu thu đư c có t p thu c tính U - V - B n ghi t n m quan h k t qu n u ch n u: v i m i b n ghi t' thu c S t^t' m t b n ghi thu c R (t^t' phép l y t x p c nh t') Ví d : R A a1 a1 a1 a2 a2 a2 a2 a3 a3 B b1 b1 b2 b1 b1 b2 b4 b1 b1 C 3 1 S B b1 b1 b2 K t qu thu đư c Q=R÷S C A a1 a2 Trong đó, U = {A, B, C}; V= {B, C} D th y V t p c a U v U-V = {A} Tài liệu tham khảo Trang Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only H-íng dÉn «n tËp CSDL quan hƯ Quan h k t qu có hai b n ghi có giá tr a1 a2 do: n u l y a1 ho c a2 x p trư c m i b n ghi S ta đ u thu đư c b n ghi có R Ví d t ng h p: Cho quan h R S sau: R A A1 A2 A1 A1 S B b1 b2 b1 b1 B b1 b1 b1 C 2 D d1 d1 d1 A a1 a2 a1 B b1 b1 b1 C 2 D d1 d1 d1 P Hãy tính: B b1 b1 b2 b1 C A a1 a2 C D d1 d3 d2 d1 B b1 b1 P = ∏AB(δA=a1V B=b1(R*S)) B1: Tính R1 = R*S R1 A a1 a2 a1 B2: Tính R2 = δA=a1V B=b1(R1) R2 B3: Tính P = ∏AB(R2) Tµi liƯu tham kh¶o Trang Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only H-íng dÉn «n tËp CSDL quan hÖ D NG 2: BI U DI N YÊU C U B NG Đ I S QUAN H Bài toán: Cho m t ho c nhi u lư c đ quan h m t s yêu c u d li u Hãy bi u di n yêu c u d li u b ng bi u th c đ i s quan h cho k t qu c a bi u th c tho mãn yêu c u đ t Phương pháp: Phương pháp sau giúp gi i m t l p r ng t p thu c d ng Trong t p l i (xem ph n sau), phương pháp ch mang tính ch t h tr B1: Xác đ nh xem có thơng tin (trư ng) liên quan t i câu h i Xác đ nh xem thơng tin thu c nh t m y b ng N u thông tin liên quan ch thu c nh t b ng bi u th c không c n phép k t n i Ngư c l i c n B2: Xác đ nh xem b n ghi l y có c n tho mãn u ki n không? n u không, bi u th c s phép ch n Ngư c l i có phép ch n Khi c n xác đ nh u ki n ch n B3: Xác đ nh xem có l y m i thơng tin b ng liên quan khơng N u có bi u th c khơng có phép chi u Ngư c l i bi u th c có phép chi u Khi c n xác đ nh thu c tính c n chi u Chú ý: Bi u th c u ki n ch n m t bi u th c Logic bao g m: - Các toán t : (∧), ho c (∨), ph đ nh (¬) so sánh ( >, 1(R)) d ΠBC(δA=a2 V B = b3(R)) ∩ΠBC(S) Bài 2: Cho quan h v i lư c đ sau : CT (MaCT, TenCT, DiaChi, NgayTL) NV (MaNV, TenNV, NgaySinh, Luong, MaCT) B ng CT ch a thông tin v công ty B ng NV ch a thông tin v nhân viên, m i nhân viên thu c m t cơng ty đư c xác đ nh thơng qua MaCT c a nhân viên Hãy bi u di n yêu c u sau b ng bi u th c đ i s quan h : a Cho bi t Tên cơng ty có đ a ch Hà Tây thành l p trư c ngày 1/1/2000 b c d e f Cho bi t Tên nhân viên sinh năm 1978 Cho bi t Tên Các công ty thành l p n a đ u năm 1998 Cho bi t Tên công ty tên nhân viên làm vi c cơng ty Cho bi t Tên nhân viên làm vi c c công ty LG công ty Samsung Cho bi t Tên nhân viên ch làm vi c cơng ty có mã CT01 mà khơng làm vi c cơng ty có mã CT02 g Cho bi t Tên nhân viên làm vi c công ty LG ho c công ty Sony h Cho bi t Tên nhân viên có m c lương ∈ [300, 500] Bài 3: Cho quan h R(U, F) : U = {A, B, C, D, E, G} F = {AB → C, B → C, C → EG, CE → D, G → A} a Ch ng minh r ng n u R tho F R tho B → DA b Tìm bao đóng c a t p thu c tính {A, B} t p thu c tính {CG} c T p F t i thi u chưa? sao? n u chưa tìm m t ph t i thi u c a F Bài 4: Cho quan h R(U, F): U = {A, B, C, D, E, G) F = {AB→ C, AC→D, D→EG, G→B, A→D, CG→A} a Ch ng minh r ng n u R tho mãn F R tho mãn ph thu c hàm AB→ E AD → BC b Tính bao đóng {A}+ c a t p thu c tính {A} c T p ph thu c hàm F t i thi u chưa? Vì sao? N u chưa, tìm m t ph t i thi u c a F Bài 5: Cho quan h R(U, F): U = {A, B, C, D, E, G, H} F = {AB→ C, C→D, DE→GH, G→H, D →BH, A→C} a Ch ng minh r ng n u R tho mãn F R tho mãn ph thu c hàm AB→ DH CE → BG Tµi liƯu tham khảo Trang 37 Generated by Foxit PDF Creator â Foxit Software http://www.foxitsoftware.com For evaluation only H-íng dÉn «n tËp CSDL quan hƯ + b Tính bao đóng {A, B} c a t p thu c tính {A, B} c T p ph thu c hàm F t i thi u chưa? Vì sao? N u chưa, tìm m t ph t i thi u c a F Bài 6: Cho quan h R(U, F): U = {A, B, C, D, E, G, H} F = {AB→ C, C→D, DC→ G, G→HE, D →BH, A→D} a Ch ng minh r ng n u R tho mãn F R tho mãn ph thu c hàm AB→ DG C → EH b Tính bao đóng {A, B }+ c a t p thu c tính {A, B} c T p ph thu c hàm F t i thi u chưa? Vì sao? N u chưa, tìm m t ph t i thi u c a F Bài 7: Cho quan h R(U, F) : U = {A, B, C, D, E, G, H} F = {AB → D, B → CG, D → EH} a Ki m tra tính m t mát tách R thành : R1(ABD) ; R2(ABG) ; R3(BCEGH} b Chu n hoá quan h R v 3NF Bài 8: Cho quan h R(U, F): U = { A, B, C, D, E, G, H } F = {A→C, AB→G, B→DE, G→H, GH→A } a Tìm m t khoá t i thi u c a quan h R b Ki m tra tính m t mát thông tin tách R thành quan h : R1(AC); R2(BDE); R3(ABGH) c Chu n hoá quan h R v d ng chu n 3NF Bài 9: Cho quan h R(U, F): U = {A, B, C, D, E, G} F = {AB → D, B → C, D → E, AB→ G} a Tìm m t khố t i thi u c a quan h R b Ki m tra tính m t mát thơng tin tách R thành quan h : R1(ABD); R2(BCD), R3(ABEG) c Chu n hoá quan h R v d ng chu n 3NF Tài liệu tham khảo Trang 38 Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only H-íng dÉn «n tËp CSDL quan hƯ BÀI TH C HÀNH MÔN CSDL QUAN H TH I GIAN: 30 GI (15 TI T) MÔI TRƯ NG TH C HÀNH: MS-ACCESS, FOXPRO HO C SQL SERVER - PH N 1: NGÔN NG TRUY V N (SQL) Bài 1: T o b ng CSDL sau (s d ng Data Defination Query): Ch n Query\ Create Query in DesignView\ Close\ Query\ SQL Specific\ Data Defination (Xem hình bên đ thao tác) → B ng Khoa ch a thông tin v khoa c a m t trư ng đ i h c B ng HocSinh ch a thông tin v sinh viên c a trư ng B ng Đi m ch a thông tin v m c a t ng sinh viên, t ng môn - T o Relationship dư i d ng: - Nh p d li u cho b ng bao g m: + Nh p thông tin cho 05 Khoa + Nh p thông tin cho 10 Sinh viên thu c khoa Tµi liƯu tham khảo Trang 39 Generated by Foxit PDF Creator â Foxit Software http://www.foxitsoftware.com For evaluation only H-íng dÉn «n tËp CSDL quan hƯ + Nh p thơng tin v m c a 05 sinh viên trên, m i sinh viên có m c a mơn: Anh văn, Tin Đ i Cương, Toán Cao c p (t ng c ng 15 b n ghi) Ch n Query\ Create Query in DesignView\ Close\ SQL View đ b t đ u gõ câu SQL Hãy in thông tin đáp ng yêu c u sau: [1] Cho Bi t Mã Sinh viên, Tên Sinh Viên, Quê quán c a t ng sinh viên [2] Cho bi t Mã Sinh viên, Tên sinh viên c a sinh viên quê Hà Tây [3] Cho bi t Danh sách sinh viên sinh trư c ngày 1/1/1982 [4] Cho bi t Mã sinh viên, Tên sinh viên, tên khoa c a t ng sinh viên [5] Cho bi t Tên sinh viên h c t p t i Khoa CNTT [6] Cho bi t Tên Khoa c a khoa có s cán b vào đo n [35 60] [7] Cho bi t b ng m c a sinh viên khoa CNTT [8] Cho bi t t ng s sinh viên có s d li u [9] Cho bi t s sinh viên c a khoa CNTT [10] Cho bi t Tên sinh viên tr nh t [11] Cho bi t Mã sinh viên, Tên sinh viên, Tên khoa, Tên môn, Đi m c a t ng sinh viên [12] Cho bi t Tên sinh viên, tên môn, m thi t ng môn c a sinh viên khoa CNTT [13] Cho bi t Tên sinh viên b lưu ban (có t ng m c a môn < 15) [14] Cho bi t tên sinh viên, T ng m c a sinh viên đ t (t ng m >=15) [15] Cho bi t danh sách sinh viên thi u m (chưa đ m môn) [16] Cho bi t danh sách sinh viên h nguy n [17] Cho bi t sinh viên có ngày sinh t 1/1/1975 t i 1/1/1980 [18] Cho bi t Tên khoa có s cán b 12 or 30 or 31 or 35 or 36 [19] Cho bi t thông tin c a sinh viên tên Hà [20] Thêm m t b n ghi (SV11, Nguyen Hung Viet, 1/1/1980, Ha Nam, KH01) vào b ng HocSinh [21] Tăng cho m i sinh viên m t m c a môn Anh Văn [22] Xố thơng tin c a sinh viên có m dư i trung bình [23] Cho bi t Tên khoa có nhi u cán b nh t [24] Cho bi t Tên sinh viên h c t i khoa có nhi u cán b nh t [25] Cho bi t Tên khoa T ng s Sinh viên c a t ng khoa Tµi liƯu tham khảo Trang 40 Generated by Foxit PDF Creator â Foxit Software http://www.foxitsoftware.com For evaluation only H-íng dÉn «n tËp CSDL quan hƯ [26] Cho bi t Tên khoa chưa có sinh viên đư c lưu tr CSDL Bài 2: T o b ng d li u có lư c đ sau (b ng câu SQL) CongNhan (MaCN, TenCN, DiaChi, Tuoi) Luong (MaCN, Thang, SoNgayLV, Luong) Trong đó: MaCN: Mã công nhân Thang: Tháng lĩnh lương TenCN: Tên công nhân SoNgayLV: S ngày làm vi c tháng DiaChi: Đ a ch công nhân Luong:Lương c a công nhân tháng Tuoi: Tu i c a công nhân (B ng CN lưu thông tin c a công nhân M i công nhân, m i tháng n u lĩnh lương thơng tin lĩnh lương c a cơng nhân đư c lưu b ng Luong) - Nh p thông tin cho công nhân (5 b n ghi) nh p thông tin v lĩnh lương cho công nhân b ng Luong (Kho ng 20 b n ghi) Hãy cho bi t thông tin đáp ng yêu c u sau: [1].Cho bi t Tên cơng nhân q Nam đ nh có tu i thu c đo n [20, 30] [2] Cho bi t Tên công nhân 40 tu i ho c có đ a ch Hà N i [3].Cho bi t Tên công nhân, t ng s ti n lĩnh c a t ng công nhân [4] Cho bi t Tên cơng nhân tu i nh t [5].Cho bi t Tên công nhân lĩnh lương t l n tr lên [6] Cho bi t Tên công nhân chưa l n đư c lĩnh lương 500 [7] Cho bi t Tên công nhân chưa lĩnh lương l n [8] Cho bi t danh sách lĩnh lương tháng bao g m (Tên công nhân, Đ a ch , Tháng linh lương, S ti n lương lĩnh) [9] Cho bi t Tên công nhân s ngày làm vi c c a t ng công nhân [10] Cho bi t Tên c a cơng viên có s ngày làm vi c tháng nhi u nh t S p x p theo chi u t A -> Z [11] Cho bi t Tên công nhân, T ng s ngày làm vi c c a t ng công nhân t t c tháng [12] Cho bi t Tên công nhân, Tháng, s ngày làm vi c c a tháng làm nhi u nh t c a t ng công nhân Tài liệu tham khảo Trang 41 Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only H-íng dÉn «n tËp CSDL quan hÖ Bài 3: TH C HI N VI C T O CÁC QUAN H SAU: - B ng NXB ch a thông tin v nhà xu t b n - B ng Sách ch a thơng tin v t t c sách có thư vi n - B ng Nhap-Sach ch a thông tin v tình hình nh p sách v thư vi n NH P D LI U CHO CÁC B NG NH HèNH D I Y: Tài liệu tham khảo Trang 42 Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only H-íng dÉn «n tËp HÃY ĐƯA RA CÁC D CSDL quan hÖ LI U THO MÃN CÁC YÊU C U SAU: Cho bi t thông tin v sách kh i Cho bi t Tên sách nh p vào ngày 1/1/2004 Cho bi t Tên sách nh p b i nhân viên Cuong Cho bi t Tên sách tên nhà xu t b n c a t t c sách Cho bi t tên sách, ngày nh p, s lư ng nh p c a t t c sách nh p Cho bi t Tên sách, Tên nhà xu t b n, Ngư i nh p c a t t c sách nh p Cho bi t tên sách d y nh t (có s trang nhi u nh t) Cho bi t Tên sách nh p g n nh t Cho bi t Tên nhà xu t b n xu t b n sách S05 – Tin h c đ i cương 10.Cho bi t Tên nhà xu t b n cung c p t đ u sách tr lên 11.Cho bi t Tên ngư i nh p nh p t đ u sách tr lên 12.Cho bi t mã sách nh p t l n tr lên 13.Cho bi t t ng s đ u sách có s d li u 14.Cho bi t t ng s Nhà xu t b n hi n có CSDL 15.Cho bi t S trang c a t t c quy n sách Anh Van kh i 16 Cho bi t tên sách có s trang 15 ho c 20 ho c 22 ho c 30 ho c 31 ho c 32 17.Cho bi t tên sách nh p năm 2005 18.Cho bi t Mã nhà xu t b n xu t b n c sách S01 S02 19.Cho bi t Tên sách ơng Hồng nh p v 20.Cho bi t Tên sách nhà xu t b n NXB01 n hành 21.Cho bi t tên sách nh p v tháng 1/2005 22.Cho bi t s lư ng sách nh p nhi u nh t l n nh p 23 Cho bi t Tên nhà xu t b n xu t b n cu n sách d y nh t hi n có CSDL 24.Cho bi t Tên sách, tên nhà xu t b n, s lư ng nh p, ngư i nh p c a t t c sách nh p 25.Cho bi t Tên sách, Tên nhà xu t b n c a sách ông Cuong nh p v 26.Cho bi t Tên sách có s trang m ng nh t 27.Cho bi t Tên nhà xu t b n xu t b n cu n sách m ng nh t nhi n có 28.Cho bi t đ a ch nhà xu t b n xu t b n cu ng sách S04-Anh Van 29.Cho bi t Thông tin v sách nhà xu t b n Thanh Nien n hành 30 Cho bi t Tên sách, s trang nhà xu t b n Giao Duc n hành Tài liệu tham khảo Trang 43 Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only H-íng dÉn «n tËp CSDL quan hÖ CÁCH TH C HÀNH TRONG SQL SERVER B1: Ch y trình qu n lý d ch v SQL Server: Ch n Start\ Program\ Microsoft SQL Server\ Service Manager\ Start/ continue r i đóng c a s l i → B2: Vào SQL Server: Ch n Start\ Program\ Microsoft SQL Server\ Enterprise Manager B3: Trong Databases, kích ph i ch n New Database, đ t tên cho Database tuỳ ý (ví d BanHang).- xem hình dư i B4: Trong Database v a t o, t i m c Table, kích ph i chu t ch n New Table đ t o m t b ng quan h - xem hình dư i Tài liệu tham khảo Trang 44 Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only H-íng dÉn «n tËp CSDL quan hÖ B5: Sau t o xong b ng ta có th nh p d li u cho b ng b ng cách ch n Tên b ng (ví d b ng SinhVien - hình dư i đây) r i kích ph i ch n Open Table\ Return All rows B6: So n th o câu SQL: Trong m c View, kích ph i ch n New View - xem hình dư i So n th o câu SQL vào kích vào đ ch y Tài liệu tham khảo Trang 45 Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only H-íng dÉn «n tËp CSDL quan hƯ Gõ câu SQL vào Chú ý: Có th dùng trình Query Analyzer đ gõ lúc nhi u câu SQL, mu n ch y câu SQL ch c n bôi đen câu SQL r i ch n đ ch y Mu n v y ta ch n Start\ Program\ MicroSoft SQL Server\ Query Analyzer Ch n DataBase Gõ đư c nhi u cõu SQL õy Tài liệu tham khảo Trang 46 Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only H-íng dÉn «n tËp CSDL quan hƯ PH N 2: THI T K CSDL QUAN H Bài 1: M t c a hàng bán Gas dùng m t phi u tốn có d ng hình dư i Các thông tin c a phi u toán đư c lưu chung b ng quan h PhieuTT: Các thu c tính PhieuTT: - Mã s phi u: A Mã s khách hàng: B Tên khách hàng: C Đ a ch khách hàng: D Ngày bán: E Mã hàng: G Tên hàng: H S lư ng: I Đơn giá: J Thành ti n: K PHI U THANH TOÁN CTGas Hà N i Mã s phi u: P1 Mã khách hàng: KH01 Tên khách hàng: Tr n Hoàn…… Đ a ch khách hàng: …23/64 Đ ng Văn Ng ………………… Ngày bán: 1/1/2004………………………………………… Mã hàng Tên hàng G001 G001 G002 Gas lo i Gas lo i Gas lo i S lư ng Đơn giá 100000 90000 80000 Th ti n 500000 540000 240000 C ng: 1280000 (VNĐ) Do quan h chưa chu n nên ngư i ta t m xác đ nh Mã s phi u (A) khoá ban đ u c a quan h PhieuTT t p ph thu c hàm: A → B,E; B → C, D; A, G → H, I, J; G → H; Thành ti n C ng thành ti n đư c tính theo cơng th c: T = DG*SL; C = Sum(T); Yêu c u: Hãy thi t k m t s d li u d ng chu n 3NF đ lưu tr thông tin cho phi u tốn Đ t khố t o sơ đ th c th liên k t Nh p d li u cho b ng v a thi t k th c hi n truy v n d li u đó, bao g m: - Truy v n Select đ báo cáo thông tin - Truy v n Thêm b n ghi - Truy v n s a b n ghi - Truy v n xoá b n ghi Bài 2: Khi in phi u ph t, m t thư vi n dùng m t m u phi u ph t có d ng sau: Mã phi u Mã đ c gi Tên đ c gi Đ a ch đ c gi Ngày mư n Mã sách Tên sách S lư ng Mã TG Tờn TG Tài liệu tham khảo A B C D E G H I J K Thư Viên A PHI U PH T Mã s phi u: P1 Mã đ c gi : DG01 Tên đ c gi : Tr n Tr c……………… Đ a ch đ c gi : …… 23/64 Đ ng Văn Ng ………………… Ngày mư n sách: 1/1/2004………………………………… Mã sách Tên sách G001 G001 G002 V t lý ĐC Toán CC Tin h c CB C ng S lư ng Mã TG Tên TG TG001 TG003 TG006 NV Châu TV Hùng NV Hoà Trang 47 Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only H-íng dÉn «n tËp CSDL quan hÖ Ban đ u, ngư i ta lưu t t c thơng tin m t quan h R Do quan h chưa chu n nên ngư i ta t m xác đ nh Mã s phi u (A) khoá ban đ u t p ph thu c hàm: Mã ĐG → Tên ĐG, Đ a ch ; Mã Phi u, Mã đ c gi → Ngày Mư n; Mã Sách → Tên sách; Mã TG → Tên TG; Mã phi u, Mã sách → S lư ng, MaTG Yêu c u: Hãy thi t k m t s d li u d ng chu n 3NF đ lưu tr thông tin cho phi u tốn Đ t khố t o sơ đ th c th liên k t Nh p d li u cho b ng v a thi t k th c hi n truy v n d li u đó, bao g m: - Truy v n Select đ báo cáo thông tin - Truy v n Thêm b n ghi - Truy v n s a b n ghi - Truy v n xoỏ b n ghi Tài liệu tham khảo Trang 48 Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only H-íng dÉn «n tËp CSDL quan hƯ M T S BÀI T P MƠN CƠ S Câu Cho quan h v i lư c đ th hi n sau: Hang Phieu MaHang TenHang DonGia ChiTietPh MaPhieu NgayLap MaPhieu MaHang SoLuong H01 TiVi P01 1/1/2000 P01 H01 H02 Fan 1.2 P02 1/3/2000 P01 H02 H03 Mobi P03 1/8/2000 P01 H03 67 H04 Computer P02 H02 H05 Cassette 2.5 P02 H03 23 P03 H02 45 P03 H03 P03 H04 45 P03 H05 43 Th c hi n bi u th c đ i s quan h sau: a Π TenHang, DonGia, SoLuong(δMaPhieu=’P01’ ∨ MaPhieu = ‘P02’(Hang * Phieu * ChiTietPh)) b Π TenHang(δMaPhieu=’P02’( Hang * ChiTietPh)) ∩ Π TenHang(δMaPhieu=’P03’(Hang * ChiTietPh)) c Π Mahang, MaPhieu(ChiTietPh) ÷ Π MaPhieu(Phieu) d Π MaHang(δMaPhieu=’P03’(ChiTietPh)) - ΠMaHang(δMaPhieu=’P02’(ChiTietPh)) e Π TenHang(δMaPhieu=’P03’ ∧ SoLuong > 40(Hang * ChiTietPh)) Hãy cho bi t ý nghĩa c a bi u th c đ i s quan h (các bi u th c cho bi t gì?) Câu Cho quan h câu Hãy bi u di n yêu c u sau b ng bi u th c đ i s quan h a b c d e Cho bi Cho bi Cho bi Cho bi Cho bi t Tên m t hàng nh p v tháng năm 2000? t tên m t hàng có c hai phi u nh p P01 P03? t tên hàng có t t c phi u? t mã phi u c a phi u có t t c hàng? t Tên m t hàng có phi u P03 mà khơng có phi u P02? f Cho bi t tên m t hàng nh p v n a đ u năm 2000 (gi thi t Phieu Phi u nh p)? Câu V i quan h cho câu Hãy bi u di n yêu c u sau b ng SQL? a Cho bi t tên hàng có phi u (mà phi u đó) nh p nh t m t hàng? b Cho bi t Tên hàng có c phi u P01 P03? c Cho bi t Tên hàng, Đơn giá, S Lư ng, Thành ti n c a m t hàng phi u P03? Tài liệu tham khảo Trang 49 Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only H-íng dÉn «n tËp d Cho bi e Cho bi f Cho bi g Cho bi 8/2000? CSDL quan hÖ t Mã hàng, Tên hàng t ng s lư ng nh p v c a t ng m t hàng? t nh ng mã hàng xu t hi n nh t phi u nh p? t nh ng ngày nh p v nh t m t hàng? t Tên hàng có đơn giá l n nh t s m t hàng nh p tháng h Cho bi t thông tin v lo i qu t t ng s lư ng nh p v c a chúng? i Cho bi t mã hàng s lư ng nh p v trung bình m t l n nh p c a nó? j Cho bi t mã hàng t ng s lư ng nh p v c a t ng hàng? k Cho bi t tên hàng xu t nhi n nhi u phi u nh p nh t? l Cho bi t tên hàng, t ng s lư ng cung ng c a t ng m t hàng V i m t hàng chưa đư c cung ng, v n đưa tên hàng t ng s lư ng t ng s lư ng s đư c đ t Bài 5: Cho quan h R(U, F) : U = {A, B, C, D, E, G, H, I, J, K, L, M} F = {AB→C, G→ HIJ , AG→ LM, B→CM, A→K, B G→K, C→ EG, CE→D, G→ A} d Ch ng minh r ng n u R tho F R tho B → DA e Tìm bao đóng c a t p thu c tính {A, B} t p thu c tính {CG} f T p F t i thi u chưa ? ? n u chưa tìm m t ph t i thi u c a F g Ki m tra tính m t mát tách R thành : R1(ABDE) ; R2(ABCGH) ; R3(BCIJ}; R4(ACKLM) h Chu n hoá quan h R v 3NF Bài 6: Cho quan h R(U, F): U = { A, B, C, D, E, G, H, I, J, K, N } F = {A→C, AB→G, B→DE, G→H, GH→A, C→N, AN→DI, AB → DJ, AI→KH} d Tìm m t khố t i thi u c a quan h R e Ch ng minh r ng R th a AB→GK f Ki m tra tính m t mát thông tin tách R thành quan h : R1(ABCDN); R2(BDEGH); R3(ABIJK) g Chu n hoá quan h R v d ng chu n 3NF Đáp án câu L: SELECT TenHang, TongSL FROM Hang, (SELECT * FROM (SELECT MaHang, Sum(SoLuong) as TongSL FROM ChiTietPH Group by MaHang) UNION (SELECT MaHang, as TongSL FROM Hang Where MaHang NOT IN (Select MaHang FROM ChiTietPH))) as Q1 where Hang.MaHang = Q1.MaHang Tài liệu tham khảo Trang 50 ... lương TenCN: Tên công nhân SoNgayLV: S ngày làm vi c tháng DiaChi: Đ a ch công nhân Luong:Lương c a công nhân tháng Tuoi: Tu i c a công nhân (B ng CN lưu thông tin c a công nhân M i công nhân, m i... làm vi c c công ty LG công ty Samsung Cho bi t Tên nhân viên ch làm vi c cơng ty có mã CT01 mà không làm vi c công ty có mã CT02 g Cho bi t Tên nhân viên làm vi c công ty LG ho c công ty Sony... lĩnh lương c a công nhân đư c lưu b ng Luong) - Nh p thông tin cho công nhân (5 b n ghi) nh p thông tin v lĩnh lương cho công nhân b ng Luong (Kho ng 20 b n ghi) Hãy cho bi t thông tin đáp ng