Trường ĐH CNTT _ Gv: Nguyễn Thị Kim Phụng _ Bài tập CSDL lớp K1C1 BÀI TẬP MÔN CƠ SỞ DỮ LIỆU BÀI TẬP Cho lược đồ CSDL Quản lý bán báo sau: BAO(MaB, TenB, DonGiaTK) Tân từ: báo có mã số để phân biệt với báo khác (ví dụ: báo Cơng An có mã số ‘B01’, báo Lao động có mã số ‘B02’, báo Thanh niên có mã số ‘B03’, báo Tuổi trẻ có mã ‘B04’, ), tên báo đơn giá tham khảo KHACHHANG(MaKH, TenKH, LoaiKH, DienThoai,Diachi) Tân từ: Mỗi khách hàng đặt mua báo có mã số phân biệt với khách hàng khác, tên khách hàng, loại khách hàng hai loại ‘Cá nhân’ ‘Doanh nghiệp’, điện thoại khách hàng PHIEUDATBAO(MaB, MaKH, NgayDat, SoTo, DonGia, ThanhTien) Tân từ: Khách hàng đặt mua báo vào ngày cụ thể (NgayDat), số tờ mua (SoTo), đơn giá giá bán thật báo thời điểm khách hàng mua, thành tiền số tiền khách hàng phải trả đặt mua báo, thành tiền = số tờ x đơn giá Yêu cầu: Phần 1: Xác định khóa (khóa chính, khóa ngoại) quan hệ Phần 2: Phát biểu chặt chẽ ràng buộc toàn vẹn: - “Số tiền (ThanhTien) khách hàng trả đặt mua báo ngày phải số tờ đặt (SoTo) x đơn giá (DonGia).” - Giá bán thật (DonGia) báo lớn hay giá tham khảo báo (DonGiaTK) Phần 3: Viết câu truy vấn sau đại số quan hệ: Cho biết họ tên, địa khách hàng đặt mua báo tuổi trẻ (TenBao=“Tuổi trẻ”) quý năm 2006 MaKH, TenKH khách hàng đặt mua báo có tên báo “Người lao động” vào ngày 1/12/2006 Cho biết báo (MaB, TenB) có giá tham khảo cao nhất? Cho biết MaKH đặt mua báo có mã báo ‘B04’ ‘B05’ Cho biết tổng số tờ khách hàng đặt mua năm 2005 theo báo Thông tin hiển thị gồm cột: MaB tổng số tờ đặt mua MaB, TenB, Tổng tiền bán báo năm 2006 SinhVienZone.com https://fb.com/sinhvienzonevn Trường ĐH CNTT _ Gv: Nguyễn Thị Kim Phụng _ Bài tập CSDL lớp K1C1 Cho biết khách hàng mua tất loại báo (tất báo) Trong năm 2006, cho biết khách hàng mua tất báo Viết câu truy vấn sau SQL: MaKH, TenKH khách hàng đặt mua báo có tên báo “Người lao động” vào ngày 1/12/2006 10 Cho biết họ tên, địa khách hàng đặt mua báo tuổi trẻ (TenBao=“Tuổi trẻ”) quý năm 2006 11 Cho biết báo (MaB, TenB) có giá tham khảo cao nhất? 12 Cho biết tổng số tờ khách hàng đặt mua năm 2005 theo báo Thông tin hiển thị gồm cột: MaB tổng số tờ đặt mua 13 Tương tự câu thông tin hiển thị gồm cột: TenB tổng số tờ đặt mua 14 Tổng số báo mà khách hàng “Nguyễn Lê Ân” đặt mua năm 2005 Lưu ý: tổng số báo, khơng phải tổng số tờ mua, ví dụ: khách hàng mua báo Tuổi trẻ, Thanh niên tổng số báo 15 MaB, TenB, Tổng tiền bán báo năm 2006 16 Cho biết tháng tổng tiền bán theo tháng năm 2006 báo có mã = ‘TuoiTre’ 17 MaB, TenB, Tháng, Tổng tiền bán báo tháng ecủa năm 2006 18 MaB, TenB, Tháng, Tổng tiền bán báo tháng năm 2006, kết theo thứ tự TenB tăng dần, Tổng tiền bán giảm dần 19 Cho biết MaKH, TenKH đặt mua báo với số tiền 5.000.000 20 Cho biết MaKH, TenKH đặt mua báo với số tiền 5.000.000 đồng, kết xếp theo số tiền giảm dần, tên khách hàng tăng dần 21 Cho biết MaKH đặt mua báo có mã báo ‘B04’ ‘B05’ 22 Cho biết MaKH đặt mua báo có tên ‘Tuổi trẻ’ ‘An ninh nhân dân’ 23 Cho biết MaKH,TenKH đặt mua báo ‘Tuổi trẻ’ ‘An ninh nhân dân’ 24 Cho biết báo có giá tham khảo nằm mức giá tham khảo cao báo 25 Cho biết khách hàng mua tất báo 26 Trong năm 2006, cho biết khách hàng mua tất báo SinhVienZone.com https://fb.com/sinhvienzonevn Trường ĐH CNTT _ Gv: Nguyễn Thị Kim Phụng _ Bài tập CSDL lớp K1C1 BÀI TẬP Cho sở liệu “Hệ thống quản lý xe ô tô du lịch” doanh nghiệp vận tải hành khách sau: LOAIXE (MaLX, TenLX, ThongTinLX, SoLuongXe) Tân từ: loại xe tơ có mã số để phân biệt với loại xe ô tô khác, tên loại xe (ví dụ tên loại xe 7-chỗ, 15-chỗ,…), thơng tin loại xe đó, SoLuongXe tổng số xe tơ có loại xe XE (MaXe, TenXe, CapSo, MaLX, HangSX, ThongTinXe) Tân từ: xe ô tô gán mã số để phân biệt với xe ô tô khác, tên xe, biến số xe ô tô (CapSo), hãng sản xuất, thông tin xe TAIXE (MaTX, HoTen, NgaySinh, GioiTinh, DiaChi) Tân từ: tài xế công ty có mã số để phân biệt với tài xế khác, họ tên tài xế, ngày sinh, giới tính (Nam/Nữ), địa CHUYENDI (SoCD, MaXe, MaTX, NgayDi, NgayVe, NoiDi, NoiDen, ChieuDai, SoNguoi) Tân từ: tài xế (MaTX) phân cơng lái xe (MaXe) theo lộ trình (SoCD), ngày đi, ngày về, nơi đi, nơi đến, chiều dài đường ước lượng (tính theo km), chở số người (SoNguoi) cho chuyến Yêu cầu: Phần 1: Phát biểu ràng buộc toàn vẹn Hãy phát biểu chặt chẽ ràng buộc: “Số lượng xe loại xe (SoLuongXe) tổng số xe ô tô thuộc loại xe đó.” Phần 2: Thực câu truy vấn sau đại số quan hệ: Cho biết họ tên tài xế, ngày đi, ngày chuyến có chiều dài lớn 300km chuyên chở từ 12 người trở lên chuyến Cho biết tài xế chưa phân công lái xe năm 2005 Với tài xế, cho biết tổng số chuyến mà tài xế phân cơng lái xe năm 2005 (tính theo ngày đi) Thông tin hiển thị gồm cột: Mã tài xế, họ tên tổng số chuyến Với tài xế, cho biết tổng số người mà tài xế chở năm 2005 (tính theo ngày đi) Thông tin hiển thị gồm cột: Mã tài xế, tổng số người chở Cho biết mã tài xế lái tất xe Cho biết mã, họ tên tài xế lái tất xe Cho biết mã tài xế lái tất loại xe SinhVienZone.com https://fb.com/sinhvienzonevn Trường ĐH CNTT _ Gv: Nguyễn Thị Kim Phụng _ Bài tập CSDL lớp K1C1 Cho biết mã, họ tên tài xế lái tất loại xe 10 Cho biết mã tài xế lái tất xe hãng Toyota (hãng sản xuất = ‘Toyota’) 11 Thống kê số tài xế nam nữ 12 Thống kê tổng số chuyến theo nơi Thông tin hiển thị gồm cột nơi đi, tổng số chuyến 13 Thống kê tổng số chuyến theo nơi đến Thông tin hiển thị gồm cột nơi đến, tổng số chuyến 14 Thống kê số lần sử dụng xe Thông tin hiển thị gồm cột: mã xe, số lần (= đếm số chuyến đi) 15 Cho biết xe sử dụng nhiều lần 16 Cho biết số km mà xe chạy Thông tin hiển thị gồm cột: mã xe, số km chạy 17 Cho biết số km mà tài xế chạy Thông tin hiển thị gồm cột: mã tài xế, số km chạy Phần 3: Thực câu truy vấn sau ngôn ngữ SQL: 18 Cho biết họ tên tài xế, ngày đi, ngày chuyến có chiều dài lớn 300km chuyên chở từ 12 người trở lên chuyến, thuộc xe có mã loại xe ‘15-Cho’ 19 Cho biết tài xế chưa phân công lái xe năm 2005 20 Với tài xế, cho biết tổng số chuyến mà tài xế phân công lái xe năm 2005 (tính theo ngày đi) Thơng tin hiển thị gồm cột: Mã tài xế, họ tên tổng số chuyến 21 Với tài xế, cho biết tổng số người mà tài xế chở năm 2005 (tính theo ngày đi) Thơng tin hiển thị gồm cột: Mã tài xế, tổng số người chở 22 Cho biết mã tài xế lái tất xe 23 Cho biết mã, họ tên tài xế lái tất xe 24 Cho biết mã tài xế lái tất loại xe 25 Cho biết mã, họ tên tài xế lái tất loại xe 26 Cho biết mã tài xế lái tất xe hãng Toyota (hãng sản xuất = ‘Toyota’) 27 Thống kê số tài xế nam nữ 28 Thống kê tổng số chuyến theo nơi Thông tin hiển thị gồm cột nơi đi, tổng số chuyến 29 Thống kê tổng số chuyến theo nơi đến Thông tin hiển thị gồm cột nơi đến, tổng số chuyến 30 Thống kê số lần sử dụng xe Thông tin hiển thị gồm cột: mã xe, số lần (= đếm số chuyến đi) SinhVienZone.com https://fb.com/sinhvienzonevn Trường ĐH CNTT _ Gv: Nguyễn Thị Kim Phụng _ Bài tập CSDL lớp K1C1 31 Cho biết xe sử dụng nhiều lần 32 Cho biết số km mà xe chạy Thông tin hiển thị gồm cột: mã xe, số km chạy 33 Cho biết số km mà tài xế chạy Thông tin hiển thị gồm cột: mã tài xế, số km chạy 34 Cho biết tài xế chạy nhiều km 35 Cho biết mã xe chạy nhiều km 36 Cho biết loại xe chạy nhiều km SinhVienZone.com https://fb.com/sinhvienzonevn Trường ĐH CNTT _ Gv: Nguyễn Thị Kim Phụng _ Bài tập CSDL lớp K1C1 BÀI TẬP Cho lược đồ quan hệ sau : KHACHHANG (MAKH, TENKH, DIACHI, LOAIKH) Tân từ: Một khách hàng có mã số (MAKH) nhất, tên khách hàng (TENKH), địa khách hàng (DIACHI) thuộc loại khách hàng (LOAIKH) Loại khách hàng gồm có “Cá nhân”, “Doanh nghiệp” DIENTHOAI (SODT, MAKH, LOAIDT, SOHD) Tân từ: Một điện thoại có số điện thoại (SODT) để phân biệt với điện thoại khác, thuộc khách hàng (MAKH), loại điện thoại (LOAIDT) gồm có “Vơ tuyến”, “Dây cáp”, lắp đặt theo hợp đồng (SOHD) DICHVU (MADV, TENDV) Tân từ: Mỗi dịch vụ điện thoại có mã dịch vụ tên dịch vụ Ví dụ: dịch vụ 1080, dịch vụ 116 DANGKY (MADV, SODT) Tân từ: Một số điện thoại sử dụng nhiều dịch vụ dịch vụ nhiều số điện thoại sử dụng Phần 1) Xác định khóa (khóa chính, khóa ngoại) quan hệ cho Phần 2) Trả lời câu truy vấn sau ngôn ngữ SQL: Danh sách khách hàng (MAKH, TENKH) lắp đặt điện thoại loại “Dây cáp” Với dịch vụ có khách hàng đăng ký, cho biết mã dịch vụ, tên dịch vụ tổng số điện thoại sử dụng dịch vụ Với khách hàng, cho biết mã khách hàng, tên khách hàng số dịch vụ mà khách hàng sử dụng Thống kê số điện thoại theo loại điện thoại Cho biết số điện thoại sử dụng tất dịch vụ Phần 3) Trả lời câu truy vấn sau ngôn ngữ đại số quan hệ: Danh sách khách hàng (MAKH, TENKH) lắp đặt điện thoại loại “Dây cáp” Với dịch vụ có khách hàng đăng ký, cho biết mã dịch vụ, tên dịch vụ tổng số điện thoại sử dụng dịch vụ Với khách hàng, cho biết mã khách hàng, tên khách hàng số dịch vụ mà khách hàng sử dụng Liệt kê số hợp đồng (SOHD) có sử dụng dịch vụ “Dịch vụ 108” 10 Cho biết số điện thoại sử dụng tất dịch vụ 11 Thống kê số điện thoại theo loại điện thoại SinhVienZone.com https://fb.com/sinhvienzonevn Trường ĐH CNTT _ Gv: Nguyễn Thị Kim Phụng _ Bài tập CSDL lớp K1C1 BÀI TẬP Cho lược đồ sở liệu Quản lý thi tốt nghiệp trường PTTH sau: PHONGTHI (SoPT, DiaChiPT, SucChua) Tân từ: phòng thi có số để phân biệt với phòng thi khác, địa phòng thi, có sức chứa sinh viên (SucChua) THISINH(SoBD, HoTen, NgaySinh, GioiTinh, DiaChi, SoPT) Tân từ: thí sinh có số báo danh để phân biệt với thí sinh khác (SoBD), họ tên thí sinh, ngày sinh, giới tính (Nam/Nữ), địa Mỗi thí sinh thi phòng thi (SoPT) cho tất mơn thi tốt nghiệp MONTHI(MaMT, TenMT, Buoi, NgayThi) Tân từ: môn thi tốt nghiệp có mã số để phân biệt với môn thi khác (MaMT), tên môn thi (TenMT), thi vào buổi sáng hay chiều (Buoi), vào ngày thi (NgayThi) KETQUA(SoBD, MaMT,DiemThi,VangThi) Tân từ: Mỗi thí sinh thi mơn có kết thi cho mơn Điểm thi phải lớn nhỏ 10 Cột VangThi có giá trị thí sinh vắng thi, VangThi = thí sinh có dự thi u cầu: Phần 1: Ràng buộc toàn vẹn Hãy phát biểu cách chặt chẽ RBTV “Tổng số thí sinh thi phòng thi phải nhỏ hay sức chứa (SucChua) phòng thi đó.” Phần 2: Thực câu truy vấn sau ngôn ngữ đại số quan hệ: Với thí sinh thi phòng ‘P07’ (SoPT = ‘P07’), liệt kê số báo danh, họ tên thí sinh, tên mơn thi, điểm thi với tình trạng có dự thi (VangThi = 0) Cho biết phòng thi (SoPT) có sức chứa lớn Cho biết thí sinh có điểm thi cao mơn ‘Cơ sở liệu’ Cho biết số thí sinh đậu mơn ‘Cơ sở liệu’ Cho biết thí sinh thi môn ‘Cơ sở liệu’ môn ‘Cấu trúc liệu’? Cho biết thí sinh thi môn ‘Cơ sở liệu’ ‘Cấu trúc liệu’? Cho biết thí sinh khơng thi mơn ‘Tốn rời rạc’ Cho biết phòng thi (SoPT) có số lượng thí sinh thi đơng 10 Cho biết số báo danh thí sinh thi tất môn thi? 11 Cho biết Số báo danh, họ tên thí sinh thi tất mơn thi? SinhVienZone.com https://fb.com/sinhvienzonevn Trường ĐH CNTT _ Gv: Nguyễn Thị Kim Phụng _ Bài tập CSDL lớp K1C1 12 Thống kê số thí sinh theo năm sinh Thơng tin hiển thị: năm sinh, số thí sinh 13 Thống kê số thí sinh theo phái Thơng tin hiển thị: Phái, số thí sinh Phần 3: Thực câu truy vấn sau ngơn ngữ SQL: 14 Với thí sinh thi phòng ‘P07’ (SoPT = ‘P07’) vào ngày ‘21/5/2006’, liệt kê số báo danh, họ tên thí sinh, tên mơn thi, điểm thi với tình trạng có dự thi (VangThi = 0) Sắp thứ tự tăng dần theo số báo danh, tên môn thi 15 Cho biết phòng thi (SoPT) có sức chứa lớn 16 Cho biết thí sinh có điểm thi cao mơn ‘Cơ sở liệu’ 17 Cho biết số thí sinh đậu môn ‘Cơ sở liệu’ 18 Cho biết số thí sinh đậu, số thí sinh rớt mơn ‘Cơ sở liệu’ Thông tin hiển thị gồm cột: Số thí sinh đậu, số thí sinh rớt 19 Cho biết thí sinh thi mơn ‘Cơ sở liệu’ mơn ‘Cấu trúc liệu’? 20 Cho biết thí sinh thi môn ‘Cơ sở liệu’ ‘Cấu trúc liệu’? 21 Cho biết thí sinh khơng thi mơn ‘Tốn rời rạc’ 22 Cho biết phòng thi (SoPT) có số lượng thí sinh thi đơng 23 Cho biết số báo danh thí sinh thi từ môn trở lên? 24 Cho biết số báo danh, họ tên thí sinh thi từ môn trở lên? 25 Cho biết số báo danh thí sinh thi tất mơn thi? 26 Cho biết Số báo danh, họ tên thí sinh thi tất mơn thi? 27 Thống kê số thí sinh theo năm sinh Thông tin hiển thị: năm sinh, tổng số thí sinh 28 Thống kê số thí sinh theo phái Thơng tin hiển thị: Phái, tổng số thí sinh 29 Thống kê số thí sinh theo phái năm sinh Thông tin hiển thị gồm cột: năm sinh, phái, tổng số thí sinh (Ví dụ: {1985, ‘Nam’, 200}, {1985, ‘Nữ’, 90}, {1986, ‘Nam’, 180}, {1986, ‘Nữ’, 30}…) SinhVienZone.com https://fb.com/sinhvienzonevn Trường ĐH CNTT _ Gv: Nguyễn Thị Kim Phụng _ Bài tập CSDL lớp K1C1 BÀI TẬP Cho lược đồ CSDL quản lý bán hàng KHACHTV (MAKH,HOTEN, DCHI,SODT,NGSINH,DOANHSO,NGGN) Tân từ: Mỗi khách hàng thành viên có mã số để phân biệt với nhau, cần lưu trữ họ tên, địa chỉ, số điện thoại, ngày sinh, ngày gia nhập doanh số (tổng trị giá hóa đơn khách hàng thành viên này) NHANVIEN (MANV,HOTEN,NGSINH,NGVL,HSLUONG,MLUONG) Tân từ: Mỗi nhân viên bán hàng cần ghi nhận họ tên , ngày sinh, ngày vào làm, hệ số lương mức lương, nhân viên phân biệt với mã nhân viên SANPHAM (MASP,TENSP, DVT, NUOCSX, GIA) Tân từ: Mỗi sản phẩm có số, tên gọi, đơn vị tính, nước sản xuất giá bán HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) Tân từ: Khi mua hàng, khách hàng nhận hóa đơn tính tiền, có số hóa đơn, ngày mua, nhân viên bán hàng, trị giá hóa đơn mã số khách hàng khách hàng thành viên CTHD (SOHD,MASP,SL) Tân từ: Diễn giải chi tiết hóa đơn gồm có sản phẩm với số lượng Phần 1: Phát biểu câu truy vấn sau phép toán đại số quan hệ: In danh sách sản phẩm (mã sản phẩm, tên sản phẩm) khách hàng có tên “Nguyễn Văn A” mua In danh sách sản phẩm (mã sản phẩm, tên sản phẩm) bán ngày 10/10/2005 In danh sách sản phẩm (mã sản phẩm, tên sản phẩm) có giá từ 10.000 đến 50.000 TrungQuoc sản xuất In số hóa đơn trị giá hóa đơn nhân viên có tên “Nguyễn Văn A” lập ngày 10/10/2005 Tìm số hóa đơn mua lúc sản phẩm có mã số “SP01” “SP02” In danh sách sản phẩm (mã sản phẩm, tên sản phẩm) khơng bán Tìm khách hàng thành viên (mã số, họ tên) có doanh số cao Tìm khách hàng (MAKH, HOTEN) mua hóa đơn có trị giá cao Tìm khách hàng (MAKH, HOTEN) mua hóa đơn có trị giá cao năm 2006 SinhVienZone.com https://fb.com/sinhvienzonevn Trường ĐH CNTT _ Gv: Nguyễn Thị Kim Phụng _ Bài tập CSDL lớp K1C1 10 Tính tổng số lượng bán ngày 10/10/2005 sản phẩm có mã số “SP01” 11 Tính tổng số lượng bán ngày 10/10/2005 sản phẩm 12 Tính doanh số bán hàng (tổng trị giá hóa đơn) tháng năm 2005 Phần 2: Viết câu truy vấn sau ngôn ngữ truy vấn SQL: 13 In danh sách sản phẩm (mã sản phẩm, tên sản phẩm) khách hàng có tên “Nguyễn Văn A” mua 14 In danh sách sản phẩm (mã sản phẩm, tên sản phẩm) bán ngày 10/10/2005 15 In danh sách sản phẩm (mã sản phẩm, tên sản phẩm) có giá từ 10.000 đến 50.000 TrungQuoc sản xuất 16 In số hóa đơn trị giá hóa đơn nhân viên có tên “Nguyễn Văn A” lập ngày 10/10/2005 17 Tìm số hóa đơn mua lúc sản phẩm có mã số “SP01” “SP02” 18 In danh sách sản phẩm (mã sản phẩm, tên sản phẩm) không bán 19 Tìm khách hàng thành viên (mã số, họ tên) có doanh số cao 20 Tìm khách hàng (MAKH, HOTEN) mua hóa đơn có trị giá cao 21 Tìm khách hàng (MAKH, HOTEN) mua hóa đơn có trị giá cao năm 2006 22 Tính tổng số lượng bán ngày 10/10/2005 sản phẩm có mã số “SP01” 23 Tính tổng số lượng bán ngày 10/10/2005 sản phẩm 24 Tìm sản phẩm (mã sản phẩm, tên sản phẩm) có số lượng bán cao ngày 10/10/2005 25 Tính doanh số bán hàng (tổng trị giá hóa đơn) tháng năm 2005 Phần 3: Phát biểu ràng buộc tồn vẹn sau: Trị giá hóa đơn phải tổng tiền chi tiết (sl*gia) thuộc hóa đơn 10 SinhVienZone.com https://fb.com/sinhvienzonevn ... sinh có điểm thi cao mơn Cơ sở liệu’ Cho biết số thí sinh đậu mơn Cơ sở liệu’ Cho biết thí sinh thi môn Cơ sở liệu’ môn ‘Cấu trúc liệu’? Cho biết thí sinh thi môn Cơ sở liệu’ ‘Cấu trúc liệu’?... 16 Cho biết thí sinh có điểm thi cao mơn Cơ sở liệu’ 17 Cho biết số thí sinh đậu mơn Cơ sở liệu’ 18 Cho biết số thí sinh đậu, số thí sinh rớt mơn Cơ sở liệu’ Thơng tin hiển thị gồm cột: Số thí... Số thí sinh đậu, số thí sinh rớt 19 Cho biết thí sinh thi môn Cơ sở liệu’ môn ‘Cấu trúc liệu’? 20 Cho biết thí sinh thi môn Cơ sở liệu’ ‘Cấu trúc liệu’? 21 Cho biết thí sinh khơng thi mơn ‘Tốn