Tải bản đầy đủ (.docx) (55 trang)

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

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 (302.26 KB, 55 trang )

LỜI NÓI ĐẦU
Từ những năm 90 của thế kỷ XX đến nay chúng ta liên tục chứng kiến
những thay đổi mang tính cách mạng của ngành công nghệ thông tin.
Ngày công nghệ thông tin đã đang và sẽ phát triển rất mạnh mẽ; góp
phần xây dựng, thúc đẩy sự phát triển của hầu hết các ngành nghề, các
lĩnh vực.
Sống trong công cuộc CNH-HĐH, các ngành khoa học và 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 dần dần được 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 những tiến
bộ khoa học kỹ thuật mới trên Thế Giới vào trong sản xuất, kinh doanh,..
đem lại thuận tiện trong công việc cũng như góp phần làm cho cơ quan,
hệ thống, phòng ban, công ty, xí nghiệp hoạt động mang tính chuyên
nghiệp và hiệu quả hơn.
Dựa trên thực tế, dựa nhu cầu của khách hàng và yêu cầu của công
ty, ngành công nghệ thông tin đã phân tích thiết kế hệ thống, đưa ra
những phần mềm hữu ích thúc đẩy năng suất, tăng hiệu quả, chất lượng
công việc và giảm rất nhiều chi phí.
Dựa trên nhu cầu thực tế của ngành Giao thông vận tải nói chung và
ngành vận chuyển hành khách nói riêng. Nhu cầu đi lại của nọi người
ngày càng tăng, đặc biệt là trong những dịp cao điểm, lễ tết; việc quản lý
rất phức tạp, tính toánh sắp xếp lịch trình, chuyến xe, tuyến xe, bán vé,
nhận ghế, thanh toán tốn rất nhiều thời gian, công sức của nhân viên và
chi phí công ty. Vậy, các hệ thống xe khách liên tỉnh, các công ty xe
khách cần một 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à vẫn đáp


ứng, phục vụ được nhu cầu cầu của khách hàng một cách tốt nhất,
chuyên nghiệp và hiệu quả nhất.



PHẦN BÀI CHÍNH
KHẢO SÁT HIỆN TRẠNG
1.Đánh giá hiện trạng
1.1 Đánh giá thức tế
Thực trạng hiện nay các công ty vận tải hành khách gặp phải:








Tốn quá 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, mất 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ý mọi thứ trên giấy tờ, thống kê trên sổ sách.
Thiếu tính chuyên nghiệp, giữa các chi nhánh với nhau thông tin
dữ liệu khó có thể thông suốt cùng mộ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 những dịp cao điểm, lễ, tết, khách hàng muốn mua vé thì phải
xếp hàng, đợi chờ rất lâu, chen lấn, thậm chí chờ một thời gian dài
mà không mua được vé. Làm mất rất nhiều thòi gian, công sức của
khách hàng.



2. Mục tiêu của hệ thống
Từ thực tế đặt ra, tôi nhận thấy xây dựng một hệ thống đặt vé xe
khách liên tỉnh là vô cùng cần thiết. Mục tiêu của nhóm là xây dựng và
triển khai hệ thống đặt vé xe khách liên tỉnh.
Mục tiêu:
• Xây dựng một hệ thống giúp khách hàng có thể đặt vé trực
tuyến.
• Hỗ trợ nhân viên có thể dễ dàng thực hiện các nghiệp vụ
quản lý các chuyến xe của công ty.
• Nhân viên bán vé có thể 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.
3. Phương pháp,đối tượng và đị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: các thông tin về tuyến xe liên tỉnh, giá cả,
nhà xe, hành khách, công việc của nhân viên, xây dựng cơ sở dữ
liệu…
4. Lựa chọn công nghệ thực hiện:
- Cơ sở dữ liệu:
Phạm vi nghiên cứu ở một số bến xe, nên nhóm lựa chọn
ngôn ngử quản trị CSDL SQL 2010.


