Tải bản đầy đủ (.doc) (17 trang)

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 Mai Linh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.27 MB, 17 trang )

Đề 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 Mai Linh
Giới thiệu doanh nghiệp

Tập đoàn Mai Linh được mọi người biết đến không còn đơn thuần là tên của một
công ty, mà nó đã là tên của một thương hiệu nổi tiếng trên đất nước Việt Nam
- Trải qua gần 15 năm hoạt động, với tiêu chí phục vụ “An toàn - Chất lượng - Mọi
lúc - Mọi nơi”, Công ty Cổ phần Tập Đoàn Mai Linh (MLG) đã gặt hái được nhiều
thành công trên 8 lĩnh vực kinh doanh, với mạng lưới thông tin rộng khắp 50 tỉnh
thành tại Việt Nam và dự kiến đến năm 2007 sẽ phủ kín 64 tỉnh thành và các nước
lân cận: Trung Quốc, Lào, Campuchia,…giải quyết công việc cho hơn 10.000
người. Có văn phòng đại diện kinh doanh tại: Mỹ, Campuchia, Nga và đang xúc
tiến tại các nước Anh, Pháp, Nhật, Singapore, Thái Lan,… vì vậy việc quản lý phải
được ứng dụng những công nghệ tiên tiến nhất .

Quản lý Taxi
công ty taxi MAI LINH phục vụ chuyên chở khách hàng trong phạm vi thành phố.
Quản lý xe:
- Mỗi xe taxi được gán một mã số để phân biệt, cùng các thông tin như biển số,
model, số chỗ ngồi, hảng sản xuất và định mức tiêu thụ nhiên liệu. Mỗi xe taxi do
một tài xế phụ trách. Mỗi tài xế có một mã số phân biệt, tên, địa chỉ….Các tài xế sẽ
liên lạc với công ty qua bộ đàm trên xe.
- Công ty tổ chức các đội xe theo từng khu vực có mã số, tên và có một địa điểm
cho taxi đậu khi không có khách. Mỗi xe sẽ trực thuộc một khu vực.


Để phục vụ cho việc tiếp nhiên liệu, mỗi khu vực sẽ có một địa điểm cho các taxi
đổ xăng, nhớt ….Tại đây, tài xế sẽ phải ký nhận vào phiếu tiếp nhiên liệu gồm các
chi tiết ngày,bien so xe, số lít xăng, số lượng nhớt.
- Để dễ dàng theo dõi lộ trình và thời gian, công ty lập danh sách các lộ trình bao
gồm: khu vực đi, khu vực đến, số km và thời gian trung bình.


- Hoạt động chuyên chở khách :
khi khách có nhu cầu dùng taxi sẽ gọi điện cho văn phòng công ty. Tại đây, nhân
viên trực ban sẽ xác định địa điểm thuộc khu vực nào, nếu trong khu vực đó còn xe
sẽ điều xe đó di đón khách. Nếu không thì tìm xe khác trong các khu vực lân cận. - Sau đó, trực ban sẽ ghi phiếu điều xe gồm các chi tiết như từ khu vực, đến khu
vực, ngày giờ để đối chiếu với tài xế cuối tháng, các thông tin khác như số km và
tiền thu được sẽ được tài xế báo lại sau khi thu tiền khách.
- Mỗi tài xế sau khi đưa khách đến nơi khách yêu cầu, căn cứ vào máy tính tiền tự
động trên xe theo số km mà sẽ thu tiền và ghi vào sổ lộ trình của xe mình các chi
tiết như trên phiếu điều xe.

PHẦN I. LƯỢC ĐỒ ER


STT

Đối tượng

Dữ liệu cần lưu trữ

1

Xe

Biển số, model, số chỗ ngồi, định mức tiêu thụ xăng, hãng
sản xuất.

2

Khu vực


Mã khu vực , tên gọi, địa điểm đậu taxi, địa điểm đổ xăng.

3

Tài xế

Họ tên, mã số phân biệt, địa chỉ.

4

Lộ trình

Khu vực đi , khu vực đến , số km, thời gian trung bình,
ngày giờ.

5

Phiếu điều xe

Từ khu vực, đến khu vực, ngày giờ.

6

Khách hàng

Số điện thoại, khu vực, thời gian đón khách, loại xe, số
lượng.

7


Phiếu tiếp nhiên liệu Chi tiết ngày, bien so, số lít xăng, số lượng nhớt.

