Đề tài Tìm hiểu xây dựng website du lịch travelling_mrt

Ngày nay, khoa học công nghệ đã có những bước phát triển mạnh mẽ cả về chiều rộng lẫn chiều sâu. Máy tính đã trở thành một công cụ làm việc, giải trí thông dụng của con người không những ở công sở mà thậm chí còn ở ngay trong gia đình. Sự phát triển của công nghệ thông tin là tiền đề cho sự phát triển của các ngành khoa học khác. Đi cùng với sự phát triển của khoa học công nghệ, thương mại điện tử ngày nay đã trở thành 1 ngành kinh tế mũi nhọn trên thế giới với nhiều hình thức đa dạng Nhờ vào sự phát triển của các phương tiện truyền thông, đặc biệt là sự phát triển của tin học đã tạo điều kiện cho mọi người có thể giao tiếp với nhau 1 cách nhanh chóng và dễ dàng hơn thông qua các dịch vụ internet. Vì là 1 môi trường truyền thông rộng khắp thế giới nên thông tin có thể được giới thiệu tới từng người một cách nhanh chóng và thuận lợi. Chính vì vậy đã tạo điều kiện thuận lợi cho thương mại điện tử thông qua internet và nhanh chóng trở thành phổ biến thế giới, trở thành một công cụ mạnh mẽ đê bán hàng và quảng cáo hàng hoá của các nhà cung cấp. Đối với khách hàng thì có thể lựa chọn, so sánh những loại hàng hoá phù hợp về giá cả hàng hoá, dịch vụ, chất lượng . Trong phạm vi bài thực tập này, em đã nghiên cứu tìm hiểu cấu trúc và mô hình hoạt động của một Website giới thiệu du lịch, và từ đó ứng dụng vào bài làm của mình. Website được xây dựng cơ bản trên nền tảng của ngôn ngữ PHP, với sự hỗ trợ của công cụ để xây dựng nó là Draemwave. Website được chạy thử trên localhost của Xampp, phiên bản 1.6.8 . Đồng thời, em cũng nghiên cứu tìm hiểu CakePHP Framework, học cách cấu hình và sử dụng cơ bản của nó, mặc dù chưa được chuyên sâu nhưng em sẽ cố gắng để tìm hiểu thêm nó về sau. Trước tiên em xin gửi lời cảm ơn đến thầy Hoàng Anh Việt, là giảng viên trực tiếp hướng dẫn chúng em trong đợt thực tập này. Cảm ơn thầy đã tạo cho chúng em những điều kiện thuận lợi để chúng em có thể hoàn thành tốt đợt thực tập này. Và thứ hai nữa là em muốn gửi lời cảm ơn tới những người bạn của em, đã góp ý và giúp đỡ em rất nhiều trong đợt thực tập này, về tất cả mọi thứ. Vì được hoàn thành trong 1 thời gian ngắn, nên bài làm của em chắc chắn sẽ không thể tránh khỏi những hạn chế và sai sót, nên em mong được thầy và các bạn góp ý để lần sau em có thể làm tốt hơn. Em xin chân thành cảm ơn !