Chức năng của hệ thống
• Chức năng quản trị: Tạo, xóa, sửa tài khoản đăng nhập hệ
thống.
• Chức năng quản lý
 Quản lý đặt vé: Đặt vé, hủy vé và sửa thông tin về 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 và sửa thông tin xe.
• Chức năng khách hàng: Xem, tìm kiếm thông tin về 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: có quyền tìm kiếm, xem thông tin về lịch trình xe
chạy.
• Nhóm người sửa dụng bình thường: Gồm cả quyền của khách
và có thêm quyền đặt vé, hủy vé, sửa thông tin về vé của
mình.
• Nhóm nhân viên: Bao gồm quyền của người sửa dụng bình
thường và có thêm quyền cập nhật thông tin về lịch trình xe
chạy, tạo mới, hủy lịch trình. Cập nhật các thông tin về xe, số
ghế ngồi.
• Nhóm quản trị: Gồm tất cả quyển của các nhóm khác và
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 năng
a. Quản trị
Để thực hiện tính năng này thì người sử dụng phải đăng nhập
vào hệ thống với tài khoản của quản trị viên.
Khi thực hiện yêu cầu của người sử dụng thì hệ thống phải
kiểm tra tính đúng đắn của dữ liệu.
• Quản lý tài khoản người dung
 Tạo mới tài khoản: Hệ thống kiểm tra xem tài khoản
này đã có trong CSDL không. Kiểm tra thông tin về
nhân viên được cấp tài khoản có đúng đắn hay không

như tên ngày tháng năm sinh.
 Xóa tài khoản: Kiểm tra tài khoản đó có được 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 hiện chức năng này người sử dụng phải đăng nhập
vào hệ thống với tài khoản của nhân viên.
Hệ thống cho phép tạo mới, sửa, xóa tuyến xe
Khi thực hiện yêu cầu này của người sử dụng hệ thống phải
kiểm tra tính đúng đắn của thông tin. Dữ liệu không xung đột với
nhau.
 Tạo mới Tuyến: Hệ thống kiểm tra tuyến mới thêm đã
có trong CSDL chưa. Kiểm tra các thông tin về lịch
trình có đúng đắng không.
 Hủy Tuyến: Hệ thống kiểm tra Tuyến đã có trong
CSDL chưa. Kiểm tra các thông tin về ltuyến có đúng
đắn không.


Sửa đổi thông tin về lịch trình: kiểm tra tuyến muốn sửa
có tồn tại trong CSDL không. Kiểm tra các thông tin
sửa đổi có đúng đắn hay không.
• Quản lý Chuyến
Để thực hiện chức năng này người sử dụng phải đăng nhập
vào hệ thống với tài khoản của nhân viên.
Hệ thống cho phép tạo mới, sửa, xóa chuyến xe
Khi thực hiện yêu cầu này của người sử dụng hệ thống phải
kiểm tra tính đúng đắn của thông tin. Dữ liệu không xung đột với
nhau.

 Tạo mới Chuyến: Hệ thống kiểm tra Chuyến mới thêm
đã có trong CSDL chưa. Kiểm tra các thông tin về lịch
trình có đúng đắng không.
 Hủy Chuyến: Hệ thống kiểm tra Chuyến đã có trong
CSDL chưa. Kiểm tra các thông tin về ltuyến có đúng
đắn không.
 Sửa đổi thông tin về lịch trình: kiểm tra Chuyến muốn
sửa có tồn tại trong CSDL không. Kiểm tra các thông
tin sửa đổi có đúng đắn hay không.
• Quản lý Vé
Để thực hiện chức năng này người sử dụng phải đăng nhập
vào hệ thống với tài khoản của nhân viên.
Hệ thống cho phép tạo mới, sửa, xóa vé
Khi thực hiện yêu cầu này của người sử dụng hệ thống phải
kiểm tra tính đúng đắn của thông tin. Dữ liệu không xung đột với
nhau.
 Tạo mới Vé: Hệ thống kiểm tra Vé mới thêm đã có
