MỞ ĐẦU
Việc cập nhật thông tin là điều không thể thiếu ở mỗi người, thông tin có thể từ
nhiều nguồn như báo chí, sách, đài và các phương tiện thông tin đại chúng khác. Ngày
nay Internet mở ra cho chúng ta một hình thức tiếp cận thông tin mới thông qua các hệ
thống website điện tử cung cấp các nội dung báo chí truyền tải nội dung đến người
xem một cách nhanh chóng và tiện lợi. Hằng ngày trên thế giới có hàng triệu triệu con
người đang truy cập vào các website để tìm kiếm thông tin cho mình trong đó có thông
tin về báo chí. Ở nước ta hiện nay có rất nhiều website cung cấp tin tức và có số lượng
người truy cập lớn như:
-www.vnexpress.net
-www.tuoitre.com.vn
-www.vietnamnet.vn
-www.dantri.com.vn
-www.thanhnien.com.vn
Website văn hóa ẩm thực cung cấp một kênh riêng giúp các nhà hàng giới thiệu các
món ăn của mình và giúp mang lại các thông tin văn hóa ẩm thực tới thực khách là rất
cần thiết nhằm đem đến cho người dân Việt Nam các thông tin về các món ăn ngon,
các món ăn ẩm thực truyền thống của dân tộc. Hơn thế nữa, nó còn giúp quảng bá, giới
thiệu ra thế giới, với du khách đến VN các món ăn độc đáo mang đậm phong cách
riêng của người Việt Nam.
MỤC LỤC
CHƯƠNG 1 TỔNG QUAN 7
1.1 ĐẶT VẤN ĐỀ 7
1.1.1 Hiện trạng chung 7
1.1.2 Lý do thực hiện đề tài .8
1.2 NHIỆM VỤ CỦA ĐỀ TÀI .9
1.3 CẤU TRÚC CỦA ĐỒ ÁN .10
1.4 YÊU CẦU CÁC CHỨC NĂNG CHÍNH 11
1.4.1 Đối với ban quản trị .11
1.4.2 Đối với Nhà cung cấp .11
1.4.3 Đối với khách hàng 11
1.5 YÊU CẦU PHI CHỨC NĂNG 11
1.6 HẠN CHẾ CỦA HỆ THỐNG 12
1.7 YÊU CẦU KỸ THUẬT .12
1.7.1 Phần cứng .12
1.7.2 Phần mềm .12
1.7.2.1 Đối với người phát triển phần mềm 12
1.7.2.2 Đối với máy chủ triển khai ứng dụng 12
CHƯƠNG 2 TỔNG QUAN VỀ AJAX 13
2.1 LỊCH SỬ AJAX .13
2.2 ỨNG DỤNG CỦA AJAX 14
2.3 KHÁI NIỆM AJAX 15
2.4 MÔ HÌNH HOẠT ĐỘNG CỦA AJAX .17
2.5 CÁC CÔNG NGHỆ TRONG AJAX .19
2.5.1 Công nghệ trong AJAX – Javascript 19
2.5.2 Đặc tính của ngôn ngữ javascript 20
2.5.3 Built-in Object trong javascript .21
2.5.4 Các đối tượng được cung cấp bởi môi trường Netscape .21
2.5.5 Các đối tượng do người lập trình xây dựng .21
2.5.6 Các cú pháp cơ bản của lệnh : .22
2.5.7 Sự kiện trong JavaScript 25
2.5.8 Cascading Style Sheet – CSS 26
2.5.9 Các ưu điểm của CSS trong thiết kế web .27
2.5.10 Tổng quan XML 28
2.5.10.1 Khái niệm .28
2.5.10.2 Lịch sử 28
2.5.10.3 Đặc điểm .28
2.5.10.4 Ứng dụng của XML 30
CHƯƠNG 3 GIẢI QUYẾT BÀI TOÁN .35
3.1 PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN 35
3.1.1 Sơ Đồ Use Case 35
3.1.1.1 Use Case Nhà Cung Cấp .35
3.1.1.2 Sơ Đồ Use Case Thực Khách Và Hệ Thống .36
3.1.1.3 Sơ Đồ Use Case Ban Quản Trị 36
3.1.1.4 Sơ đồ Use Case Khách Hàng Vãng lai 38
3.1.1.5 Sơ đồ Use Case Của Toàn Hệ Thống 39
3.1.2 Đặc tả Use case 39
3.2 SƠ ĐỒ TRÌNH TỰ CÁC CHỨC NĂNG CHÍNH 41
3.2.1 Sequence diagram cho Use Case Login .41
3.2.2 Sequence diagram cho Use Case Đăng ký thành viên .42
3.2.3 Sequence diagram cho Use Case Cập nhật Thông Tin Nhà Cung Cấp .43
3.2.4 Sequence diagram Use Case Đăng Bài Giới Thiệu Món Ăn .44
3.2.5 Sequence diagram cho Use Case Tìm kiếm Món Ăn, Nhà Hàng, Tin tức 45
3.3 SƠ ĐỒ TIẾN TRÌNH .46
3.3.1 Sơ Đồ Tiến Trình Của Nhà Cung Cấp .46
3.3.2 Sơ Đồ Tiến Trình Của Món Ăn .46
3.3.3 Sơ Đồ Tiến Trình Của Thông Tin Phản Hồi 47
3.4 MÔ HÌNH THỰC THỂ KẾT HỢP 48
3.5 MÔ HÌNH DỮ LIỆU QUAN HỆ .48
3.5.1 Bảng PhanLoaiNCC .48
3.5.2 Bảng KhuVucNCC 49
3.5.3 Bảng NhaCungCap .49
3.5.4 Bảng PhanLoaiMonAn .50
3.5.5 Bảng MonAn .50
3.5.6 Bảng PhanLoaiTinTuc .51
3.5.7 Bảng TinTuc .51
3.5.8 Bảng BanQuanTri 52
3.5.9 Bảng PhanHoiTuThucKhach .52
3.6 QUAN HỆ GIỮA CÁC BẢNG .54
3.7 Ràng buộc toàn vẹn 54
3.7.1 Ràng buộc toàn vẹn trên một bảng .54
3.7.2 Ràng buộc toàn vẹn về miền giá trị 57
3.7.3 Ràng buộc liên bộ .59
3.7.4 Ràng buộc toàn vẹn có bối cảnh gồm nhiều quan hệ .61
3.7.4.1 Ràng buộc toàn vẹn về phụ thuộc tồn tại 61
3.7.4.2 Ràng buộc liên thuộc tính , liên quan hệ .63
3.8 DẠNG CHUẨN .65
3.9 SƠ ĐỒ WEBSITE 69
3.9.1 Sơ Đồ Cho Người Dùng .69
3.9.2 Sơ Đồ Cho Ban Quản Trị .70
CHƯƠNG 4 KẾT QUẢ THỰC HIỆN 71
4.1 NHỮNG TRANG ỨNG DỤNG AJAX .71
4.1.1 Trang của ban quản trị .71
4.1.2 Trang khi xác lập lại mật khẩu cho quản trị khác .71
4.1.3 Trang đăng kí .72
4.1.4 Trang đổi mật khẩu của Nhà cung cấp 73
4.1.5 Trang quy định khi đăng ki .74
4.1.6 Xác lập lại mật khẩu cho nhà cung cấp .75
4.2 GIAO DIỆN CỦA CHƯƠNG TRÌNH 75
4.2.1 Trang chủ 75
4.2.2 Chi tiết món ăn .77
4.2.3 Trang admin .78
4.2.4 Góp ý tới nhà cung cấp 78
4.2.5 Giới thiệu thông tin nhà cung cấp 79
4.2.6 Trang đổi mật khẩu của Nhà cung cấp 79
4.3 CÀI ĐẶT VÀ THỬ NGHIỆM .81
4.3.1 Chuẩn bị .81
4.3.2 Thực hiện 81
CHƯƠNG 5 ĐÁNH GIÁ VÀ KẾT LUẬN .82
5.1 ĐÁNH GIÁ 82
5.2 HƯỚNG PHÁT TRIỂN .82
TÀI LIỆU THAM KHẢO .
                
              
                                            
                                
            
 
            
                 83 trang
83 trang | 
Chia sẻ: lvcdongnoi | Lượt xem: 2712 | Lượt tải: 2 
              
            Bạn đang xem trước 20 trang tài liệu Ứng dụng ajax xây dựng website văn hóa ẩm thực, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
