Thực Hành Cơ Sở Dữ Liệu Nâng Cao – HKII.1516 - Mô tả CSDL quản lý thư viện

DocGia (madg, hoten, socmnd, ngsinh, gioitinh, diachi, email, matkhau)
Độc giả có mã độc giả duy nhất, họ tên, số cmnd của độc giả, ngày sinh, giới tính, địa chỉ thường trú,
email và mật khẩu giúp độc giả đăng nhập vào hệ thống thư viện điện tử.
DauSach (isbn, tensach, tacgia, namxb, nhaxb, soluong, mucgiaphat, theloai)
Thư viện quản lý các đầu sách theo mã isbn, một đầu sách sẽ có thông tin tên sách, tác giả, năm xuất
bản, nhà xuất bản, số lượng cuốn sách hiện đang có trong thư viện của đầu sách đó, mức giá phạt mỗi
ngày khi độc giả trả trễ sách thuộc đầu sách này, đầu sách sẽ thuộc một thể loại (“khoa học cơ bản”,
“khoa học ứng dụng”, “xã hội”, “ngoại ngữ”) 
pdf 7 trang xuanthi 30/12/2022 300
Bạn đang xem tài liệu "Thực Hành Cơ Sở Dữ Liệu Nâng Cao – HKII.1516 - Mô tả CSDL quản lý thư viện", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfthuc_hanh_co_so_du_lieu_nang_cao_hkii_1516_mo_ta_csdl_quan_l.pdf