trong CSDL chưa. Kiểm tra các thông tin về vé có đúng
đắng không.
 Hủy Tuyến: Hệ thống kiểm tra vé đã có trong CSDL
chưa. Kiểm tra các thông tin về vé có đúng đắn không.



Sửa đổi thông tin về vé: kiểm tra vé muốn sửa có tồn tại
trong CSDL không. Kiểm tra các thông tin sửa đổi có
đúng đắn hay không.
• Quản lý Đặt vé
Để thực hiện chức năng này người sử dụng phải đăng nhập
vào hệ thống với tài khoản của 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é của mọi khách hàng khi họ gọi điện thoại yêu cầu.
Khi thực hiện yêu cầu này của người sử dụng hệ thống phải
kiểm tra tính đúng đắn của thông tin. Dữ liệu không xung đột với
nhau.
 Đặt vé: đặt vé theo yêu cầu của khách hàng
 Hủy vé: xác nhận vé khách hàng muốn hủy có tồn tại
trong CSDL không. Hủy vé theo yêu cầu của khách
hàng..
 Sửa đổi thông tin vé: xác nhận vé khách hàng muốn đổi
có tồn tại trong 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 có thể xem thông tin lịch trình của
các chuyến xe gổm: Điểm đến , ngày giờ đi, giá vé, số ghế.
• Xem thông tin về đặt vé
 Nhân viên có thể xem thông tin về toàn bộ khách hàng
đặt vé.
 Khách hàng chỉ có thể xem thông tin đặt vé của mình


2.4 Thiết kế cơ sở dữ liệu
Dữ liệu đóng một vai trò quan trọng trong hệ thống. Tất cả các
hoạt động cả hệ thống điều lên quan đến cơ sở dữ liệu. Mỗi một chức


năng trong hệ thống khi hoạt động đểu cần đến dữ liệu. Vì vậy việc thiết
kế CSDL là công việc quan trong quyết định chất lượng của cả hệ thống.
CSDL sẽ được thiết kế theo mô hình ER hạn chế và 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ế có một mã số duy nhất là( ID_TaiXe) ,
có họ tên(TenTaiXe), có số điện thoại liện hệ
(SDT), số căn cước (CMND), và giới tính của tài
xế đó (GioiTinh).
 Thực thể Xe
Mỗi xe sẽ có một biển số làm khóa chính (SoXe),
hiệu xe (HieuXe) và số chổ ngồi của mỗi xe
(SoChoNgoi)
 Thực thể DiemDen
Mỗi địa sẽ có một mã nhất định (ID_DiaDiem),
tên địa điểm (TenDiaDiem)
 Thực thể Tuyen
Mỗi tuyến xe sẽ có một mã số nhất định
(ID_Tuyen), tên tuyến (TenTuyen), thông tin
điểm đến (ID_DiemDen), Thông tin điểm đi
(ID_DiemDi)















Thực thể Chuyen
Mỗi chuyến xe sẽ có một mã số nhất định
(ID_Chuyen) ngày khởi hành (NgayDi), giờ 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ẽ có một số ghế (SoGhe), và nó sẽ
thuộc xe nào (SoXe)
Thực thể Ve
Mỗi vé sẽ có một mã số vé (ID_Ve), giá vé
(GiaVe), thuộc chuyến xe nào (ID_Chuyen)
Thực thể ChiTieVe
Chi tiết vé sẽ 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 có một mã số duy nhất là số căn
cức( CMND), họ và tên của khách hàng
(TenKhachHang), địa chỉ liên lạc của 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 có một mã duy nhất
(ID_PhuongThuc), tên phương thức
(TenPhuongThuc), nội dung thanh toán

(NoiDungTT)