iện hành 
đang đ
ện bạn có thể viết các hàm để biểu diễn cho các 
hành đ
lur : Xãy ra khi điểm tập trungcủa ngõ vào được di chuyển ra khỏi một thành 
- Form. 
r. 
erlink. 
Java
RIPT> 
nh của thẻ SC
+ SRC :Địa chỉ URL c
+ LANGUAGE: Chỉ định ngôn ngữ được sử dụng trong Script và c
g (ví dụ như :JavaScript ,JavaScript .1.2 vv… ,VBScript). 
2.5.7 Sự kiện trong JavaScript 
Các sự kiện cung cấp các tươ
ược load trong trang web, các hành động của user khi nhập dữ liệu vào form và 
khi click vào các button trong form. 
Khi sử dụng bộ quản lý sự ki
ộng dựa vào các sự kiện đựoc chọn. Bảng sự kiện trong Javascript. Tên sự kiện 
mô tả: 
- b
phần của Form (Khi user click ra ngoài một trường). 
click : Khi user Click vào 1 link hoặc thành phần của 
- change : Xãy ra khi giá trị của Form Field bị thay đổi bởi use
- focus : Xãy ra khi ngõ vào tập trung vào thành phần của Form 
- load : Xãy ra khi một trang được Load vào trong bộ duyệt. 
- mouseover : Xãy ra khi User di chuyển mouse qua một Hyp
- select : Xãy ra khi User chọn 1 trường của thành phần Form. 
- submit : Xãy ra khi User xác nhận đã nhập xong dữ liệu. 
- unload : Xãy ra khi User rời khỏi trang Web. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 25 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
2.5.8 Cascading Style Sheet – CSS 
CSS là từ viết tắt của Cascading Style Sheets : công dụng dùng để trang trí 
trang web của bạn, và thông thường được gắn với các ngôn ngữ như là HTML, PHP, 
dùng làm nổi bậc trang web và hình ảnh trang web của bạn. 
Mỗi khi bạn bắt đầu một Style Sheets, thì bắt buộc mở bằng và kết 
thúc bằng và tiếp theo sau đó là khai báo và 
kết thúc bằng . 
Cascading Style Sheet – tạm dịch là bảng kiểu xếp chồng - là một phần không 
thể thiếu trong thiết kế Web, nó được dùng rất nhiều trong các ứng dụng Web truyền 
thống cũng như trong Ajax. Một stylesheet đưa ra cách kiểm soát các loại định dạng 
trực quan, nó có thể được áp dụng cho các thành phần riêng lẻ trên các trang. 
Hơn nữa, cho các thành phần định dạng trực quan như màu sắc, lề, hình nền, 
tính trong suốt, kích cỡ, stylesheet có thể xác định cách mà các phần tử được bố trí 
quan hệ với các phần tử khác và tương tác với người dùng, cho phép các hiệu ứng khá 
mạnh mẽ. 
Trong ứng dụng Web truyền thống, stylesheet cung cấp một cách hiệu quả để 
xác định cách thể hiện vị trí và có thể được dùng lại trong nhiều trang web khác 
nữa.Với AJAX, stylesheet cung cấp một “kho chứa” các giao diện xác định trước có 
thể áp dụng cho các phần tử động với độ dài các đoạn mã nguồn là nhỏ nhất. 
CSS định dạng một trang web theo ba cách : 
- Sử dụng trực tiếp kèm với các thẻ HTML (Inline Style Sheet). 
- Định nghĩa trong một trang web (Internal Style Sheet). 
- Định nghĩa thành một file CSS riêng (External Style Sheet). Trang web của 
chúng ta sẽ tham chiếu đến file CSS này. 
Một quy tắc định dạng và bố trí gồm có hai phần: thành phần lựa chọn - selector 
và phần khai báo - style declaration. Selector đặc tả các phần tử được định dạng và bố 
trí, và style declaration khai báo các thuộc tính định dạng sẽ được áp dụng. Giả sử 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 26 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
muốn tạo ra các dòng text trong level-1 heading trong tài liệu (đó là đoạn nằm trong 
thẻ ) có màu đỏ. 
Có thể khai báo thuộc tính CSS như sau: 
 h1 {color: red} 
2.5.9 Các ưu điểm của CSS trong thiết kế web 
CSS giúp tiết kiệm được rất nhiều thời gian và công sức cho việc thiết kế web. 
Style trong phiên bản HTML 4.0 qui định cách thức thể hiện các thẻ. Style thường 
được lưu trong các file nằm ngoài trang web. Chúng giúp thay đổi cách thức định dạng 
và cách bố trí các trang web chỉ bằng cách thay đổi riêng file CSS. 
CSS cho phép điều khiển cách định dạng và cách bố trí của cùng lúc nhiều 
trang web với chỉ duy nhất một lần thay đổi tại một vị trí. Có thể định nghĩa nhiều 
style vào một thẻ HTML . 
CSS cho phép đưa các thông tin định nghĩa thẻ thông qua nhiều con đường 
khác nhau. Style có thể được qui định ở trong chỉ một thẻ HTML, được qui định trong 
một trang web hoặc ở trong một file CSS bên ngoài. 
Cú pháp cơ bản của CSS: 
Cú pháp của CSS gồm ba thành phần: 
- Thành phần lựa chọn (thường là một thẻ HTML) (Selector). 
- Thuộc tính (Property). 
- Giá trị (Value). 
Thể hiện của cú pháp CSS: 
 Selector { 
Property1: Value1; 
Property2: Value2; 
} 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 27 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Selector có thể là các thẻ/nhóm thẻ HTML, các lớp khai báo, hay bằng định danh duy 
nhất của phần tử. 
2.5.10 Tổng quan XML 
2.5.10.1 Khái niệm 
XML viết tắt từ tiếng Anh Extensible Markup Language, "Ngôn ngữ Đánh dấu 
Mở rộng".XML là ngôn ngữ đánh dấu với mục đích chung do W3C đề nghị, để tạo ra 
các ngôn ngữ đánh dấu khác. Đây là một tập con đơn giản của SGML, có khả năng mô 
tả nhiều loại dữ liệu khác nhau. Mục đích chính của XML là đơn giản hóa việc chia sẻ 
dữ liệu giữa các hệ thống khác nhau, đặc biệt là các hệ thống được kết nối với Internet. 
Các ngôn ngữ dựa trên XML (thí dụ: RDF, RSS, MathML, XHTML, SVG, và cXML) 
được định nghĩa theo cách thông thường, cho phép các chương trình sửa đổi và kiểm 
tra hợp lệ bằng các ngôn ngữ này mà không cần có hiểu biết trước về hình thức của 
chúng. 
2.5.10.2 Lịch sử 
Vào giữa những năm 1990, các chuyên gia SGML đã có kinh nghiệm với 
World Wide Web (vẫn còn khá mới vào thời đó). Họ tin tưởng rằng SGML có thể 
cung cấp giải pháp cho các vấn đề mà Web đang gặp phải. Jon Bosak đưa ra ý kiến 
W3C nên tài trợ một chương trình mang tên "SGML trên Web". 
2.5.10.3 Đặc điểm 
XML cung cấp một phương tiện dùng văn bản (text) để mô tả thông tin và áp 
dụng một cấu trúc kiểu cây cho thông tin đó. Tại mức căn bản, mọi thông tin đều thể 
hiện dưới dạng text, chen giữa là các thẻ đánh dấu (markup) với nhiệm vụ ký hiệu sự 
phân chia thông tin thành một cấu trúc có thứ bậc của các dữ liệu ký tự, các phần tử 
dùng để chứa dữ liệu, và các thuộc tính của các phần tử đó. Về mặt đó, XML tương tự 
với các biểu thức S (S-expression) của ngôn ngữ lập trình LISP ở chỗ chúng đều mô tả 
các cấu trúc cây mà trong đó mỗi nút có thể có một danh sách tính chất của riêng 
mình. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 28 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Đơn vị cơ sở của XML là các ký tự theo định nghĩa của Universal Character Set 
(Bộ ký tự toàn cầu). Các ký tự được kết hợp theo các tổ hợp chuỗi hợp lệ để tạo thành 
một tài liệu XML. Tài liệu này gồm một hoặc nhiều thực thể, mỗi thực thể thường là 
một phần nào đó của các ký tự thuộc tài liệu, được mã hóa dưới dạng một chuỗi các bit 
và lưu trữ trong một tệp văn bản (text file). 
Các tệp XML có thể dùng cho nhiều loại dữ liệu đa phương tiện. RFC3023 định 
nghĩa các loại "application/xml" và "text/xml", với ý rằng dữ liệu được biểu diễn bằng 
XML mà không nói gì đến ngữ nghĩa của dữ liệu. 
Sự phổ biến của các phần mềm soạn thảo văn bản (word processor) đã hỗ trợ 
việc soạn thảo và bảo trì tài liệu XML một cách nhanh chóng. Trước XML, có rất ít 
ngôn ngữ mô tả dữ liệu với các đặc điểm đa năng, thân thiện với giao thức Internet, dễ 
học và dễ tạo. Thực tế, đa số các định dạng trao đổi dữ liệu thời đó đều chuyện dụng, 
có tính độc quyền, và có định dạng nhị phân (chuỗi bit thay vì chuỗi ký tự) khó dùng 
chung giữa các ứng dụng phần mềm khác nhau hay giữa các hệ nền (platform) khác 
nhau. Việc tạo và bảo trì trên các trình soạn thảo thông dụng lại càng khó khăn. 
Bằng cách cho phép các tên dữ liệu, cấu trúc thứ bậc được phép, và ý nghĩa của 
các phần tử và thuộc tính có tính chất mở và có thể được định nghĩa bởi một giản đồ 
tùy biến được, XML cung cấp một cơ sở cú pháp cho việc tạo lập các ngôn ngữ đánh 
dấu dựa XML theo yêu cầu. Cú pháp chung của các ngôn ngữ đó là cố định — các tài 
liệu phải tuân theo các quy tắc chung của XML, bảo đảm rằng tất cả các phần mềm 
hiểu XML ít ra cũng phải có khả năng đọc (phân tích cú pháp - parse) và hiểu bố cục 
tương đối của thông tin trong các tài liệu đó. Giản đồ chỉ bổ sung một tập các ràng 
buộc cho các quy tắc cú pháp. Các giản đồ thường hạn chế tên của phần tử và thuộc 
tính và các cấu trúc thứ bậc được phép, ví dụ, chỉ cho phép một phần tử tên 'ngày sinh' 
chứa một phần tử tên 'ngày' và một phần tử có tên 'tháng', mỗi phần tử phải chứa đúng 
một ký tự. Đây là điểm khác biệt giữa XML và HTML. HTML có một bộ các phần tử 
và thuộc tính không mềm dẻo, chỉ có một tác dụng và nói chung là không thể dùng cho 
mục đích khác. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 29 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
XML không hạn chế về việc nó được sử dụng như thế nào. Mặc dù XML về cơ 
bản là dạng text, các phần mềm với chức năng trừu tượng hóa nó thành các định dạng 
khác giàu thông tin hơn đã nhanh chóng xuất hiện, quá trình trừu tượng hóa này được 
thực hiện chủ yếu qua việc sử dụng các giản đồ định hướng kiểu dữ liệu (datatype-
oriented schema) và khuôn mẫu lập trình hướng đối tượng (mà trong đó, mỗi tài liệu 
XML được thao tác như là một đối tượng). Những phần mềm như vậy có thể coi XML 
như là dạng text đã được tuần tự hóa chỉ khi nó cần truyền dữ liệu qua mạng. 
2.5.10.4 Ứng dụng của XML. 
- XML có thể tạo ra các tập ngôn ngữ con khác(ngôn ngữ định dạng dựa trên 
XML hay XML-based Language). 
- Ứng dụng XML mang ý nghĩa cho biết một tập hợp các thẻ hay tập con XML 
hoạt động trong riêng một lĩnh vực nào đó.Ví dụ MathML là một ứng dụng của 
XML trong lĩnh vực toán học. 
- CML –Ngôn ngữ định dang hóa học. 
- MathMl – Ngôn ngữ định dạng toán học. 
- CDF – Khuôn dạng định nghĩa kênh. 
- SMIL – Ngôn ngữ tích hợp multimedia đồng bộ. 
- HTML+TIME. 
- XHTML. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 30 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Chương trình XML đơn giản: 
Ví dụ 1: 
Hình 2.5 
Đoạn mã của hình 2.5. 
 Smit 
 Sam 
 Ngay 18 thang 3 nam 2008 
 Tomatoes 
 8 
 $1 .25 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 31 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Ví dụ 2: 
