Bài thực hành SQL quan hệ

12 1.6K 6
Bài thực hành SQL quan hệ

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

H-íng dÉn «n tËp CSDL quan hÖ Tµi liÖu tham kh¶o Trang 39 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 các 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 các thông tin về các khoa của một trường đại học nào đó. Bảng HocSinh chứa thông tin về các sinh viên của trường Bảng Điểm chứa thông tin về điể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 các 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 5 khoa trên. 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µi liÖu tham kh¶o Trang 40 + Nhập thông tin về điểm của 05 sinh viên trên, mỗi sinh viên có điểm của 3 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 ra các thông tin đáp ứng các 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 các sinh viên quê ở Hà Tây. [3]. Cho biết Danh sách các 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 các sinh viên đang học tập tại Khoa CNTT. [6]. Cho biết Tên Khoa của các khoa có số cán bộ vào đoạn [35 60]. [7]. Cho biết bảng điểm của các sinh viên khoa CNTT. [8]. Cho biết tổng số sinh viên đang có trong 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, điểm thi từng môn của các sinh viên khoa CNTT. [13]. Cho biết Tên các sinh viên bị lưu ban (có tổng điểm của 3 môn < 15). [14]. Cho biết tên sinh viên, Tổng điểm của các sinh viên đạt (tổng điểm >=15) [15]. Cho biết danh sách các sinh viên còn thiếu điểm (chưa đủ điểm 3 môn). [16]. Cho biết danh sách các sinh viên họ nguyễn. [17]. Cho biết các sinh viên có ngày sinh từ 1/1/1975 tới 1/1/1980. [18]. Cho biết Tên các khoa có số cán bộ là 12 or 30 or 31 or 35 or 36. [19]. Cho biết thông tin của các 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 trong bảng HocSinh. [21]. Tăng cho mỗi sinh viên một điểm của môn Anh Văn. [22]. Xoá thông tin của các sinh viên có 1 điể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 các sinh viên học tại khoa có nhiều cán bộ nhất. [25]. Cho biết Tên khoa và Tổng số Sinh viên của từng khoa. 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µi liÖu tham kh¶o Trang 41 [26]. Cho biết Tên khoa chưa có sinh viên nào được lưu trữ trong CSDL. Bài 2: Tạo các 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 trong tháng DiaChi: Địa chỉ công nhân Luong:Lương của công nhân trong tháng Tuoi: Tuổi của công nhân (Bảng CN lưu thông tin của các công nhân. Mỗi công nhân, mỗi tháng nếu lĩnh lương thì thông tin lĩnh lương của công nhân được lưu trong bảng Luong). - Nhập thông tin cho 5 công nhân (5 bản ghi) và nhập thông tin về lĩnh lương cho các công nhân này trong bảng Luong (Khoảng 20 bản ghi). Hãy cho biết các thông tin đáp ứng yêu cầu sau: [1].Cho biết Tên công nhân quê ở Nam định và có tuổi thuộc đoạn [20, 30]. [2]. Cho biết Tên công nhân trê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 ít tuổi nhất. [5].Cho biết Tên công nhân đã lĩnh lương từ 5 lần trở lên. [6]. Cho biết Tên các công nhân chưa lần nào được lĩnh lương trên 500. [7]. Cho biết Tên các công nhân chưa lĩnh lương lần nào. [8]. Cho biết danh sách lĩnh lương trong tháng 9 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 và số ngày làm việc của từng công nhân. [10]. Cho biết Tên của các công viên có số ngày làm việc trong 1 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 trong tất cả cá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. 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µi liÖu tham kh¶o Trang 42 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ề các nhà xuất bản. - Bảng Sách chứa thông tin về tất cả các sách có trong 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: 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µi liÖu tham kh¶o Trang 43 HÃY ĐƯA RA CÁC DỮ LIỆU THOẢ MÃN CÁC YÊU CẦU SAU: 1. Cho biết thông tin về các sách khối 9. 2. Cho biết Tên sách đã nhập vào ngày 1/1/2004. 3. Cho biết Tên sách đã nhập bởi nhân viên Cuong. 4. Cho biết Tên sách và tên nhà xuất bản của tất cả các sách. 5. Cho biết tên sách, ngày nhập, số lượng nhập của tất cả các sách đã nhập. 6. Cho biết Tên sách, Tên nhà xuất bản, Người nhập của tất cả các sách đã nhập. 7. Cho biết tên các sách dầy nhất (có số trang nhiều nhất). 8. Cho biết Tên sách nhập gần đây nhất. 9. 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ừ 3 đầu sách trở lên. 11. Cho biết Tên người nhập đã nhập từ 3 đầu sách trở lên. 12. Cho biết mã sách đã nhập từ 3 lần trở lên. 13. Cho biết tổng số đầu sách có trong cơ sở dữ liệu. 14. Cho biết tổng số Nhà xuất bản hiện có trong CSDL. 15. Cho biết Số trang của tất cả các quyển sách Anh Van trong các khối. 16. Cho biết tên sách có số trang là 15 hoặc 20 hoặc 22 hoặc 30 hoặc 31 hoặc 32. 17. Cho biết tên các sách nhập trong năm 2005. 18. Cho biết Mã nhà xuất bản đã xuất bản cả sách S01 và S02. 19. Cho biết Tên các sách do ông Hoàng nhập về. 20. Cho biết Tên các sách do nhà xuất bản NXB01 ấn hành. 21. Cho biết tên các sách đã nhập về trong tháng 1/2005. 22. Cho biết số lượng sách nhập nhiều nhất trong 1 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ó trong 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ả các sách đã nhập. 25. Cho biết Tên sách, Tên nhà xuất bản của các sách do ô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 7. 29. Cho biết Thông tin về các sách do nhà xuất bản Thanh Nien ấn hành. 30. Cho biết Tên sách, số trang do nhà xuất bản Giao Duc ấn hành. 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µi liÖu tham kh¶o Trang 44 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ổ này 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 đây. 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 đây. 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µi liÖu tham kh¶o Trang 45 B5: Sau khi 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 đây. Soạn thảo câu SQL vào và kích vào để chạy. 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µi liÖu tham kh¶o Trang 46 Chú ý: Có thể dùng trình Query Analyzer để gõ 1 lúc nhiều câu SQL, muốn chạy câu SQL nào 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 Gõ câu SQL vào đây Chọn DataBase ở đây Gõ được nhiều câu SQL ở đây. 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ài liệu tham khảo Trang 47 PHN 2: THIT K CSDL QUAN H Bi 1: Mt ca hng bỏn Gas dựng mt phiu thanh toỏn cú dng nh hỡnh di õy. Cỏc thụng tin ca phiu thanh toỏn c lu chung trong bng quan h PhieuTT: Do quan h cha chun nờn ngi ta tm xỏc nh Mó s phiu (A) l khoỏ ban u ca quan h PhieuTT trờn v tp ph thuc hm: A B,E; B C, D; A, G H, I, J; G H; Thnh tin v Cng thnh tin c tớnh theo cụng thc: T = DG*SL; C = Sum(T); Yờu cu: Hóy thit k mt c s d liu dng chun 3NF lu tr thụng tin cho phiu thanh toỏn trờn. t cỏc khoỏ chớnh v to s thc th liờn kt. Nhp d liu cho cỏc bng va thit k v thc hin cỏc truy vn trờn d liu ú, bao gm: - Truy vn Select bỏo cỏo thụng tin. - Truy vn Thờm bn ghi. - Truy vn sa bn ghi. - Truy vn xoỏ bn ghi. Bi 2: Khi in phiu pht, mt th vin dựng mt mu phiu pht cú dng nh sau: CTGas H Ni PHIU THANH TON Mó s phiu: P1 Mó khỏch hng: KH01 Tờn khỏch hng: Trn Hon a ch khỏch hng: 23/64 ng Vn Ng Ngy bỏn: 1/1/2004 Mó hng Tờn hng S lng n giỏ Th. tin G001 Gas loi 1 5 100000 500000 G001 Gas loi 1 6 90000 540000 G002 Gas loi 2 3 80000 240000 Cng: 1280000 (VN) Cỏc thuc tớnh trong PhieuTT: - Mó s phiu: A - Mó s khỏch hng: B - Tờn khỏch hng: C - a ch khỏch hng: D - Ngy bỏn: E - Mó hng: G - Tờn hng: H - S lng: I - n giỏ: J - Thnh tin: K Th Viờn A PHIU PHT Mó s phiu: P1 Mó c gi: DG01 Tờn c gi: Trn Trc a ch c gi: 23/64 ng Vn Ng Ngy mn sỏch: 1/1/2004 Mó sỏch Tờn sỏch S lng Mó TG Tờn TG G001 Vt lý C 1 TG001 NV. Chõu G001 Toỏn CC 2 TG003 TV. Hựng G002 Tin hc CB 1 TG006 NV. Ho Cng 4 Mó phiu A Mó c gi B Tờn c gi C a ch c gi D Ngy mn E Mó sỏch G Tờn sỏch H S lng I Mó TG J Tờn TG K 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µi liÖu tham kh¶o Trang 48 Ban đầu, người ta lưu tất cả các thông tin đó trong 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) là khoá ban đầu và 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 cơ sở dữ liệu ở dạng chuẩn 3NF để lưu trữ thông tin cho phiếu thanh toán trên. Đặt các khoá chính và tạo sơ đồ thực thể liên kết. Nhập dữ liệu cho các bảng vừa thiết kế và thực hiện các truy vấn trê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. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. [...]... 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 } và F = {A→C, AB→G, B→DE, G→H, GH→A, C→N, AN→DI, AB → DJ, AI→KH} d Tìm m t khoá t i thi u c a quan h R e Ch ng minh r ng R cũng th a AB→GK f Ki m tra tính m t mát thông tin khi tách R thành các 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... CSDL quan hÖ M T S BÀI T P MÔN CƠ S Câu 1 Cho các quan h v i lư c đ và th hi n sau: Hang Phieu MaHang TenHang DonGia ChiTietPh MaPhieu NgayLap MaPhieu MaHang SoLuong H01 TiVi 3 P01 1/1/2000 P01 H01 7 H02 Fan 1.2 P02 1/3/2000 P01 H02 4 H03 Mobi 5 P03 1/8/2000 P01 H03 67 H04 Computer 9 P02 H02 5 H05 Cassette 2.5 P02 H03 23 P03 H02 45 P03 H03 3 P03 H04 45 P03 H05 43 Th c hi n các bi u th c đ i s quan. .. t hàng nh p v trong n a đ u năm 2000 (gi thi t Phieu là Phi u nh p)? Câu 3 V i các quan h đã cho trong câu 1 Hãy bi u di n các yêu c u sau b ng SQL? a Cho bi t tên hàng có trong các phi u (mà phi u đó) đã nh p ít nh t 3 m t hàng? b Cho bi t Tên hàng có trong c phi u P01 và P03? c Cho bi t Tên hàng, Đơn giá, S Lư ng, Thành ti n c a các m t hàng trong phi u P03? Tµi liÖu tham kh¶o Trang 49 Generated by... ng s đư c đ t là 0 Bài 5: Cho quan h R(U, F) : U = {A, B, C, D, E, G, H, I, J, K, L, M} và 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 thì R cũng tho B → DA e Tìm bao đóng c a t p thu c tính {A, B} và t p thu c tính {CG} f T p F đã t i thi u chưa ? vì sao ? n u chưa hãy tìm m t ph t i thi u c a F g Ki m tra tính m t mát khi tách R thành : R1(ABDE) ;... ΠMaHang(δMaPhieu=’P02’(ChiTietPh)) e Π TenHang(δMaPhieu=’P03’ ∧ SoLuong > 40(Hang * ChiTietPh)) Hãy cho bi t ý nghĩa c a các bi u th c đ i s quan h trên (các bi u th c trên cho bi t gì?) Câu 2 Cho các quan h như câu 1 Hãy bi u di n các 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 các m t hàng nh p v trong tháng 3 năm 2000? t tên các m t hàng có trong c hai... 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 và 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 trong ít nh t 2 phi u nh p? t nh ng ngày nào nh p v ít nh t 4 m t hàng? t Tên các hàng có đơn giá l n nh