Thực thể DatVe
Mỗi lần đặt vé sẽ có một mã nhất định
(ID_DatVe), có ngày đặt vé (NgayDK),số căn cức
của người đặt (CMND), mã phương thức thanh
toán (ID_PhuongThuc), mã vé đặt (ID_Ve)

2.4.2 Thiết kế dữ liệu
a.Bảng KhachHang
St
Thuộc Tính
Kiểu
t
1 CMND
Varchar
2
3
4
5

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ỉ của
chủ tài
khoản
Email
NVarchar 50
Địa chỉ
mail của 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
1
2
3


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


4
5

CMND
GioiTinh

Varchar
Nvarchar

c.Bảng Xe
St

Thuộc
t
Tính

Kiểu

1
2
3

SoXe
HieuXe
SoChoiNgo
i

12
3

của tài xế
Số CMND
Giới tính của tài
xế

Kích PK FK
Diễn giải
thướ
c
Varchar
10
X

Số xe
NVarchar 30
Hiệu xe
int
Số chổ ngồi
của xe


d.Bảng DiaDiem
Stt Thuộc Tính
1
2

ID_DiaDie
Varchar
m
TenDiaDiem Nvarchar

e.Bảng Tuyen
St Thuộc Tính
t
1 ID_Tuyen
2 TenTuyen
3
4

Kiểu

Kích PK FK
Diễn giải

thướ
c
10
X
Địa điểm
50

Tên của địa
điểm

Kích PK FK
Diễn giải
thước
Varchar
10
X
Mã tuyến
Nvarcha
50
Tên tuyến
r
ID_DiemDi
Varchar
10
X Mã điểm đi
ID_DiemDen Varchar
10
X Mã điểm đến

f.Bảng Chuyen

St Thuộc Tính
t
1 ID_Chuyen
2 NgayDi
3
4

Gio
SoLuongGh
e

5
6
7

SoXe
ID_Tuyen
ID_TaiXe

Kiểu

Kiểu

Kích PK FK
Diễn giải
thước
Varchar
10
X
Mã chuyến xe

Date
Ngày khởi
hành
Time
Giờ khởi hành
Int
Số lượng ghế
cho hành
khách
Nvarchar 30
X Biển số xe
Varchar
10
X Mã tuyến đi
Varchar
10
X Mã tài xế


g.Bảng Ve
St
Thuộc
Kiểu Kích PK FK
Diễn giải
t
Tính
thước
1 ID_Ve
Varchar 10
X

Mã vé
2 Giá
Money
Giá vé
3 ID_Chuyen Varchar 10
X Mã chuyến xe
h.Bảng Ghế
St
Thuộc
t
Tính
1 SoGhe
2 SoXe

Kiểu

Kích PK FK
Diễn giải
thước
Varchar
10
X
Số ghế
Nvarcha
10
X Số xe của ghế đó
r

j.Bảng ChiTietVe
St

Thuộc
Kiểu
Kích PK FK
Diễn giải
t
Tính
thước
1 ID_Ve
Varchar
10
X X Mã vé
2 ID_Ghe
varchar
10
X X Mã ghế
3 TrangThai NVarchar 10
Trạng thái đã
đặt hay chưa
k.Bảng PhuongThucTT
St
Thuộc Tính
t
1

ID_PhuongThucT
T

Kiểu
Varchar


Kích PK FK Diễn
thướ
giải
c
10
X

phương
thức
thanh


2

TenPhuongThuc

Nvarchar

50

3

NoiDungTT

NVarchar

100

l.Bảng DatVe
St

Thuộc Tính
t
1

ID_DatVe

2

NgayDk

3

CMND

4

ID_PhuongThucT
T

Kiểu

toán
Tên
phương
thức
thanh
toán
Nội
dung
thanh

toán

Kích P FK Diễ
thước K
n
giả
i
Varchar
10
X

đặt

Smalldatetime
Ng
ày
đặt

