1. Trang chủ
  2. » Công Nghệ Thông Tin

Hệ quản trị cơ sở dữ liệu

55 737 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Bài tập lớn hệ quản trị cơ sở dữ liệu. Đề tài quản lý bán vé xe khách gồm các phần: +Đánh giá hiện trang +Mục tiêu hệ thống. +Phương pháp,đối tượng và địa điểm nghiên cứu. +Lựa chọn công nghệ thực hiện. + Chức năng của hệ thống + Giải thích chức năng + Thiết kế cơ sở dữ liệu + Thiết kế dữ liệu + Tập hợp 50 câu truy vấn. Insert, update, delete, storeprocedure, trigger

LỜI NÓI ĐẦU Từ năm 90 kỷ XX đến liên tục chứng kiến thay đổi mang tính cách mạng ngành công nghệ thông tin Ngày công nghệ thông tin phát triển mạnh mẽ; góp phần xây dựng, thúc đẩy phát triển hầu hết ngành nghề, lĩnh vực Sống công CNH-HĐH, ngành khoa học công nghệ nói chung, ngành công nghệ thông tin nói riêng không ngừng phát triển mạnh mẽ Những công việc thủ công vừa tốn sức, vừa tốn công lại hao tốn kinh tế, thời gian chuyển sang hệ thống tự động hóa, sử dựng máy móc, phần mềm công nghệ mới, áp dụng tiến khoa học kỹ thuật Thế Giới vào sản xuất, kinh doanh, đem lại thuận tiện công việc góp phần làm cho quan, hệ thống, phòng ban, công ty, xí nghiệp hoạt động mang tính chuyên nghiệp hiệu Dựa thực tế, dựa nhu cầu khách hàng yêu cầu công ty, ngành công nghệ thông tin phân tích thiết kế hệ thống, đưa phần mềm hữu ích thúc đẩy suất, tăng hiệu quả, chất lượng công việc giảm nhiều chi phí Dựa nhu cầu thực tế ngành Giao thông vận tải nói chung ngành vận chuyển hành khách nói riêng Nhu cầu lại nọi người ngày tăng, đặc biệt dịp cao điểm, lễ tết; việc quản lý phức tạp, tính toánh xếp lịch trình, chuyến xe, tuyến xe, bán vé, nhận ghế, toán tốn nhiều thời gian, công sức nhân viên chi phí công ty Vậy, hệ thống xe khách liên tỉnh, công ty xe khách cần hệ thống quản lý để chuyên nghiệp hóa công việc, giảm số lượng nhân viên- giảm chi phí, giảm áp lực công việc mà đáp ứng, phục vụ nhu cầu cầu khách hàng cách tốt nhất, chuyên nghiệp hiệu PHẦN BÀI CHÍNH KHẢO SÁT HIỆN TRẠNG 1.Đánh giá trạng 1.1 Đánh giá thức tế Thực trạng công ty vận tải hành khách gặp phải: • • • • • • Tốn nhiều chi phí cho liên lạc với khách hang qua điện thoại Đặt vé sai thiếu thông tin, chồng vé, hủy vé,khó kiển tra số ghế đặt, chưa đặt Mệt mỏi, nhiều thời gian công sức cho việc làm việc, tính toán thủ công, quản lý thứ giấy tờ, thống kê sổ sách Thiếu tính chuyên nghiệp, chi nhánh với thông tin liệu khó thông suốt thời điểm Cần nhiều nhân viên: Nhân viên trực điện thoại, giải đáp thắc mắc, cung cấp thông tin cho khách hàng, ghi chép thông tin đặt vé cho khách,nhân viên bán vé trực tiếp, nhân viên thu tiền Vào dịp cao điểm, lễ, tết, khách hàng muốn mua vé phải xếp hàng, đợi chờ lâu, chen lấn, chí chờ thời gian dài mà không mua vé Làm nhiều thòi gian, công sức khách hàng Mục tiêu hệ thống Từ thực tế đặt ra, nhận thấy xây dựng hệ thống đặt vé xe khách liên tỉnh vô cần thiết Mục tiêu nhóm xây dựng triển khai hệ thống đặt vé xe khách liên tỉnh Mục tiêu: • Xây dựng hệ thống giúp khách hàng đặt vé trực tuyến • Hỗ trợ nhân viên dễ dàng thực nghiệp vụ quản lý chuyến xe công ty • Nhân viên bán vé dễ dàng cập nhật khách hàng gọi điện thoại đến đặt vé • Hệ thống giúp hỗ trợ phân quyền người dung, đảm bảo tính bảo mật, an toàn hệ thống Phương pháp,đối tượng địa điểm nghiên cứu:  Phương pháp nghiên cứu: Khải sát, phân tích, tổng hợp  Đối tượng nghiên cứu: thông tin tuyến xe liên tỉnh, giá cả, nhà xe, hành khách, công việc nhân viên, xây dựng sở liệu… Lựa chọn công nghệ thực hiện: - sở liệu: Phạm vi nghiên cứu số bến xe, nên nhóm lựa chọn ngôn ngử quản trị CSDL SQL 2010 Chức hệ thống • Chức quản trị: Tạo, xóa, sửa tài khoản đăng nhập hệ thống • Chức quản lý  Quản lý đặt vé: Đặt vé, hủy vé sửa thông tin vé cho khách hàng gọi điện thoại đến  Quản lý Tuyến xe: Thêm, sửa thông tin, hủy tuyến xe  Quản lý Chuyến xe: Thêm mới, sửa thông tin, hủy chuyến  Quản lý Điểm đến: Thêm xóa sửa điểm đến  Quản lý xe: Thêm xe mới, xóa sửa thông tin xe • Chức khách hàng: Xem, tìm kiếm thông tin Tuyến xe, chuyến xe chạy, đặt vé xóa, sửa đổi thông tin đặt vé Người sử dụng • Khách: quyền tìm kiếm, xem thông tin lịch trình xe chạy • Nhóm người sửa dụng bình thường: Gồm quyền khách thêm quyền đặt vé, hủy vé, sửa thông tin vé • Nhóm nhân viên: Bao gồm quyền người sửa dụng bình thường thêm quyền cập nhật thông tin lịch trình xe chạy, tạo mới, hủy lịch trình Cập nhật thông tin xe, số ghế ngồi • Nhóm quản trị: Gồm tất nhóm khác thêm quyền tạo, hủy cấp quyền tài khoản truy nhập hệ thống Giải thích chức a Quản trị Để thực tính người sử dụng phải đăng nhập vào hệ thống với tài khoản quản trị viên Khi thực yêu cầu người sử dụng hệ thống phải kiểm tra tính đắn liệuQuản lý tài khoản người dung  Tạo tài khoản: Hệ thống kiểm tra xem tài khoản CSDL không Kiểm tra thông tin nhân viên cấp tài khoản đắn hay không tên ngày tháng năm sinh  Xóa tài khoản: Kiểm tra tài khoản phép xóa hay không • Quản lý quyền truy nhập hệ thống b Quản lý • Quản lý Tuyến Để thực chức người sử dụng phải đăng nhập vào hệ thống với tài khoản nhân viên Hệ thống cho phép tạo mới, sửa, xóa tuyến xe Khi thực yêu cầu người sử dụng hệ thống phải kiểm tra tính đắn thông tin Dữ liệu không xung đột với  Tạo Tuyến: Hệ thống kiểm tra tuyến thêm CSDL chưa Kiểm tra thông tin lịch trình đắng không  Hủy Tuyến: Hệ thống kiểm tra Tuyến CSDL chưa Kiểm tra thông tin ltuyến đắn không Sửa đổi thông tin lịch trình: kiểm tra tuyến muốn sửa tồn CSDL không Kiểm tra thông tin sửa đổi đắn hay không • Quản lý Chuyến Để thực chức người sử dụng phải đăng nhập vào hệ thống với tài khoản nhân viên Hệ thống cho phép tạo mới, sửa, xóa chuyến xe Khi thực yêu cầu người sử dụng hệ thống phải kiểm tra tính đắn thông tin Dữ liệu không xung đột với  Tạo Chuyến: Hệ thống kiểm tra Chuyến thêm CSDL chưa Kiểm tra thông tin lịch trình đắng không  Hủy Chuyến: Hệ thống kiểm tra Chuyến CSDL chưa Kiểm tra thông tin ltuyến đắn không  Sửa đổi thông tin lịch trình: kiểm tra Chuyến muốn sửa tồn CSDL không Kiểm tra thông tin sửa đổi đắn hay không • Quản lý Vé Để thực chức người sử dụng phải đăng nhập vào hệ thống với tài khoản nhân viên Hệ thống cho phép tạo mới, sửa, xóa vé Khi thực yêu cầu người sử dụng hệ thống phải kiểm tra tính đắn thông tin Dữ liệu không xung đột với  Tạo Vé: Hệ thống kiểm tra Vé thêm CSDL chưa Kiểm tra thông tin vé đắng không  Hủy Tuyến: Hệ thống kiểm tra vé CSDL chưa Kiểm tra thông tin vé đắn không  Sửa đổi thông tin vé: kiểm tra vé muốn sửa tồn CSDL không Kiểm tra thông tin sửa đổi đắn hay không • Quản lý Đặt vé Để thực chức người sử dụng phải đăng nhập vào hệ thống với tài khoản nhân viên Hệ thống cho phép người sửa dụng đặt, hủy, sửa thông tin đặt vé khách hàng họ gọi điện thoại yêu cầu Khi thực yêu cầu người sử dụng hệ thống phải kiểm tra tính đắn thông tin Dữ liệu không xung đột với  Đặt vé: đặt vé theo yêu cầu khách hàng  Hủy vé: xác nhận vé khách hàng muốn hủy tồn CSDL không Hủy vé theo yêu cầu khách hàng  Sửa đổi thông tin vé: xác nhận vé khách hàng muốn đổi tồn CSDL không Xác nhận thông tin khách hàng muốn đổi c.Tìm kiếm • Xem thông tin lịch trình xe chạy Mọi người sử dụng đểu xem thông tin lịch trình chuyến xe gổm: Điểm đến , ngày đi, giá vé, số ghế • Xem thông tin đặt vé  Nhân viên xem thông tin toàn khách hàng đặt vé  Khách hàng xem thông tin đặt vé  2.4 Thiết kế sở liệu Dữ liệu đóng vai trò quan trọng hệ thống Tất hoạt động hệ thống điều lên quan đến sở liệu Mỗi chức hệ thống hoạt động đểu cần đến liệu Vì việc thiết kế CSDL công việc quan định chất lượng hệ thống CSDL thiết kế theo mô hình ER hạn chế mô hình quan hệ 2.4.1 Xác định kiểu thực thể  Thực thể: TaiXe Mỗi tài xế số là( ID_TaiXe) , họ tên(TenTaiXe), số điện thoại liện hệ (SDT), số cước (CMND), giới tính tài xế (GioiTinh)  Thực thể Xe Mỗi xe biển số làm khóa (SoXe), hiệu xe (HieuXe) số chổ ngồi xe (SoChoNgoi)  Thực thể DiemDen Mỗi địa mã định (ID_DiaDiem), tên địa điểm (TenDiaDiem)  Thực thể Tuyen Mỗi tuyến xe số định (ID_Tuyen), tên tuyến (TenTuyen), thông tin điểm đến (ID_DiemDen), Thông tin điểm (ID_DiemDi)       Thực thể Chuyen Mỗi chuyến xe số định (ID_Chuyen) ngày khởi hành (NgayDi), khởi hành (GioDi), số lượng ghế dành cho hành khách (SoLuongGhe), Số xe (SoXe), tuyến xe chạy (ID_Tuyen), tài xế chạy chuyến (ID_TaiXe) Thực thể Ghế Mỗi Ghế số ghế (SoGhe), thuộc xe (SoXe) Thực thể Ve Mỗi vé số vé (ID_Ve), giá vé (GiaVe), thuộc chuyến xe (ID_Chuyen) Thực thể ChiTieVe Chi tiết vé lưu tình trạng vé đặt hay chua bao gồm Mã số vé (ID_Ve), số ghế (SoGhe), tình trang vé (TinhTrang) Thực thể KhachHang Mỗi khách hàng số số cức( CMND), họ tên khách hàng (TenKhachHang), địa liên lạc khách hàng (DiaChi), Email liên lạc (Email), số điện thoại người sử dụng (SDT) Phương thức PhuongThucTT Mỗi phương thức mã (ID_PhuongThuc), tên phương thức (TenPhuongThuc), nội dung toán (NoiDungTT)  Thực thể DatVe Mỗi lần đặt vé mã định (ID_DatVe), ngày đặt vé (NgayDK),số cức người đặt (CMND), mã phương thức toán (ID_PhuongThuc), mã vé đặt (ID_Ve) 2.4.2 Thiết kế liệu a.Bảng KhachHang St Thuộc Tính Kiểu t CMND Varchar Kích PK FK Diễn giải thước 12 X Mã khách hàng TenKhachHang Nvarchar 30 Tên khách hàng DiaChi Nvarchar 50 Địa chủ tài khoản Email NVarchar 50 Địa mail tài khoản SDT Varchar 12 Số điện thoại liên lạc b.Bảng TaiXe St Thuộc t Tính Kiểu Kích PK FK Diễn giải thướ c ID_TaiXe Varchar 10 X Mã vé TenTaiXe Nvarchar 50 Tên tài xế SDT Varchar 15 Số điện thoại 11 Thực tác vụ đổi vé cho khách hàng-CREATE PROC DoiVe(@ID_datveKT VARCHAR(10),@ID_DoiVe VARCHAR(10),@NgayDk SMALLDATETIME, @CMND VARCHAR(12),@ID_PTTT VARCHAR(10),@ID_ve VARCHAR(10)) AS IF EXISTS(SELECT ID_DatVe FROM DatVe WHERE ID_DatVe = @ID_datveKT) BEGIN DECLARE @ID_VEKT VARCHAR(10) SELECT @ID_VEKT = DatVe.ID_Ve FROM DatVe WHERE ID_DatVe = @ID_datveKT UPDATE ChiTietVe SET TrangThai = N'Trống' WHERE ID_Ve = @ID_VEKT DELETE DatVe WHERE ID_DatVe = @ID_datveKT INSERT INTO DatVe(ID_DatVe,NgayDK,CMND,ID_PhuongThucTT,ID_Ve) VALUES(@ID_DoiVe,@NgayDk,@CMND,@ID_PTTT,@ID_ve ) UPDATE ChiTietVe SET TrangThai = N'Đã đặt' WHERE ID_Ve = @ID_ve END ELSE PRINT 'Khách hàng chua đặt vé' EXEC DoiVe 'dv_15', 'dv_15','05/28/2016','012345678901','tt_TienMat','v_1' 12 Cho khách hàng thực tác vụ đổi phương thức toán-CREATE PROC DoiPTTT(@ID_datve VARCHAR(10)) AS IF EXISTS(SELECT * FROM DatVe WHERE ID_DatVe = @ID_datve) Kiem tra đặt hay chua BEGIN DECLARE @kt_pt VARCHAR(10) SELECT @kt_pt = DatVe.ID_PhuongThucTT FROM DatVe WHERE ID_DatVe = @ID_datve IF(@kt_pt = 'tt_TienMat') UPDATE DatVe SET ID_PhuongThucTT = 'tt_ChuyenKhoan' WHERE ID_DatVe = @ID_datve ELSE UPDATE DatVe SET ID_PhuongThucTT = 'tt_TienMat' WHERE ID_DatVe = @ID_datve END ELSE PRINT N'Khách hàng chua đặt vé' EXEC DoiPTTT 'dv_1' 13/Hiển thị mã vé mà khách hàng đặt khách hàng cho biết số CMND, số CMND không tồn bảng đặt vé xuất " khách hàng chưa đặt vé" CREATE PROC XUAT_ID_VE(@CMND VARCHAR(12)) AS IF EXISTS( SELECT * FROM DatVe WHERE @CMND=CMND) BEGIN SELECT 'Mã vé'=ID_Ve FROM DatVe WHERE @CMND=CMND END ELSE PRINT N'SỐ CMND KHÔNG THUỘC CSDL KHÁCH HÀNG CHƯA ĐẶT VÉ TRƯỚC ĐÓ' DROP PROC XUAT_ID_VE EXEC XUAT_ID_VE '012345678955' 14.Khi tạo xe tự động thêm vào CREATE PROC ThemGhe(@SoXe VARCHAR(10), @HieuXe NVARCHAR(30), @SoChoNgoi INT) AS DECLARE @LaySoXe VARCHAR(5) DECLARE @TANG INT DECLARE @GANCHUOI VARCHAR(10) DECLARE @CHUYENKIEU VARCHAR(3) SET @TANG = select @LaySoXe = RIGHT(@SoXe,5) INSERT INTO Xe(SoXe,HieuXe,SoChoNgoi) VALUES(@SoXe,@HieuXe,@SoChoNgoi) WHILE(@TANG < @SoChoNgoi) BEGIN SELECT @GANCHUOI = CONCAT(@LaySoXe,'_',STR(@TANG,2)) INSERT INTO Ghe(SoGhe,SoXe) VALUES(@GANCHUOI,@SoXe) SET @TANG = @TANG + END EXEC ThemGhe '59A9-00004','Honda',4 DROP PROC ThemGhe 15.Liệt kê tài xế làm việc từ ngày 1/6/2016 đến ngày 2/6/2016 CREATE PROC NgayLamViec(@BD SMALLDATETIME, @KT SMALLDATETIME) AS SELECT 'Tên Tài xế' = TenTaiXe,'Ngày làm việc' = NgayDi, 'Chạy xe số' = SoXe FROM TaiXe,Chuyen WHERE TaiXe.ID_TaiXe = Chuyen.ID_TaiXe AND NgayDi IN(@BD,@KT) EXEC NgayLamViec '06/01/2016','06/02/2016' 16.Tính tổng số tiền mà khách hàng trả tiền mua vé chuyến đi-CREATE PROC SumTien(@TenKhachHang VARCHAR(20)) AS SELECT 'Tổng số tiền' = SUM(GiaVe) FROM Ve, DatVe, KhachHang WHERE KhachHang.CMND = DatVe.CMND AND Ve.ID_Ve = DatVe.ID_Ve AND TenKhachHang = @TenKhachHang EXEC SumTien 'Ronaldo' 17.Xuất ds tuyến khách hàng cần ngày-CREATE PROC TuyenTheoH(@TenTuyen VARCHAR(20), @NgayDi SMALLDATETIME) AS SELECT 'Tên Tuyến' = TenTuyen, 'Số xe' = SoXe, 'Giờ khởi hành' = GioDi FROM Tuyen, Chuyen WHERE Tuyen.ID_TUYEN = Chuyen.ID_Tuyen AND TenTuyen = @TenTuyen AND NgayDi = @NgayDi EXEC TuyenTheoH 'Tp HCM - Long An','05/30/2016' 18.Liệt kê tuyến chuyến ngày CREATE PROC TuyenTheoNgay(@NgayDi SMALLDATETIME) AS SELECT 'Mã tuyến' = Chuyen.ID_Tuyen FROM Chuyen WHERE NgayDi = @NgayDi GROUP BY Chuyen.ID_Tuyen HAVING COUNT(ID_Chuyen)>=2 EXEC TuyenTheoNgay '05/30/2016' 19.lượng chuyến chạy tài xế mã tài xế không tồn bảng chuyến xuất ra" TÀI XẾ CHƯA CHẠY CHUYẾN NÀO" CREATE PROC CHUYEN_DI(@ID_Taixe VARCHAR(10)) AS IF EXISTS( SELECT * FROM Chuyen WHERE @ID_Taixe=ID_TaiXe) BEGIN SELECT 'Mã tài xế'=Chuyen.ID_TaiXe,'Tên tài xế'=TenTaiXe,'Số chyến'= COUNT(ID_Chuyen) FROM Chuyen,TaiXe WHERE Chuyen.ID_TaiXe=TaiXe.ID_TaiXe AND Chuyen.ID_TaiXe=@ID_Taixe GROUP BY Chuyen.ID_TaiXe,TenTaiXe END ELSE PRINT 'Tài xế chưa chạy chuyến nào' EXEC CHUYEN_DI'tx_4' TRIGGER 1.kiểm tra ngày đặt vé đăng ký CREATE TRIGGER kt_ngayDK ON DatVe FOR UPDATE, INSERT AS IF UPDATE(NgayDK) BEGIN DECLARE @NgayDK SMALLDATETIME DECLARE @NgayDiSMALLDATETIME DECLARE @ID_ve VARCHAR(10) SET @NgayDK = (SELECT NgayDK FROM inserted) SET @ID_ve = (SELECT ID_Ve FROM DatVe INSERTED) SET @NgayDi = (SELECT NgayDi FROM Chuyen,Ve,DatVe dv,inserted i WHERE dv.ID_Ve = Ve.ID_Ve AND Ve.ID_Chuyen = Chuyen.ID_Chuyen AND dv.ID_DatVe = i.ID_DatVe ) IF(@NgayDi

Ngày đăng: 17/03/2017, 17:49

Xem thêm: Hệ quản trị cơ sở dữ liệu

TỪ KHÓA LIÊN QUAN

Mục lục

    KHẢO SÁT HIỆN TRẠNG

    1.Đánh giá hiện trạng

    1.1 Đánh giá thức tế

    2. Mục tiêu của hệ thống

    3. Phương pháp,đối tượng và địa điểm nghiên cứu:

    4. Lựa chọn công nghệ thực hiện:

    Chức năng của hệ thống

    Giải thích chức năng

    2.4 Thiết kế cơ sở dữ liệu

    2.4.2 Thiết kế dữ liệu

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w