8

Sổ lộ trình

Từ khu vực, đến khu vực, ngày giờ, số km, tiền thu được.

9

NV trực ban

Mã NV, họ tên , ca trực.

 Giải thích mối quan hệ trong sơ đồ E/R:
1. Liên kết Xe – Tài xế : liên kết một-một(1-1) mỗi xe taxi do một tài xế
phụ trách , mỗi tài xế phụ trách một taxi.


2. Liên kết Xe – Khu vực : liên kết một – nhiều (1-n) mỗi xe trực thuộc 1
khu vực, mỗi khu vực có nhiều taxi.
3. Liên kết Xe – Lộ trình : liên kết nhiều – một (1-n) mỗi xe có nhiều lộ
trình, mỗi lộ trình có nhiều xe đi qua.
4. Liên kết Xe - NV trực ban : liên kết một – nhiều (1-n) mỗi xe do các
NV trực ban phụ trách, mỗi NV trực ban phụ trách điều nhiều xe.
5. Liên kết Tài xế - Sổ lộ trình : liên kết một – một (1-1) mỗi tài xế có một
sổ lộ trình, mỗi sổ lộ trình do 1 tài xế ghi lại.
6. Liên kết Tài xế - Phiếu tiếp nhiên liệu : liên kết một – một (1-1) mỗi tài
xế kí nhận 1 phiếu tiếp nhiên liệu, mỗi phiếu tiếp nhiên liệu do 1 tài xế
kí nhận.

7. Liên kết Nhân viên trực ban - Phiếu điều xe : liên kết một- nhiều (1-n)
mỗi NV trực ban ghi lại các phiếu điều xe , mỗi phiếu điều xe do 1 NV
trực ban ghi lại.
8. Liên kết NV trực ban – Khách hàng : liên kết một- nhiều (1-n) mỗi NV
trực ban tiếp nhận các cuộc gọi từ khách hàng, mỗi khách hàng gọi đến
có thể gặp các NV khác nhau.

KV đi
KV đến

Sổ lộ trình

Tiền thu

Phiếu tiếp nhiên
liệu

SL xăng

1

Biển số

Ngày
giờ
Số Km

ngày

ghi


Mã TX

1


nhận

SL xăng

Đ đ đậu taxi
Tên gọi


1

Họ tên

1

Khu
vực
n

Tài xế
Mã KV

Địa chỉ

mod


Biển
số

Phụ
trách

el

1

Đ đ đổ
xăng

Số chỗ

ngồi
ngồi

Trực
thuộc

1

thuộc

xe
Định mức tiêu thụ
xăng


KV đi

1



Điều
Họ
tên

KV đến

n
Ngày giờ

Hãng sx

1

Lộ trình


NV

Ngày giờ

n

NV trực ban


1

n

Ghi

Phiếu điều xe

1

Số Km
Ca
trực
Thời gian TB

KV đi
Gọi
n

Khách hàng

Số ĐT

Ma kv

Số
lượng

Thời gian


Loại xe

KV đến


PHẦN II: BIẾN ĐỔI SƠ ĐỒ E/R THÀNH LƯỢC ĐỒ QUAN HỆ

* Lược đồ quan hệ
1.
XE
(
BIEN_SO,
MODEL,
SO_CHO_NGOI,
MUC_TIEU_THU_XANG, MA_TX, MA_KV )

HANGSX,

2. KHU_VUC ( MAKV, TEN_GOI, DD_DAU_TAXI, DD_DO_XANG )
3. TAI_XE ( MA_TX, HO_TEN, DIA_CHI)
4. LO_TRINH ( KV_DI, KV_DEN, NGAY_GIO, SOKM, THOI_GIAN_TB,
BIEN_SO )
5. PHIEU_DIEU_XE ( KV_DI, KV_DEN, NGAY_GIO, BIEN_SO, MA_NV)
6. KHACH_HANG ( SDT, MA_KV, THOI_GIAN, LOAI_XE, SO_LUONG,
BIEN_SO )
7. PHIEU_TIEP_NHIEN_LIEU
SL_NHOT )