Hình 2.6 
Đoạn mã của hình 2.6: 
 Data Binding With the XML DSO 
 Data Binding With the XML DSO 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 32 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
 <XML ID="dsoCustomer" 
SRC="customer.xml" HEIGHT="0" WIDTH="0"> 
 Name:<INPUT TYPE="TEXT" DATASRC="#dsoCustomer" 
 DATAFLD="NAME" SIZE="10"> 
 ID:<INPUT TYPE="TEXT" DATASRC="#dsoCustomer" 
DATAFLD="CUSTOMER_ID" SIZE="5"> 
 Purchase date:<SPAN DATASRC="#dsoCustomer" 
DATAFLD="PURCHASE_DATE"> 
 Department:<SPAN DATASRC="#dsoCustomer" 
DATAFLD="DEPARTMENT" SIZE="1"> 
Product 
<OPTION VALUE="Meat"Meat 
<OPTION VALUE="Frozen" Frozen 
 Product:<SPAN DATASRC="#dsoCustomer" 
DATAFLD="PRODUCT_NAME"> 
 < < 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 33 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
 <BUTTON ONCLICK=”if(!dsoCustomer.recordset.BOF) 
dsoCustomer. recordset.movePrevious()”>< 
 <BUTTON ONCLICK=”if(!dsoCustomer.recordset.EOF) 
dsoCustomer. recordset.moveNext()”>> 
 > > 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 34 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
CHƯƠNG 3 GIẢI QUYẾT BÀI TOÁN 
3.1 PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN 
3.1.1 Sơ Đồ Use Case 
3.1.1.1 Use Case Nhà Cung Cấp 
 Các chức năng của nhà cung cấp: 
- Đăng ký. 
- Đăng nhập. 
- Quản lý thông tin. 
- Xem phản hồi. 
Hình 3.1 Sơ đồ Use Case Nhà Cung Cấp 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 35 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
3.1.1.2 Sơ Đồ Use Case Thực Khách Và Hệ Thống 
 Các chức năng của thực khách: 
 Đăng nhập. 
 Viết phản hồi. 
 Tìm kiếm. 
Hình 3.2 Sơ đồ Use Case Thực Khách 
3.1.1.3 Sơ Đồ Use Case Ban Quản Trị 
 Các chức năng chính của ban quản trị và hệ thống là: 
 Đăng nhập. 
 Quản lý nhà cung cấp. 
 Quản lý món ăn. 
 Quản lý tin tức. 
 Quản lý phản hồi. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 36 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
 Quản lý danh mục: tin tức, loại nhà cung cấp, khu vực nhà cung cấp. 
Hình 3.3 Sơ đồ Use Case Ban Quản Trị 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 37 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
3.1.1.4 Sơ đồ Use Case Khách Hàng Vãng lai 
Các chức năng của khách hàng vãng lai 
 Đăng ký thành viên. 
 Xem thông tin ẩm thực. 
 Tìm kiếm. 
Hình 3.4 Sơ đồ Use Case Khách Hàng Vãng lai 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 38 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
3.1.1.5 Sơ đồ Use Case Của Toàn Hệ Thống 
Hình 3.5 Use Case Của Toàn Hệ Thống 
3.1.2 Đặc tả Use case 
Đăng nhập: 
Use case này mô tả cách thức người dùng đăng nhập vào hệ thống. 
Các luông sự kiện 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 39 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Use case này bắt đầu khi hệ thống yêu cầu người dùng đăng nhập. 
Luồng sự kiện chính: 
- Hệ thống hiển thị một màn hình yêu cầu người sử dụng nhập tên và mật khẩu. 
- Người dùng nhập tên và mật khẩu. 
- Sau khi nhập xong nhấn đồng ý. 
- Hệ thống sẽ chuyển thông tin lên server để xử lý. 
- Hệ thống sẽ kiểm tra tên và mật khẩu có trong cơ sở dữ liệu hay không. 
- Hệ thống sẽ dựa vào quyền của người đăng nhập để cấp cho những chức năng 
tương ứng. 
- Sau đó hệ thống sẽ thông báo cho người dùng biết là đã đăng nhập thành công. 
Luồng sự kiện phụ 
- Nếu trong luông sự kiện chính, người dùng nhập sai tên hoặc mật khẩu thì hệ 
thống sẽ thông báo là nhập tên và mật khẩu sai. Hệ thống sẽ hiển thị lại màn 
hình đăng nhập yêu cầu người dùng đăng nhập lại. 
- Người dùng có thể đăng nhập lại hoặc là hủy bỏ việc đăng nhập. 
- Điều kiện tiên quyết. 
- Hệ thống phải kết nối thành công với server. 
Kết quả 
Nếu đăng nhập thành công sẽ xuất hiện màn hình quản lý chính và tùy theo từng quyền 
của người dùng sẽ xuất hiện những chức năng tương ứng. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 40 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
3.2 SƠ ĐỒ TRÌNH TỰ CÁC CHỨC NĂNG CHÍNH 
3.2.1 Sequence diagram cho Use Case Login 
Hình 3.6 Sequence diagram cho Use Case Login 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 41 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
3.2.2 Sequence diagram cho Use Case Đăng ký thành viên 
Hình 3.7 Sequence diagram cho Use Case Đăng ký thành viên 
Chức năng: Cho phép nhà cung cấp có thể đăng ký làm thành viên của website. 
Đối tượng: Nhà cung cấp (khách sạn, nhà hàng, quán ăn). 
Thông tin đầu vào: Ảnh minh hoạ, tên đăng nhập, mật khẩu, xác nhận mật khẩu, tên 
nhà hàng, khu vực, loại hình, địa chỉ nhà hàng, số điện thoại, email (nếu có), câu hỏi bí 
mật, câu trả lời, giới thiệu về nhà hàng, xác nhận dãy số an toàn. 
Cách thức xử lý: Kiểm tra form: Tên đăng nhập phải từ 6 tới 24 ký tự và chưa có 
trong cơ sở dữ liệu, Mật khẩu phải từ 6 tới 24 ký tự, Mật khẩu xác nhận phải giống với 
mật khẩu chính, Địa chỉ không quá 100 ký tự, Số điện thoại phải là số và có từ 8 đến 
12 số, Địa chỉ email phải đúng mẫu, Câu hỏi bí mật phải được chọn, câu trả lời phải 
được điền. Kiểm tra ràng buộc dữ liệu trong CSDL. 
Dữ liệu cần lưu trữ: Tất cả các giữ liệu nhập vào được lưu vào trong database và sẽ 
có thêm trạng thái của dữ liệu (được ban quản trị xác nhận hay chưa?). 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 42 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Thông tin đầu ra: Hiện thông báo lỗi nếu các form nhập không đúng mẫu hoặc không 
hợp lệ. Hiện form thông báo đăng ký thành công và chờ Ban quản trị xác nhận nếu các 
thông tin đầy đủ và hợp lệ.
3.2.3 Sequence diagram cho Use Case Cập nhật Thông Tin Nhà Cung Cấp 
Hình 3.8 sequence diagram cho Use Case Cập nhật Thông Tin Nhà Cung Cấp 
Chức năng: Cho phép nhà cung cấp có thể thêm, sửa chữa lại các thông tin của mình. 
Đối tượng: Nhà cung cấp (khách sạn, nhà hàng, quán ăn ). 
Thông tin đầu vào: Ảnh minh hoạ, tên đăng nhập, mật khẩu, xác nhận mật khẩu, tên 
nhà hàng, khu vực, loại hình, địa chỉ nhà hàng, số điện thoại, email (nếu có), câu hỏi bí 
mật, câu trả lời, giới thiệu về nhà hàng. 
Cách thức xử lý: Kiểm tra ràng buộc dữ liệu mới nhập vào, sau đó cập nhật vào 
CSDL thông tin mới. 
Dữ liệu cần lưu trữ: Các thông tin mới của nhà cung cấp. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 43 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Thông tin đầu ra: Hiện thông báo lỗi nếu các form nhập không đúng mẫu hoặc không 
hợp lệ. Hiện form thông báo cập nhật thành công nếu các thông tin điền vào hợp lệ. 
3.2.4 Sequence diagram Use Case Đăng Bài Giới Thiệu Món Ăn 
Hình 3.9 Sequence diagram Use Case Đăng Bài Giới Thiệu Món Ăn 
: Cho phép nhà cung cấp đăng bài giới thiệu về món ăn. Chức năng
Đối tượng: Nhà cung cấp (Khách sạn, nhà hàng, quán ăn...). 
Thông tin đầu vào: Ảnh minh hoạ, tên món ăn, thể loại món ăn, nội dung giới thiệu 
món ăn. 
Cách Cách thức xử lý: Kiểm tra ràng buộc dữ liệu mới nhập vào, sau đó cập nhật vào 
CSDL dữ liệu mới. 
Thông tin đầu ra: Trưng bày món ăn mới lên trang chủ của thực khách. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 44 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
3.2.5 Sequence diagram cho Use Case Tìm kiếm Món Ăn, Nhà Hàng, Tin tức 
Hình 3.10 Sequence diagram cho Use Case Tìm kiếm Món Ăn, Nhà Hàng, Tin tức. 
Chức năng: Cho phép thực khách tìm kiếm các món ăn theo danh mục, nhà hàng, 
thông tin. 
Đối tượng: Thực khách. 
Thông tin đầu vào: Nhập vào từ khóa cần tìm và loại tìm kiếm. 
Cách thức xử lý: Kiểm tra từ khoá trong CSDL xem có không. 
Thông tin đầu ra: Hiện ra các thông tin có chứa từ khóa được tìm thấy trong CSDL. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 45 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
3.3 SƠ ĐỒ TIẾN TRÌNH 
3.3.1 Sơ Đồ Tiến Trình Của Nhà Cung Cấp 
Hình 3.11 Sơ Đồ Tiến Trình Của Nhà Cung Cấp 
3.3.2 Sơ Đồ Tiến Trình Của Món Ăn 
Hình 3.12 Sơ Đồ Tiến Trình Của Món Ăn 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 46 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
3.3.3 Sơ Đồ Tiến Trình Của Thông Tin Phản Hồi 
Hình 3.13 Sơ Đồ Tiến Trình Của Thông Tin Phản Hồi 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 47 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
3.4 MÔ HÌNH THỰC THỂ KẾT HỢP 
Nhà Cung Cấp 
Phân Loại 
Nhà Cung 
Cấp 
Khu Vực 
Nhà Cung 
Cấp 
 Thuôc1 