Ngày đăng: 29/09/2013, 04:20

Hình ảnh liên quan

Bài 1: Tạo các bảng CSDL sau (sử dụng Data Defination Query):  Chọn  Query\  Create  Query  in  DesignView\  Close\  Query\  SQL  Specific\ Data Defination - Bài thực hành SQL quan hệ

i.

1: Tạo các bảng CSDL sau (sử dụng Data Defination Query): Chọn Query\ Create Query in DesignView\ Close\ Query\ SQL Specific\ Data Defination Xem tại trang 1 của tài liệu.
- Bảng NXB chứa thông tin về các nhà xuất  bản.  - Bài thực hành SQL quan hệ

ng.

NXB chứa thông tin về các nhà xuất bản. Xem tại trang 4 của tài liệu.
B5: Sau khi 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 - Bài thực hành SQL quan hệ

5.

Sau khi 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 Xem tại trang 7 của tài liệu.
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 đây.Soạn thảo câu SQL vào và kích vào         để chạy - Bài thực hành SQL quan hệ

6.

Soạn thảo câu SQL: Trong mục View, kích phải chọn New View - xem hình dưới đây.Soạn thảo câu SQL vào và kích vào để chạy Xem tại trang 7 của tài liệu.
Nhập dữ liệu cho các bảng vừa thiết kế và thực hiện các truy vấn trên dữ liệu đó, bao gồm:  - Bài thực hành SQL quan hệ

h.

ập dữ liệu cho các bảng vừa thiết kế và thực hiện các truy vấn trên dữ liệu đó, bao gồm: Xem tại trang 9 của tài liệu.
Bài 1: Một cửa hàng bán Gas dùng một phiếu thanh toán có dạng như hình dưới đây.  Các  thông  tin  của  phiếu  thanh  toán  được  lưu  chung  trong  bảng  quan  hệ  PhieuTT:  - Bài thực hành SQL quan hệ

i.

1: Một cửa hàng bán Gas dùng một phiếu thanh toán có dạng như hình dưới đây. Các thông tin của phiếu thanh toán được lưu chung trong bảng quan hệ PhieuTT: Xem tại trang 9 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan