Đề tài: Phân tích và thiết kế hệ thống CSDL quản lý và phân phối xe của hãng taxi HaNoi Tourist Phần I : Phân tích và thiết kế cơ sở dữ liệu Công ty cổ phần Hà Nội Tourist Taxi với thư
Trang 1TIỂU LUẬN
ĐỀ TÀI: “Phân tích và thiết kế hệ thống
CSDL quản lý và phân phối xe của hãng
taxi HaNoi Tourist.”
Trang 2
Đề tài: Phân tích và thiết kế hệ thống CSDL quản lý và
phân phối xe của hãng taxi HaNoi Tourist
Phần I : Phân tích và thiết kế cơ sở dữ liệu
Công ty cổ phần Hà Nội Tourist Taxi với thương hiệu HaNoi Tourist Taxi – một đơn vị thành viên của Tổng Công ty Du lịch Hà Nội là doanh nghiệp luôn đi đầu trong lĩnh vực phục vụ vận chuyển hành khách công cộng bằng xe taxi ở Hà Nội Hanoitourist taxi có các loại xe taxi với số lượng trên 200 đầu xe :
- Loại xe 5 chỗ : TOYOTA VIOS LIMO
- Loại xe 8 chỗ : TOYOTA ZACE và INNOVA
Trong công ty có nhiều phòng ban, mỗi phòng ban có nhiều nhân viên làm việc Thông tin về phòng ban gồm tên phòng ban, mã phòng ban, số điện thoại Thông tin về nhân viên có Mã nhân viên, họ tên, ngày sinh Ngoài ra nhân viên tổng đài
có thêm thông tin quê quán, nhân viên kỹ thuật và nhân viên kinh doanh có thêm
số năm kinh nghiệm Khi khách hàng có yêu cầu taxi, khách hàng sẽ gọi điện đến tổng đài và đặt xe Nhân viên tổng đài sẽ điều xe đến chỗ khách hàng
Việc quản lý khách hàng sẽ do nhân viên kinh doanh đảm nhận Thông tin về khách hàng bao gồm họ tên, mã khách hàng, địa chỉ, ngày sinh, số điện thoại, số
km đã đi thông tin tài xế bao gồm Mã nhân viên, họ tên, ngày sinh, số điện thoại
và biển số xe mà họ đảm nhận
Trang 3Xe của hãng bao gồm các thông tin Biển số, model, số ghế và mã khu vực mà xe
đỗ ở đó Mỗi khu vực có nhiều taxi đỗ Mỗi xe có thể do nhiều tài xế lái (do làm việc theo ca) Tuy nhiên, mỗi tài xế chỉ được lái một xe duy nhất
Khi xe bị hỏng, xe sẽ được đưa đến cho nhân viên kỹ thuật sửa chữa Nhân viên kỹ thuật sẽ ưu vào sổ lưu Sổ lưu bao gồm các thông tin: biển số xe Ngày sửa, lần sửa
và mã nhân viên sửa xe đó
Để nâng cao hoạt động tác nghiệp của Hà Nội Tourist Taxi, công ty quyết định nâng cấp hệ thống thông tin quản lý việc tổ chức sự kiện của công ty Công ty tin học được thuê để thực hiện nhiệm vụ này phải thiết kế, xây dựng một cơ sở dữ liệu cho hệ thống thông tin quản lý mới Việc thiết kế csdl phải thực hiện một số bước sau:
- Tạo sơ đồ E/R
- Chuyển đổi sơ đồ E/R thành lược đồ quan hệ
- Chuẩn hóa lược đồ quan hệ về dạng 3NF
- Xây dựng cơ sở dữ liệu trong Access
sang mô hình quan hệ
1.2.1 Mô hình thực thể liên kết
Các dữ liệu cần được lưu trữ:
STT Đối tượng Dữ liệu cần lưu trữ
1 NV kỹ thuật Mã nhân viên, họ tên, ngày sinh, số năm kinh
nghiệm, mã PB
2 NV tổng đài Mã nhân viên, họ tên, ngày sinh, Quê quán, mã PB
3 Khách hàng Mã khách hàng, tên khách hàng, địa chỉ, số điện
thoại, số km đã đi
4 Khu Vực Mã khu vực, tên khu vực
5 Phòng ban Mã phòng ban, tên phòng ban, sđt
6 Nhân viên kinh doanh Mã nhân viên, họ tên, ngày sinh, số năm kinh
nghiệm, Mã PB
Trang 47 Xe Biển số, model, mã khu vực, số chỗ ngồi
8 Tài xế Mã NV, họ tên, sdt, ngày sinh, biển số xe sử dụng
9 Sổ lưu Biển số, Ngày sửa, lần sửa, mã nhân viên sửa xe
Ta có mô hình thực thể liên kết như sau:
n
n
n
1
n
Tài xế
Xe
NV tổng đài
NV kinh doanh
NV kỹ thuật
Khách hàng
Làm việc cho
Lái
Điều phối
Quản lý
Sửa chữa
Phòng ban Khu vực
Đặt
xe với
Đỗ tại
Làm việc cho
Chở
Tên
KV
Mã
KV
Ngày
sinh
SĐT Họ Tên
Mã
NV
Ngày
sinh
Số năm
KN
Tên
PB
Mã
PB
Mã NV
Mã
KH Ngày
sinh
Họ tên
Địa chỉ
Sđt
Mã
KV
SĐT
Biển
số xe
sd
Số Km
đã đi
Biển
số
Model
Ngày sinh
Mã
NV
Số năm
KN
Họ tên
Số ghế
Mã PB
Mã PB
Mã PB
Trang 5n
1
1
1.2.2 Chuyển hóa sang mô hình quan hệ
NVKYTHUAT(MaNV, NgaySinh, HoTen, SoNamKN, MaPB)
NVTONGDAI(MaNV, NgaySinh, HoTen,QueQuan, MaPB)
KHACHHANG(MaKH, HoTen, DiaChi, SDT, SoKm)
KHUVUC(MaKV, TenKV)
PHONGBAN(MaPB, TenPB, SDT)
NVKINHDOANH(MaNV, NgaySinh, HoTen, SoNamKN, MaPB)
XE(BienSo, Model, SoGhe,MaKV)
TAIXE(MaNV, NgaySinh, HoTen, BienSoXe)
SOLUU(BienSo,NgaySua, LanSua, MaNV)
1.2.3 Chuẩn hóa về 3NF
• NVKYTHUAT(MaNV, NgaySinh, HoTen, SoNamKN, MaPB)
Có MaNV là khóa chính
Phụ thuộc hàm như sau:
MaNV →HoTen MaNV → NgaySinh MaNV → SoNamKN MaNV→ MaPB Các thuộc tính ở trên không thể phân chia nữa Do vậy Lược đồ đạt chuẩn 1
- Ta thấy rằng, ngoài MaNV ra thì các thuộc tính không phụ thuộc vào bất
cứ thuộc tính nào còn lại Hay nói cách khác thuộc tính không khóa phụ thuộc đầy đủ và trực tiếp vào khóa chính
Do vậy đã đạt chuẩn 2 và 3
Làm việc cho
Họ tên
Mã
NV
Ngày sinh
Tên
NV Quê
quán Ghi
Sổ lưu
Lần sửa
Biển số
Ngày sửa
Mã
NV
Trang 6Giải thích tương tự cho các lược đồ:
• NVTONGDAI(MaNV, NgaySinh, HoTen,QueQuan, MaPB)
• KHACHHANG(MaKH, HoTen, DiaChi, SDT, SoKm)
• KHUVUC(MaKV, TenKV)
• PHONGBAN(MaPB, TenPB, SDT)
• NVKINHDOANH(MaNV, NgaySinh, HoTen, SoNamKN, MaPB)
• XE(BienSo, Model, SoGhe,MaKV)
• TAIXE(MaNV, NgaySinh, HoTen, BienSoXe)
• SOLUU(BienSo,NgaySua, LanSua, MaNV)
Ta có thể kết luận rằng tất cả các lược đồ trên đều đạt chuẩn 3NF vì thuộc tính không khóa phụ thuộc đầy đủ vào khóa chính và không có quan hệ bắc cầu xẩy ra trong phụ thuộc hàm của các lược đồ trên
Phần 2: Cài đặt bằng hệ quản trị CSDL Access
Bước 1: Tạo cơ sở dữ liệu
Khởi động MS Access 2007 Chọn New để tạo một cơ sở dữ liệu mới
Bước 2: Trong Menu Bar chọn Create table → Table design
Ghi tên thuộc tính vào Field Name
Data Type: kiểu dữ liệu của thuộc tính
Decription: mô tả về thuộc tính
Ta có các bảng như sau:
Trang 7Bước 3: Tạo quan hệ giữa các bảng
Trong menu Bar lựa chọn Tools, sau đó chọn Relationship
Trang 8Trong bảng Show Table chọn lần lượt các bảng đã tạo sau đó nhấn Add
Lựa chọn các bảng để tạo mối quan hệ và thuộc tính , kéo và thả các trường có liên quan giữa các bảng để tạo liên kết sau đó nhấn Ok
2.2 Truy vấn SQL
• Chọn vào tab Create trong Menubar, lựa chọn Query Design:
• Chọn SQL View trên menu Bar
• Tiến hành viết câu lệnh truy vấn theo những cú pháp SQL đã được cài đặt cho Access
Liệt kê các nhân viên trong phòng kỹ thuật có hơn 3 năm kinh nghiệm
FROM NVKYTHUAT
WHERE SoNamKN > 3
Kết quả:
Trang 9Tìm thông tin xe phải mang sửa nhiều nhất
SELECT SoLuu.BienSo AS SoLuu_BienSo, SoLuu.LanSua, XE.BienSo
AS XE_BienSo, XE.Model, XE.SoChoNgoi
FROM XE, SoLuu
WHERE XE.BienSo = SoLuu.BienSo AND SoLuu.LanSua = (SELECT
MAX(LanSua) FROM SoLuu)
Kết quả:
Tìm thông tin khách hàng đi nhiều nhất
SELECT KHACHHANG.[MaKH], KHACHHANG.[HoTen],
KHACHHANG.[DiaChi], KHACHHANG.[NgaySinh],
KHACHHANG.[SDT], KHACHHANG.[SoKm]
FROM KHACHHANG
WHERE KHACHHANG.SoKm = (SELECT MAX(SoKm) FROM
KHACHHANG)
Trang 10Kết quả:
Liệt kê những nhân viên tổng đài quê ở Hà Nội
SELECT NVTONGDAI.[MaNV], NVTONGDAI.[Hoten],
NVTONGDAI.[NgaySinh], NVTONGDAI.[QueQuan],
NVTONGDAI.[MaPB]
FROM NVTONGDAI
WHERE QueQuan = "Hà Nội"
Kết quả:
Đếm số khách hàng có Số Km đi xe của hãng là lớn hơn 1000
Câu lệnh:
SELECT COUNT(MaKH) FROM KHACHHANG WHERE SoKm >
1000
Kết quả là 8
Liệt kê những nhân viên kinh doanh sinh từ năm 1985 đến 1990
SELECT*
FROM NVKINHDOANH
WHERE year(NgaySinh) BETWEEN 1985 AND 1990
Kết qủa:
Trang 11Phần III: Đánh gía ưu, nhược điểm
3.1 Ưu điểm
Hệ thống đơn giản, dễ sử dụng
Đã lưu được các thông tin khách hàng và số Km mà Khách hang đó đã đi
xe của hãng Từ đó có thể xác định được khách thường, khách vip
Lưu được số lần xe sửa chữa, thời gian của các lần sửa chữa Do vậy có
thể quản lý chất lượng của xe
3.2 Nhược điểm
Chưa quản lý được khách hàng đi theo ngày, tháng, năm nào
Chưa thể hiện được năng suất hoạt động của từng xe
Quản lý tất cả nhân viên là khó khăn, ví dụ như khi tìm tất cả nhân viên
là nữ trong công ty thì phải gộp từng dữ liệu lại với nhau vì không có dữ
liệu chung cho nhân viên toàn công ty