n
1 n 1 
 Ban Quản Trị 
Có 
Có
Có 
 Món Ăn n 
Thuộc
n 
1 
Có
Thuộc 
 Tin Tức 
Phân Loại 
Tin Tức 
1 
n Phản Hồi Từ 
Thực Khách 
1 
1 
n
n
Có
Phân Loại 
Món Ăn 
Hình 3.14 Sơ đồ quan hệ thực thể 
3.5 MÔ HÌNH DỮ LIỆU QUAN HỆ 
Cơ sở dữ liệu có cấu trúc như sau: 
3.5.1 Bảng PhanLoaiNCC 
PhanLoaiNCC(MaLoaiNCC, TenLoaiNCC) 
Đây là bảng lưu trữ dữ liệu về phân loại nhà cung cấp, mỗi một nhà cung cấp thuộc 
một loại nhà cung cấp. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 48 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
STT Thuộc tính Kiểu dữ liệu Diễn giải 
1 MaLoaiNCC Tinyint Mã loại nhà cung cấp 
2 TenLoaiNCC Nvarchar Tên loại nhà cung cấp 
Bảng 1: PhanLoaiNCC 
3.5.2 Bảng KhuVucNCC 
KhuVucNCC(MaKhuVuc, TenKhuVuc) 
Đây là bảng lưu trữ dữ liệu về khu vực nhà cung cấp. 
STT Thuộc tính Kiểu dữ liệu Diễn giải 
1 MaKhuVuc Tinyint Mã Khu Vực 
2 TenKhuVuc Nvarchar Tên Khu Vực 
Bảng 2: KhuVucNCC 
3.5.3 Bảng NhaCungCap 
NhaCungCap(MaNhaCungCap, MaKhuVuc, MaLoaiNCC, TenNCC, TenDangNhap, 
MatKhau, DiaChiNCC, SoDienThoai, DiaChiEmail, GioiThieu, HinhAnh, 
CauHoiBiMat, CauTraLoi, NgayDangKy, TrangThai) 
Đây là bảng lưu trữ dữ liệu về thông tin nhà cung cấp. 
STT Thuộc tính Kiểu dữ liệu Diễn giải 
1 MaNhaCungCap Int Mã nhà cung cấp 
2 MaKhuVuc Tinyint Mã khu vực 
3 MaLoaiNCC Tinyint Mã loại nhà cung cấp 
4 TenNCC Nvarchar Tên nhà cung cấp 
5 TenDangNhap Varchar Tên đăng nhập 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 49 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
6 MatKhau Varchar Mật khẩu 
7 DiaChiNCC Nvarchar Địa chỉ nhà cung cấp 
8 SoDienThoai Varchar Số điện thoại 
9 DiaChiEmail Varchar Địa chỉ Email 
10 GioiThieu Nvarchar Giới thiệu 
11 HinhAnh Varchar Hình ảnh 
12 CauHoiBiMat Nvarchar Câu hỏi bí mật 
13 CauTraLoi Nvarchar Câu trả lời 
14 NgayDangKy Datetime Ngày đăng ký 
15 TrangThai Tinyint Trạng thái 
Bảng 3: Nhà cung cấp 
3.5.4 Bảng PhanLoaiMonAn 
PhanLoaiMonAn(MaLoaiMonAn, TenLoaiMonAn ) 
Đây là bảng lưu trữ dữ liệu phân loại món ăn. Nó cung cấp thể loại cho các món ăn. 
STT Thuộc tính Kiểu dữ liệu Diễn giải 
1 MaLoaiMonAn Tinyint Mã loại món ăn 
2 TenLoaiMonAn Nvarchar Tên loại món ăn 
Bảng 4: Phân loại món ăn 
3.5.5 Bảng MonAn 
MonAn(MaMonAn, MaNhaCungCap, MaLoaiMonAn, TenMonAn, HinhAnh, 
GioiThieu, NgayDangBai, TrangThai) 
Đây là bảng lưu trữ dữ liệu về món ăn, cho biết thông tin đầy đủ và chi tiết đến các 
món ăn. 
STT Thuộc tính Kiểu dữ liệu Diễn giải 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 50 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
1 MaMonAn Int Mã món ăn 
2 MaNhaCungCap Int Mã nhà cung cấp 
3 MaLoaiMonAn Tinyint Mã loại món ăn 
4 TenMonAn Nvarchar Tên món ăn 
5 HinhAnh Varchar Hình ảnh 
6 GioiThieu Nvarchar Giới thiệu 
7 NgayDangBai Datetime Ngày đăng bài 
8 TrangThai Bit Trạng thái 
Bảng 5 : Món ăn 
3.5.6 Bảng PhanLoaiTinTuc 
PhanLoaiTinTuc(MaLoaiTT, TenLoaiTT ) 
Đây là bảng lưu trữ dữ liệu loại tin tức. 
STT Thuộc tính Kiểu dữ liệu Diễn giải 
1 MaLoaiTT Tinyint Mã loại tin tức 
2 TenLoaiTT Nvarchar Tên loại tin tức 
Bảng 6: Phân loại tin tức 
3.5.7 Bảng TinTuc 
TinTuc(MaTinTuc, MaLoaiTT, TieuDe, NoiDung, NgayDangTin ) 
Đây là bảng lưu trữ dữ liệu về tin tức. 
STT Thuộc tính Kiểu dữ liệu Diễn giải 
1 MaTinTuc Int Mã tin tức 
2 MaLoaiTT Tinyint Mã loại tin tức 
3 TieuDe Nvarchar Tiêu đề 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 51 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
4 NoiDung Nvarchar Nội dung 
5 NgayDangTin Datetime Ngày đăng tin 
Bảng 7: Tin tức 
3.5.8 Bảng BanQuanTri 
BanQuanTri(MaQuanTri, TenDangNhap, MatKhau, HoTen, DiaChi, SoDienThoai, 
DiaChiEmail, LoaiQuanTri ) 
Đây là bảng lưu trữ dữ liệu về ban quản trị. 
STT Thuộc tính Kiểu dữ liệu Diễn giải 
1 MaQuanTri Int Mã quản trị 
2 TenDangNhap Varchar Tên đăng nhập 
3 MatKhau Varchar Mật khẩu 
4 HoTen Nvarchar Họ tên 
5 DiaChi Nvarchar Địa chỉ 
6 SoDiaChi Varchar Số điện thoại 
7 DiaChiEmail Varchar Địa chỉ Email 
8 LoaiQuanTri Bit Loại quản trị 
Bảng 8: Ban quản trị 
3.5.9 Bảng PhanHoiTuThucKhach 
PhanHoiTuThucKhach(MaPhanHoi, MaNhaCungCap, MaQuanTri, TenThucKhach, 
DiaChi, SoDienThoai, DiaChiEmail, TieuDe, NoiDung, TraLoi, NgayGui, TrangThai) 
Đây là bảng lưu trư dữ liệu về phản hồi từ thực khách. 
STT Thuộc tính Kiểu dữ liệu Diễn giải 
1 MaPhanHoi Int Mã phản hồi 
2 MaNhaCungCap Int Mã nhà cung cấp 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 52 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
3 MaQuanTri Int Mã quản trị 
4 TenThucKhach Nvarchar Tên thực khách 
5 DiaChi Nvarchar Địa chỉ 
6 SoDienThoai Varchar Số điện thoại 
7 DiaChiEmail Varchar Địa chỉ Email 
8 TieuDe Nvarchar Tiêu đề 
9 NoiDung Nvarchar Nội dung 
10 TraLoi Nvarchar Trả lời 
11 NgayGui Datetime Ngày gửi 
12 TrangThai Bit Trạng thái 
Bảng 9: Phản hồi từ thực khách 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 53 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
3.6 QUAN HỆ GIỮA CÁC BẢNG 
3.7 Ràng buộc toàn vẹn 
3.7.1 Ràng buộc toàn vẹn trên một bảng 
Ràng buộc 1: 
BanQuanTri(MaQuanTri, TenDangNhap, MatKhau, HoTen, DiaChi, SoDienThoai, 
DiaChiEmail, LoaiQuanTri) 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 54 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Nội dung: Mỗi một ban quản trị phải có một mã số phân biệt với các ban quản trị 
Bối cảnh: BanQuanTri 
Điều kiện: ∀q1, q2 ∈ BanQuanTri 
 q1.MaQuanTri q2.MaQuanTri 
