Mục tiêu Mục tiêu của quản lý bán vé tàu hỏa thường xoay quanh việc cung cấp dịch vụ tốt nhất cho khách hàng, tối ưu hóa quá trình bán vé và quản lý thông tin dé dat duoc hiệu quả và ti
Trang 1
ĐẠI HỌC QUÓC GIA THÀNH PHÓ HÒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HOC VA Ki THUAT THONG TIN
⁄Z
MON QUAN LY THONG TIN BAO CAO CUOI KY
QUAN LY BAN VE TAU HOA
GVHD: Nguyễn Gia Tuan Anh
Tran Quốc Khánh
Trang 2
CHƯƠNG I1: GIỚI THIỆU BÀI TOÁN . - S22 1 1 2111121111212111111012101111.21111221111121 11H tee 4
I Đặt vấn đề 22222222211 2111 212122211 2221112121112122211222211111111212221111221211211111110211121211 2221121121 xe 4
II CONG Cun Str Ung eee eee cece cece cence ececeeceeeeeeeeaeecaaeeecaaeecaaeeceaaeecaaeesaeesceaeeseaeesesaeeseaeeeseeeeeats 5
CHƯƠNG 2: PHÂN TÍCH BÀI TOÁN 222222222 221221221212712212127121121111111211111111111 1E 6
I Các đối tượng cần quản lý va rang DUQC cee cececeseceeeeecoeseseseeeseceteesceteeeeresesesetneneneesenes 6 Đối tượng Quản lý: +52 212122222521 111232123211221111111211111211211122211111111 2112212212111 02 1121 xe 6 PIN on na 6
CHƯƠNG 3: THIẾT KE CO SO DO) LIEU 22-5-2222 22232E231E 252221511 12112121122112211111211212111 21122121 .e 8
I Lược đồ quan hệ và giải thích ccececcseceeeee cece ceeseeceececensceseeeesescenteteescivetsesesenetetenecenens 8
II Bảng mô tả chỉ tiết - ccecececeseecececevevecevesecseveveveveveveuevevsuvaveveveveserevesseveveveveveneneneeveveves CHƯƠNG 4: CÀI ĐẶT CHƯƠNG TRÌNH
1 Danh sách các Store Procedure - 2-1 2212122111122 1122111111 TH TH TT 15
2 Mô tá một số Sftored Procedure - 222: 2222 31313231221121111121112121122112171112112111112212 2020 xe 16
2 Mô tá một số Funcfion 5-5 -22222211251221121111121121121222111111112112111112211 2221121121111 211 E2 xe 18
Vo Phan quyén truy cập 5 222224 221 232111211221121221121211121122112122111111112111122122211 21111111121 xe 20
1 User MANAGER_US ( Giám đốc ) - 2222222 2221212112121211211111121211221211212121211 21.5 20
2 User NV_QLCT ( Nhân viên quản lý chuyến tàu ) - cSsSt221E212121212121212111 12 xe 20
3 User NV_ QLDT ( Nhân viên quản lý doanh thu } ĐÀ 2 22 S2212 SH neere 21
Trang 3LỜI MỞ ĐẦU
Lời đầu tiên, em xin gửi lời cảm ơn, tri ân sâu sắc đến Thầy TS Nguyễn Gia Tuan
Anh và Thay Tran Quốc Khanh, hai người đã không ngừng dạy dỗ và chia sẻ những kiến
thức quý báu cho tôi suót thời gian học vừa qua Tham gia lớp học Quản lý thông tin của
hai thầy, em đã thu thập được nhiều kiến thức hữu ích, cũng như hình thành tỉnh thần học
tập nghiêm túc và hiệu quả
Những kiến thức này sẽ chắc chắn là nền tang quý báu, là hành trang đề em có thể
tự tin hơn trong hành trình chỉnh phục tri thức ở phía trước Mặc dù em đã có gắng hết Sức, nhưng với vôn kiến thức còn hạn ché và khả năng tiếp thu thực tế còn nhiều hạn chẻ, bài báo cáo của em không tránh khỏi những thiếu sót và chưa đạt được sự chính xác nh ắt
Em mong nhận được sự đánh giá và góp ý từ các thầy để bài báo cáo của em được hoàn
thiện và tốt hơn
Em xin chân thành cảm ơn!
Trang 4CHƯƠNG I1: GIỚI THIỆU BÀI TOÁN
| Đặt vấn đề
1 Giới thiệu bài toán
Công nghệ thông tin đã thay đổi cách chúng ta làm việc và quản lý thông tin Trong lĩnh vực quán lý bán vé tàu hỏa, việc sử dụng phần mềm giúp tăng cường tốc
độ giao dịch, đảm bảo tính chính xác và hiệu quả, cũng như giảm thiểu sự nhằm lẫn
và tối ưu hóa quá trình quản lý thông tin khách hàng và doanh thu Điều này đặc biệt
quan trọng khi số lượng vé bán ra mỗi ngày lớn và việc quản lý thông tin truy xuất phức tạp Sự hỗ trợ của phần mềm trong việc này giúp tự động hóa các nhiệm vụ, cải thiện tốc độ xử lý và bảo đảm tính chính xác cho công việc hàng ngày
2 Mục tiêu
Mục tiêu của quản lý bán vé tàu hỏa thường xoay quanh việc cung cấp dịch vụ tốt
nhất cho khách hàng, tối ưu hóa quá trình bán vé và quản lý thông tin dé dat duoc
hiệu quả và tiệt kiệm chi phí Dưới đây là một sô mục tiêu cụ thê:
Tăng trải nghiệm khách hàng:
Cung cấp một nền tảng dễ sử dụng, thuận tiện để khách hàng có thể tra cứu
thông tin, đặt và mua vé một cách nhanh chóng và hiệu qua
Tối ưu hóa quá trình bán vé:
Tăng cường quy trình bán vé, giảm thiêu thủ tục phức tạp, cung cấp các tùy
chọn thanh toán linh hoạt và nhanh chóng
Quản lý thông tin lĩnh hoạt:
Tạo cơ sở dữ liệu chính xác và linh hoạt về hành khách, chuyến tảu, vé và
doanh thu để quản lý hiệu quả
Tối ưu hóa doanh thu và tài nguyên:
Tổ chức dữ liệu đề tối ưu hóa doanh thu từ việc bán vé, quan lý số lượng vé
và tình trạng ghế trồng
Quản lý chất lượng dịch vụ:
Theo dõi và cải thiện chất lượng dịch vụ dựa trên thông tin từ phản hồi của
Trang 5khách hàng và dữ liệu giao dịch
Đảm bảo an ninh thông tin và quản lý phân quyền người dùng đề bảo vệ thông tin cá nhân và đữ liệu quan trọng
Trang 6CHƯƠNG 2: PHÂN TÍCH BÀI TOÁN
l Các đối tượng cần quản lý và ràng buộc
1 Đối tượng quản lý:
Bài toán quán lý hệ thống thông tin vận hành tàu hỏa liên quan đến các đối tượng cần quán lý sau:
Nhân viên (NHANVIEN)
Tài khoán (TAIKHOAN)
2 Mối quan hệ và ràng buộc
Mỗi nhân viên có một tài khoản, một tài khoản chí thuộc về một nhân viên
Mỗi tài khoản chỉ thuộc về một hành khách và có duy nhát một nhân viên
quản lý
Mỗi hành khách có nhiều tài khoản, một tài khoản chỉ thuộc về một hành
khách
Mỗi hành khách tham gia một hoặc nhiều chuyền tàu
Mỗi chuyến tàu được thực hiện bởi một tàu nhát định
Mỗi thông tin chuyền tàu chỉ thuộc về một chuyến tàu và một chuyến tàu
có một thông tin chuyến tàu
Mỗi đặt vé thuộc về một tài khoán, một hành khách và một chuyền tàu Mỗi dịch vụ chỉ thuộc về một chuyến tàu và một chuyến tàu có thẻ có nhiều
dịch vụ di kèm
Ràng buộc trên THONGTINCHUYENTAU dam bảo rằng số vé còn lại không âm và không vượt quá số vé ban đầu.
Trang 7e Rang buộc trên DATVE kiêm tra sô vé đặt không được vượt quá số vé còn
lại của chuyên tàu tương ứng
e Rang buộc ngày tháng và tuổi khi chèn dữ liệu vào các bảng tương ứng
II Mô hình ERD
CHUYENTAU SOVECONLAI 1 PK | ID CHUYENTAU EMAIL SODIENTHOAI
ID_TAIKHOAN (FK)
a DATE n HOTEN
NGAYSINH
PK | ID_TAU !D_TAIKHOAN (FK)
TENTAU ID_HANHKHACH (FK) jp a 1 QUOCTICH
SOGHE 1 ID_CHUYENTAU (FK) GIOITINH
Trang 8CHUONG 3: THIET KE CO SO DU LIEU
| Large d6 quan hé va giải thích
Dựa trén m6 hinh ERD (M6 hinh Thue thé Lién két), chung ta cé thé phan tach thành các lược đồ quan hệ cụ thẻ, mỗi lược đỗ tương ứng với một bảng trong
CSDL:
e Luoc d6 quan hé cho bang NHANVIEN
o PK: ID_NHANVIEN (Primary Key)
o_ HoTen: Tên đầy đủ của nhân viên
©_ NgaySinh: Ngày sinh của nhân viên
o_ SoDienThoai: Số điện thoại của nhân viên
©_ Email: Địa chỉ email của nhân viên
o_ NgayVaoLam: Ngày bắt đầu làm việc
©_ NhiemVUu: Nhiệm vụ của nhân viên trong công ty
Giải thích: Bảng N?1A4NVTEN lưu trữ thông tin về nhân viên cửa công ty, bao gồm
các thông tin như ID, họ tên, ngày sinh, liên lạc và thông tin công viéc
e Luoc d6 quan hé cho bang TAIKHOAN
o PK: ID_TAIKHOAN (Primary Key)
o FK:1ID_NHANVIEN (Foreign Key tham chiéu dén
NHANVIEN.ID_NHANVIEN)
o_ SoDienThoai: Số điện thoại được liên kết với tài khoản
o_ Email: Địa chỉ email được liên kết với tài khoản
Giai thich: Bang TAIKHOAN lưu trữ thông tin đăng nhập của khách hàng được
quán lý bởi nhân viên thông qua liên kế/ đến bảng NHANVIEN thông qua khóa
ngoại ID_NHANVIEN
e Luoc d6 quan hé cho bang HANHKHACH
o PK: ID-HANHKHACH (Primary Key)
o FK:1ID_TAIKHOAN (Foreign Key tham chiếu đến
TAIKHOAN.ID_TAIKHOAN)
Trang 9o_ HoTen: Tên đầy đủ của hành khách
©_ NgaySinh: Ngày sinh của hành khách
o_ QuocTich: Quốc tịch của hành khách
o GioiTinh: Giới tính của hành khách
o_ SoDienThoai: Số điện thoại của hành khách
Gidi thich: Bang HANHKHACH chia thong tin về các hành khách tham gia các
chuyến tàu với thông tin cá nhân và liên lạc
Luge d6 quan hé cho bang TAU
o PK: ID_TAU (Primary Key)
©_ TenTau: Tên của tàu
o_ SoGhe: Số lượng ghê trên tàu
o_ HangSanXuat: Hãng sản xuất của tàu
Giải thích: Báng 7⁄4U ưu trữ thông tin về các tàu ván chuyển bao gồm tên, số ghé
và hang san xudt
Lược đồ quan hệ cho bảng CHUYENTAU
o PK: ID_CHUYENTAU (Primary Key)
o FK:1ID_TAU (Foreign Key tham chiéu dén TAU.ID_TAU)
o_ TuyenDuong: Tuyến đường của chuyền tàu
o_ NGAYDI: Ngày kh ởi hành của chuyền tàu
o_ THOIGIANDI: Thời gian khởi hành của chuyền tàu
ngày và thời gian khởi hành kèm theo thông tin về tàu thực hiện chuyến đi
Lược đồ quan hệ cho bảng THONGTINCHUYENTAU
o_ PK:ID_THONGTIN (Primary Key)
o FK:ID_CHUYENTAU (Foreign Key tham chiều đến
CHUYENTAU.ID_CHUYENTAU)
o_ GIAVE: Giá vé của chuyến tàu
o_ SOVECONLAI: Số vé còn lại trên chuyền tàu
Trang 10Th
thông tin chỉ tiết về chuyến ứờu như giá vé và số vê còn lại
e©_ Lược đồ quan hệ cho bang DATVE
o PK: ID_DATVE (Primary Key)
o FK:1ID_TAIKHOAN (Foreign Key tham chiếu đến
TAIKHOAN.ID_ TAIKHOAN), ID_HANHKHACH (Foreign Key tham
chiếu đến HANHKHACH.ID_HANHKHACH), ID_CHUYENTAU (Foreign Key tham chiếu đến CHUYENTAU.ID_CHUYENTAU) o_SOVEDAT: Số vé được đặt
Gidi thich: Bang DATVE lién kér các thông tin đặt vé với thông tin tài khoán, hành
khách và chuyến tàu cùng với số vé đặt
e©_ Lược đồ quan hệ cho bang DICHVU
o PK: ID_DICHVU (Primary Key)
o FK:ID_CHUYENTAU (Foreign Key tham chiều đến
CHUYENTAU.ID_CHUYENTAU)
©_ TenDichVu: Tên của dịch vụ
o_ MoTa: Mô tá về dịch vụ
o Gia: Gia cua dich vu
Gidi thích: Bảng DICHVU lưu thông tin về các dịch vụ có sẵn đi kèm với chuyến
tàu bao gồm tên, mô t¿ và giá
II Bảng mô tả chỉ tiết
Bảng NHANVIEN:
và tên đủ của nhân viên
Trang 11Bang TAIKHOAN:
ID_TAIKHOAN VARCHAR(20) Dinh danh đăng nhập duy nhất Khóa chính
Liên kết với bảng NHANVIEN
SoDienThoai VARCHAR(20) Số điện thoại liên kết với tài khoán:
Email VARCHAR@0) Địa chỉ email liên kết với tài khoản
Bang HANHKHACH:
ID_HANHKHACH | VARCHAR(20) Định danh duy nhất của hành khái Khóa chính
ID_TAIKHOAN VARCHAR(20) ‘| Lien ket vol bang TAIKHOAN de) xác định người dùng Kinga phy ,
HoTen VARCHAR(100) | Ho tén day du cua hanh khach
Gioi Tinh VARCHAR(00) | Giới tính của hành khách
SoDienThoai VARCHAR(20) Số điện thoại của hành khách
trén tau
cua tau
cua tau san
ID_CHUYENTAU VARCHAR(20) Định danh duy nhất của chuyên tàu Khóa chính
ID_TAU VARCHAR(20) | Len ket voi bang TAU để xác định Í khóa phụ tàu thực hiện chuyên đi °
TuyenDuong VARCHAR(100) Tuyên đường của chuyên tàu
Trang 12
Bang THONGTINCHUYENTAU:
ID_THONGTIN VARCHAR(20) _| Dinh danh duy nhat cho thông tin chuyền tả Khóa chính
SOVECONLAI NUMBER(*,0) | Sé luong vé con lai trên chuyền tàu
Bang DATVE:
ID_DATVE VARCHAR(20) | Định danh duy nhất cho đặt vé Khóa chính
ID_TAIKHOAN VARCHAR(20)_| Lien ket voi bang TAIKHOAN de xac định tài khoản người dùng Khóa phụ ,
Lién két voi bang HANHKHACH dé xac
ID_HANHKHACH — ° VARCHAR(20 CHAR(20) | tịnh hành khách đặt vé Khóa phụ
ID_CHUYENTAU VARCHAR(20) Liên ket vol bang CHUYENTAU dé xac Khóa phụ
SOVEDAT NUMBER(’*,0) Số lượng vé đã đặt
Trang 13
CHƯƠNG 4: CÀI ĐẶT CHƯƠNG TRÌNH
Ở đồ án này, nhóm sẽ tiền hành sử dụng hệ quán trị cơ sở dữ liệu Oracle để
quản lý và cài đặt cơ sở đữ liệu
CREATE TABLE NHANVIEN ( CREATE TABLE CHUYENTAU (
ID_NHANVIEN VARCHAR(20) PRIMARY KEY, ID_CHUYENTAU VARCHAR(20) PRIMARY KEY,
)? CREATE TABLE THONGTINCHUYENTAU (
ID_THONGTIN VARCHAR(20) PRIMARY KEY,
ID_CHUYENTAU VARCHAR(20) REFERENCES CHUYENTAU(ID CHUYENTAU),
CREATE TABLE TAIKHOAN ( AVE ~
2 Dir ligu mau
Ở đây chúng em tiến hành tự xây dựng các dữ liệu mẫu nhằm phục vụ
nhiệm vụ kiêm thử các chức năng của đỏ án
1 Danh sach cac Trigger
1 TRG AUTO ID CHUYENTAU INSERT CHUYENTAU ` động cập nhật ID chuyên
au
2 TRG AUTO ID DATVE INSERT DATVE Tự động cập nhật ID đặt vẻ
Trang 14
7 | TRG CHECK SOVECONLAI INSERT TTCT Kiểm tra số vé còn lại
Kiểm tra tuôi của nhân viên
8 TRG_CheckAge INSERT NHANVIEN 8
>
UPDATE hién tai
10 TRG SOVECONLAI TTCT
UPDATE thé <0
Kiểm tra số vé đặt không thê
11 TRG SoVeDat INSERT DATVE
lớn hơn số vé còn lại INSERT OR Kiém tra thời gian đi phải sau
Trang 15b Trigger kiém tra sé vé dat
Tén: TRG_SoVeDat Thao tac: INSERT Trén bang: DATVE PL/SQL:
1 Danh sách các Store Procedure
Trang 16Cập nhật lại thông tin chuyền tàu
Cập nhật lại thông tin hành khách Cập nhật lại thông tin nhân viên Cập nhật lại thông tin tài khoản sử dụng Dùng để tiền hành đặt vé
Hiên thị các dịch vụ của chuyến tàu Hiển thị các chuyền tàu theo ngày Hiên thị danh sách các chuyền tàu Hiên thị danh sách khách hàng Hiên thị danh sách các nhân viên
Thêm số vé cho chuyền tàu
Thêm mới một tài khoản
Tìm kiếm chuyền tàu theo ngày Xóa một chuyến tàu
Xóa một dịch vụ
Xóa một hành khách khỏi chuyến tàu Xóa một nhân viên khỏi hệ thống Xóa một tài khoản khỏi hệ thống Xuất ra số vé còn lại chưa được đặt
Nội dung: Thêm mới một chuyến tàu
Tham số truyền vào: p_ID_TAU, p_ TenTau, p_SoGhe,
p_ HangSanXuat, p_ TuyenDuong, p_NgayDi, p_ ThoiGianDi
Trang 17Mã PL/SQL:
b Dat vé cho chuyến tàu
Tên: DAT_VE
Nội dung: Tiến hành đặt vé cho chuyến tàu
Tham số truyền vào: p_ID_TAIKHOAN, p_ID_HANHKHACH, p_ID_ CHUYENTAU, p_SOVEDAT
Ma PL/SQL:
Trang 18Kiểm tra xem chuyến tàu đã kết thúc hay chưa
Kiểm tra xem hành khách đã đặt vé chưa
Tính ra tổng doanh thu bán vé của chuyền tả Tính ra tổng doanh thu dịch vụ trên chuyền †
a Kiểm tra xem hành khách đã đặt vé lên tàu chưa
Tên: KIEM_TRA_VE_DA_ DAT.