You are on page 1of 3

Cơ sở dữ liêụ quản lí tour du lịch – Nhóm 10

1. Các quan hê ̣
- TOUR(MSTOUR, TEN_TOUR, GIA, NGAYKH, NGAYKT, MSNV)
- NHANVIEN(MSNV, HOTEN, SĐT, DIACHI, GIOITINH, MSCN)
- CHINHANH(MSCN, TEN_CN, DIACHI, SĐT)
- HUONGDANVIEN(MSHDV, HOTEN, SĐT, MSCN)
- KHACHHANG(CMND, QUOCTICH, SĐT, HOTEN, GIOITINH,
DIACHI, MSDOAN)
- LUUTRU(MSLT, SĐT, DIACHI, LOAIHINH_LT, TEN )
- PHUONGTIEN(MSPT, LOAIHINH_PT, SUCCHUA)
- DIADIEM(MSDD, TEN_DD, DIACHI)
- DOANDULICH(MSDOAN, SO_LUONG_KHACH)
- DDL_TOUR(MSDOAN, MSTOUR)
- LT_TOUR(MSLT, MSTOUR)
- PT_TOUR(MSPT, MSTOUR)
- DD_TOUR(MSDD, MSTOUR)
- HDV_TOUR(MSHDV, MSTOUR)
- CHINHANH_TOUR(MSCN, MSTOUR)
2. Các truy vấn
-- 1. In ra tên của những khách hàng tham gia tour do nhân viên chi nhánh 1 quản
lí:

SELECT HOTEN FROM KHACHHANG AS kh, DDL_TOUR AS ddl_t, CHINHANH_TOUR AS cn_t

WHERE (MSCN = 'CN01') AND ( kh.MSDOAN = ddl_t.MSDOAN ) AND ( ddl_t.MSTOUR =


cn_t.MSTOUR )

-- 2. In thông tin các địa điểm thuộc tour do nhân viên mã số NV04 quản lí:

SELECT TENDD, DIACHI FROM DIADIEM AS dd, DIADIEM_TOUR AS dd_t, TOUR AS t

WHERE (dd.MSDD = dd_t.MSDD) AND (dd_t.MSTOUR = t.MSTOUR) AND (t.MSNV = 'NV04')

-- 3. In thông tin các nơi lưu trú mà đoàn du lịch mã số DDL03 sử dụng:

SELECT SĐT, DIACHI, LOAIHINH_LT, TEN FROM LUUTRU AS LT, LT_TOUR AS lt_t,
DDL_TOUR AS ddl_t

WHERE (lt.MSLT = lt_t.MSLT) AND (lt_t.MSTOUR = ddl_t.MSTOUR) AND (ddl_t.MSDOAN


= 'DDL03')
-- 4. In tên hướng dẫn viên tham gia tour của đoàn du lịch DDL01:

SELECT HOTEN FROM HUONGDANVIEN AS hdv, HDV_TOUR AS hdv_t, DDL_TOUR AS ddl_t

WHERE (hdv.MSHDV = hdv_t.MSHDV) AND (hdv_t.MSTOUR = ddl_t.MSTOUR) AND


( ddl_t.MSDOAN = 'DDL01')

-- 5. In ra tên địa điểm mà mỗi Tour đi đến:

SELECT t.TENTOUR, dd.TENDD FROM dbo.DIADIEM AS dd, dbo.DIADIEM_TOUR AS


ddt,dbo.TOUR AS t
WHERE dd.MSDD = ddt.MSDD AND ddt.MSTOUR = t.MSTOUR

-- 6. In ra số lượng khách hàng trong mỗi đoàn du lịch của từng Tour:

SELECT ddl.SO_LUONG_KHACH, ddlt.MSDOAN, t.TENTOUR FROM dbo.DOANDULICH AS ddl,


dbo.DDL_TOUR AS ddlt, dbo.TOUR AS t
WHERE ddl.MSDOAN = ddlt.MSDOAN AND ddlt.MSTOUR = t.MSTOUR

-- 7. In ra số nhân viên của Tour 'Happy Tour' :

SELECT COUNT(NV.MSNV) AS N'Số nhân viên của Tour Happy Tour' FROM dbo.TOUR AS
T, dbo.NHANVIEN AS NV
WHERE T.MSNV = NV.MSNV AND T.TENTOUR = 'Happy Tour'

-- 8. In ra thông tin những Tour đi qua ít hơn 5 địa điểm:

SELECT * FROM dbo.TOUR AS T


WHERE 5 > ( SELECT COUNT(*) FROM dbo.DIADIEM_TOUR WHERE MSTOUR =
T.MSTOUR)

-- 9. In ra thông tin những chi nhánh có nhiều hơn 10 nhân viên:

SELECT * FROM dbo.CHINHANH AS CN


WHERE 10 < ( SELECT COUNT(*) FROM dbo.NHANVIEN WHERE MSCN = CN.MSCN )

-- 10. In ra số lượng nhân viên của từng Tour:

SELECT T.TENTOUR, COUNT(*) AS N'Số lượng nhân viên' FROM dbo.TOUR AS


T,dbo.NHANVIEN
WHERE T.MSNV = NHANVIEN.MSNV
GROUP BY T.TENTOUR

-- 11. Đưa ra thông tin các tour cùng với số lượng khách hàng đặt mua tour đó.

SELECT T.*, DDL.SO_LUONG_KHACH FROM( dbo.TOUR AS T JOIN dbo.DDL_TOUR AS DDL_T


ON DDL_T.MSTOUR = T.MSTOUR
JOIN dbo.DOANDULICH AS DDL ON DDL.MSDOAN = DDL_T.MSDOAN)

-- 12. Đưa ra thông tin những nhân viên(thông tin nhân viên, tên chi nhánh) quản
lí tour trong khoảng thời gian từ 1/1/2021 đến 1/3/2021.

SELECT NV.*, CN.TENCN FROM dbo.NHANVIEN AS NV, dbo.CHINHANH AS CN, dbo.TOUR AS T


WHERE T.MSNV = NV.MSNV AND CN.MSCN = NV.MSCN
AND (T.NGAYKH BETWEEN '2021-01-01' AND '2021-03-01') AND (T.NGAYKT BETWEEN '2021-
01-01' AND '2021-03-01')
3. Mô ̣t số phụ thuô ̣c hàm
- KHACHHANG: CMND -> HOTEN, CMND+HOTEN -> GIOITINH,
CMND+HOTEN -> MSDOAN,…
- NHANVIEN: MSNV -> HOTEN+SĐT+DIACHI, MSNV+HOTEN ->
MSCN,…
- TOUR: MSTOUR -> TEN_TOUR+GIA, MSTOUR+TEN_TOUR ->
MSNV+NGAYKH+NGAYKT,…
- CHINHANH: MSCN -> TEN_CN+DIACHI+SĐT,…
- …

You might also like