Tầm ảnh hưởng: 
 Thêm Xoá Sửa 
BanQuanTri + - +[MaQuanTri] 
Ràng buộc 2: 
NhaCungCap(MaNhaCungCap, MaKhuVuc, MaLoaiNCC, TenNCC, TenDangNhap, 
MatKhau, DiaChiNCC, SoDienThoai, DiaChiEmail, GioiThieu, HinhAnh, 
CauHoiBiMat, CauTraLoi, NgayDangKy, TrangThai) 
Nội dung: Mỗi nhà cung cấp phải có một mã nhà cung cấp phân biệt với các nhà cung 
cấp. 
Bối cảnh: NhaCungCap 
Điều kiện: ∀q1, q2 ∈ NhaCungCap 
 q1.MaNhaCungCapq2.MaNhaCungCap 
Tầm ảnh hưởng: 
 Thêm Xoá Sửa 
NhaCungCap + - +[NhaCungCap] 
Ràng buộc 3: 
MonAn(MaMonAn, MaNhaCungCap, MaLoaiMonAn, TenMonAn, HinhAnh, 
GioiThieu, NgayDangBai, TrangThai) 
Nội dung: Mỗi một món ăn phải có một mã số phân biệt với các món ăn khác 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 55 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Bối cảnh: MonAn 
Điều kiện: ∀q1, q2 ∈ MonAn 
 q1.MonAn q2.MonAn 
Tầm ảnh hưởng: 
 Thêm Xoá Sửa 
MonAn + - +[MonAn] 
Ràng buộc 4: 
TinTuc(MaTinTuc, MaLoaiTT, TieuDe, NoiDung, NgayDangTin) 
Nội dung: Mỗi một tin tức có một mã số phân biệt với các tin tức khác 
Bối cảnh: TinTuc 
Điều kiện: ∀q1, q2 ∈ TinTuc 
 q1.TinTuc q2.TinTuc 
Tầm ảnh hưởng: 
 Thêm Xoá Sửa 
TinTuc + - +[TinTuc] 
Ràng buộc 5: 
PhanHoiTuThucKhach(MaPhanHoi, MaNhaCungCap, MaQuanTri, TenThucKhach, 
DiaChi, SoDienThoai, DiaChiEmail, TieuDe, NoiDung, TraLoi, NgayGui,TrangThai) 
Nội dung: Mỗi một phản hồi từ thực khách có một mã phản hồi phân biệt với các phản 
hồi khác 
Bối cảnh: PhanHoiTuThucKhach 
Điều kiện: ∀q1, q2 ∈ PhanHoiTuThucKhach 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 56 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
 q1.PhanHoiTuThucKhach q2.PhanHoiTuThucKhach 
Tầm ảnh hưởng: 
 Thêm Xoá Sửa 
PhanHoiTuThucKhach + - +[PhanHoiTuThucKhach]
Ràng buộc 6: 
KhuVucNCC(MaKhuVuc, TenKhuVuc) 
Nội dung: Mỗi một khu vực nhà cung cấp phải có một mã số khu vực phân biệt với 
các khu vực 
Bối cảnh: KhuVucNCC 
Điều kiện: ∀q1, q2 ∈ KhuVucNCC 
 q1.KhuVucNCC q2.KhuVucNCC 
Tầm ảnh hưởng: 
 Thêm Xoá Sửa 
KhuVucNCC + - +[KhuVucNCC] 
3.7.2 Ràng buộc toàn vẹn về miền giá trị 
Ràng buộc 7: 
Mô tả: Ngày viết phải nhỏ hơn hoặc bằng ngày trên mạng. 
Thuật toán: 
Ngày viết bài <= Ngày đăng bài 
Ràng buộc 8: 
Mô tả: 
Số ký tự của tiêu đề phải nhỏ hơn hoặc bằng 200 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 57 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Câu trả lời không được để trống và phải dài không quá 50 ký tự. 
Số ký tự của trích dẫn giới thiệu dài không quá 4000 ký tự. 
Chiều dài , chiều cao của ảnh đại diện >0. 
Thuật toán: 
Length(TieuDe)<=200 and 
Length(CauTraLoi )<=50 and 
TieuDe >0 and 
HinhAnh >0 
Ràng buộc 9: 
Mô tả: 
Số ký tự của tên đăng nhập phải khác rỗng và có ký tự từ 6 đến 24. 
Số ký tự của mật khẩu không được để rỗng và có ký tự từ 6 đến 24. 
Thuật toán: 
Length(ID) >= 6 and Length(ID)<=24 and 
Length(MK) >=6 and Length(MK) <=24. 
Ràng buộc 10: 
Mô tả: 
Số điện thoại phải là chữ số có từ 8-12 ký tự 
Email không được để trống và phải hợp lệ. 
Thuật toán: 
Length(SoDienThoai)>=8 and Length(SoDienThoai)<=12 and 
Length(Email) 0. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 58 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
3.7.3 Ràng buộc liên bộ 
Ràng buộc 11: 
NhaCungCap(MaNhaCungCap, MaKhuVuc, MaLoaiNCC, TenNCC, TenDangNhap, 
MatKhau, DiaChiNCC, SoDienThoai, DiaChiEmail, GioiThieu, HinhAnh, 
CauHoiBiMat, CauTraLoi, NgayDangKy, TrangThai) 
Bối cảnh: NhaCungCap 
Điều kiện: q1∈ T NhaCungCap, q2∈ T NhaCungCap 
q1.MaNhaCungCapq2.MaNhaCungCap 
Or q1.MaKhuVucq2.MaKhuVuc 
Or q1.MaLoaiNCC q2.MaLoaiNCC 
Tầm ảnh hưởng: 
 Thêm Xoá Sửa 
NhaCungCap + - +[MaNhaCungCap, 
MaKhuVuc,MaLoaiNCC] 
Ràng buộc 12: 
MonAn(MaMonAn, MaNhaCungCap, MaLoaiMonAn, TenMonAn, HinhAnh, 
GioiThieu, NgayDangBai, TrangThai) 
Bối cảnh: MonAn 
Điều kiện: q1∈ T MonAn, q2∈ T MonAn 
 q1.MaMonAnq2.MaMonAn 
Or q1.MaNhaCungCapq2.MaNhaCungCap 
Or q1.MaLoaiMonAn q2.MaLoaiMonAn 
Tầm ảnh hưởng: 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 59 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
 Thêm Xoá Sửa 
MonAn + - +[MaMonAn,MaNhaCungCap, 
MaLoaiMonAn] 
Ràng buộc 13: 
PhanHoiTuThucKhach(MaPhanHoi, MaNhaCungCap, MaQuanTri, TenThucKhach, 
DiaChi, SoDienThoai, DiaChiEmail, TieuDe, NoiDung, TraLoi, NgayGui,TrangThai) 
Bối cảnh: PhanHoiTuThucKhach 
Điều kiện: q1∈ T PhanHoiTuThucKhach, q2∈ T PhanHoiTuThucKhach 
 q1.MaPhanHoiq2.MaPhanHoi 
 Or q1.MaNhaCungCapq2.MaNhaCungCap 
 Or q1.MaQuanTri q2.MaQuanTri 
Tầm ảnh hưởng: 
 Thêm Xoá Sửa 
PhanHoiTuThucKhach + - +[MaPhanHoi, 
MaNhaCungCap,MaQuanTri]
Ràng buộc 14: 
TinTuc(MaTinTuc, MaLoaiTT, TieuDe, NoiDung, NgayDangTin) 
Bối cảnh: TinTuc 
Điều kiện: q1∈ T TinTuc, q2∈ T TinTuc 
 q1.MaTinTucq2.MaTinTuc Or q1.MaLoaiTinTucq2.MaLoaiTinTuc 
Tầm ảnh hưởng: 
 Thêm Xoá Sửa 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 60 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