Nội dung text: Thực Hành Cơ Sở Dữ Liệu Nâng Cao – HKII.1516 - Mô tả CSDL quản lý thư viện

  1. ITEC – Thực Hành Cơ Sở Dữ Liệu Nâng Cao – HKII.1516 TUẦN 1 – TRUY VẤN I. HƯỚNG DẪN a. Truy vấn cơ bản SELECT thuocTinhA [tta], thuocTinhB [ttb] FROM bangR R, bangS S, WHERE ORDER BY thuocTinhA asc | desc, Select: danh sách các thuộc tính cần hiển thị ở kết quả From: danh sách các bảng sử dụng để truy xuất dữ liệu Where: điều kiện lọc dữ liệu theo dòng, chỉ các dòng dữ liệu thỏa mãn điều kiện ở Where mới được đưa vào kết quả Order by: liệt kê các thuộc tính sử dụng để sắp xếp kết quả trả ra (asc – sắp tăng theo thuộc tính, desc – sắp giảm theo thuộc tính) Ví dụ 1: Cho biết các độc giả (madg, hoten, cmnd) sử dụng địa chỉ yahoomail. Sắp kết quả tăng dần theo cmnd. Ví dụ 2: Cho biết các đầu sách được xuất bản trong giai đoạn 2000 đến 2014 có mức giá phạt theo ngày trên 10000. Ví dụ 3: Cho biết tên, số cmnd và tuổi các độc giả có mượn sách “Toán cao cấp A1”. Ví dụ 4: Cho biết tên, số cmnd các độc giả không cung cấp email từng trả sách trễ. b. Truy vấn lồng: trong các mệnh đề select, from hoặc where có sử dụng một câu truy vấn khác. Truy vấn bên ngoài gọi là truy vấn cha, truy vấn được lồng bên trong các mệnh đề của truy vấn cha được gọi là truy vấn con. Truy vấn cha và con ở mệnh đề where có thể được nối với nhau bằng (NOT) IN, (NOT) EXISTS, ALL hoặc ANY GV biên soạn: TS. Lê Thị Nhàn - ThS. Vũ Thị Mỹ Hằng - ThS. Tiết Gia Hồng Trang 3 | 38
  2. ITEC – Thực Hành Cơ Sở Dữ Liệu Nâng Cao – HKII.1516 (not) exists exists (select * from Kiểm tra tồn tại exists ) (Select * From DocGia Where diachi like N’TP.HCM’) (not) IN ttA IN (gia_tri_a, ) Kiểm tra ttA có bằng madg not IN 1 trong các giá trị (Select madg phía sau IN From PhieuMuon) namxb in (1990, 1996) ALL ttA >, =, ALL Kiểm tra ttA có lớn madg != ALL (gia_tri_a, ) hơn, bằng, tất cả (Select madg các giá trị sau ALL From PhieuMuon) namxb !=ALL (1990, 1996) ANY ttA <, =, ANY Kiểm tra ttA có nhỏ madg =ANY (gia_tri_a, ) hơn, bằng, ít nhất (Select madg một giá trị sau ANY From PhieuMuon) namxb =ANY (1990, 1996) d. Bảng tóm tắt một số hàm thường sử dụng Hàm Ý nghĩa Ví dụ isnull (ttA, gia_tri) Gán ttA = gia_tri trong trường isnull (email, ‘-’) hợp ttA là null round (ttA, n) Làm tròn ttA với n số lẻ phía round (0.999, 2) sau. getdate() Lấy ngày giờ hiện hành của hệ getdate() thống datepart (p, ngayA) Lấy thành phần p của ngayA, p datepart (dd, ‘12/26/1991’) có thể là:  trả ra 26 - dd – ngày - mm – tháng datepart (mm, ‘12/26/1991’) - yyyy – năm  trả ra 12 - hh – giờ - mi – phút - ss - giây datediff (p, ngayA, ngayB) Tính khoảng cách ngayA và datediff (yy, ‘1/1/1996, ngayB theo p, p có thể là: ‘1/1/1997’) - dd – ngày  trả ra 1 GV biên soạn: TS. Lê Thị Nhàn - ThS. Vũ Thị Mỹ Hằng - ThS. Tiết Gia Hồng Trang 5 | 38
  3. ITEC – Thực Hành Cơ Sở Dữ Liệu Nâng Cao – HKII.1516 TUẦN 2 – TRUY VẤN NÂNG CAO I. HƯỚNG DẪN a. Truy vấn gom nhóm: được sử dụng khi có nhu cầu SELECT thuocTinhA [tta], thuocTinhB [ttb] FROM bangR R, bangS S, WHERE GROUP BY thuocTinhA, thuocTinhB, HAVING ORDER BY thuocTinhA asc | desc, Group by: thuộc tính gom nhóm, các dòng dữ liệu có giá trị giống nhau ở thuộc tính góm nhóm sẽ được xếp vào cùng một nhóm Having: điều kiện lọc dữ liệu theo nhóm chỉ các nhóm dữ liệu thỏa mãn điều kiện ở Having mới được đưa vào kết quả Một số hàm kết hợp thường được sử dụng sau khi gom nhóm dữ liệu: min, max, count, sum, average. b. Một số lưu ý  Hàm kết hợp min, max, KHÔNG được xuất hiện ở mệnh đề WHERE vì các hàm này chỉ được dùng cho các nhóm dữ liệu  Sau khi thực hiện phép toán gom nhóm, chỉ có các thuộc tính có ở biểu thức gom nhóm GROUP BY mới được sử dụng ở SELECT hoặc HAVING, nếu không thì các thuộc tính này phải được đưa vào các hàm kết hợp min, max, count,  Khi cần sử dụng hàm kết hợp min, max, nhưng không có nhu cầu chia nhóm dữ liệu thì biểu thức GROUP BY có thể bỏ. Tuy nhiên trường hợp này được xem như gom nhóm theo thuộc tính rỗng, do đó các thuộc tính muốn được sử dụng ở SELECT hoặc HAVING PHẢI được đưa vào các hàm kết hợp. Ví dụ 1: Cho biết tên đầu sách và số lượng cuốn sách đang trong tình trạng “có thể mượn” của đầu sách này. Ví dụ 2: Đếm số lượng độc giả nam. Cách 1: lọc điều kiện giới tính trước khi gom nhóm điều kiện đặt tại WHERE Cách 2: lọc điều kiện giới tính sau khi gom nhóm điều kiện đặt tại HAVING GV biên soạn: TS. Lê Thị Nhàn - ThS. Vũ Thị Mỹ Hằng - ThS. Tiết Gia Hồng Trang 7 | 38