Varchar
12
X C
M
ND
ng
ười
đặt
Varchar
10
X Mã
ph

ươ
ng
thứ


5

ID_Vé

Varchar

10

X

c


đặt


2.4.3 Thiết kế dữ liệu


2.4.4 Thiết kế dữ liệu trên SQL
a.Tạo Database
CREATE DATABASE QuanLyBanVe2
GO
USE QuanLyBanVe2
GO

b.Tạo bảng
CREATE TABLE DiaDiem
(
ID_DiaDiem VARCHAR(10) PRIMARY KEY,
TenDiaDiem NVARCHAR(50)
)

CREATE TABLE Tuyen
(
ID_TUYEN VARCHAR(10) PRIMARY KEY,
TenTuyen NVARCHAR(50),
ID_DiemDi VARCHAR(10),
ID_DiemDen VARCHAR(10)
)
CREATE TABLE Xe
(
SoXe VARCHAR(10) PRIMARY KEY,
HieuXe NVARCHAR(30),
SoChoNgoi INT
)


CREATE TABLE TaiXe
(
ID_TaiXe VARCHAR(10) PRIMARY KEY,
TenTaiXe NVARCHAR(50),
SDT VARCHAR(15),
CMND VARCHAR(12),
GioiTinh NVARCHAR(3)
)

CREATE TABLE Chuyen
(
ID_Chuyen VARCHAR(10) PRIMARY KEY,
NgayDi SMALLDATETIME,
GioDi TIME,
SoLuongGhe INT,
SoXe VARCHAR(10),
ID_Tuyen VARCHAR(10),
ID_TaiXe VARCHAR(10)
)
CREATE TABLE Ghe
(
SoGhe VARCHAR(10) PRIMARY KEY,
SoXe VARCHAR(10)
)


CREATE TABLE KhachHang
(
CMND VARCHAR(12) PRIMARY KEY,
TenKhachHang NVARCHAR(30),
DiaChi NVARCHAR(50),
Email NVARCHAR(50),
SDT VARCHAR(15)
)
CREATE TABLE Ve
(
ID_Ve VARCHAR(10) PRIMARY KEY,
GiaVe MONEY,
ID_Chuyen VARCHAR(10)

)
CREATE TABLE ChiTietVe
(
ID_Ve VARCHAR(10) UNIQUE,
SoGhe VARCHAR(10),
TrangThai NVARCHAR(10)
CONSTRAINT PK_ChiTietVe_ID_Ve_SoGhe
PRIMARY KEY(ID_Ve,SoGhe)
)
CREATE TABLE PhuongThucTT
(
ID_PhuongThucTT VARCHAR(20) PRIMARY KEY,
TenPhuongThuc NVARCHAR(50),
NoiDungTT NVARCHAR(100)
)


CREATE TABLE DatVe
(
ID_DatVe VARCHAR(10) PRIMARY KEY,
NgayDK SMALLDATETIME,
CMND VARCHAR(12),
ID_PhuongThucTT VARCHAR(20),
ID_Ve VARCHAR(10)
)
c.Tạo ràng buộc dữ liệu
-- Tao Khoa Ngoai-ALTER TABLE Tuyen ADD CONSTRAINT
FK_Tuyen_ID_DiemDi FOREIGN KEY(ID_DiemDi)
REFERENCES DiaDiem(ID_DiaDiem)


ALTER TABLE Tuyen ADD CONSTRAINT
FK_Tuyen_ID_DiemDen FOREIGN KEY(ID_DiemDen)
REFERENCES DiaDiem(ID_DiaDiem)
ALTER TABLE Chuyen ADD CONSTRAINT FK_Chuyen_SoXe
FOREIGN KEY(SoXe) REFERENCES Xe(SoXe)
ALTER TABLE Chuyen ADD CONSTRAINT
FK_Chuyen_ID_Tuyen FOREIGN KEY(ID_Tuyen)
REFERENCES Tuyen(ID_Tuyen)
ALTER TABLE Chuyen ADD CONSTRAINT
FK_Chuyen_ID_TaiXe FOREIGN KEY(ID_TaiXe)
REFERENCES TaiXe(ID_TaiXe)