TinTuc + - +[MaTinTuc, 
MaLoaiTinTuc] 
3.7.4 Ràng buộc toàn vẹn có bối cảnh gồm nhiều quan hệ 
3.7.4.1 Ràng buộc toàn vẹn về phụ thuộc tồn tại 
Ràng buộc 15: 
PhaLoaiNCC(MaLoaiNCC, TenLoaiNCC) 
NhaCungCap(MaNhaCungCap, MaKhuVuc, MaLoaiNCC, TenNCC, TenDangNhap, 
MatKhau, DiaChiNCC, SoDienThoai, DiaChiEmail, GioiThieu, HinhAnh, 
CauHoiBiMat, CauTraLoi, NgayDangKy, TrangThai) 
Bối cảnh: PhanLoaiNCC, NhaCungCap 
Điều kiện: PhanLoaiNCC[MaLoaiNCC] NhaCungCap[MaLoaiNCC] ⊆
Tầm ảnh hưởng: 
 Thêm Xoá Sửa 
PhanLoaiNCC + - +[MaLoaiNCC] 
NhaCungCap - + +[MaLoaiNCC] 
Ràng buộc 16: 
Bối cảnh: KhuVucNCC, NhaCungCap 
Điều kiện: KhuVucNCC[MaKhuVuc] ⊆ NhaCungCap[MaKhuVuc] 
Tầm ảnh hưởng: 
 Thêm Xoá Sửa 
KhuVucNCC + - +[MaKhuVuc] 
NhaCungCap - + +[MaKhuVuc] 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 61 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Ràng buộc 17: 
TinTuc(MaTinTuc, MaLoaiTT, TieuDe, NoiDung, NgayDangTin) 
PhanLoaiTinTuc(MaLoaiTT, TenTT) 
Bối cảnh: PhanLoaiTinTuc, TblTinTuc 
Điều kiện: PhanLoaiTinTuc[MaLoaiTT] ⊆ TinTuc[MaLoaiTT] 
Tầm ảnh hưởng: 
 Thêm Xoá Sửa 
PhanLoaiTinTuc + - +[MaLoaiTT] 
TinTuc - + +[MaLoaiTT] 
Ràng buộc 18: 
NhaCungCap(MaNhaCungCap, MaKhuVuc, MaLoaiNCC, TenNCC, TenDangNhap, 
MatKhau, DiaChiNCC, SoDienThoai, DiaChiEmail, GioiThieu, HinhAnh, 
CauHoiBiMat, CauTraLoi, NgayDangKy, TrangThai) 
MonAn(MaMonAn, MaNhaCungCap, MaLoaiMonAn, TenMonAn, HinhAnh, 
GioiThieu, NgayDangBai, TrangThai) 
Bối cảnh: NhaCungCap, MonAn 
Điều kiện: NhaCungCap[MaNhaCungCap] MonAn[MaNhaCungCap] ⊆
Tầm ảnh hưởng: 
 Thêm Xoá Sửa 
PhanLoaiNhaCungCap + - +[MaNhaCungCap] 
MonAn - + +[MaNhaCungCap] 
Ràng buộc 19: 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 62 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
MonAn(MaMonAn, MaNhaCungCap, MaLoaiMonAn, TenMonAn, HinhAnh, 
GioiThieu, NgayDangBai, TrangThai) 
PhanLoaiMonAn(MaLoaiMonAn, TenLoaiMonAn) 
Bối cảnh: PhanLoaiMonAn, MonAn 
Điều kiện: PhanLoaiMonAn[MaLoaiMonAn] MonAn[MaLoaiMonAn] ⊆
Tầm ảnh hưởng: 
 Thêm Xoá Sửa 
PhanLoaiTinTuc + - +[MaLoaiTT] 
TinTuc - + +[MaLoaiTT] 
Ràng buộc 20: 
PhanHoiTuThucKhach(MaPhanHoi, MaNhaCungCap, MaQuanTri, TenThucKhach, 
DiaChi, SoDienThoai, DiaChiEmail, TieuDe, NoiDung, TraLoi, NgayGui,TrangThai) 
BanQuanTri(MaQuanTri,TenDangNhap, MatKhau, HoTen, DiaChi, SoDienThoai, 
DiaChiEmail, LoaiQuanTri) 
Bối cảnh: PhanHoiTuThucKhach, BanQuanTri 
Điều kiện: PhanHoiTuThucKhach[MaQuanTri] BanQuanTri[MaQuanTri] ⊆
Tầm ảnh hưởng: 
 Thêm Xoá Sửa 
PhanHoiTuThucKhach + - +[MaQuanTri] 
BanQuanTri - + +[MaQuanTri] 
3.7.4.2 Ràng buộc liên thuộc tính , liên quan hệ 
Ràng buộc 21: 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 63 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
MonAn(MaMonAn, MaNhaCungCap, MaLoaiMonAn, TenMonAn, HinhAnh, 
GioiThieu, NgayDangBai, TrangThai) 
NhaCungCap(MaNhaCungCap, MaKhuVuc, MaLoaiNCC, TenNCC, TenDangNhap, 
MatKhau, DiaChiNCC, SoDienThoai, DiaChiEmail, GioiThieu, HinhAnh, 
CauHoiBiMat, CauTraLoi, NgayDangKy, TrangThai) 
Bối cảnh: MonAn ,NhaCungCap 
Điều kiện: ∀ qi ∈ MonAn 
∃ qj ∈ T NhaCungCap: 
 qi.MaNhaCungCap=qj.MaNhaCungCap 
Thì qi.NgayDangKy>=qj.NgayDangBai 
Tầm ảnh hưởng: 
 Thêm Xoá Sửa 
MonAn + - +[NgayDangBai] 
NhaCungCap - + +[NgayDangKy] 
Bối cảnh: NhaCungCap ,PhanHoiTuThucKhach 
Điều kiện: qi ∀ ∈ NhaCungCap 
∃ qj ∈ T PhanHoiTuThucKhach: 
qi.MaNhaCungCap=qj.MaNhaCungCap 
Thì qi.NgayGui<=qj.NgayDangKy 
Tầm ảnh hưởng: 
 Thêm Xoá Sửa 
PhanHoiTuThucKhach + - +[NgayGui] 
NhaCungCap - + +[NgayDangKy] 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 64 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
3.8 DẠNG CHUẨN 
NhaCungCap(MaNhaCungCap, MaKhuVuc, MaLoaiNCC, TenNCC, TenDangNhap, 
MatKhau, DiaChiNCC, SoDienThoai, DiaChiEmail, GioiThieu, HinhAnh, 
CauHoiBiMat, CauTraLoi, NgayDangKy, TrangThai) 
 Nhà cung cấp đạt dạng chuẩn 1 vì mọi thuộc tính của nhà cung cấp đều là thuộc 
tính đơn. 
 Nhà Cung Cấp đạt dạng chuẩn 2 vì mọi thuộc tính không khóa của Nhà Cung 
Cấp đều phụ thuộc đầy đủ vào các khóa của Nhà Cung Cấp. 
 Nhà Cung Cấp đạt dạng chuẩn 3 vì mọi thuộc tính không khóa của Nhà Cung 
Cấp đều không phụ thuộc bắc cầu vào một khóa nào của Nhà Cung Cấp. 
 Nhà Cung Cấp có vế trái của phụ thuộc hàm là siêu khóa. Nó đạt dạng chuẩn 
BCK. 
PhanLoaiNCC(MaLoaiNCC, TenLoaiNCC) 
 Đạt dạng chuẩn 1 vì mọi thuộc tính của nhà cung cấp đều là thuộc tính đơn. 
 FPhanLoaiNCC = { f1: MaLoaiNCCÆ TenLoaiNCC } Æ PhanLoaiNCC đạt 
dạng chuẩn 2. 
 PhanLoaiNCC(MaLoaiNCC, TenLoaiNCC) đạt dạng chuẩn 3 vì chỉ có một 
thuộc tính không khóa là TenLoaiNCC và thuộc tính này không phụ thuộc bắc 
cầu vào các khóa. 
 PhanLoaiNCC(MaLoaiNCC, TenLoaiNCC) có vế trái của phụ thuộc hàm là 
siêu khóa. Nó đạt dạng chuẩn BCK. 
KhuVucNCC(MaKhuVuc, TenKhuVuc) 
 KhuVucNCC Đạt dạng chuẩn 1 vì mọi thuộc tính của KhuVucNCC đều là 
thuộc tính đơn. 
 FKhuVucNCC = { f1: MaKhuVucÆ TenKhuVuc } Æ KhuVucNCC đạt dạng 
chuẩn 2. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 65 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
 KhuVucNCC(MaKhuVuc, TenKhuVuc) đạt dạng chuẩn 3 vì chỉ có một thuộc 
tính không khóa là TenKhuVuc và thuộc tính này không phụ thuộc bắc cầu vào 
các khóa. 
 KhuVucNCC có vế trái của phụ thuộc hàm là siêu khóa. Nó đạt dạng chuẩn 
BCK. 
PhanLoaiMonAn(MaLoaiMonAn, TenLoaiMonAn ) 
 PhanLoaiMonAn Đạt dạng chuẩn 1 vì mọi thuộc tính của nhà cung cấp đều là 
thuộc tính đơn. 
 FPhanLoaiMonAn = { f1: MaLoaiMonAnÆ TenLoaiMonAn} 
ÆPhanLoaiMonAn đạt dạng chuẩn 2. 
 PhanLoaiMonAn( MaLoaiMonAn, TenLoaiMonAn) đạt dạng chuẩn 3 vì chỉ có 
một thuộc tính không khóa là TenLoaiMonAn và thuộc tính này không phụ 
thuộc bắc cầu vào các khóa. 
 PhanLoaiMonAn có vế trái của phụ thuộc hàm là siêu khóa. Nó đạt dạng chuẩn 
