Tài liệu về cách dùng câu lệnh Create table tạo bảng - Đồ họa máy tính | Đại học Bách Khoa, Đại học Đà Nẵng
Tài liệu về cách dùng câu lệnh Create table tạo bảng - Đồ họa máy tính | Đại học Bách Khoa, Đại học Đà Nẵng giúp sinh viên tham khảo, ôn luyện và phục vụ nhu cầu học tập của mình cụ thể là có định hướng, ôn tập, nắm vững kiến thức môn học và làm bài tốt trong những bài kiểm tra, bài tiểu luận, bài tập kết thúc học phần, từ đó học tập tốt và có kết quả cao cũng như có thể vận dụng tốt những kiến thức mình đã học
Preview text:
Tên: Lê Xuân Hoàng Lớp: IS 301 U Mã SV: 28211106313 ĐỀ 1:
Câu 1: Dùng câu lệnh Create table tạo bảng sau: Bảng DICHVU: CREATE TABLE DICHVU ( MADV VARCHAR(10) PRIMARY KEY, TENDV VARCHAR(255) , DVT INT , TIENDV DECIMAL(10,2) ); Bảng SDDICHVU: CREATE TABLE SDDICHVU( ID INT PRIMARY KEY , MAKT VARCHAR(10) , MADV INT , SOLUONG INT ,
FOREIGN KEY (MAKT) REFERENCES KHACHTRO( MAKT) ,
FOREIGN KEY (MADV) REFERENCES DICHVU( MADV) ); Bảng KHACHTRO: CREATE TABLE KHACHTRO( MAKT INT PRIMARY KEY , HOLOT VARCHAR(255), TENKT VARCHAR(255), SOCMND INT , PHAI VARCHAR (5), QUEQUAN VARCHAR (255), DIENTHOAI VARCHAR (11) );
Câu 2: dùng câu lệnh insert nhập dữ liệu cho các bảng (tối thiểu mỗi bảng 5 bộ)
INSERT INTO DICHVU (MADV, TENDV, DVT, TIENDV) VALUES
(DV01, 'Internet', 'tháng', 150000),
(DV02, 'Du lich', 'Lần', 20000),
(DV03, 'Sua chua', 'kg', 20000),
(DV04, 'khach san', 'Tiếng', 55000),
(DV05, 'Taxi', 'chuyến', 30000);
INSERT INTO KHACHTRO (MAKT, HOLOT, TENKT, SOCMND, PHAI, QUEQUAN, DIENTHOAI) VALUES
(KT001, 'Le', 'Anh Tuan', '282456789', 'Nam', 'Hanoi', '0987111321'),
(KT002, 'Nguyen', 'Thi Phuong', '282654321', 'Nữ', 'HCM', '0123111789'),
(KT003, 'Le', 'Minh Quan', '282789012', 'Nam', 'Da Nang', '0361112147'),
(KT004, 'Huynh', 'Quoc Khanh’, '282321789', 'Nam', 'Hue', '0975318642'),
(KT005, 'Nguyen', 'Thi Thu', '282789456', 'Nữ', 'Quang Ngai', '0922215678');
INSERT INTO SDDICHVU (ID, MAKT, MADV, SOLUONG) VALUES (1, KT001, DV02, 2), (2, KT003, DV01, 1), (3, KT002, DV03, 1), (4, KR004, DV04, 3), (5, KT005, DV05, 2); Câu 3:
câu 3.1:Thiết kế Q_lietkedichvu để liệt kê tất cả những dịch vụ m các khách trọ đã
sử dụng, sắp xếp tăng dần trên trường SOLUONG với các thông tin sau MAKT HOTEN TENDV SOLUONG TIENDV THANHTIEN
Trường HO TEN = HOLOT + TENKT
Trường THANH TIEN = SOLUONG * TIENDV SELECT SDDICHVU.MAKT,
CONCAT(KHACHTRO.HOLOT, ' ', KHACHTRO.TENKT) AS HO_TEN, DICHVU.TENDV, SDDICHVU.SOLUONG, DICHVU.TIENDV,
SDDICHVU.SOLUONG * DICHVU.TIENDV AS THANH_TIEN FROM SDDICHVU JOIN
KHACHTRO ON SDDICHVU.MAKT = KHACHTRO.MAKT JOIN
DICHVU ON SDDICHVU.MADV = DICHVU.MADV ORDER BY SDDICHVU.SOLUONG ASC;
Câu 3.2: Thiết kế Q_tongtientungdichvu để tính tổng số tiền m khách h ng đã sử
dụng theo từng dịch vụ ao gồm các thông tin: MADV TENDV TONGTIEN SELECT SDDICHVU.MADV, DICHVU.TENDV,
SUM(SDDICHVU.SOLUONG * DICHVU.TIENDV) AS TONGTIEN FROM SDDICHVU JOIN
DICHVU ON SDDICHVU.MADV = DICHVU.MADV GROUP BY SDDICHVU.MADV, DICHVU.TENDV;
Câu 3.3: Thiết kế Q_tong tientheokhach để tính tổng tiền phải trả của từng khách
trọ ao gồm những thông tin sau: MAKT HOVATEN TONGTIEN SELECT SDDICHVU.MAKT,
CONCAT(KHACHTRO.HOLOT, ' ', KHACHTRO.TENKT) AS HOVATEN,
SUM(SDDICHVU.SOLUONG * DICHVU.TIENDV) AS TONGTIEN FROM SDDICHVU JOIN
DICHVU ON SDDICHVU.MADV = DICHVU.MADV JOIN
KHACHTRO ON SDDICHVU.MAKT = KHACHTRO.MAKT GROUP BY SDDICHVU.MAKT, HOVATEN;
câu 3.4: Thiết kế Q-nhapmadichvu hiển thị tất cả những khách trọ sử dụng dịch vụ
đó với các thông tin sau MAKT HOTEN PHAI MADV TENDV SOLUONG
Trường PHAI phải hiển thị rõ l “Nam” hoặc “Nữ”. SELECT KHACHTRO.MAKT,
CONCAT(KHACHTRO.HOLOT, ' ', KHACHTRO.TENKT) AS HO_TEN, CASE
WHEN KHACHTRO.PHAI = 'Nam' THEN 'Nam'
WHEN KHACHTRO.PHAI = 'Nu' THEN 'Nữ' ELSE 'Khác' END AS PHAI, SDDICHVU.MADV, DICHVU.TENDV, SDDICHVU.SOLUONG FROM KHACHTRO JOIN
SDDICHVU ON KHACHTRO.MAKT = SDDICHVU.MAKT JOIN
DICHVU ON SDDICHVU.MADV = DICHVU.MADV WHERE
DICHVU.MADV = '0002'; chú thích: có thể thay mã dịch vụ khác mà bạn quan tâm.
Câu 3.5: Thiết kế Q_ tổng tiền sử dụng dịch vụ thống kê tổng tiền sử
dụng dịch vụ của từng khách trọ theo từng dịch vụ với kết quả như sau:
Trong đó, TONG TIEN DV = tổng của ([SOLUONG] * [TIENDV]) SELECT KHACHTRO.MAKT,
CONCAT(KHACHTRO.HOLOT, ' ', KHACHTRO.TENKT) AS HOVATEN,
SUM(SDDICHVU.SOLUONG * DICHVU.TIENDV) AS TONGTIENDV,
SUM(CASE WHEN DICHVU.TENDV = 'Điểm tâm' THEN
SDDICHVU.SOLUONG * DICHVU.TIENDV ELSE 0 END) AS Điểm Tâm,
SUM(CASE WHEN DICHVU.TENDV = 'Giặt ủi' THEN SDDICHVU.SOLUONG *
DICHVU.TIENDV ELSE 0 END) AS Giặc Ủi,
SUM(CASE WHEN DICHVU.TENDV = 'Karaoke' THEN SDDICHVU.SOLUONG
* DICHVU.TIENDV ELSE 0 END) AS KARAOKE,
SUM(CASE WHEN DICHVU.TENDV = 'Taxi' THEN SDDICHVU.SOLUONG *
DICHVU.TIENDV ELSE 0 END) AS Taxi FROM KHACHTRO JOIN
SDDICHVU ON KHACHTRO.MAKT = SDDICHVU.MAKT JOIN
DICHVU ON SDDICHVU.MADV = DICHVU.MADV GROUP BY KHACHTRO.MAKT, HOVATEN;
Câu 3.6 : Thiết kế query Q-cập nhật thực hiện cập nhật tăng giá tiền dịch vụ lên 10%
cho tất cả các dịch vụ trong khách sạn. UPDATE DICHVU
SET TIENDV = TIENDV * 1.1; -- Tăng giá tiền lên 10%
câu 3.7: Thiết kế Q-xoa dichvu để xoá dịch vụ có mã số DV04, xem thay đổi trong các bảng và nhận xét:
-- Xoá dịch vụ có mã số DV04 từ bảng DICHVU
DELETE FROM DICHVU WHERE MADV =’DV04’;
-- Xoá các bản ghi liên quan trong bảng SDDICHVU
DELETE FROM SDDICHVU WHERE MADV = ‘DV04’;
NHẬN XÉT: dịch vụ có mã số DV04 đã xóa