ALTER TABLE Ghe ADD CONSTRAINT FK_Ghe_SoXe
FOREIGN KEY(SoXe) REFERENCES Xe(SoXe)

ALTER TABLE ChiTietVe ADD CONSTRAINT
FK_ChitietVe_ID_Ve FOREIGN KEY(ID_Ve) REFERENCES
Ve(ID_Ve)
ALTER TABLE ChiTietVe ADD CONSTRAINT
FK_ChiTietVe_SoGhe FOREIGN KEY(SoGhe) REFERENCES
Ghe(SoGhe)
ALTER TABLE Ve ADD CONSTRAINT FK_Ve_ID_Chuyen
FOREIGN KEY(ID_Chuyen) REFERENCES
Chuyen(ID_Chuyen)

ALTER TABLE DatVe ADD CONSTRAINT FK_DatVe_CMND
FOREIGN KEY(CMND) REFERENCES KhachHang(CMND)
ALTER TABLE DatVe ADD CONSTRAINT
FK_DatVe_ID_PhuongThucTT FOREIGN

KEY(ID_PhuongThucTT) REFERENCES
PhuongThucTT(ID_PhuongThucTT)

ALTER TABLE DatVe ADD CONSTRAINT FK_DatVe_ID_Ve
FOREIGN KEY(ID_Ve) REFERENCES Ve(ID_Ve)
d.Tạo câu truy vấn


--1.Xuất thông tin tuyến đi-SELECT 'Mã tuyến' = ID_Tuyen,'Tên tuyến' = TenTuyen,'Điểm đi'
= d1.TenDiaDiem,'Điểm đến' = d2.TenDiaDiem
FROM Tuyen,DiaDiem d1, DiaDiem d2
WHERE Tuyen.ID_DiemDi = d1.ID_DiaDiem
AND Tuyen.ID_DiemDen = d2.ID_DiaDiem

--2.Đếm số tuyến có điểm đi là TPHCM-SELECT COUNT(ID_TUYEN) AS 'Số Lượng'
FROM Tuyen, DiaDiem
WHERE Tuyen.ID_DiemDi = DiaDiem.ID_DiaDiem
AND TenDiaDiem = N'TP Hồ Chí Minh'
--3.Xuất ra ds giờ đi của tuyến Tp HCM - Long An trong ngày 3005-2016-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 = 'Tp HCM - Long An'
AND NgayDi = '05/30/2016'

--4.Tìm DS các tài xế đã từng chạy xe 59A7-12345-SELECT 'Tên tài xế' = TenTaiXe, 'Ngày chạy' = NgayDi, 'Giờ đi' =
GioDi
FROM TaiXe T, Chuyen C
WHERE T.ID_TaiXe = C.ID_TaiXe
AND SoXe = '59A7-12345'



--5.Đếm số lần xe 59A7-12345 chạy trong tháng 5 năm 2016-SELECT 'Số lần' = COUNT (C.SoXe)
FROM Chuyen C
WHERE C.SoXe = '59A7-12345'
AND MONTH(NgayDi) = 5
AND YEAR(NgayDi) = 2016
--6.Tìm DS chi tiết các xe mà tài xế Nguyễn Huy Hoàng đã chạy
trong tháng 5-SELECT 'Số xe:' = Chuyen.SoXe,'Số chổ ngồi' = SoChoNgoi,
'Hiệu xe' = HieuXe, 'Tên Tuyến' = TenTuyen
FROM Chuyen,Xe,TaiXe,Tuyen
WHERE Chuyen.ID_Tuyen = Tuyen.ID_Tuyen
AND TaiXe.ID_TaiXe = Chuyen.ID_TaiXe
AND Xe.SoXe = Chuyen.SoXe
AND TenTaiXe = N'Nguyễn Huy Hoàng'
AND MONTH(NgayDi) = 5
--7.Liệt kê các tuyến có ít nhất 2 chuyến trong ngày 30/5/2016-SELECT 'Mã tuyến' = Chuyen.ID_Tuyen
FROM Chuyen
WHERE NgayDi = '05/30/2016'
GROUP BY Chuyen.ID_Tuyen
HAVING COUNT(ID_Chuyen)>=2
--8.Liệt kê những tài xế làm việc từ ngày 1/6/2016 đến ngày
2/6/2016
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('06/01/2016','06/02/2016')