BCK. 
MonAn(MaMonAn, MaNhaCungCap, MaLoaiMonAn, TenMonAn, HinhAnh, 
GioiThieu, NgayDangBai, TrangThai) 
 MonAn Đạt dạng chuẩn 1 vì mọi thuộc tính của món ăn đều là thuộc tính đơn. 
 MonAn đạt dạng chuẩn 2 vì mọi thuộc tính không khóa của MonAn đều phụ 
thuộc đầy đủ vào các khóa MonAn. 
 MonAn đạt dạng chuẩn 3 vì mọi thuộc tính không khóa của MonAn không phụ 
thuộc bắc cầu vào các khóa. 
 MonAn có vế trái của phụ thuộc hàm là siêu khóa. Nó đạt dạng chuẩn BCK. 
PhanLoaiTinTuc(MaLoaiTT, TenLoaiTT ) 
 PhanLoaiTinTuc Đạt dạng chuẩn 1 vì mọi thuộc tính của PhanLoaiTinTuc đều 
là thuộc tính đơn. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 66 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
 FPhanLoaiTinTuc = { f1: MaLoaiTTÆ TenLoaiTT} ÆPhanLoaiTT đạt dạng 
chuẩn 2. 
 PhanLoaiTinTuc( MaLoaiTinTuc, TenLoaiTinTuc) đạt dạng chuẩn 3 vì chỉ có 
một thuộc tính không khóa là TenLoaiTinTuc và thuộc tính này không phụ 
thuộc bắc cầu vào các khóa. 
 PhanLoaiTinTuc có vế trái của phụ thuộc hàm là siêu khóa. Nó đạt dạng chuẩn 
BCK. 
TinTuc(MaTinTuc, MaLoaiTT, TieuDe, NoiDung, NgayDangTin ) 
 TinTuc đạt dạng chuẩn 1 vì mọi thuộc tính của TinTuc đều là thuộc tính đơn. 
 FtinTuc{f1: MaTinTuc, MaLoaiTTÆ TieuDe, NoiDung, NgayDangTin }Æ 
Đạt dạng chuẩn 2. 
 TinTuc đạt dạng chuẩn 3 vì mọi thuộc tính không khóa của TinTuc không phụ 
thuộc bắc cầu vào các khóa. 
 TinTuc có vế trái của phụ thuộc hàm là siêu khóa. Nó đạt dạng chuẩn BCK. 
BanQuanTri(MaQuanTri, TenDangNhap, MatKhau, HoTen, DiaChi, SoDienThoai, 
DiaChiEmail, LoaiQuanTri ) 
 BanQuanTri đạt dạng chuẩn 1 vì mọi thuộc tính của BanQuanTri đều là thuộc 
tính đơn. 
 FBanQuanTri{f1: MaQuanTriÆTenDangNhap, MatKhau, HoTen, DiaChi, 
SoDienThoai, DiachiEmail , LoaiQuanTri}Æ đạt dạng chuẩn 2 vì mọi thuộc 
tính không khóa của BanQuanTri đều phụ thuộc đầy đủ vào các khóa 
BanQuanTri. 
 BanQuanTri đạt dạng chuẩn 3 vì mọi thuộc tính không khóa của BanQuanTri 
không phụ thuộc bắc cầu vào các khóa. 
 BanQuanTri có vế trái của phụ thuộc hàm là siêu khóa. Nó đạt dạng chuẩn 
BCK. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 67 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
PhanHoiTuThucKhach(MaPhanHoi, MaNhaCungCap, MaQuanTri, TenThucKhach, 
DiaChi, SoDienThoai, DiaChiEmail, TieuDe, NoiDung, TraLoi, NgayGui, TrangThai) 
 PhanHoiTuThucKhach đạt dạng chuẩn 1 vì mọi thuộc tính của 
PhanHoiTuThucKhach đều là thuộc tính đơn. 
 PhanHoiTuThucKhach đạt dạng chuẩn 2 vì mọi thuộc tính không khóa của 
PhanHoiTuThucKhach đều phụ thuộc đầy đủ vào các khóa. 
 PhanHoiTuThucKhach đạt dạng chuẩn 3 vì mọi thuộc tính không khóa của 
PhanHoiTuThucKhach không phụ thuộc bắc cầu vào các khóa. 
 PhanHoiTuThucKhach có vế trái của phụ thuộc hàm là siêu khóa. Nó đạt dạng 
chuẩn BCK. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 68 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
3.9 SƠ ĐỒ WEBSITE 
3.9.1 Sơ Đồ Cho Người Dùng 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 69 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
3.9.2 Sơ Đồ Cho Ban Quản Trị 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 70 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
CHƯƠNG 4 KẾT QUẢ THỰC HIỆN 
4.1 NHỮNG TRANG ỨNG DỤNG AJAX 
4.1.1 Trang của ban quản trị 
Khi dùng AJAX thì tại trang đổi mật khẩu của Ban quản trị, nhập mật khẩu cũ vào thì 
Ajax sẽ giúp kiểm tra mật khẩu cũ mà admin nhập vào, bằng cách trao đổi dữ liệu với 
web server, không có nạp lại trang. 
Hình 4.1 Màn hình thay đổi mật khẩu. 
Thông tin đầu vào: 
- Mật khẩu cũ, mật khẩu mới, xác nhận mật khẩu mới. 
Thông tin đầu ra: 
- Hiện thông báo lỗi nếu thông tin điền vào không đầy đủ hoặc không hợp lệ. 
- Hiện thông báo đổi mật khẩu thành công nếu thông tin đầu vào đầy đủ và 
hợp lệ. 
Kiểm tra hợp lệ: 
- Mật khẩu cũ, mật khẩu mới, xác nhận mật khẩu không được để trống và 
phải có từ 6 đến 24 ký tự. Xác nhận mật khẩu phải giống với mật khẩu mới. 
4.1.2 Trang khi xác lập lại mật khẩu cho quản trị khác 
Tại trang xác nhập lại mật khẩu cho quản trị khác, khi admin nhấn vào nút xác lập lại 
thì việc kiểm tra đó không cần nạp lại trang mà nó trao đổi dữ liệu với web server. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 71 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Hình 4.2 Màn hình xác lập lại mật khẩu cho quản trị khác 
Trang này có chức năng hỗ trợ cho admin có quyền cao nhất để xác nhận lại mật khẩu 
cho các admin khác. 
4.1.3 Trang đăng kí 
Tại trang đăng kí, khi nhập hết thông tin rồi gửi form đăng kí lên máy chủ để 
kiểm tra. Ajax sẽ giúp kiểm tra từng dòng lệnh mà khách hàng nhập vào form đăng kí 
xem có hợp lí và không trùng lặp với thông tin trong cơ sở dữ liệu, mà không nạp lại 
trang. 
Hình 4.3 Đăng Ký 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 72 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Thông tin đầu vào: 
Tên đăng nhập, mật khẩu, xác nhận mật khẩu, tên nhà hàng, khu vực, loại hình, 
số điện thoại, địa chỉ email, câu hỏi bí mật, câu trả lời, giới thiệu về nhà hàng, 
ảnh minh họa nhà hàng. 
- Thông tin đầu ra: 
Hiện thông báo lỗi nếu thông tin nhập vào không hợp lệ. 
Hiện thông báo đăng ký thành công và chờ duyệt nếu thông tin nhập vào đầy đủ 
và hợp lệ. 
- Kiểm tra hợp lệ: 
- Tên đăng nhập và mật khẩu: Không được để trống và phải có từ 6 đến 24 ký tự, 
giữa các ký tự không có khoảng trắng. 
- Xác nhận mật khẩu: Phải giống với mật khẩu. 
- Tên nhà hàng: Không được để trống và dài không quá 50 ký tự. 
- Số điện thoại: Phải là chữ số và có từ 8 đến 12 ký tự. 
- Địa chỉ email: Không được để trống và phải hợp lệ. 
- Câu trả lời: Không được để trống và dài không quá 50 ký tự. 
- Giới thiệu: Không được để trống và dài không quá 4000 ký tự. 
- Ảnh nhà hàng: Bắt buộc phải có. 
Sau khi nhập những thông tin cần thiết tiếp tục đăng ký sẽ có trang quy định khi 
đăngký. Nếu đồng ý với những quy định đã đề ra khi đăng ký thì bấm tiếp tục để 
hoànthành việc đăng ký. 
4.1.4 Trang đổi mật khẩu của Nhà cung cấp 
Tương tự ở trang của Ban quản trị khi nhà cung cấp đổi mật khẩu, khi nhà cung 
câp nhập mật khẩu cũ vào thì Ajax sẽ giúp kiểm tra mật khẩu cũ đó, bằng cách trao 
đổi dữ liệu với web server, không có nạp lại trang. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 73 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Hình 4.4 Đổi mật khẩu nhà cung cấp 
- Thông tin đầu vào: 
 Mật khẩu cũ, mật khẩu mới, xác nhận mật khẩu mới. 
