MỤC LỤC
LỜI MỞ ĐẦU 3
CHƯƠNG 1. GIỚI THIỆU CƠ SỞ THỰC TẬP 7
1.1. Giới thiệu chung về cơ sở thực tập: 7
1.2. Lĩnh vực hoạt động 7
1.3. Cơ cấu tổ chức 8
1.4. Các sản phẩm chính của công ty 9
CHƯƠNG 2. KHẢO SÁT BÀI TOÁN 11
2.1. Đặt vấn về 11
2.2. Hiện trạng chung 12
2.3. Ứng dụng thương mại điện tử cho website 13
2.4. Đặc tả yêu cầu chương trình 14
2.5. Yêu cầu đối với sản phẩm 15
CHƯƠNG 3. GIỚI THIỆU CÔNG CỤ THỰC HIỆN 16
3.1. Giới thiệu ngôn ngữ lập trình PHP 16
3.1.1. Lịch sử phát triển của ngôn ngữ lập trình PHP 16
3.1.2. Ưu điểm khi dùng PHP 19
3.2. Giới thiệu MySQL 20
3.2.1. MySQL là gì? 20
3.2.2. Ưu điểm khi dùng MySQL 21
CHƯƠNG 4. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 25
4.1. Thiết kế sơ đồ 25
4.1.1. Sơ đồ lớp 25
4.1.2. Sitemap 25
4.2. Phân tích hệ thống về chức năng 26
4.2.1. Biếu đồ phân cấp chức năng 26
4.2.2. Biểu đồ luồng dữ liệu mức khung cảnh 27
4.2.3. Biểu đồ luồng dữ liệu mức đỉnh 28
4.2.4. Biểu đồ luồng dữ liệu mức dưới đỉnh 29
4.3. Phân tích và thiết kế cơ sở dữ liệu 31
4.3.1. Lập biểu đồ luồng dữ liệu mô hình thực thể - liên kết ER 31
4.3.2. Thiết kế cơ sở dữ liệu 33
CHƯƠNG 5. THIẾT KẾ GIAO DIỆN 42
5.1. Giao diện trang web 42
5.2. Giao diện trang web dành cho người quản trị 59
KẾT LUẬN 71
TÀI LIỆU THAM KHẢO 73
71 trang |
Chia sẻ: lethao | Lượt xem: 7848 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đề tài Thiết kế website tour du lịch, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
công ty hay những sản phẩm công ty hiện đang cung cấp. Mục tiêu cần khai thác của các giao dịch như vậy là website phải có đủ sức hút để lôi kéo khách hàng viếng thăm trang web của chúng ta những lần sau, lôi kéo họ tìm đến công ty chúng ta để biến họ thành khách hàng chính thức của công ty.
Muốn vậy, đầu tiên website phải có giao diện rõ ràng, bắt mắt, cấu trúc hợp lý để gây được ấn tượng tốt ban đầu cho người vào xem; và một điều tối quan trọng là dung lượng trang website phải nhỏ vừa phải để khách hàng không mất kiên nhẫn trước khi trang web của chúng ta hiện ra trước mắt họ. Kế đến là, nội dung website phải tiện dụng, phù hợp, đáp ứng được nhu cầu thường gặp của khách hàng. Và cuối cùng là một tên miền ngắn gọn, dễ nhớ để khách hàng khó có thể quên trong những lần thăm viếng sau.
Một website du lịch hiệu quả cũng không nằm ngoài những yêu cầu đó. Thông tin chính của nó chính là những tour du lịch mà công ty sẽ tổ chức trong thời gian sắp đến: giá cả, hình ảnh, lịch trình và những nơi mà nó đi qua…và tất nhiên các thông tin này phải được tổ chức hợp lý, cho phép khách hàng tìm kiếm một cách dễ dàng. Ngoài ra, trên website du lịch tôi xây dựng trong đồ án này, còn cung cấp các thông tin về các địa danh du lịch, các hình ảnh minh họa và hai ngôn ngữ tiếng Việt và tiếng Anh để phục vụ cho cả đối tượng khách hàng trong nước lẫn nước ngoài.
2.4. Đặc tả yêu cầu chương trình
Công ty du lịch thiết kế tour và lên lịch trình cho từng tour cụ thể. Sau đó, cập nhật thông tin các tour này lên website với đầy đủ thông tin về giá cả, loại tour, lịch trình, các địa phương đi đến và hình ảnh minh họa (nếu có).
Người viếng thăm website có thể xem, tìm kiếm thông tin về các tour du lịch hiện hành hoặc tìm kiếm tour theo các yêu cầu cụ thể về giá cả, địa phương muốn đến, ngày khởi hành của tour. Sau đó, khách hàng có thể tiến hành đặt chỗ cho tour đang xem nếu muốn. Thông tin các tour du lịch được hiển thị bằng ngôn ngữ Tiếng Anh phục vụ chủ yếu cho du khách nước ngoài muốn tham quan du lịch tại các địa điểm du lịch hấp dẫn của Việt Nam.
Khách hàng có thể đặt tour trực tuyến. Website sẽ cập nhật thông tin đặt chỗ này trực tiếp lên cơ sở dữ liệu, và cho phép người quản trị được phân quyền thao tác các công việc sau:
Tìm kiếm các đơn đặt chỗ đã được xác nhận hay chưa xác nhận.
Xác nhận đơn đặt chỗ hợp lệ, chỉnh sửa thông tin khách hàng và thông tin đặt chỗ trên từng đơn cụ thể.
Thống kê tình hình đặt chỗ của từng tour, xem danh sách khách hàng tham gia các tour đó.
Thay đổi, thêm mới hoặc xóa bỏ thông tin, hình ảnh về các điểm du lịch ở các địa phương khác nhau mà công ty muốn giới thiệu cho khách hàng.
Theo dõi tình hình liên hệ thông qua website của khách hàng, để đáp ứng kịp thời nhu cầu của họ.
Về tổ chức lưu trữ, thực hiện các yêu cầu:
Thêm, xóa, sửa thông tin, hình ảnh về các tour du lịch do công ty tổ chức, phục vụ cho công tác quản lý, thống kê tình hình hoạt động của công ty.
Thêm, xóa, sửa thông tin, hình ảnh về các điểm du lịch ở từng địa phương khác nhau
2.5. Yêu cầu đối với sản phẩm
Website phải có dung lượng không quá lớn, tốc độ xử lý nhanh.
Giao diện dễ nhìn, thân thiện với người sử dụng
Công việc tính toán phải thực hiện chính xác, không chấp nhận sai sót.
Sử dụng mã hóa các thông tin nhạy cảm của khách hàng.
Đảm bảo an toàn dữ liệu khi chạy website trực tuyến.
CHƯƠNG 3. GIỚI THIỆU CÔNG CỤ THỰC HIỆN
Giới thiệu ngôn ngữ lập trình PHP
Lịch sử phát triển của ngôn ngữ lập trình PHP
PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới.
PHP/FI
PHP kế thừa từ một sản phẩm cũ hơn, được gọi là PHP/FI. PHP/FI được tạo ra bởi Rasmus Lerdorf vào năm 1995, ban đầu chỉ là một tập các kịch bản Perl đơn giản để theo dõi việc truy nhập tới các ứng dụng trực tuyến của ông. Ông Rasmus đã đặt tên cho tập kịch bản này là “Personal Home Page Tool”. Và khi cần phải mỏ rộng các chức năng cho công cụ, ông đã triển khai nhiều chương trình lớn được viết bằng C, sản phẩm tạo thành có thể giao tiếp với cơ sở dữ liệu, cho phép người sử dụng có thể viết được những ứng dụng Web đơn giản. Ông Rasmus đã quyết định sẽ phát hành PHP/FI cho bất cứ ai muốn có, vì vậy mọi người đều có thể sử dụng nó đông nghĩa với việc việc sửa lỗi và cải thiện mã nguồn tốt hơn. PHP/FI là viết tất của cụm từ “Personal Home Page / Forms Interpreter” bao gồm cả những chức năng cơ bản của PHP mà chúng ta đã biết ngày nay. Nó có các biến giống Perl, thông dịch tự động các biến và mã HTML đã được nhúng. Cú pháp của nó có nét giống với Perl, nhưng có nhiều hạn chế hơn, đơn giản hơn và có gì đó mâu thuẫn. Vào năm 1997, PHP/FI 2.0, phiên bản được viết trên nền C đã chiếm được lòng tin của hàng triệu người trên toàn thế giới (con số ước lượng) với hơn 50.000 tên miền có thông báo là có sử dụng nó – chiếm khoảng 1% lượng tên miền trên toàn thế giới lúc đó. Trong khi có một vài người vẫn tiếp tục phân phối các phiên bản của nó thì PHP/FI vẫn chỉ là một dự án do một người phát triển. PHP/FI 2.0 được chính thức phát hành vào tháng 11 năm 1997, sau khi đã trải qua rất nhiều phiên bản beta. Nó chỉ trải qua một bước phát triển ngắn để trở thành bản PHP 3.0 anpha đầu tiên.
PHP 3
PHP 3.0 là phiên bản đầu tiên gần gũi và giống với PHP chúng ta thấy ngày nay. Nó được tạo bởi Andi Gutmans và Zeev Suraski vào năm 1997, như một phiên bản được viết lại hoàn chỉnh sau khi họ dựa trên PHP/FI 2.0 mà bỏ đi những điểm yếu nhất để phát triển một ứng dụng thương mại điện tử trong dự án của họ ở trường đại học. Trong nỗ lực hợp tác và bắt đầu xây dựng dựa trên cơ sở những người dùng đã tồn tại của PHP/FI. Andi, Zeev và Rasmus đã quyết định giới thiệu phiên bản PHP 3.0 như là phiên bản chính thức của PHP/FI 2.0, và từ đây, sự phát triển của PHP/FI hầu như đã dừng hẳn. Điểm mạnh nhất của PHP 3.0 là các khả mở rộng rất mạnh mẽ. Trong nỗ lực thêm vào cho người dùng cuối một cơ sở hạ tầng thống nhất cho một dải rộng nhiều cơ sở dữ liệu, giao thức và các API (Application Programming Interface) khác nhau, PHP 3.0 đã thu hút hàng tá những nhà phát triển khác nhau phát triển các mô đun mở rộng mới. Không thể phủ nhận là, đây chính là nhân tố quyết định tạo ra sự thành công kinh hoàng của PHP 3.0. Chức năng chính khác được giới thiệu trong PHP 3.0 là tính năng hỗ trợ các cú pháp hướng đối tượng và cú pháp ngôn ngữ chặt chẽ và mạnh mẽ hơn rất nhiều. Toàn bộ ngôn ngữ mới đã được phát hành dưới một cái tên mới, bỏ qua những giới hạn cá nhân mà cái tên PHP/FI đã nắm giữ. Nó chỉ đơn giản tên là PHP, với ý nghĩa rằng PHP là viết tắt của : Hypertext PreProcessor. Cuối năm 1998, PHP đã có khoảng 10 triệu người sử dụng và hàng trăm triệu Website đã báo cáo là có sử dụng PHP. Ở thời điểm đỉnh cao nhất, các trang Web sử dụng PHP 3.0 đã chiếm 10% lượng Website trên toàn cầu
PHP 4
Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công bố, Andi Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần lõi của PHP. Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng phức tạp, và cải tiến tính mô đun của cơ sở mã PHP. Những ứng dụng như vậy đã chạy được trên PHP 3.0 dựa trên các tính năng mới và sự hỗ trợ khá nhiều các cơ sở dữ liệu và API của bên thứ ba, nhưng PHP 3.0 đã không được thiết kế để xử lý các ứng dụng phức tạp như thế này một cách có hiệu quả.
Một động cơ mới, có tên 'Zend Engine' (ghép từ các chữ đầu trong tên của Zeev và Andi), đã đáp ứng được các nhu cầu thiết kế này một cách thành công, và lần đầu tiên được giới thiệu vào giữa năm 1999. Họ sáng lập Zend Technologies tại Ramat Gan – thành phố của khu vực Tel Avis. PHP 4.0, dựa trên động cơ này, và đi kèm với hàng loạt các tính năng mới bổ sung, đã chính thức được công bố vào tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3.0 ra đời. Ngoài tốc độ xử lý được cải thiện rất nhiều, PHP 4.0 đem đến các tính năng chủ yếu khác gồm có sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làm việc HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách xử lý thông tin người sử dụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn ngữ mới.
Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng Internet.
Nhóm phát triển PHP cũng đã lên tới con số hàng nghìn người và nhiều nghìn người khác tham gia vào các dự án có liên quan đến PHP như PEAR, PECL và tài liệu kĩ thuật cho PHP.
PHP 5
Sự thành công hết sức to lớn của PHP 4.0 đã không làm cho nhóm phát triển PHP tự mãn. Cộng đồng đã nhanh chóng giúp họ nhận ra những yếu kém của PHP 4 đặc biệt với khả năng hỗ trợ lập trình hướng đối tượng (OOP), xử lý XML, không hỗ trợ giao thức máy khách mới của MySQL 4.1 và 5.0, hỗ trợ dịch vụ web yếu. Những điểm này chính là mục đích để Zeev và Andi viết Zend Engine 2.0, lõi của PHP 5.0. Một thảo luận trên Slashdot đã cho thấy việc phát triển PHP 5.0 có thể đã bắt đầu vào thời điểm tháng 12 năm 2002 nhưng những bài phỏng vấn Zeev liên quan đến phiên bản này thì đã có mặt trên mạng Internet vào khoảng tháng 7 năm 2002. Ngày 29 tháng 6 năm 2003, PHP 5 Beta 1 đã chính thức được công bố để cộng đồng kiểm nghiệm. Đó cũng là phiên bản đầu tiên của Zend Engine 2.0. Phiên bản Beta 2 sau đó đã ra mắt vào tháng 10 năm 2003 với sự xuất hiện của hai tính năng rất được chờ đợi: Iterators, Reflection nhưng namespaces một tính năng gây tranh cãi khác đã bị loại khỏi mã nguồn. Ngày 21 tháng 12 năm 2003: PHP 5 Beta 3 đã được công bố để kiểm tra với việc phân phối kèm với Tidy, bỏ hỗ trợ Windows 95, khả năng gọi các hàm PHP bên trong XSLT, sửa chữa nhiều lỗi và thêm khá nhiều hàm mới. PHP 5 bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 sau một chuỗi khá dài các bản kiểm tra thử bao gồm Beta 4, RC 1, RC2, RC3. Mặc dù coi đây là phiên bản sản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi trong đó đáng kể là lỗi xác thực HTTP. Ngày 14 tháng 7 năm 2005, PHP 5.1 Beta 3 được PHP Team công bố đánh dấu sự chín muồi mới của PHP với sự có mặt của PDO, một nỗ lực trong việc tạo ra một hệ thống API nhất quán trong việc truy cập cơ sở dữ liệu và thực hiện các câu truy vấn. Ngoài ra, trong PHP 5.1, các nhà phát triển PHP tiếp tục có những cải tiến trong nhân Zend Engine 2, nâng cấp mô đun PCRE lên bản PCRE 5.0 cùng những tính năng và cải tiến mới trong SOAP, streams và SPL.
PHP 6
Hiện nay phiên bản tiếp theo của PHP đang được phát triển, PHP 6 bản sử dụng thử đã có thể được download tại địa chỉ Phiên bản PHP 6 được kỳ vọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên bản hiện tại, ví dụ: hỗ trợ namespace (hiện tại các nhà phát triển vẫn chưa công bố rõ ràng về vấn đề này); hỗ trợ Unicode; sử dụng PDO làm API chuẩn cho việc truy cập cơ sở dữ liệu, các API cũ sẽ bị đưa ra thành thư viện PECL...
Ưu điểm khi dùng PHP
Như đã giới thiệu, PHP là ngôn ngữ máy chủ, mã lệnh PHP sẽ tập trung trên máy chủ để phục vụ các trang Web theo yêu cầu của người dùng thông qua trình duyệt. Khi người dùng truy cập Website viết bằng PHP, máy chủ đọc mã lệnh PHP và xử lý chúng theo các hướng dẫn đã được mã hóa
Khác với Website HTML tĩnh ở chỗ: khi có một yêu cầu, máy chủ chỉ đơn thuần gửi dữ liệu HTML đến trình duyệt Web và không xảy ra một sự biên dịch nào từ phía máy chủ. Đối với người dùng cuối và trên trình duyệt Web, các trang home.html và home.php trông tương tự như nhau, nhưng thực chất nội dung của trang được tạo theo các cách khác nhau.
Ưu điểm khi dùng PHP
Dùng mã nguồn mở (có thể chạy trên Apache hoặc IIS).
Phổ biến hơn ASP (có thể thấy dựa vào số website dùng PHP).
Dễ học khi đã biết HTML, C.
Dựa vào XAMP (dễ cấu hình).
Nhiều hệ thống CMS miễn phí dùng.
Đi cặp với MySQL (cũng dễ ).
Hoạt động trên Linux, có thể trên IIS - Windows nhưng .. hiếm!
Nhược điểm:
Mã nguồn không đẹp?!
Chỉ chạy trên ứng dụng web.
Giới thiệu MySQL
MySQL là gì?
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet. MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ. Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS, ...
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).Tuy nhiên MySQL chỉ phù hợp với các CSDL nhỏ và trung bình. Nếu dùng cho doanh nghiệp lớn thì phải dùng SQL Server (của Microsoft) hoặc Oracle.
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl ... MySQL là một phần mềm quản trị CSDL mã nguồn mở, miễn phí nằm trong nhóm LAMP (Linux - Apache -MySQL - PHP)
Ưu điểm khi dùng MySQL
Tính linh hoạt: Máy chủ cơ sở dữ liệu MySQL cung cấp đặc tính linh hoạt, có sức chứa để xử lý các ứng dụng được nhúng sâu với dung lượng chỉ 1MB để chạy các kho dữ liệu đồ sộ lên đến hàng terabytes thông tin. Sự linh hoạt về flatform là một đặc tính lớn của MySQL với tất cả các phiên bản của Linux, Unix, và Windows đang được hỗ trợ. Và dĩ nhiên, tính chất mã nguồn mở của MySQL cho phép sự tùy biến hoàn toàn theo ý muốn để thêm vào các yêu cầu thích hợp cho database server.
Tính thực thi cao: Kiến trúc storage-engine cho phép các chuyên gia cơ sở dữ liệu cấu hình máy chủ cơ sở dữ liệu MySQL đặc trưng cho các ứng dụng đặc thù. Dù ứng dụng là một hệ thống xử lý giao dịch tốc độ cao hay web site dung lượng lớn phục vụ hàng triệu yêu cầu mỗi ngày, MySQL có thể đáp ứng khả năng xử lý những đòi hỏi khắt khe nhất của bất kì hệ thống nào. Với các tiện ích tải tốc độ cao, đặc biệt bộ nhớ caches, và các cơ chế xử lý nâng cao khác, MySQL đưa ra tất cả các vũ khí cần phải có cho các hệ thống doanh nghiệp khó tính ngày nay.
Có thể sử dụng ngay: Sự đáng tin cậy cao và tính “mì ăn liền” là những tiêu chuẩn đảm bảo của MySQL. MySQL đưa ra nhiều tùy chọn có thể dùng ngay từ cấu hình tái tạo chủ/tớ tốc độ cao, để các nhà phân phối thứ 3 đưa ra những giải pháp có thể dùng ngay duy nhất cho server cơ sở dữ liệu MySQL.
Hỗ trợ giao dịch mạnh: MySQL đưa ra một trong số những engine giao dịch cơ sở dữ liệu mạnh nhất trên thị trường. Các đặc trưng bao gồm hỗ trợ giao dịch ACID hoàn thiện ( Atomic – tự động, Consistent – thống nhất, Isolated – độc lập, Durable – bền vững), khóa mức dòng không hạn chế, khả năng giao dịch được phân loại, và hỗ trợ giao dịch đa dạng (multi-version) mà người đọc không bao giờ gây trở ngại cho người viết và ngược lại. Tính toàn vẹn của dữ liệu cũng phải được bảo đảm trong suốt quá trình server có hiệu lực, các mức giao dịch độc lập được chuyên môn hóa, và phát hiện khóa chết ngay lập tức.
Nơi lưu trữ Web và Data đáng tin cậy: MySQL là nhà máy chuẩn cho các web sites phải trao đổi thường xuyên vì nó có engine xử lý tốc độ cao, khả năng chèn dữ liệu nhanh ghê gớm, và hỗ trợ mạnh cho các chức năng chuyên dụng của web như tìm kiếm văn bản nhanh. Những tính năng này cũng được áp dụng cho môi trường lưu trữ dữ liệu mà MySQL tăng cường đến hàng terabyte cho các server đơn. Các tính năng khác như bảng nhớ chính, cây B và chỉ số băm, và bảng lưu trữ đã được cô lại để giảm các yêu cầu lưu trữ đến 80% làm cho MySQL trở thành lựa chọn tốt nhất cho cả ứng dụng web và các ứng dụng doanh nghiệp.
Chế độ bảo mật dữ liệu mạnh: Vì bảo mật dữ liệu cho một công ty là công việc số một của các chuyên gia về cơ sở dữ liệu, MySQL đưa ra tính năng bảo mật đặc biệt chắc chắn dữ liệu sẽ được bảo mật tuyệt đối. Trong việc xác nhận truy cập cơ sở dữ liệu, MySQL cung cấp các kĩ thuật mạnh mà chắc chắn chỉ có người sử dụng đã được xác nhận mới có thể truy nhập được vào server cơ sở dữ liệu, với khả năng này để chặn người dùng ngay từ mức máy khách là điều có thể làm được. SSH và SSL cũng được hỗ trợ để chắc chắn các kết nối được an toàn và bảo mật. Một đối tượng framework đặc quyền được đưa ra mà người sử dụng chỉ có thể nhìn thấy dữ liệu, các hàm mã hóa và giải mã dữ liệu mạnh chắc chắn rằng dữ liệu sẽ được bảo mật. Cuối cùng, tiện ích backup và recovery cung cấp bởi MySQL và các hãng phần mềm thứ 3 cho phép backup logic và vật lý hoàn thiện cũng như recovery toàn bộ hoặc tại một thời điểm nào đó.
Sự phát triển ứng dụng hỗn hợp: Một trong số các lý do khiến cho MySQL là cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới là nó cung cấp hỗ trợ hỗn hợp cho bất kì sự phát triển ứng dụng nào cần. Trong cơ sở dữ liệu, hỗ trợ có thể được tìm thấy trong các stored procedure, trigger, function, view, cursor, ANSI-standard SQL, và nhiều nữa. Với các ứng dụng nhúng, thư viện plug-in có sẵn để nhúng vào cơ sở dữ liệu MySQL hỗ trợ trong bất kì ứng dụng nào. MySQL cũng cung cấp các bộ kết nối như: ODBC, JDBC,… để cho p hép tất cả các form của ứng dụng sử dụng MySQL như một server quản lí dữ liệu được ưu tiên.
Dễ dàng quản lý: MySQL trình diễn khả năng cài đặt nhanh đặc biệt với thời gian ở mức trung bình từ lúc download phần mềm đến khi cài đặt hoàn thành chỉ mất chưa đầy 15 phút. Điều này đúng cho dù flatform là Microsoft Windows, Linux, Macintosh hay Unix. Khi đã được cài đặt, tính năng tự quản lý như tự động mở rộng không gian, tự khởi động lại, và cấu hình động sẵn sàng cho người quản trị cơ sở dữ liệu làm việc. MySQL cũng cung cấp một bộ hoàn thiện các công cụ quản lý đồ họa cho phép một DBA quản lý, sửa chữa, và điều khiển hoạt động của nhiều server MySQL từ một máy trạm đơn. Nhiều công cụ của các hãng phần mềm thứ 3 cũng có sẵn trong MySQL để điều khiển các tác vụ từ thiết kế dữ liệu và ETL, đến việc quản trị cơ sở dữ liệu hoàn thiện, quản lý công việc, và thực hiện kiểm tra.
Mã nguồn mở tự do và hỗ trợ 24/7: Nhiều công ty lưỡng lự trong việc giao phó toàn bộ cho phần mềm mã nguồn mở vì họ tin họ không thể tìm được một cách hỗ trợ hay mạng lưới an toàn phục vụ chuyên nghiệp, hiện tại, họ tin vào phần mềm có bản quyền để chắc chắn về sự thành công toàn diện cho các ứng dụng chủ chốt của họ. Những lo lắng của họ có thể được dẹp bỏ với MySQL, sự bồi thường là có trong mạng lưới MySQL.
Tổng chi phí thấp nhất: Bằng cách sử dụng MySQL cho các dự án phát triển mới, các công ty đang thấy rõ việc tiết kiệm chi phí. Được hoàn thành thông qua sử dụng server cơ sở dữ liệu MySQL và kiến trúc scale-out, các doanh nghiệp đã tìm ra cái mà họ có thể đạt được ở mức ngạc nhiên về khả năng xử lý. Thêm vào đó, tính tin cậy và dễ duy trì của MySQL ở mức trung bình mà người quản trị cơ sở dữ liệu không phải mất nhiều thời gian sửa chữa hay vấn đề thời gian chết
CHƯƠNG 4. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Thiết kế sơ đồ
Sơ đồ lớp
Truy cập - Đặt chỗ
Khách hàng
Chương trình tour du lịch
Sitemap
Hình 4.1: Sitemap của Web
Phân tích hệ thống về chức năng
Biếu đồ phân cấp chức năng
Hình 4.2: Biểu đồ phân cấp chức năng
Biểu đồ luồng dữ liệu mức khung cảnh
Khách hàng
Xem thông tin
Tìm kiếm
Đặt tour
Liên hệ
Quản lý tour du lịch
Trả lời tìm kiếm
Thông tin tour du lịch
Xác nhận đặt vé
Thông tin khác (khách sạn,…)
Người quản trị
Quản lý thành viên
Quản lý hotel
Quản lý tour
;: Quản lý thông tin, hình ảnh
Hình 4.3: Biểu đồ luồng dữ liệu mức khung cảnh
Biểu đồ luồng dữ liệu mức đỉnh
2.Xem tin
Khách hàng
Hiển thị thông tin
3.Tìm kiếm
Hiển thị thông tin tìm kiếm Tin tức
Xem, tìm kiếm tour
4.Đặt tour
Đặt tour
Thông tin tour
Thông tin tour
Đơn hàng
1.Quản trị web
Người quản trị
Thông tin đặt tour Đăng nhập
Thông tin người quản trị
Quản trị
Hình 4.4: Biểu đồ luồng dữ liệu mức đỉnh
Biểu đồ luồng dữ liệu mức dưới đỉnh
Biểu đồ luồng dữ liệu mức dưới đỉnh cho chức năng: Quản trị web
Đăng nhập hệ thống
Người quản trị
1.1.Đăng nhập
Danh sách quản trị
Đăng nhập
Xác nhận
Hình 4.5: Biểu đồ luồng dữ liệu mức dưới đỉnh cho chức năng Đăng nhập hệ thống
Quản lý danh mục
Tour du lịch Khách sạn
Quản lý khách sạn
(1.2.2)
Quản lý tour
(1.2.1)
Quản lý đơn hàng
(1.2.4)
Người quản trị
Thông tin
Tệp liên hệ
Quản lý tin tức
(1.2.6)
Quản lý liên hệ
(1.2.3)
Quản lý khách hàng
(1.2.5)
Khách hàng Đơn đặt tour
Hình 4.6: Biểu đồ luồng dữ liệu mức dưới đỉnh cho chức năng Quản lý danh mục
Biểu đồ luồng dữ liệu mức dưới đỉnh cho Tìm kiếm
Thông tin tour
Xem thông tin tour
(3.1)
Khách hàng
Xem tin
Hiển thị
Tìm kiếm
(3.2)
Tìm kiếm
Kết quả tìm kiếm
Hình 4.7: Biểu đồ luồng dữ liệu mức dưới đỉnh cho chức năng Tìm kiếm
Biểu đồ luồng dữ liệu mức dưới đỉnh cho Đặt tour
Thông tin tour
4. Đặt tour
Khách hàng
Đặt tour Còn tour
Xác nhận
Tạo tour
Đơn hàng
Thông tin đặt tour
Hình 4.8 Biểu đồ luồng dữ liệu mứcdưới đỉnh cho chức năng Đặt tour
Phân tích và thiết kế cơ sở dữ liệu
Lập biểu đồ luồng dữ liệu mô hình thực thể - liên kết ER
Các thực thể và thuộc tính của thực thể
Loại tour: mã loại tour, loại tour
Tỉnh thành: mã tỉnh thành, tên tỉnh thành
Quốc gia: mã quốc gia, quốc gia
Khách sạn: mã khách sạn, tên khách sạn, số phòng, giá, địa chỉ, điện thoại, hình ảnh minh họa (nếu có)
Tin tức: mã tin, tiêu đề, nội dung, hình ảnh
Khách hàng: mã khách, tên khách hàng, địa chỉ, CMT, điện thoại, email, tên truy nhập, mật khẩu,
Người quản trị: tên đăng nhập, mật khẩu
Địa điểm du lịch: mã điểm du lịch, tên điểm du lịch, thông tin, hình ảnh
Tour du lịch: mã tour, tên tour, giá, đơn vị tính, ngày khởi hành, ngày kết thúc, số ngày, số chỗ, nội dung, hình ảnh, tên tỉnh thành
Đặt tour: mã đặt tour, mã tour, mã khách hàng, ngày đặt, số chỗ, giá, đơn vị tính, thành tiền, thanh toán,hình thức thanh toán
Mô hình ER:
Hình 4.9: Mô hình thực thể liên kết
Thiết kế cơ sở dữ liệu
Tbl_type_tour
Mô tả: lưu các loại tour
Khóa chính: Id_type_tour
Chi tiết:
Name
Type
Null or not null
Description
Id_type_tour
Interger (Auto increment)
Not null
Mã loại tour
Type_tour_name
Varchar
Not null
Tên loại tour
Detail
Text
Null
Mô tả
Tbl_gallery
Mô tả: lưu tên các tỉnh thành
Khóa chính: Id_gallery
Chi tiết:
Name
Type
Null or not null
Description
Id_gallery
Interger (Auto increment)
Not null
Mã tỉnh thành
Gallery_name
Varchar
Not null
Tên tỉnh thành
Content
Text
Null
Mô tả
Tbl_gallery _img
Mô tả: hiển thị chi tiết các hình ảnh du lịch trong các tỉnh thành
Khóa chính: Id
Khóa ngoại: id_gallery
Name
Type
Null or not null
Description
id
Interger (Auto increment)
Id_gallery
Interger
Not null
Mã tỉnh thành
image
Varchar
Not null
Hình ảnh
content
Text
Null
Mô tả
Tbl_country
Mô tả: lưu tên quốc gia
Khóa chính: id_country
Chi tiết:
Name
Type
Null or not null
Description
Id_country
Interger (Auto increment)
Not null
Mã quốc gia
country
Varchar
Not null
Tên quốc gia
detal
Text
Null
Mô tả
Tbl_hotel
Mô tả: lưu các loại tin tức về khách sạn trên các tỉnh thành như địa chỉ, điện thoại, số lượng phòng, giá ….
Khóa chính:id
Khóa ngoại:id_gallery,
Chi tiết:
Name
Type
Null or not null
Description
Id
Interger (Auto increment)
Not null
Mã khách sạn
Name
Varchar
Not null
Tên khách sạn
Id_gallery
Interger
Not null
Mã tỉnh thành
Link
Varchar
Null
Hình ảnh minh họa
Content
Varchar
Not null
Giới thiệu
Mobile
Varchar
Null
Điện thoại
Room
Interger
Null
Số lượng phòng
Price
Interger
Null
Giá phòng
Address
Varchar
Null
Địa chỉ
Level
Varchar
Null
Detail
Text
Not null
Thông tin chi tiết
Tbl_type_room
Mô tả: lưu loại phòng (phục vụ cho việc booking tour)
Khóa chính: id_type
Chi tiết:
Name
Type
Null or not null
Description
Id_type
Interger (Auto increment)
Not null
Mã loại phòng
Type_room
Varchar
Not null
Tên loại phòng
Detail
Varchar
Null
Thông tin chi tiết
Tbl_vncountry
Mô tả: giới thiệu chi tiết thông tin các địa điểm du lịch nổi tiếng, các vùng miền của Việt Nam
Khóa chính: id
Chi tiết:
Name
Type
Null or not null
Description
id
Interger (Auto increment)
Not null
Mã địa điểm
Name
Varchar
Not null
Tên
content
Varchar
Not null
Giới thiệu
Detail
Varchar
Not nulll
Chi tiết
Pic
Varchar
Null
Hình ảnh minh họa
Map
Varchar
Null
Bản đồ khu du lịch
Tbl_contact
Mô tả: lưu thông tin các bản ghi liên hệ của khách hàng tới công ty
Khóa chính: id
Chi tiết
Name
Type
Null or not null
Description
Id
Interger (Auto increment)
Not null
Mã quốc gia
Name
Varchar
Not null
Tên đăng nhập
email
Varchar
Not null
Mật khẩu
Subject
Varchar
Null
Message
Varchar
null
Tbl_about_us
Mô tả: lưu thôn
Các file đính kèm theo tài liệu này:
- Thiết kế website tour du lịch.DOC