--9.Tìm chuyến đi có tuyến đi là TP Hồ Chí Minh - Lâm Đồng, vào
ngày 30 tháng 05 năm 2016 và sắp xếp giờ đi theo thứ tự giảm
dần-SELECT 'Mã Chuyến' = ID_Chuyen,'Tên tuyến' = TenTuyen,'Giờ
đi' = GioDi
FROM Chuyen,Tuyen
WHERE Chuyen.ID_Tuyen=Tuyen.ID_TUYEN
AND TenTuyen=N'Tp HCM - Lâm Đồng'
AND NgayDi='05/30/2016'
ORDER BY GioDi
--10.Tìm xe mà tài xế Nguyễn Huy Hoàng chạy nhiều nhất-- chưa
làm đc
SELECT 'Số xe' = SoXe
FROM Chuyen, TaiXe
WHERE Chuyen.ID_TaiXe = TaiXe.ID_TaiXe
AND TenTaiXe = N'Nguyễn Huy Hoàng'
HAVING COUNT(SoXe) > (SELECT COUNT(SoXe)
FROM Chuyen,TaiXe
WHERE Chuyen.ID_TaiXe =
TaiXe.ID_TaiXe
AND TenTaiXe = N'Nguyễn Huy
Hoàng')
--11.Tìm số ghế còn trống của xe 59A7-12345-SELECT 'Số ghế trống' = COUNT(TrangThai)
FROM Xe,Ghe,ChiTietVe
WHERE Ghe.SoXe = XE.SoXe
AND Ghe.SoGhe = ChiTietVe.SoGhe
AND ghe.SoXe = '59A7-12345'
AND TrangThai = N'Trống'


--12.Kiểm tra xem số ghế 01 ở xe 59A7-12345 chuyến c_1 đã đc

đặt hay chưa-SELECT 'Số Ghế' = ChiTietVe.SoGhe, 'Tình Trạng' = TrangThai
FROM Ghe,ChiTietVe,Ve
WHERE Ghe.SoGhe = ChiTietVe.SoGhe
AND ChiTietVe.ID_Ve = Ve.ID_Ve
AND ID_Chuyen = 'c_1'
AND SoXe = '59A7-12345'
AND ChiTietVe.SoGhe = '12345_01'
--13.Đếm tống số vé chưa được bán của c_1-SELECT 'Trạng thái' = TrangThai, COUNT(ve.ID_Ve)
FROM ChiTietVe, Ve, Chuyen
WHERE ChiTietVe.ID_Ve = Ve.ID_Ve
AND Ve.ID_Chuyen = Chuyen.ID_Chuyen
AND Ve.ID_Chuyen = 'c_1'
AND TrangThai = N'Trống'
GROUP BY TrangThai

--14.Tìm số ghế còn trống của xe 59A7-12345-SELECT 'Số ghế đã đặt' = COUNT(TrangThai)
FROM Xe,Ghe,ChiTietVe
WHERE Ghe.SoXe = XE.SoXe
AND Ghe.SoGhe = ChiTietVe.SoGhe
AND ghe.SoXe = '59A7-12345'
AND TrangThai = N'Đã đặt'


×