- Thông tin đầu ra: 
Hiện thông báo lỗi nếu thông tin điền vào không đầy đủ hoặc không hợp lệ. 
Hiện thông báo đổi mật khẩu thành công nếu thông tin đầu vào đầy đủ và hợp 
lệ. 
- Kiểm tra hợp lệ: 
Mật khẩu cũ, mật khẩu mới, xác nhận mật khẩu không được để trống và phải có 
từ 6 đến 24 ký tự. Xác nhận mật khẩu phải giống với mật khẩu mới. 
4.1.5 Trang quy định khi đăng ki 
- Áp dụng khi đăng ký làm thành viên của trang web. 
- Để đăng kí được thành viên của trang web thì phải đồng ý với những qui 
định của trang web, khách hàng cần lick vào checkbox thì Ajax sẽ giúp trao 
đổi dữ liệu với web server, không có nạp lại trang. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 74 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Hình 4.5 Quy định khi đăng ký 
4.1.6 Xác lập lại mật khẩu cho nhà cung cấp 
Khi nhà cung cấp quên mật khẩu thì vào trang xác lập lại mật khẩu cho nhà cung 
cấp, nhà cung cấp phải đăng nhập đúng tên, chọn câu hỏi bí mật và phải trả lời đúng câu hỏi 
bí mật khi click vào xác nhận thì Ajax sẽ giúp kiểm tra tên đăng nhập và câu trả lời chính xác 
với thông tin dưới cơ sở dữ liệu, nhưng không cần nạp lại trang. 
Hình 4.6 Xác lập lại mật khẩu cho nhà cung cấp 
4.2 GIAO DIỆN CỦA CHƯƠNG TRÌNH 
4.2.1 Trang chủ 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 75 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Hình 4.7 Trang chủ 
Đăng nhập: 
- Thông tin đầu vào: 
Tên đăng nhập và mật khẩu. 
- Thông tin đầu ra: 
Hiện thông báo lỗi nếu thông tin nhập vào không hợp lệ. 
Hiện thông báo đăng nhập thành công nếu thông tin đúng và hợp lệ. 
- Kiểm tra hợp lệ: 
Tên đăng nhập và mật khẩu: Không được để trống và phải có từ 6 đến 24 ký tự. 
Phần tìm kiếm: 
- Thông tin đầu vào: 
Từ khóa cần tìm và thể loại tìm kiếm. 
- Thông tin đầu ra: 
Hiện thông báo lỗi nếu từ khóa tìm kiếm không hợp lệ. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 76 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Hiển thị loại thông tin tìm được có chứa từ khóa nếu thông tin đầy đủ vào hợp 
lệ. 
- Kiểm tra hợp lệ: 
Từ khóa: Không được để trống. 
Giới thiệu tổng quát về các món ăn. Khi thực khách muốn xem thông tin của 
món ăn nào đó thì nhấp vào xem chi tiết. Chương trình sẽ hiển thị giới thiệu chi 
tiết về món ăn đó. 
4.2.2 Chi tiết món ăn 
Hình 4.8 Chi tiết món ăn 
Giới thiệu chi tiết thông tin món ăn mà bạn muốn biết. Tên món ăn, loại món ăn, 
nhà cung cấp, giới thiệu thông tin chi tiết nguyên liệu, thành phần dinh dưỡng của món 
ăn. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 77 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
4.2.3 Trang admin 
Hình 4.9 Trang Admin 
4.2.4 Góp ý tới nhà cung cấp 
Hình 4.10 Góp ý tới nhà cung cấp 
- Thông tin đầu vào: 
Nhà hàng muốn gửi phản hồi tới, tên thực khách, địa chỉ thực khách, số điện 
thoại, địa chỉ email, tiêu đề phản hồi, nội dung phản hồi. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 78 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
- Thông tin đầu ra: 
Hiện thông báo lỗi nếu thông tin đầu vào không đầy đủ hoặc không hợp lệ. 
Hiện thông báo phản hồi đã được gửi đi nếu thông tin đầu vào đầy đủ và hợp lệ. 
- Kiểm tra hợp lệ: 
Tên khách hàng: Không được để trống và dài không quá 50 ký tự. 
Địa chỉ: Không được để trống và dài không quá 100 ký tự. 
Số điện thoại: Phải là chữ số và có từ 8 đến 12 ký tự. 
Địa chỉ email: Phải hợp lệ. 
Tiêu đề phản hồi: Không được để trống và dài không quá 50 ký tự. 
Nội dung phản hồi: Không được để trống và dài không quá 4000 ký tự. 
4.2.5 Giới thiệu thông tin nhà cung cấp 
Hình 4.11 Thông tin nhà cung cấp 
Đưa ra những thông tin chi tiết về nhà cung cấp: Tên nhà cung cấp, loại hình, khu vực, 
địa chỉ, số điện thoại, địa chỉ email, ngày đăng ký, giới thiệu. 
4.2.6 Trang đổi mật khẩu của Nhà cung cấp 
Tương tự ở trang của Ban quản trị khi nhà cung cấp đổi mật khẩu, khi nhà cung câp 
nhập mật khẩu cũ vào thì Ajax sẽ giúp kiểm tra mật khẩu cũ đó, bằng cách trao đổi dữ 
liệu với web server, không có nạp lại trang. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 79 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Hình 4.12 Đổi mật khẩu nhà cung cấp 
- Thông tin đầu vào: 
 Mật khẩu cũ, mật khẩu mới, xác nhận mật khẩu mới. 
- Thông tin đầu ra: 
Hiện thông báo lỗi nếu thông tin điền vào không đầy đủ hoặc không hợp lệ. 
Hiện thông báo đổi mật khẩu thành công nếu thông tin đầu vào đầy đủ và hợp 
lệ. 
- Kiểm tra hợp lệ: 
Mật khẩu cũ, mật khẩu mới, xác nhận mật khẩu không được để trống và phải có 
từ 6 đến 24 ký tự. Xác nhận mật khẩu phải giống với mật khẩu mới. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 80 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
4.3 CÀI ĐẶT VÀ THỬ NGHIỆM 
4.3.1 Chuẩn bị 
- Lập đề cương chi tiết cho đồ án. 
- Tìm hiểu, nghiên cứu các tài liệu về: ASP.NET,công nghệ AJAX, SQL Server 
2005, Photoshop, Corew… 
- Cơ chế mã hóa thông tin trên cơ sở dữ liệu. 
- Tìm hiểu cơ chế tổ chức, thực hiện các chương trình trên website. 
- Tìm hiểu, tổng hợp thông tin, chuẩn bị nội dung cho trang web. 
4.3.2 Thực hiện 
- Thực hiện xây dựng sơ đồ chức năng tương tác giữa các trang trong website. 
- Xây dựng database và mô hình quan hệ dữ liệu. 
- Thiết kế giao diện website 
- Tạo các Template theo cấu trúc đã đưa ra. 
- Lập trình hiển thị nội dung website. 
- Lập trình phân quyền người quản trị website 
- Lập trình hỗ trợ việc tìm kiếm các yêu cầu của User. 
- Nhập dữ liệu vào database thông qua giao diện. 
- Lập trình cho phép User đăng ký thành viên. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 81 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
CHƯƠNG 5 ĐÁNH GIÁ VÀ KẾT LUẬN 
5.1 ĐÁNH GIÁ 
Xây dựng website văn hóa ẩm thực không phải là một vấn đề mới, nhưng nó 
mang tính cần thiết cao, nhất là trong giai đoạn hiện nay – Web site đã trở thành một 
phần không thể thiếu trong cuộc sống của nhiều người dân Việt Nam. Đẩy mạnh công 
nghệ thông tin, đưa tin học hóa vào cuộc sống. Để đáp ứng được sự thay đổi nhanh 
chóng của tin học, bắt kịp với nhu cầu phục vụ cho đất nước, đảm bảo được một đội 
ngũ trong ngành tin học có kiến thức. Dưới sự hướng dẫn và góp ý của cô Trương Thị 
Minh Châu chúng tôi thực hiện đề tài này nhằm mang lại các thông tin Văn Hóa Ẩm 
Thực tới thực khách. Đem đến cho người dân Việt Nam các thông tin về món ăn ngon, 
các món ăn ẩm thực truyền thống của dân tộc. Hơn thế nữa nó còn giúp quảng bá, giới 
thiệu ra thế giới, với du khách đến Việt Nam các món ăn độc đáo mang đậm phong 
cách riêng của người Việt Nam. Nhưng do thời gian hạn hẹp và trình độ kiến thức còn 
hạn nên website chúng tôi xây dựng được trong đồ án này mới chỉ đáp ứng được yêu 
cầu cơ bản, nếu đưa vào sử dụng thì cần phải nâng cấp thêm, chưa ứng dụng được 
nhiều về AJAX. 
Tuy nhiên với đồ án này chúng tôi đã thực hiện được các phần sau: 
- Thiết kế giao diện cho website với màu sắc hài hòa, phù hợp với lĩnh vực văn 
hóa ẩm thực. Bố trí hợp lý, tiện ích cho người sử dụng, trình bày rõ ràng. 
- Đưa ra được những thông tin cần thiết: Thông tin về ẩm thực, thông tin về văn 
hóa, thông tin nhà cung cấp… 
- Có thể tìm kiếm, xem thông tin chi tiết về văn hóa ẩm thực. 
- Mỗi một User đều có thể đăng ký một tài khoản trong website. 
- Có thể đăng, chỉnh sửa, xóa thông tin của họ trên website. 
5.2 HƯỚNG PHÁT TRIỂN 
Tạo thêm cho Website chức năng mua bán trực tuyến. Đặt hàng qua mạng cũng như 
thanh toán trực tuyến. 
Hỗ trợ chức năng của diễn đàn 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 82 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
TÀI LIỆU THAM KHẢO 
Tham khảo một số website: 
www.w3schools.com
www.thegioiwebsite.net
www.htmedsoft.com
www.dot.net.vn
Một số sách tham khảo: 
Phạm Hữu Khang, (2007). Lập trình ASP.Net 2.0. Nhà xuất bản Lao Động Xã Hội . 
Phạm Hữu Khang, (2007). Đối tượng ADO.NET 2.0 VÀ XML. Nhà xuất bản Lao Động 
Xã Hội… 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 83 
            Các file đính kèm theo tài liệu này:
 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực.pdf Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực.pdf