doc65 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2640 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Tìm hiểu xây dựng website du lịch travelling_mrt, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
tt nhà hàng 4.4 Xóa tt địa điểm 5.2 Thêm tt khách sạn 5.3 Sửa tt khách sạn 6.2 Thêm tt phương tiện 5.4 Xóa tt khách sạn 7.2 Thêm tt tour 8.2 Xác nhận đặt tour 9.2 Xem ds đơn đặt tour 6.3 Sửa tt phương tiện 6.4 .Xóa tt phương tiện 7.3 Sửa tt tour 7.4 Xóa tt tour 8.3 Sửa tt đặt tour 8.4 Hủy đặt tour 9.3 Xử lí đơn đặt tour 9.4 Thông báo cho người dùng kết quả xử lí đơn đặt tour II. Các biểu đồ luồng dữ liệu : Biểu đồ luồng dữ liệu mức khung cảnh 2 tác nhân chính tác động lên hệ thống là : Guess Người quản trị hệ thống (NQT) Hình 2 : Biểu đồ luồng dữ liệu mức khung cảnh Hệ thống Website giới thiệu du lịch NQT Guess 1 2 3 4 5 8 7 6 9 10 Hồ sơ dữ liệu : Đăng kí/ Đăng nhập Tìm kiếm thông tin + thông tin trả về Nhận xét, đánh giá bài viết, yêu cầu hỗ trợ trực tuyến... Đặt tour Giải quyết thắc mắc Yêu cầu giải quyết thắc mắc Thông tin thành viên Thông tin đặt tour Nội dung Website ( thông tin về các tour du lịch, địa điểm du lịch, nhà hàng, khách sạn, phương tiện...... Giải đáp thắc mắc. Biểu đồ luồng dữ liệu mức đỉnh Tác nhân ngoài : Guess Người quản trị hệ thống (NQT) Tác nhân trong Quản lý xem thông tin Quản lý bài viết Quản lý thông tin địa điểm du lịch Quản lý thông tin khách sạn Quản lý thông tin nhà hàng Quản lý thông tin phương tiện Quản lý thông tin tour Quản lý đặt tour Quản lý đơn đặt tour Quản lý người dùng Các kho dữ liệu Thông tin đặt tour Thông tin địa điểm Thông tin phương tiên Thông tin khách sạn Thông tin nhà hàng Thông tin bài viết Thông tin tour Thông tin người dùng Hình 3 : Biểu đồ luồng dữ liệu mức đỉnh Ql tt phương tiện Quản lý tt nhà hàng Quản lý tt tour Quản lý đơn đặt tour Quản lý bài viết Quản lý tt khách sạn Quản lý đặt tour Xem thông tin Quản lý tt người dùng Guess TT tour TT người dùng TT bài viết TT địa điểm NQT TT khách sạn TT đặt tour TT nhà hàng TT phương tiện Quản lý tt địa điểm 8 9 10 11 6 12 5 7 2 1 3 4 Hồ sơ dữ liệu : Quản lý, cập nhật thông tin đơn đặt tour Quản lý, cập nhật thông tin địa điểm Quản lý, cập nhật thông tin phương tiện Quản lý, cập nhật thông tin khách sạn Quản lý, cập nhật thông tin nhà hàng Quản lý, cập nhật thông tin bài viết Quản lý, cập nhật thông tin tour Quản lý, cập nhật thông tin đặt tour Xem, tìm kiếm thông tin Thông tin người dùng (với người dùng) Quản lý, cập nhật thông tin người dùng Xem , tìm kiếm thông tin (với người quản trị) Biểu đồ luồng dữ liệu mức dưới đỉnh Biểu đồ phân cấp chức năng 1 : Quản lý xem thông tin Tác nhân ngoài Guess Người quản trị Website (NQT) Các chức năng con Xem thông tin, bài viết Tìm kiếm cơ bản Tìm kiếm nâng cao Kho dữ liệu Nội dung Website Hình 4 : Biểu đồ phân cấp chức năng 1 Tìm kiếm cơ bản Tìm kiếm nâng cao TT nội dung Website NQT Guess 1 2 3 4 5 6 Xem tt ,bài viết Hồ sơ dữ liệu : Xem thông tin Tìm kiếm thông tin (cơ bản) Tìm kiếm thông tin (nâng cao) Tìm kiếm thông tin (cơ bản) Xem thông tin Tìm kiếm thông tin (nâng cao) Biểu đồ phân cấp chức năng 2 : Quản lý bài viết Tác nhân ngoài : Guess Người quản trị Website (NQT) Các chức năng con : Thống kê các bài viết được quan tâm nhiều nhất Thống kê bài viết mới nhất Thống kê bài viết theo chủ đề Thêm bài viết Xóa bài viết Sửa bài viết Các kho dữ liệu Thông tin bài viết Hình 5 : Biểu đồ phân cấp chức năng 2 Xóa bài viết TK Bài viết theo chủ đề TK Bài viết mới nhất Sửa bài viết TK Bài viết được quan tâm nhiều nhất Thêm bài viết Guess NQT Thông tin bài viết 1 2 4 5 6 3 7 8 9 Hồ sơ dữ liệu : Tìm kiếm, xem thông tin Tìm kiếm, xem thông tin Tìm kiếm, xem thông tin Xóa bài viết Sửa bài viết Thêm bài viết Thống kê Thống kê Thống kê Biểu đồ phân cấp chức năng 3 : Quản lý thông tin các địa điểm du lịch Tác nhân ngoài Guess Người quản trị Website (NQT) Tác nhân trong Chức năng xem thông tin Các chức năng con Lọc thông tin các địa điểm du lịch Thêm địa điểm du lịch Sửa thông tin địa điểm du lịch Xóa địa điểm du lịch Các kho dữ liệu Thông tin các địa điểm du lịch Thông tin các địa điểm du lịch đã lọc Hình 6 : Biểu đồ phân cấp chức năng 3 Sửa tt địa điểm du lịch Xóa địa điểm du lịch Thêm địa điểm du lịch Lọc tt địa điểm du lịch Guess NQT TT các địa điểm du lịch Xem thông tin TT địa điểm du lịch đã lọc 3 5 4 2 1 6 Hồ sơ dữ liệu Xóa thông tin Sứa thông tin Thêm thông tin Lọc thông tin Xem, tìm kiếm thông tin Xem, tìm kiếm thông tin Biểu đồ phân cấp chức năng 4 : Quản lý thông tin nhà hàng Tác nhân ngoài Guess Người quản trị Website (NQT) Tác nhân trong Chức năng xem thông tin Các chức năng con Lọc thông tin nhà hàng Thêm nhà hàng Sửa thông tin nhà hàng Xóa thông tin nhà hàng Các kho dữ liệu Thông tin các nhà hàng Thông tin các nhà hàng đã lọc Hình 7 : Biểu đồ phân cấp chức năng 4 Sửa tt nhà hàng Xóa tt nhà hàng Thêm tt nhà hàng Lọc tt nhà hàng Guess NQT Thông tin các nhà hàng Xem thông tin TT nhà hàng đã lọc 3 5 4 2 1 6 Hồ sơ dữ liệu Xóa thông tin Sứa thông tin Thêm thông tin Lọc thông tin Xem, tìm kiếm thông tin Xem, tìm kiếm thông tin Biểu đồ phân cấp chức năng 5 : Quản lý thông tin khách sạn Tác nhân ngoài Guess Người quản trị Website (NQT) Tác nhân trong Chức năng xem thông tin Các chức năng con Lọc thông tin khách sạn Thêm thông tin khách sạn Sửa thông tin khách sạn Xóa thông tin khách sạn Các kho dữ liệu Thông tin các khách sạn Thông tin các khách sạn đã lọc Hình 8 : Biểu đồ phân cấp chức năng 5 Sửa tt khách sạn Xóa tt khách sạn Thêm tt khách sạn Lọc tt khách sạn Guess NQT Thông tin các khách sạn Xem thông tin TT khách sạn đã lọc 3 5 4 2 1 6 Hồ sơ dữ liệu Xóa thông tin Sứa thông tin Thêm thông tin Lọc thông tin Xem, tìm kiếm thông tin Xem, tìm kiếm thông tin Biểu đồ phân cấp chức năng 6 : Quản lý thông tin các phương tiện du lịch Tác nhân ngoài Guess Người quản trị Website (NQT) Tác nhân trong Chức năng xem thông tin Các chức năng con Lọc thông tin các phương tiện du lịch Thêm thông tin các phương tiện du lịch Sửa thông tin các phương tiện du lịch Xóa thông tin các phương tiện du lịch Các kho dữ liệu Thông tin các phương tiện du lịch Thông tin các phương tiện du lịch đã lọc Hình 9 : Biểu đồ phân cấp chức năng 6 Sửa tt phương tiện Xóa tt phương tiện Thêm tt phương tiện Lọc tt các phương tiện DL Guess NQT TTcác phương tiện du lịch Xem thông tin TT phương tiện đã lọc 3 5 4 2 1 6 Hồ sơ dữ liệu Xóa thông tin Sứa thông tin Thêm thông tin Lọc thông tin Xem, tìm kiếm thông tin Xem, tìm kiếm thông tin Biểu đồ phân cấp chức năng 7 : Quản lý thông tin tour Tác nhân ngoài Guess Người quản trị Website (NQT) Tác nhân trong Chức năng xem thông tin Các chức năng con Lọc thông tin các địa điểm du lịch Thêm địa điểm du lịch Sửa thông tin địa điểm du lịch Xóa địa điểm du lịch Các kho dữ liệu Thông tin các địa điểm du lịch Thông tin các địa điểm du lịch đã lọc Hình 10 : Biểu đồ phân cấp chức năng 7 Sửa tt tour Xóa tt tour Thêm tt tour Lọc tt tour du lịch Guess NQT Thông tin tour du lịch Xem thông tin TT tour đã lọc 3 5 4 2 1 6 Hồ sơ dữ liệu Xóa thông tin Sứa thông tin Thêm thông tin Lọc thông tin Xem, tìm kiếm thông tin Xem, tìm kiếm thông tin Biểu đồ phân cấp chức năng 8 : Quản lý đặt tour Tác nhân ngoài Guess Người quản trị Website (NQT) Tác nhân trong Chức năng xem thông tin Các chức năng con Thống kê thông tin các tour Xác nhận đặt tour Sửa thông tin đặt tour Hủy đặt tour Các kho dữ liệu Thông tin tour du lịch Thông tin tour đã thống kê Thông tin đặt tour Hình 11 : Biểu đồ phân cấp chức năng 8 Sửa tt đặt tour Hủy đặt tour Xác nhận đặt tour TK tt các tour Guess NQT Thông tin tour du lịch Xem thông tin TT tour đã thống kê 3 5 4 2 1 Thông tin đặt tour 6 Hồ sơ dữ liệu : Xem, tìm kiếm thông tin Xác nhận đặt tour Sửa thông tin đặt tour Hủy đặt tour Xem, tìm kiếm thông tin Thống kê thông tin các tour Biểu đồ phân cấp chức năng 9 : Quản lý đơn đặt tour Tác nhân ngoài Guess Người quản trị Website (NQT) Tác nhân trong Chức năng đặt tour Các chức năng con Thống kê tình hình đặt tour Xem danh sách đơn đặt tour Xử lý đơn đặt tour Thông báo kết quả xử lý đơn đặt tour Các kho dữ liệu Thông tin đặt tour Hình 12 : Biểu đồ phân cấp chức năng 9: Quản lý đơn đặt tour Xem ds đơn đặt tour Xử lý đơn đặt tour TK tình hình đặt tour Guess NQT Đặt tour 3 5 4 2 1 Thông tin đặt tour Thông báo kết quả xử lý đơn đặt tour 6 Hồ sơ dữ liệu Đặt tour Thống kê Xem thông tin Xử lý thông tin Kết quả xử lý Kết quả xử lý (thông báo về với khách hàng) Biểu đồ phân cấp chức năng 10 : Quản lý người dùng Tác nhân ngoài Người quản trị Website (NQT) Các chức năng con Đăng nhập Thêm thông tin Sửa thông tin Xóa thông tin Các kho dữ liệu Thông tin người dùng Thông tin NQT Hình 13 : Biểu đồ phân cấp chức năng 10 Sửa thông tin Xóa thông tin Thêm thông tin Đăng nhập NQT Thông tin người dùng Thông tin NQT 3 4 2 1 Hồ sơ dữ liệu Đăng nhập Thêm thông tin Sửa thông tin Xóa thông tin Phân tích hệ thống về dữ liệu Các thực thể liên kết : Căn cứ vào hiện trạng của hệ thống ta có các thực thể sau : Thực thể thứ nhất : Tours : Mỗi thực thể tượng trưng cho 1 tour du lịch. Các thuộc tính : Mã tour (Tour_id) : Là trường khóa chính, cho phép phân biệt giữa các tour với nhau. Tên tour (Tour_name) : Là thuộc tính tương ứng với mã tour. Loại tour (Tour_kind) Giới thiệu tour (Tour_introduction) Nội dung tour (Tour_content) : Cho biết nội dung của tour trong suốt cuộc hành trình. Ngày bắt đầu (Tour_start) : Là thuộc tính cho biết ngày bắt đầu xuất phát của tour. Giờ xuất phát (Tour_time) : Là thuộc tính cho biết giờ bắt đầu xuất phát của tour du lịch. Ngày kết thúc (Tour_end) : Là thuộc tính cho biết ngày kết thúc của tour. Số chỗ (Tour_volume) : Là thuộc tính cho biết tour đó có thể có bao nhiêu khách tham quan. Giá tiền đối với người lớn (Tour_price1 ): Cho biết giá tiền tương ứng với mỗi chỗ trong tour dành cho người lớn. Giá tiền đối với trẻ em (Tour_price2 ): Cho biết giá tiền tương ứng với mỗi chỗ trong tour dành cho trẻ em. Tổng thời gian (Tour_sum): Cho biết tour đó kéo dài trong thời gian bao lâu.. Hình ảnh tour (Tour_image) : Hiển thị hình ảnh liên quan đến tour đó. Ghi chú (Tour_note) Members : mỗi thực thể đại diện cho một thành viên, và cũng tượng trưng cho 1 khách hàng. Các thuộc tính : Mã thành viên (Member _id) Tên đăng nhập thành viên (Member_username) Mật khẩu đăng nhập (Member_pass) Họ tên thành viên (Member_fullname) Ngày tháng năm sinh (Member_birth) Email (Member_email) Giới tính (Member_gender) Số điện thoại liên hệ (Member_phone) Địa chỉ (Member_address) : Cho biết địa chỉ của thành viên Số chứng minh thư (Member _identitycard) : Cho biết số chứng minh thư của thành viên.. Tên công ty (Member _company) Ngày đăng kí (Member_date) Quyền thành viên (Member_right) Lần đăng nhập cuối (Member_last) : Cho biết lần đăng nhập cuối của thành viên là khi nào. Ghi chú (Member_note) Thực thể thứ 3 : Hotels : Mỗi thực thể tượng trưng cho 1 khách sạn Các thuộc tính : Mã khách sạn (Hotel_id) : Là trường khóa chính, phân biệt giữa các khách sạn với nhau. Hình ảnh khách sạn(Hotel_image) : Hiển thị hình ảnh về khách sạn đó. Tên khách sạn (Hotel_name) : Cho biết tên của khách sạn, tương ứng với mã khách sạn đã nói ở trên. Hạng (Hotel_star) : cho biết khách sạn đó thuộc loại nào. Địa chỉ khách sạn (Hotel_address) : Cho biết địa chỉ của khách sạn đó. Mã tỉnh (Province_id) : Cho biết khách sạn đó nằm ở tỉnh nào. Số điện thoại (Hotel_phone) : Cho biết số điện thoại liên hệ của khách sạn đó. Ghi chú (Hotel_note) Thực thể thứ 4 : Restaurants : Mỗi thực thể tượng trưng cho một nhà hàng. Các thuộc tính : Mã nhà hàng (Restaurant_id) : Là trường khóa chính, cho phép phân biệt giữa các nhà hàng với nhau. Hình ảnh nhà hàng (Restaurant_image) : Hiển thị hình ảnh về nhà hàng đó. Tên nhà hàng (Restaurant_name) : Cho biết tên của nhà hàng, tương ứng với mã nhà hàng đã nói ở trên. Địa chỉ nhà hàng (Restaurant_address) : Cho biết địa chỉ của nhà hàng đó. Mã tỉnh (Province_id) : Cho biết nhà hàng đó thuộc tỉnh nào. Số điện thoại (Restaurant_phone) : Cho biết số điện thoại liên hệ của nhà hàng đó. Ghi chú (Restaurant_note) Thực thể thứ 5 : Means : Mỗi thực thể tượng trưng cho 1 loại phương tiện. Các thuộc tính : Mã phương tiện (Mean_id) : Là trường khóa chính, cho phép phân biệt giữa các phương tiện khác nhau. Hình ảnh phương tiện (Mean_image) : Hiển thị hình ảnh về phương tiện đó. Tên phương tiện (Meant_name) : Cho biết tên của phương tiện, tương ứng với mã phương tiện đã nói ở trên. Loại phương tiện (Meant_category) : Cho biết phương tiện đó là phương tiện gì (cho biết loại của phương tiện). Hiện trạng (Mean_presentcondition) : Cho biết hiện trạng thực tại của phương tiện đang như thế nào. Còn tốt, đang sử dụng hay đang trong thời gian bảo hành. Sức chứa của phương tiện (Mean_volume) : Cho biết phương tiện đó có thể chứa tối đa bao nhiêu hành khách. Điểm khởi hành (Mean_start) : cho biết địa điểm bắt đầu xuất phát của phương tiện. Điểm kết thúc (Mean_end) : cho biết điểm đến của phương tiện. Ghi chú (Mean_note) Thực thể thứ 6 : Locations :Mỗi thực thể tượng trưng cho một địa điểm du lịch. Các thuộc tính : Mã địa điểm (Location_id) : Là trường khóa chính, cho phép phân biệt giữa các địa điểm với nhau. Tên địa điểm (Location_name) : Cho biết tên của địa điểm, tương ứng với mã địa điểm đã nói ở trên. Hình ảnh (Location_image) : Hiển thị hình ảnh về địa điểm đó. Mã tỉnh (Province_id) : Cho biết địa điểm đó thuộc tỉnh nào. Ghi chú (Location_note) Thực thể thứ 7 : Provinces : Mỗi thực thể tượng trưng cho 1 tỉnh Các thuộc tính : Mã tỉnh (Province_id) : Là trường khóa chính, phân biệt giữa các tỉnh với nhau Tên tỉnh (Province_name) : Cho biết tên tỉnh đó, tương ứng với mã tỉnh đã nói ở trên. Hình ảnh (Province_image) : Hiển thị hình ảnh về tỉnh đó Giới thiệu tỉnh (Province_introduction) Ghi chú (Province_note) Thực thể thứ 8 : Articles : Mỗi thực thể tượng trưng cho một bài viết Các thuộc tính : Mã số bài viết (Article_id) : Là trường khóa chính, phân biệt giữa các bài viết với nhau. Tên bài viết (Article_name) : Cho biết tên, chủ đề của bài viết, tương ứng với mã bài viết ở trên. Chủ đề (Article_subject) : Cho biết chủ đề của bài viết Hình ảnh (Article_image) : Hình ảnh tóm tắt Nội dung tóm tắt (Article_sumary) : Nội dung tóm tắt của bài viết Nội dung bài viết (Article_content) : Cho biết nội dung của bài viết. Ngày gửi (Article_date) : Cho biết ngày gửi bài viết. Người gửi (Article_member) : Cho biết thành viên gửi bài viết đó. Trạng thái (Article_status) : Cho biết trạng thái của bài viết : đã được xử lý hay chưa >”< Người xử lý (Article_processing) Ngày xử lý (Article_dally) Ghi chú (Article_note) Thực thể thứ 9 : Contacts : Lưu trữ những thông tin liên hệ của khách hàng, mỗi thực thể tượng trưng cho một thông tin liên hệ. Các thuộc tính : Mã thông tin liên hệ (Contact_id) : Là trường khóa chính, phân biệt giữa các thông tin liên hệ với nhau. Tiêu đề (Contact_heading) : Tiêu đề, chủ đề của thông tin, tương ứng với mã thông tin liên hệ ở phía trên. Họ tên người gửi (Contact_name) : Họ tên của người gửi thông tin. Địa chỉ người gửi (Contact_address) : địa chỉ của người gửi thông tin. Email người gửi (Contact_email) : Địa chỉ email của người gửi thông tin. Nội dung thông tin (Contact_content) : Nội dung thông tin mà người dùng muốn gửi đi. Ngày gửi (Contact_date) : Là ngày mà người dùng gửi cái thông tin liên hệ đó. Trạng thái (Contact_status) : Là trường xác định xem thông tin này đã được xử lý hay chưa. Nội dung xử lý (Contact_answer) : Thông tin trả lời từ phía BQT Ngày xử lý (Contact_time) : Cho biết thời gian thông tin xử lý dc trả về KH. Người xử lý (Contact_member) : cho biết ai xử lý thông tin liên hệ này. Ghi chú (Contact_note) Thực thể thứ 10 : Detail_tours : Chi tiết tour Các thuộc tính Mã chi tiết tour (DetailTour_id): Là trường khóa chính Mã tour (Tour_id) : Là trường khóa. Mã địa điểm (Location_id) : Là trường khóa. Mã nhà hàng (Restaurant_id) : Là trường khóa. Mã khách sạn (Hotel_id) : Là trường khóa. Mã phương tiện (Mean_id) : Là trường khóa. Ghi chú (DetailTour_note) Thực thể thứ 11 : Comments : mỗi thực thể đại diện cho một comment K Các thuộc tính : Mã bình luận, đánh giá (Comment _id) : Là trường khoá chính, phân biệt giữa các bình luận của thành viên. Bài viết (Article_subject) Người gửi (Member_username) Ngày gửi (Comment _date) Nội dung (Comment _content) Trạng thái (Comment_status) Ngày xử lý (Comment _day) Người xử lý (Comment_processer) Ghi chú (Comment_note) Thực thể thứ 12 : Requests : mỗi thực thể đại diện cho một đơn đặt tour của khách hàng Các thuộc tính : Mã đơn đặt tour (Request_id) : là trường khoá, phân biệt giữa các đơn đặt tour với nhau. Tên người đặt (Request_ctmname) : Tên khách hàng Ngày tháng năm sinh (Request_ctmbirth) : Ngày tháng năm sinh của khách hang. Giới tính (Request_ctmgender: Cho biết giới tính của khách hàng) Số chứng minh thư (Request_ctmidentitycard) : Cho biết số chứng minh thư của khách hàng. Email (Request_ctmemail) : Email khách hàng Địa chỉ (Request_ctmaddress) :Địa chỉ khách hàng Số điện thoại nhà riêng (Request_ctmphone) Số điện thoại di động (Request_ctmphonenumber) Công ty (Request_ctmcompany) Ngày đặt (Request _day) : Là ngày mà đơn đặt tour được gửi đi. Số chỗ đặt (Request_capacity) : Là số chỗ mà khách hàng đặt. Số thành viên là người lớn (Request_man) Số thành viên là trẻ em (Request_child) Số thành viên là trẻ nhỏ (Request_baby) Hình thức thanh toán (Request _unit) : Là hình thức thanh toán của số tiền mà khách hàng phải trả. Yêu cầu thêm (Request_note) Thực thể thứ 13 :Invent_tours : Tương ứng với tình trạng đặt tour của khách hàng, cho biết chi tiết đặt tour. Các thuộc tính Mã chi tiết đặt tour (InventTour_id) : Là trường khóa chính, phân biệt các đơn đặt tour. Mã tour (Tour_id) : Là mã của tour mà người dùng đặt. Mã đơn đặt tour (Request_id) : Là trường khóa. Trạng thái (InventTour_status) : Cho biết trạng thái của đơn đặt chỗ này : xác định xem nó đã được xử lý hay chưa. Thành tiền () : Là tổng số tiền mà khách hàng phải trả cho số chỗ mà mình đặt, tùy theo từng tour. Đã thanh toán (InventTour_payment) : Cho biết là khách hàng đã thanh toán hay chưa. Người xử lý (InventTour_member) Ngày xử lý (InventTour_dally) : Ngày mà đơn đặt tour được xử lý. Thông tin xử lý (InventTour_information) Ghi chú (InventTour_note) Mô hình quan hệ : Chi tiết các bảng : Tours (Tour_id, Tour_name, Tour_kind, Tour_introduction, Tour_content, Tour_start, Tour_time, Tour_end, Tour_volume, Tour_price1, Tour_price2, Tour_sum, Tour_image, Tour_note). Members (Member _id, Member_username, Member_pass, Member_fullname, Member_birth, Member_email, Member_gender, Member_phone, Member_address, Member _identitycard, Member _company, Member_date, Member_right, Member_last, Member_note) Hotels (Hotel_id, Hotel_image, Hotel_name, Hotel_star, Hotel_address, Province_id, Hotel_phone, Hotel_note) Restaurants (Restaurant_id, Restaurant_image, Restaurant_name, Restaurant_address, Province_id, Restaurant_phone, Restaurant_note) Means (Mean_id, Mean_image, Meant_name, Meant_category, Mean_presentcondition, Mean_volume, Mean_start, Mean_end, Mean_note) Locations (Location_id, Location_name, Location_image, Province_id, Location_note) Provinces (Province_id, Province_name, Province_image, Province_intrduction, Province_note) Articles (Article_id, Article_name, Article_subject, Article_image, Article_sumary, Article_content, Article_date, Article_member, Article_status, Article_processing, Article_dally, Article_note.) Contacts (Contact_id, Contact_heading, Contact_name, Contact_address, Contact_email, Contact_content, Contact_date, Contact_status, Contact_answer, Contact_time, Contact_member, Contact_note) Detail_tours (DetailTour_id, Tour_id, Location_id, Restaurant_id, Hotel_id, Mean_id, DetailTour_note) Comments (Comment _id, Article_subject, Member_username, Comment _date, Comment_content, Comment_status, Comment _day, Comment_processer, Comment_note) Requests (Request_id, Tour_id, Request_ctmname, Request_ctmbirth, Request_ctmgender, Request_ctmidentitycard, Request_ctmemail, Request_ctmaddress, Request_ctmphone, Request_ctmphonenumber, Request_ctmcompany, Request _day, Request_capacity, Request_man, Request_child, Request_baby, Request _unit, Request_note) Invent_tours (InventTour_id, Request_id, InventTour_status, InventTour_cost, InventTour_payment, InventTour_member, InventTour_dally, InventTour_information, InventTour_note) Mối liên hệ giữa các bảng : Mối liên hệ giữa bảng Tours và bảng Hotels : Là mối quan hệ nhiều – nhiều : 1 tour có thể nghỉ lại ở nhiều khách sạn trong suốt cuộc hành trình của mình và 1 khách sạn cũng có thể đón tiếp nhiều tour khác nhau. Tours Hotels Mối liên hệ giữa bảng Tours và bảng Restaurants : Là mối quan hệ nhiều – nhiều : 1 tour có thể dừng lại ở nhiều nhà hàng khác nhau trong suốt cuộc hành trình của mình và 1 nhà hàng cũng có thể đón tiếp nhiều tour khác nhau. Tours Restaurants Mối liên hệ giữabảng Tours và bảng Means : Là mối quan hệ nhiều – nhiều : 1 tour có thể đi bằng nhiều loại phương tiện khác nhau trong suốt cuộc hành trình của mình và 1 loại phương tiện cũng có thể có nhiều tour khác nhau đi. Tours Means Mối liên hệ giữa bảng Tours và bảng Locations : Là mối quan hệ nhiều – nhiều : 1 tour có thể đi qua nhiều địa điểm du lịch trong suốt cuộc hành trình của mình và 1 địa điểm cũng có thể đón tiếp nhiều tour du lịch khác nhau đến tham quan. Tours Locations Vì mối quan hệ giữa bảng Tours với bảng Hotels, Restaurants, Means và Localtions là mối quan hệ nhiều - nhiều nên sẽ phải có 1 bảng phụ để liên kết các thuộc tính này. Tours Detail_tours Hotels Detail_tours Restaurants Detail_tours Means Detail_tours Localtions Detail_tours Mối liên hệ giữa bảng Invent_Tour và bảng Customers : Là mối quan hệ 1 – nhiều : Tại một thời điểm, một tour có thể có nhiều khách tham quan, nhưng 1 khách hàng thì chỉ có thể tham gia 1 tour. Invent_Tour Customers Mối liên hệ giữa bảng Localtions và bảng Provinces : Là mối quan hệ 1 – nhiều : Một tỉnh có thể có nhiều địa điểm du lịch, nhưng 1 dịa điểm du lịch thì chỉ có thể nằm ở một tỉnh. Localtions Provinces Mối liên hệ giữa bảng Hotels và bảng Provinces : Là mối quan hệ 1 – nhiều : Một tỉnh có thể có nhiều khách sạn, nhưng 1 khách sạn thì chỉ có thể nằm ở một tỉnh. Hotels Provinces Mối liên hệ giữa bảng Restaurants và bảng Provinces : Là mối quan hệ 1 – nhiều : Một tỉnh có thể có nhiều nhà hàng, nhưng 1 nhà hàng thì chỉ có thể nằm ở một tỉnh. Restaurants Provinces Mối liên hệ giữa bảng Members và bảng Articles : Là mối quan hệ 1 – nhiều : Một thành viên có thể gửi nhiều bài viết, nhưng 1 bài viết chỉ có thể được gửi bởi một thành viên. Members Articles Mối liên hệ giữa bảng Members và bảng Contacts : Là mối quan hệ 1 – nhiều : Một thành viên có thể gửi nhiều thông tin , nhưng 1 thông tin chỉ có thể được gửi bởi một thành viên. Members Contacts Mối liên hệ giữa bảng Tours và Invent_tours : Là mối quan hệ 1 – nhiều. Invent_tours Tours Sơ đồ liên kết Tours Provinces Customers Restaurants Hotels Members Articles Detail_tours Invent_tours Means Locations Contacts 1 n n n n n n n n n n n 1 1 1 1 1 1 1 1 1 1 1 n Sơ đồ thực thể liên kết : Mô tả chi tiết cho các quan hệ : Tours (Tour_id, Tour_name, Tour_kind, Tour_introduction, Tour_content, Tour_start, Tour_time, Tour_end, Tour_volume, Tour_price1, Tour_price2, Tour_sume, Tour_image, Tour_note). Bảng Tours STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Trường Diễn giải 1 Tour_id Int Auto_increment Primary key Mã tour (Tour_id) : Là trường khóa chính, cho phép phân biệt giữa các tour với nhau. 2 Tour_name Varchar 255 Tên tour (Tour_name) : Là thuộc tính tương ứng với mã tour. 3 Tour_kind Varchar 255 Loại tour (Tour_kind) . 4 Tour_introduction Text Giới thiệu tour (Tour_introduction) 5 Tour_content Text Nội dung tour (Tour_content) : Cho biết nội dung của tour trong suốt cuộc hành trình. 6 Tour_start Date Ngày bắt đầu (Tour_start) : Là thuộc tính cho biết ngày bắt đầu xuất phát của tour. 7 Tour_time Time Giờ xuất phát (Tour_time) : Là thuộc tính cho biết giờ bắt đầu xuất phát của tour du lịch. 8 Tour_end Date Ngày kết thúc (Tour_end) : Là thuộc tính cho biết ngày kết thúc của tour. 9 Tour_volume Int 11 Số chỗ (Tour_volume) : Là thuộc tính cho biết tour đó có thể có bao nhiêu khách tham quan. 10 Tour_price1 Varchar 50 Giá tiền đối với người lớn (Tour_price1 ): Cho biết giá tiền tương ứng với mỗi chỗ trong tour dành cho người lớn. 11 Tour_price2 Varchar 50 Giá tiền đối với trẻ em (Tour_price2 ): Cho biết giá tiền tương ứng với mỗi chỗ trong tour dành cho trẻ em. 12 Tour_sum Varchar 255 Tổng thời gian (Tour_sum): Cho biết tour đó kéo dài trong thời gian bao lâu. 13 Tour_image Varchar 255 Hình ảnh tour (Tour_image) : Hiển thị hình ảnh liên quan đến tour đó. 14 Tour_note Varchar 255 Ghi chú (Tour_note) Members (Member _id, Member_username, Member_pass, Member_fullname, Member_birth, Member_email, Member_gender, Member_phone, Member_address, Member _identitycard, Member _company, Member_date, Member_right, Member_last, Member_note) Bảng Members STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Trường Diễn giải 1 Member_id Int Auto_increment Primary key Mã thành viên (Member _id) 2 Member_username Varchar 50 Tên đăng nhập thành viên (Member_username) 3 Member_pass Varchar 50 Mật khẩu đăng nhập (Member_pass) 4 Member_fullname Varchar 50 Họ tên thành viên (Member_fullname) 5 Member_birth Date Ngày tháng năm sinh (Member_birth) 6 Member_email Varchar 255 Email (Member_email) 7 Member_gender Varchar 50 Giới tính (Member_gender) 8 Member_phone Varchar 50 Số điện thoại liên hệ (Member_phone) 9 Member_address Varchar 255 Địa chỉ (Member_address) : Cho biết địa chỉ của thành viên 10 Member _identitycard Int 50 Số chứng minh thư (Member_identitycard) : Cho biết số chứng minh thư của thành viên.. 11 Member _company Varchar 255 Tên công ty (Member_company) 12 Member_date Date Ngày đăng kí (Member_date) 13 Member_right TinyInt 1 Quyền thành viên (Member_right) 14 Member_last DateTime Lần đăng nhập cuối (Member_last) : Cho biết lần đăng nhập cuối của thành viên là khi nào. 15 Member_note Varchar 255 Ghi chú (Member_note) Hotels (Hotel_id, Hotel_image, Hotel_name, Hotel_star, Hotel_address, Province_id, Hotel_phone, Hotel_note) Bảng Hotels STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Trường Diễn giải 1 Hotel_id Int Auto_increment Primary key Mã khách sạn (Hotel_id) : Là trường khóa chính, phân biệt giữa các khách sạn với nhau. 2 Hotel_image Varchar 255 Hình ảnh khách sạn(Hotel_image) : Hiển thị hình ảnh về khách sạn đó. 3 Hotel_name Varchar 255 Tên khách sạn (Hotel_name) : Cho biết tên của khách sạn, tương ứng với mã khách sạn đã nói ở trên. 4 Hotel_star Varchar 50 Hạng (Hotel_star) : cho biết khách sạn đó thuộc loại nào. 5 Hotel_address Varchar 255 Địa chỉ khách sạn (Hotel_address) : Cho biết địa chỉ của khách sạn đó. 6 Province_id Int 11 Foreign key Mã tỉnh (Province_id) : Cho biết khách sạn đó nằm ở tỉnh nào. 7 Hotel_phone Varchat 50 Số điện thoại (Hotel_phone) : Cho biết số điện thoại liên hệ của khách sạn đó. 8 Hotel_note Varchar 255 Ghi chú (Hotel_note) Restaurants (Restaurant_id, Restaurant_image, Restaurant_name, Restaurant_address, Province_id, Restaurant_phone, Restaurant_note) Bảng Restaurants STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Trường Diễn giải 1 Restaurant_id Int Auto_increment Primary key Mã nhà hàng (Restaurant_id) : Là trường khóa chính, cho phép phân biệt giữa các nhà hàng với nhau. 2 Restaurant_image Varchar 255 Hình ảnh nhà hàng (Restaurant_image) : Hiển thị hình ảnh về nhà hàng đó. 3 Restaurant_name Varchar 255 Tên nhà hàng (Restaurant_name) : Cho biết tên của nhà hàng, tương ứng với mã nhà hàng đã nói ở trên. 4 Restaurant_address Varchar 255 Địa chỉ nhà hàng (Restaurant_address) : Cho biết địa chỉ của nhà hàng đó. 5 Province_id Int 11 Foreign key Mã tỉnh (Province_id) : Cho biết nhà hàng đó thuộc tỉnh nào. 6 Restaurant_phone Varchar 50 Số điện thoại (Restaurant_phone) : Cho biết số điện thoại liên hệ của nhà hàng đó. 7 Restaurant_note Varchar 255 Ghi chú (Restaurant_note) Means (Mean_id, Mean_image, Meant_name, Meant_category, Mean_presentcondition, Mean_volume, Mean_start, Mean_end, Mean_note) Bảng Means STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Trường Diễn giải 1 Mean_id Int Auto_increment Primary key Mã phương tiện (Mean_id) : Là trường khóa chính, cho phép phân biệt giữa các phương tiện khác nhau. 2 Mean_image Varchar 255 Hình ảnh phương tiện (Mean_image) : Hiển thị hình ảnh về phương tiện đó. 3 Mean_name Varchar 255 Tên phương tiện (Meant_name) : Cho biết tên của phương tiện, tương ứng với mã phương tiện đã nói ở trên. 4 Mean_category Varchar 255 Loại phương tiện (Meant_category) : Cho biết phương tiện đó là phương tiện gì (cho biết loại của phương tiện). 5 Mean_presentcondition Varchar 255 Hiện trạng (Mean_presentcondition) : Cho biết hiện trạng thực tại của phương tiện đang như thế nào. Còn tốt, đang sử dụng hay đang trong thời gian bảo hành. 6 Mean_volume Int 11 Sức chứa của phương tiện (Mean_volume) : Cho biết phương tiện đó có thể chứa tối đa bao nhiêu hành khách. 7 Mean_start Varchar 255 Điểm khởi hành (Mean_start) : cho biết địa điểm bắt đầu xuất phát của phương tiện. 8 Mean_end Varchar 255 Điểm kết thúc (Mean_end) : cho biết điểm đến của phương tiện. 9 Mean_note Varchar 255 Ghi chú (Mean_note) Locations (Location_id, Location_name, Location_image, Province_id, Location_note) Bảng Locations STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Trường Diễn giải 1 Location_id Int Auto_increment Primary key Mã địa điểm (Location_id) : Là trường khóa chính, cho phép phân biệt giữa các địa điểm với nhau. 2 Location_name Varchar 255 Tên địa điểm (Location_name) : Cho biết tên của địa điểm, tương ứng với mã địa điểm đã nói ở trên. 3 Location_image Varchar 255 Hình ảnh (Location_image) : Cho biết hình ảnh về địa điểm đó. 4 Province_id Int 11 Foreign key Mã tỉnh (Location_province) : Cho biết địa điểm đó thuộc tỉnh nào. 5 Location_note Varchar 255 Provinces (Province_id, Province_name, Province_image, Province_introduction, Province_note) Bảng Provinces STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Trường Diễn giải 1 Province_id Int Auto_increment Primary key Mã tỉnh (Province_id) : Là trường khóa chính, phân biệt giữa các tỉnh với nhau 2 Province_name Varchar 255 Tên tỉnh (Province_name) : Cho biết tên tỉnh đó, tương ứng với mã tỉnh đã nói ở trên. 3 Province_image Varchar 255 Tên tỉnh (Province_name) : Cho biết tên tỉnh đó, tương ứng với mã tỉnh đã nói ở trên. 4 Province_introduction Text Hình ảnh (Province_image) : Hiển thị hình ảnh về tỉnh đó 5 Province_note Varchar 255 Ghi chú (Province_note) Articles (Article_id, Article_name, Article_subject, Article_image, Article_sumary, Article_content, Article_date, Article_member, Article_status, Article_processing, Article_dally, Article_note.) Bảng Articles STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Trường Diễn giải 1 Article_id Int Auto_increment Primary key Mã số bài viết (Article_id) : Là trường khóa chính, phân biệt giữa các bài viết với nhau. 2 Article_name Varchar 50 Tên bài viết (Article_name) 3 Article_subject Varchar 255 Chủ đề của bài viết (Article_subject) :. 4 Article_image Varchar 255 Hình ảnh tóm tắt (Article_image) 5 Article_sumary Text Nội dung tóm tắt (Article_sumary) 6 Article_content Text Nội dung bài viết (Article_content) : Cho biết nội dung của bài viết. 7 Article_date Date Ngày gửi (Article_date) : Cho biết ngày gửi bài viết. 8 Article_member Varchar 50 Người gửi (Article_member) : Cho biết thành viên gửi bài viết đó. 9 Article_status Tinyint 1 Trạng thái (Article_status) : Cho biết trạng thái của bài viết : đã được xử lý hay chưa >”< 10 Article_processing Varchar 50 Người xử lý (Article_processing) 11 Article_dally Date Ngày xử lý (Article_dally) 12 Article_note Varchar 255 Ghi chú (Article_note) Contacts (Contact_id, Contact_heading, Contact_name, Contact_address, Contact_email, Contact_content, Contact_date, Contact_status, Contact_answer, Contact_time, Contact_member, Contact_note) Bảng Contacts STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Trường Diễn giải 1 Contact_id Int Auto_increment Primary key Mã thông tin liên hệ (Contact_id) : Là trường khóa chính, phân biệt giữa các thông tin liên hệ với nhau. 2 Contact_heading Varchar 255 Tiêu đề (Contact_heading) : Tiêu đề, chủ đề của thông tin, tương ứng với mã thông tin liên hệ ở phía trên. 3 Contact_name Varchar 50 Họ tên người gửi (Contact_name) : Họ tên của người gửi thông tin. 4 Contact_address Varchar 255 Địa chỉ người gửi (Contact_address) : địa chỉ của người gửi thông tin. 5 Contact_email Varchar 255 Email người gửi (Contact_email) : Địa chỉ email của người gửi thông tin. 6 Contact_content Text Nội dung thông tin (Contact_content) : Nội dung thông tin mà người dùng muốn gửi đi. 7 Contact_date Date Ngày gửi (Contact_date) : Là ngày mà người dùng gửi cái thông tin liên hệ đó. 8 Contact_status Tinyint 1 Trạng thái (Contact_status) : Là trường xác định xem thông tin này đã được xử lý hay chưa. 9 Contact_answer Text Nội dung xử lý (Contact_answer) : Thông tin trả lời từ phía BQT 10 Contact_time Date Ngày xử lý (Contact_time) : Cho biết thời gian thông tin xử lý dc trả về KH. 11 Contact_member Varchar 50 Người xử lý (Contact_member) : cho biết ai xử lý thông tin liên hệ này. 12 Contact_note Varchar 255 Ghi chú (Contact_note) Detail_tours (DetailTour_id, Tour_id, Location_id, Restaurant_id, Hotel_id, Instruction_id, DetailTour_note) Bảng Detail_tours STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Trường Diễn giải 1 DetailTour_id Int Auto_increment Primary key Mã chi tiết tour (DetailTour_id) : Là trường khóa chính 2 Tour_id Int 11 Foreign key Mã tour (Tour_id) : Là trường khóa. 3 Location_id Int 11 Foreign key Mã địa điểm (Location_id) : Là trường khóa. 4 Restaurant_id Int 11 Foreign key Mã nhà hàng (Restaurant_id) : Là trường khóa. 5 Hotel_id Int 11 Foreign key Mã khách sạn (Hotel_id): Là trường khóa. 6 Mean_id Int 11 Foreign key Mã phương tiện (Mean_id) : Là trường khóa. 7 DetailTour_note Varchar 255 Ghi chú (DetailTour_note) Comments (Comment _id, Article_subject, Member_username, Comment_date, Comment_content, Comment_status, Comment_day, Comment_processer, Comment_note) Bảng Comments STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Trường Diễn giải 1 Comment _id Int Auto_increment Primary key Mã bình luận, đánh giá (Comment _id) 2 Article_subject Varchar 255 Tên bài viết (Article_subject) 3 Member_username Varchar 50 Người gửi (Member_name) 4 Comment _date Date Ngày gửi (Comment_date) 5 Comment_content Text Nội dung (Comment_content) 6 Comment _status Tinyint 1 Trạng thái (Comment_status) 7 Comment _day Varchar 255 Ngày xử lý (Comment_day) 8 Comment_processer Varchar 50 Người xử lý (Comment_processer) 9 Comment_note Varchar 255 Ghi chú (Comment_note) Requests (Request_id, Tour_id, Request_ctmname, Request_ctmbirth, Request_ctmgender, Request_ctmidentitycard, Request_ctmemail, Request_ctmaddress, Request_ctmphone, Request_ctmphonenumber, Request_ctmcompany, Request _day, Request_capacity, Request_man, Request_child, Request_baby, Request _unit, Request_note Bảng Requests STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Trường Diễn giải 1 Request_id Int Auto_increment Primary key Mã đơn đặt tour (Request_id) : là trường khoá, phân biệt giữa các đơn đặt tour với nhau. 2 Request_ctmname Varchar 50 Tên người đặt (Request_ctmname) : Tên khách hàng 3 Request_ctmbirth Date Ngày tháng năm sinh (Request_ctmbirth) : Ngày tháng năm sinh của khách hang. 4 Request_ctmgender Varchar 20 Giới tính (Request_ctmgender: Cho biết giới tính của khách hàng) 5 Request_ctmidentitycard Varchar 20 Số chứng minh thư (Request_ctmidentitycard) : Cho biết số chứng minh thư của khách hàng. 6 Request_ctmemail Varchar 255 Email (Request_ctmemail) : Email khách hàng 7 Request_ctmaddress Varchar 255 Địa chỉ (Request_ctmaddress) :Địa chỉ khách hàng 8 Request_ctmphone Varchar 20 Số điện thoại nhà riêng (Request_ctmphone) 9 Request_ctmphonenumber Varchar 20 Số điện thoại di động (Request_ctmphonenumber) 10 Request_ctmcompany Varchar 255 Công ty (Request_ctmcompany) 11 Request_day Date Ngày đặt (Request _day) : Là ngày mà đơn đặt tour được gửi đi. 12 Request_capacity Int 11 Số chỗ đặt (Request_capacity) : Là số chỗ mà khách hàng đặt. 13 Request_man Int 11 Số thành viên là người lớn (Request_man) 14 Request_child Int 11 Số thành viên là trẻ em (Request_child) 15 Request_baby Int 11 Số thành viên là trẻ nhỏ (Request_baby) 16 Request _unit Varchar 20 Hình thức thanh toán (Request _unit) : Là hình thức thanh toán của số tiền mà khách hàng phải trả. 17 Request_note Varchar 255 Yêu cầu thêm (Request_note) Invent_tours (InventTour_id, Request_id, InventTour_status, InventTour_cost, InventTour_payment, InventTour_member, InventTour_dally, InventTour_information, InventTour_note) Bảng Invent_tours STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Trường Diễn giải 1 InventTour_id Int Auto_increment Primary key Mã đặt tour (InventTour_id) : Là trường khóa chính, phân biệt các đơn đặt tour. 2 Tour_id Int 11 Foreign key Mã tour (Tour_id) : Là mã của tour mà người dùng đặt. 3 Request_id Int 11 Foreign key Mã đơn đặt tour (Request_id) : Là trường khóa. 4 InventTour_status TinyInt 1 Trạng thái (InventTour_status) : Cho biết trạng thái của đơn đặt chỗ này : xác định xem nó đã được xử lý hay chưa. 5 InventTour_cost Varchar 50 Thành tiền (InventTour_cost) : Là tổng số tiền mà khách hàng phải trả cho số chỗ mà mình đặt, tùy theo từng tour. 6 InventTour_payment TinyInt 1 Đã thanh toán (InventTour_payment) : Cho biết là khách hàng đã thanh toán hay chưa. 7 InventTour_member Varchar 50 Người xử lý (InventTour_member) 8 InventTour_dally Date Ngày xử lý (InventTour_dally) : Ngày mà đơn đặt tour được xử lý 9 InventTour_information Text Thông tin xử lý (InventTour_information) 10 InventTour_note Varchar 255 Ghi chú (InventTour_note) Tạo bảng : Bảng Tours Bảng Restaurants Bảng Provinces Bảng Members Bảng Means Bảng Locations Bảng Invent_Tours Bảng Hotels Bảng Detail_tour Bảng Contacts Bảng Articles Bảng Customers Thiết Kế Giao Diện Thiết kế giao diện chương trình : Chương trình được chia ra làm 2 phần chính là giao diện bên User và giao diện quản trị bên phía Admin. Người quản trị sẽ thực hiện các công tác quản trị của mình trên trang Admin này và các thông tin sẽ được hiển thị lên giao diện về phía người dùng. Về phía bên quản trị : Menu quản lý bao gồm có các chức năng quản lý sau : Về phía bên người dùng : Menu chính bao gồm các thành phần sau : Khác với trang quản trị, trang giao diện người dùng cho phép khách hàng có thể xem , tìm kiếm thông tin, gửi yêu cầu hay đặt tour mà không bắt buộc phải đăng kí làm thành viên của Website. Cài đặt và kiểm thử Tìm hiểu công nghệ Về CakePHP Framework CakePHP là gì ? Các tính năng của nó : CakePHP là một framework mã nguồn mở và miễn phí cho PHP, mục đích của nó là cung cấp một framework cho người sử dụng PHP phát triển những ứng dụng web nhanh, mạnh mà không làm mất tính linh hoạt của nó.. Có thể coi nó là một thư viện cho lập trình viên dùng để tạo ra một ứng dụng web. CakePHP cung cấp tất cả các công cụ với một tiêu chí: cho các lập trình viên có thể hoàn toàn không phải nghĩ đến những điều quá vụn vặt, mà chỉ áp dụng logic nghiệp vụ của họ vào chương trình, bằng cách sử dụng các công cụ của CakePHP. CakePHP có một đội ngũ phát triển và một cộng đồng năng động, mang lại giá trị rất lớn cho dự án. Ngoài giúp cho người lập trình không phải viết lại rất nhiều code, việc sử dụng CakePHP mang lại cho ứng dụng web một cái lõi đã được kiểm tra rất kỹ lưỡng và không ngừng phát triển. Các tính năng chính của CakePHP : Có khả năng tương thích PHP 4 và 5. Tích hợp các thao tác CRUD với CSDL: các thao tác Thêm/Xem/Sửa/ Xóa được hỗ trợ thực hiện tự động. Có khả năng tự hiểu và nhận biết một số tên trường dữ liệu (created, modified, username, password...). Ngoài ra, với CakePHP, chỉ cần tuân theo quy ước đặt tên đối với các bảng và các trường dữ liệu, CakePHP đã có thể hỗ trợ rất nhiều thao tác và bảo đảm toàn vẹn dữ liệu Cung cấp khả năng tự sinh mã lệnh: khả năng này hỗ trợ lập trình viên có thể bỏ qua một số câu lệnh phải lặp đi lặp lại nhiều lần. Bộ biên dịch yêu cầu với URL rất thân thiện và rõ ràng, dễ hiểu: giúp cho các yêu cầu theo dạng QueryString trở nên dễ đọc hơn. Tích hợp bộ kiểm tra dữ liệu đầu vào: VD như kiểm tra địa chỉ email phải có @, hay một trường nào đó không được trống, số điện thoại không được bao gồm chữ... Áp dụng khuân mẫu dễ dàng và linh hoạt: có thể thay đổi và áp dụng các khuân mẫu một cách nhanh chóng. Cung cấp các Helper hỗ trợ AJAX và Javascript, HTML Form và hơn thế nữa, giúp cho các lập trình viên có thể dễ dàng viết các thẻ HTML và Javascript một cách nhanh chóng và đúng cú pháp. Cung cấp các Component hỗ trợ Email, Cookie, Security, Session và Request Handling. Hỗ trợ Danh sách Điều khiển Truy cập linh hoạt. Cung cấp một thư viện giúp chống các lỗi liên quan đến Injection. Caching linh hoạt. Hỗ trợ bản địa hóa: cung cấp giải pháp và các thư viện liên quan để có thể thay đổi ngôn ngữ một cách linh hoạt và triệt để. Hoạt động trong bất kỳ thư mục web nào, với rất ít hoặc hoàn toàn không cần cấu hình Apache. CakePHP và mô hình MCV : CakePHP là một framework, hoạt động tương tự mô hình 3 lớp MVC trong lập trình hướng đối tượng, với tầng trên cùng là tầng View, tầng tiếp theo là tầng Controller và tầng cuối cùng là tầng Model. Tầng Model sẽ là tầng giao tiếp với cơ sở dữ liệu và tầng View là tầng giao tiếp với người sử dụng. Hay nói cách khác thì MVC là mô hình gồm 3 thành phần: Model: Truy vấn dữ liệu View: Hiển thị dữ liệu và nhập liệu Controller: Xử lý nghiệp vụ Mô hình MVC (hay MCV) là mẫu kiến trúc được sử dụng trong công nghệ phát triển phần mềm. Điểm thành công của mô hình này là làm tách rời giữa logic của chương trình với giao diện của người sử dụng. Mô hình giúp người ta có thể tạo ra một ứng dụng mà trong đó, ta có thể dễ dàng thay đổi logic của chương trình hay chỉnh sửa giao diện của người dùng mà hoàn toàn không ảnh hưởng đến nhau. MVC là viết tắt của Model – View – Controller. Để nhanh chóng tiếp cận được mô hình MVC, ta xem xét quy trình xây dựng một ứng dụng web theo mô hình MVC, sử dụng PHP, MySQL gồm các bước như sau: Xây dựng CSDL Đầu tiên, ta xây dựng CSDL (Database) trên một hệ quản trị CSDL MySQL. Có nghĩa là, ta tạo các bảng và các trường trong các bảng đó. Việc tạo này hoàn toàn là trên MySQL, không hề liên quan đến PHP. Xây dựng các lớp Model (Model classes) Lớp model được hiểu là lớp dùng để liên kết ngôn ngữ lập trình với hệ quản trị CSDL (ở đây lần lượt là PHP và MySQL). Ở các lớp model, ta sẽ thông báo cho ngôn ngữ lập trình biết về các bảng dữ liệu và mối quan hệ giữa chúng. Thường thì, mỗi bảng dữ liệu trong CSDL sẽ ứng với một Model. Xây dựng các lớp Controller Các lớp controller là các yếu tổ điều khiển dữ liệu trong các bảng. VD như là các thao tác Thêm, Sửa, Xóa. Như vậy, mỗi lớp Model đều phải có một lớp Controller tương ứng. Và mỗi thao tác đối với một bảng dữ liệu (hay đối với lớp Model) đều phải được khai báo trong Controller tương ứng với Model của dữ liệu đó. Xây dựng các View View chính là thành phần hiển thị ra cho người sử dụng. View được xây dựng như các template. View được xây dựng sử dụng các biến chứa nội dung cần đưa ra. VD : Ở trên, biến $view_content chính là biến chứa nội dung cần đưa ra. Giá trị các biến chứa nội dung thì được truyền từ các controller. Download, cài đặt và sử dụng CakePHP : Download Download về tại địa chỉ (Chọn bản 1.2.6) : Sau khi download CakePHP, ta sẽ có 3 thư mục chính : Thư mục app sẽ là nơi chúng ta đặt các dòng lệnh: đây là nơi mà ta sẽ phát triển ứng dụng. Thư mục cake là thư mục chứa các dòng lệnh mà các nhà phát triển CakePHP đã làm cho chúng ta. Đó là lõi của CakePHP. Cuối cùng, thư mục vendors là nơi ta có thể đặt các thư viện PHP khác mà có thể ta cần trong ứng dụng CakePHP của mình. Thư mục app là nơi ta sẽ phát triển ứng dụng : Config : Lưu trữ một vài file cấu hình mà CakePHP sử dụng. Thông tin kết nối CSDL, file cấu hình lõi và các file khác có thể được lưu trữ ở đây. Controllers : Chứa các controller của ứng dụng và các components của chúng. Locale : Chứa các file chứa chuỗi sử dụng cho quốc tế hóa ứng dụng. Models : Chứa các model của ứng dụng, các behavior và các nguồn dữ liệu (datasources). Plugins : Chứa các gói mở rộng (plugin). Tmp : Đây là nơi CakePHP chứa các dữ liệu tạm. Dữ liệu thực tế được lưu trữ ở đây phụ thuộc vào CakePHP  được cấu hình thế nào, nhưng thư mục này thường được sử dụng để lưu các mô tả về các model, nhật ký, và đôi khi là các thông tin về session. Vendors : Mọi class hay thư viện nào khác phải được đặt ở đây. Điều đó sẽ giúp cho chúng có thể được truy cập sử dụng hàm App::import('vendor', 'name'). Thư mục này hoàn toàn khác với thư mục vendors đã nói ở trên. Ta sẽ thấy rõ điều này khi quản lý nhiều ứng dụng và việc cài đặt các hệ thống phức tạp. Views : Các file trình diễn được đặt ở đây: elements, trang báo lỗi, helpers, layours, và các file view. Webroot : Khi cài đặt ứng dụng, thư mục này đóng vai trò là thư mục gốc của ứng dụng. Các thư mục con được tạo ra để chỉ dẫn cho các file CSS, hình ảnh và Javascript. Cài đặt & cấu hình cho Cake : Để sử dụng nó, cần phải đáp ứng những yêu cầu sau: Một HTTP Server (vd như Apache, IIS) CakePHP chỉ support trong PHP ver 4 trở lên. Database: cake hổ trợ các hệ cơ sở dữ liệu sau: MySql, PostgreSQL. Sau khi download cakephp về, bạn giải nén tập tin đó ra (.zip) và sao chép vào thư mục chứa Apache Server (vd: C:\AppServ\www\MyCake). VD: /path_to_document_root /app /cake /docs /vendors .htaccess index.php Hoặc copy vào thư mục htdoc của Xampp nếu bạn dừng xam ( ở đây mình dùng Xampp :D ) Cấu hình : Để Cake có thể làm việc được với database, cần cấu hình lại trang database.php, mặc định trang này không có. Để cấu hình lại trang này ta làm như sau : Mở file database.php.default ở trong thư mục .../app/config và Save As lại thành1 file mới : database.php và điều chỉnh lại các thông số sau : var $default = array( 'driver' => 'mysql', 'connect' => 'mysql_connect', 'host' => 'localhost', 'login' => 'user', 'password' => 'password', 'database' => 'project_name', 'schema' => '' , 'prefix' => '' , 'encoding' => '' Với user, password, database lần lượt là tên user, password và database ở trong MySQL. Quy ước về đặt tên bảng trong database : Tên bảng trong Cake nên ở dạng tiếng anh số nhiều ( Vd : Users, Customers, Admins….) Bảng phải có primary key tên là ‘id’ Nếu có sử dụng quan hệ trong các bảng ( vd : User_id…) Sau khi cài đặt và cấu hình CakePHP, bạn test thử bằng cách mở webbrowser lên và gõ : ,(Ở đây MyCake là tên của CakePHP đặt trong thư mục htdoc của tôi) Nếu thấy hiện lên giao diện như sau thì có nghĩa là bạn đã thành công rồi đó : Chú ý 2 cái dòng : Your database configuration file is present. Cake is able to connect to the database. Nếu được như vậy thì bạn đã cấu hình Cake thành công và kết nối được với database rồi đó Chú ý một chút trong trường hợp nếu như bạn gặp phải một cái lỗi tương tự thế này : Thì bạn tìm đến file : app/config/core.php để thay đổi giá trị Security.salt tìm ở dòng 151 : Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi'); Xóa cái đoạn 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi'); đi và sửa lại thành : Configure::write(’Security.salt’,‘wihaamtnaortedyooiundgoainnygthheirnegqzwxecrvtbyn’); Và bây giờ thì Cake của bạn có thể chạy bất kì cấu hình nào. Như vậy là chúng ta đã cài đặt và cấu hình xong CakePHP rồi. Còn sử dụng như thế nào là tùy bạn. :D Đánh giá ưu khuyết điểm Ưu điểm : Các chức năng tương đối đầy đủ. Khuyết điểm : Chưa hoàn chỉnh. Giao diện chưa đẹp. Chưa linh hoạt để phát triển thêm. Một số chỗ còn chưa rõ ràng. Hướng phát triển : Hoàn thiện và nâng cấp chương trình . Kết Luận Sau một thời gian tìm hiểu và làm việc, em đã cơ bản xây dựng được một website giới thiệu du lịch với một số chức năng cơ bản cần có của 1 website về du lịch cũng như cách sử dụng các công cụ để xây dựng nên nó. Và theo đó em cũng đã tìm hiểu được phần nào cách thức sử dụng và cấu hình CakePHP Framewok. Hướng phát triển của đề tài trong thời gian tới của em là xây dựng một hệ thống hoàn chỉnh có đầy đủ các chức năng hơn, đảm bảo yêu cầu của 1 hệ thống website giới thiệu doanh nghiệp. Tuy nhiên , trong quá trình tìm hiểu và thiết kế hệ thống còn 1 số hạn chế nên không thể tránh khỏi sai sót. Vì thế nên em mong thầy góp ý để lần sau em có thể làm tốt hơn. Em xin chân thành cảm ơn. Tài Liệu Tham Khảo Website : Tài liệu : - Lập trình web động với PHP và MySQL - Tống Phước Khải - Phân tích và thiết kế hệ thống thông tin - Thạc Bình Cường - Và một số tài liệu khác…

Các file đính kèm theo tài liệu này:

  • docBáo cáo thực tập tốt nghiệp.doc