Phân tích và thiết kế hệ thống thông tin là một lĩnh vực của công nghệ thông tin, lĩnh vực này vô cùng quan trọng, nó làm cho các hệ thống trở nên đơn giản và hiệu quả hơn. Chúng em thực hiện đề tài “PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG QUẢN LÝ BẾN XE KHÁCH MIỀN ĐÔNG” nhằm tìm hiểu lĩnh vực thú vị này.
TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN KỲ THI KẾT THÚC HỌC PHẦN HỌC KỲ II; NĂM HỌC 2021 – 2022 Tên chủ đề tập lớn: Đề Họ tên sinh viên:Trần Đức Anh Mã học viên/ sinh viên:20111060255 Lớp: DH10C1 Tên học phần : Ngôn Ngữ SQL Tên giảng viên hướng dẫn: Nguyễn Thị Hồng Loan Hà Nội, ngày tháng 06 năm 2022 LỜI NÓI ĐẦU Công nghệ thông tin ngày phát triển mạnh mẽ có tác động lớn đền hầu hết lĩnh vực sống Phân tích thiết kế hệ thống thông tin lĩnh vực công nghệ thơng tin, lĩnh vực vơ quan trọng, làm cho hệ thống trở nên đơn giản hiệu Chúng em thực đề tài “PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG QUẢN LÝ BẾN XE KHÁCH MIỀN ĐƠNG” nhằm tìm hiểu lĩnh vực thú vị Mục đích phạm vi đề tài Mục đích: Phân tích thiết kế hệ thống quản lý Bến xe MIỀN ĐƠNG nhằm mục đích giúp cho việc quản lý bến xe chặt chẽ hiệu quả, đơn giản hố quản lý thuận lợi xác Phạm vi: Phạm vi đề tài nằm giới hạn mơn học theo mục đích Giới hạn: Đề tài đơn giản hoá việc quản lý nhân viên, xe, lập phiếu hoá đơn, phiếu đăng tài, phiếu xuất bên chức chủ yếu, chức quản lý khác đề tài chưa đề cập đến Vì vậy, chúng tơi cố gắng thực hiên chức sau hoàn thành đề tài I Mô tả yêu cầu: Bến xe khách MIỀN ĐƠNG bến xe khách liên tỉnh có tuyến hầu hết địa điểm nước Mỗi chủ xe có nhiều xe cho tuyến mà họ đăng ký, xe sở hữu chủ xe nhất, chủ xe phải làm phiếu đăng tài cho xe để phép đăng tài chọn lựa tuyến cho xe minh Lúc đó, xe có tuyến thời gian cụ thể Bến xe có nhiều loại xe chất lượng khác hành khách chọn lựa, xe có chất lượng Bến xe có nhiều nhân viên khác nhau, nhân viên có cộng việc giữ vị trí phịng ban mà họ trực thuộc, hai loại nhân viên thường đề cập nhân viên hoá đơn nhân viên bán vé Một nhân viên hố đơn khơng lập lập nhiều hoá đơn, hoá đơn lập bỡi nhân viên cụ thể Một nhân viên lập hố đơn khơng lập phiếu đăng tài lập nhiều phiếu đăng tài khác nhau, phiếu đăng tài lập từ nhân viên lập hố đơn Tương tự cho nhân viên bán vé Trước rời bến xe phải có lệnh xuất bến, lệnh xuất bến dành cho xe Mỗi lệnh xuất bến kèm theo hoá đơn chủ xe trả chi phí dịch vụ bến xe II Phân tích Mơ hình ERD analysis Business Process Model LUONG CHU_XE CHUC_VU «column» * mscx ten cmnd diachi sdthoai PHIEU_DANG_TAI «column» * msl hesoluo ng «column» * mscv chucvu +(1,1) «column» * mspdt +(1,n) +(1,n) +(1,1) PHONG_BAN +(1,n) có đăng tài có +(1,1) +(1,n) +(1,1) +(0,1) gio +(1,1) «column» * msnv «column» * mst diadiem diadiem dodai «column» * msx bienso soghe «column» * mspb ten +(1,n) NHAN_VIEN TUYEN XE +(1,1) có có +(1,1) thuộc ten ngaysinh diachi sdt password +(0,1) +(0,1) có NV_HOA_DON +(1,n) NV_BAN_VE bán +(1,n) VE +(1,n) +(1,1) CHAT_LUONG «column» * mscl chatluong có +(1,1) «column» * msv ghe có lập HOA_DON LENH_XUAT_BEN +(1,1) +(1,1) +(1,1) «column» * mshd «column» * mslxb Các thực thể: CHUXE, NHANVIEN, NVHOADON, CLXE, TUYEN, +(1,1) ngaylaphd nguoilap tien NVBANVE, XE, PHIEU_DANGTAI, VE, PHONGBAN, CHUCVU, LENH_XUATBEN, HOADON 1)Code CSDL 2) Bến Xe 3)Chi Tiết Vé 4)ChuyenXe 5)Giờ Khởi Hành 6)Gửi Hàng Hóa 7)Khách Đi Xe 8)Loại Bằng Lái 9)Loại Xe -Dữ Liệu a)Dữ Liệu Bến Xe b)Dữ Liệu Chi Tiết Vé c)Dữ Liệu Chuyến Xe 12 13 d)Dữ Liệu Giờ Khởi Hành e)Dữ Liệu Gửi Hàng Hóa 14 f)Dữ Liệu Khách Đi Xe g)Dữ Liệu Nhân Viên h)Dữ Liệu Nhân Viên Xe 15 j) Dữ Liệu Tuyến Xe Đi 16 k)Dữ Liệu User 17 L,Dữ liệu PEMISSION M DỮ LIỆU VÉ XE N,DỮ LIỆU XE 18 III,TRUY VẤN 19 câu Họ tên đầy đủ nhân viên LƯƠNG SƠN select UserName +''+HoTen as 'Họ tên' From dbo.NhanVien_TranDucAnh where Diachi like N'%lương Sơn' câu SD view lấy họ tên nhân viên CREATE VIEW NhanVien_VIEW AS SELECT UserName+' '+HoTen 'Họ tên' FROM dbo.NhanVien_TranDucAnh; câu tìm họ tên SELECT HoTen From NhanVien_TranDucAnh WHERE CMND LIKE '1%4' câu View có tên TranDucAnh_View add bảng dbo.NhanVien_TranDucAnh vào CREATE VIEW TranDucAnh_View AS SELECT * FROM dbo.NhanVien_TranDucAnh câu CREATE TRIGGER Tr_dbo.BENXE_TranDucAnh ON BENXE_TranDucAnh FOR INSERT AS BEGIN PRINT N'Bản ghi lưu vào CSDL' END INSERT INTO BENXE_TranDucAnh VALUES (7, N'ĐỨC ANH', N'PHÚ THỌ') câu : Trong bảng Xe Bến lớn sửa Nhà sản xuất Toyota lớn bé sửa HuynDai cịn lại sửa thành HonDa DECLARE XE_CURSOR CURSOR FOR SELECT BIENSO, BENHIENTAI FROM XE_TranDucAnh OPEN XE_CURSOR DECLARE @BIENSO nvarchar(50) DECLARE @BENHIENTAI int FETCH NEXT FROM XE_CURSOR INTO @BIENSO, @BENHIENTAI WHILE @@FETCH_STATUS = BEGIN IF @BENHIENTAI > BEGIN UPDATE XE_TranDucAnh SET NHASANXUAT = N'Toyota' WHERE BIENSO = @BIENSO END ELSE IF @BENHIENTAI > BEGIN UPDATE XE_TranDucAnh SET NHASANXUAT = N'HuynDai' WHERE BIENSO = @BIENSO END ELSE BEGIN UPDATE XE_TranDucAnh SET NHASANXUAT = N'HonDa' WHERE BIENSO = @BIENSO END FETCH NEXT FROM XE_CURSOR INTO @BIENSO, @BENHIENTAI END CLOSE XE_CURSOR DEALLOCATE XE_CURSOR check select * from XE_TranDucAnh 20 câu CREATE PROCEDURE TranDucAnh AS BEGIN SELECT IDCHUYEN, TENBEN FROM CHUYENXE.CHUYENXES ORDER BY IDENT_CURRENT; END; Câu CREATE VIEW BENXE_TranDucAnh AS SELECT SO_GHE, ID_KHACH, IDVE FROM SO_GHE.SOGHE p INNER JOIN SO_GHE.SOGHE b ON b.SO_GHE = p.SO_GHE_id; Câu Truy vấn trigger create trigger trginsert_KhachHang on KhachHang for insert as begin khai bao bien luu tru Declare @tensv nvarchar(20) Declare @quequan nvarchar(50) Declare @gioitinh bit Declare @ngaysinh datetime lay du lieu cac bien tu bang inserterd select @tensv=inserted.tensv, @quequan=inserted.quequan, @gioitinh=inserted.gioitinh, @ngaysinh=inserted.ngaysinh From Inserted if((@tensv is null) or (@quequan is null) or (@gioitinh is null) or (@ngaysinh is null)) begin print'Ban phai day du cac thong' print'qua trinh them dl khong cong' rollback tran end else begin print'ban da them du lieu cong' end end 21 Câu 10 Truy vấn View CREATE VIEW KHACHDIXE AS SELECT a.name AS name, a.age AS age, c.name AS province_name FROM people a JOIN district b ON a.district_id = b.id JOIN province c ON b.id_province = c.id Câu 11 Truy vấn PROC CREATE PROCEDURE KHACH @IdDatVe smallint, @Ten varchar(50), @TenKH varchar(50), @KetQua smallint=1 Output AS DECLARE @IdKhachHang smallint BEGIN TRANSACTION If not Exists(SELECT IdKhachHang FROM KhachHang WHERE [Ten]=@TenKH) BEGIN SET @IdKhachHang= (SELECT Max(IdKhachHang) FROM KhachHang) SET @IdKhachHang=@IdKhachHang+1 INSERT INTO KhachHang VALUES(@IdKhachHang,@TenKH) If Exists(SELECT IdDatVe FROM [DatVe] WHERE IdDatVe=@IdDatVe) BEGIN SELECT @KetQua=1 ROLLBACK TRANSACTION END Else BEGIN INSERT INTO [DatVe](IdDatVe,Ten,IdKhachHang) VALUES(@IdDatVe,@TenSP,@IdKhachHang) SELECT @KetQua=0 COMMIT TRANSACTION END END Else BEGIN If Exists(SELECT IdDatVe FROM [DatVe] WHERE IdDatVe=@IdDatVe) BEGIN SELECT @KetQua=1 ROLLBACK TRANSACTION END Else BEGIN INSERT INTO [DatVe](IdDatVe,Ten,IdKhachHang) VALUES(@IdDatVe,@Ten,@IdKhachHang) SELECT @KetQua=0 COMMIT TRANSACTION END END Print @KetQua Return Câu 12 TRUY VẤN PROC CREATE PROCEDURE VEXE_ TranDucAnh AS BEGIN SELECT IDCHUYEN, 22 TENBEN FROM VEXE.VEXES ORDER BY IDENT_CURRENT; END; Câu 13 Truy Vấn PROC CREATE PROCEDURE NHANVIENXE_ TranDucAnh AS BEGIN SELECT IDNV, TENNV FROM NHANVIEN.NHANVIENS ORDER BY IDENT_CURRENT; END; CREATE PROCEDURE GIOKHOIHANH_ TranDucAnh AS BEGIN SELECT IDGIOKHOIHANH, TENGKH FROM KHOIHANH.KHOIHANHS ORDER BY IDENT_CURRENT; END; CREATE PROCEDURE LOAIBANGLAI_ TranDucAnh AS BEGIN SELECT IDLOAI, TENLOAI FROM LOAI.LOAIS ORDER BY IDENT_CURRENT; END; 23 -Sơ Đồ DiaGram 24 IV KẾT LUẬN Qua trình tìm hiểu tập lớn “thiết kế quản lý bến xe”, tập thực mục tiêu đề thực đề tài: - Hệ thống lại kiến thức phân tích thành phần địa quản lý bên xe - Giải yêu cầu tập đề - Triển khai mơ hình thực tế cấu hình thiết bị phần mền SQL sever 25 TÀI LIỆU THAM KHẢO https://tailieu.vn/doc/bai-giang-he-quan-tri-co-so-du-l https://www.w3schools.com/ https://viblo.asia/p/he-quan-tri-co-so-du-lieu-bJzKmzMkZ9N 26