(


NGAY_GIO,

BIEN_SO,

SL_XANG,

8. SO_LO_TRINH ( KV_DI, KV_DEN, NGAY_GIO, SOKM, TIEN_THU,
MA_TX )
9. NV_TRUC_BAN ( MA_NV, HO_TEN, CA_TRUC)

*Chuẩn hóa lược đồ quan hệ về dạng 3NF
1.
XE
(
BIEN_SO,
MODEL,
SO_CHO_NGOI,
MUC_TIEU_THU_XANG, MA_TX, MA_KV )

HANGSX,

-Khóa của lược đồ {BIEN_SO; MODEL} , thuộc tính không khóa
{ SO_CHO_NGOI; HANGSX; MUC_TIEU_THU_XANG, MA_TX, MA_KV }
MODEL => SO_CHO_NGOI, HANGSX, MUC_TIEU_THU_XANG.
BIEN_SO => MA_TX, MA_KV.
- Lược đồ đã ở dạng chuẩn 1.
- Lược đồ không ở dạng chuẩn 2 vì các thuộc tính không khóa phụ thuộc bộ
phận vào khóa chính.
- Tách về dạng chuẩn 2,3 : thực thể XE được tách thành



+ XE_1 ( MODEL, SO_CHO_NGOI, HANGSX, MUC_TIEU_THU_XANG)
với khóa chính là (MODEL)
+ XE_2 ( BIEN_SO, MA_TX, MA_KV ) với khóa chính là ( BIEN_SO ).
- Lược đồ XE_1, XE_2 đã ở dạng chuẩn 3 .
2. KHU_VUC ( MAKV, TEN_GOI, DD_DAU_TAXI, DD_DO_XANG )
- khóa của lược đồ { MAKV} , thuộc tính không khóa { TEN_GOI,
DD_DAU_TAXI, DD_DO_XANG }.
MAKV => TEN_GOI, DD_DAU_TAXI, DD_DO_XANG.
- Lược đồ đã ở dạng chuẩn 1.
- Lược đồ ở dạng chuẩn 2 vì các thuộc tính không khóa phụ thuộc đầy đủ vào
khóa chính.
- Lược đồ ở dạng chuẩn 3 vì các thuộc tính không khóa phụ thuộc trực tiếp
vào khóa chính.
3. TAI_XE ( MA_TX, HO_TEN, DIA_CHI).
- khóa của lược đồ { MA_TX } , thuộc tính không khóa { HO_TEN,
DIA_CHI }
MA_TX => HO_TEN, DIA_CHI.
- Lược đồ ở dạng chuẩn 2 vì thuộc tinh không khóa phụ thuộc đầy đủ vào
khóa chính.
- Lược đồ ở dạng chuẩn 3 vì các thuộc tính không khóa phụ thuộc trực tiếp
vào khóa chính.

4. LO_TRINH ( KV_DI, KV_DEN, NGAY_GIO, SOKM, THOI_GIAN_TB,
BIEN_SO )
- khóa của lược đò { KV_DI, KV_DEN, NGAY_GIO, BIEN_SO }, thuộc tính
không khóa { SOKM, THOI_GIAN_TB }.
KV_DI, KV_DEN, NGAY_GIO, BIEN_SO => SOKM, THOI_GIAN_TB.
- Lược đồ ở dạng chuẩn 2 vì thuộc tinh không khóa phụ thuộc đầy đủ vào
khóa chính.



- Lược đồ ở dạng chuẩn 3 vì các thuộc tính không khóa phụ thuộc trực tiếp
vào khóa chính.
5. PHIEU_DIEU_XE ( KV_DI, KV_DEN, NGAY_GIO, BIEN_SO, MA_NV)

- khóa của lược đò { KV_DI, KV_DEN, NGAY_GIO, BIEN_SO, MA_NV }
không có thuộc tính ko khóa => lược đồ ở chuẩn 3
6. KHACH_HANG ( SDT, MA_KV, THOI_GIAN, LOAI_XE, SO_LUONG,
BIEN_SO )
khóa của lược đò { SDT, MA_KV, THOI_GIAN, BIEN_SO } thuộc tính không
khóa { LOAI_XE, SO_LUONG }.
SDT, MA_KV, THOI_GIAN, BIEN_SO => LOAI_XE, SO_LUONG.
- Lược đồ ở dạng chuẩn 2 vì thuộc tinh không khóa phụ thuộc đầy đủ vào
khóa chính.
- Lược đồ ở dạng chuẩn 3 vì các thuộc tính không khóa phụ thuộc trực tiếp
vào khóa chính.
7. PHIEU_TIEP_NHIEN_LIEU ( NGAY_GIO, BIEN_SO, SL_XANG,
SL_NHOT )

khóa của lược đò { NGAY_GIO, BIEN_SO } thuộc tính không khóa { SL_XANG,
SL_NHOT }.
NGAY_GIO, BIEN_SO => SL_XANG, SL_NHOT.

- Lược đồ ở dạng chuẩn 2 vì thuộc tinh không khóa phụ thuộc đầy đủ vào
khóa chính.
- Lược đồ ở dạng chuẩn 3 vì các thuộc tính không khóa phụ thuộc trực tiếp
vào khóa chính.
8. SO_LO_TRINH ( KV_DI, KV_DEN, NGAY_GIO, SOKM, TIEN_THU,
MA_TX )



khóa của lược đò { KV_DI, KV_DEN, NGAY_GIO, MA_TX } thuộc tính không
khóa { SOKM, TIEN_THU }
KV_DI, KV_DEN, NGAY_GIO, MA_TX => SOKM, TIEN_THU
- Lược đồ ở dạng chuẩn 2 vì thuộc tinh không khóa phụ thuộc đầy đủ vào
khóa chính.
- Lược đồ ở dạng chuẩn 3 vì các thuộc tính không khóa phụ thuộc trực tiếp
vào khóa chính.
9. NV_TRUC_BAN ( MA_NV, HO_TEN, CA_TRUC)
khóa của lược đò { MA_NV } thuộc tính không khóa { HO_TEN, CA_TRUC }
MA_NV => HO_TEN, CA_TRUC.
Lược đồ ở dạng chuẩn 2 vì thuộc tinh không khóa phụ thuộc đầy đủ vào khóa
chính.
Lược đồ ở dạng chuẩn 3 vì các thuộc tính không khóa phụ thuộc trực tiếp vào khóa
chính.


PHẦN III: XÂY DỰNG CƠ SỞ DỮ LIỆU TRONG ACCESS
1. Cài đặt cơ sở dữ liệu
Bước 1: Tạo cơ sở dữ liệu
Khởi động MS Access 2007. Chọn Blank database để tạo một cơ sở dữ liệu mới.
Cửa sổ mở ra: trong phần cơ sở dữ liệu ghi tên file vào mục File Name là
TAXI_MAILINH.


Bước 2: Tạo bảng
Trong menu bar chọn create table in design view.

Ghi lại tên file là XE , nhấn OK.



Tạo bảng bằng cách:

 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.
Sau đó lựa chọn thuộc tính khóa bằng cách lựa chọn thuộc tính và nhấn vào primary key

Làm tương tự ta sẽ tạo được các bảng còn lại.
Bước 3: Tạo quan hệ giữa các bảng
Trong menu Bar lựa chọn Tools, sau đó chọn Relationship
Trong 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.


Ta có lược đồ cơ sở dữ liệu như sau:


2.

Thêm vào dữ liệu mẫuĐể thêm dữ liệu mẫu trước hết ta lựa
chọn bảng cần thêm dữ liệu, sau đó nhấn chuột vào Datasheet
View. Sau đó ta lần lượt thêm dữ liệu mẫu vào cơ sở dữ liệu.

Làm tương tự đối với các bảng còn lại.


3. Một số truy vấn – ngôn ngữ SQL

Viết câu truy vấn bằng lệnh SQL trong Access 2007

• Chọn vào tab Create trong Menubar, lựa chọn Query
Design:


Lựa chọn câu lệnh 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.
• Một số ví dụ về câu lệnh truy vấn SQL:
1. Câu lệnh thêm bộ giá trị cho bảng
INSERT INTO NHAN_VIEN_TRUC_BAN ( STT, MA_NV, HO_TEN )
VALUES ( "9","NV 09", "Nguyễn Kiên Chung") Ta có kết quả:


Sau đó nhấn Ctrl + S để lưu kết quả.

2. Xóa bộ giá trị ở bảng TAI_XE có STT=20
DELETE*FROM TAI_XE
WHERE STT=20

3. Thay đổi thuộc tính tên của bộ giá trị có SDT là 0981465513 trong
bảng KHACH_HANG.
UPDATE KHACH_HANG SET SDT= 0923009003
WHERE SDT= 981465513

4. Đưa ra số điện thoại của các khách hàng trong bảng
KHACH_HANG
SELECT DISTINCT SDT

FROM KHACH_HANG



×