Khi thêm mới phải kiểm tra những sốthứtựmặt hàng trong cùng danh mục 
gốc bịxóa thì bổsung vào những sốthứtựtrống đó. Nếu không thì thêm 
mới sốthứtựmặt hàng mới trong danh mục gốc đó 
Lưu ý: Mỗi mặt hàng thuộc vềmột danh mục (gốc hay không gốc). Nếu danh 
mục mặt hàng thuộc vềkhông phải là danh mục gốc thì phải xác định danh 
mục gốc của danh mục mà danh mục đó thuộc về.
                
              
                                            
                                
            
 
            
                
153 trang | 
Chia sẻ: haianh_nguyen | Lượt xem: 1383 | Lượt tải: 0
              
            Bạn đang xem trước 20 trang tài liệu Đề tài Tìm hiểu và xây dựng dịch vụ thương mại điện tử, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
thời điểm tạo đơn đặt hàng trước thời gian hiện tại là 12 giờ thì sẽ 
không được chỉnh sửa đơn đặt hàng. 
QĐ-9: Tại một thời điểm bất kì, khách hàng chỉ tồn tại tối đa 1 đơn đặt hàng 
có thể được chỉnh sửa. 
QĐ-10: Tại một thời điểm bất kì, một mặt hàng chỉ có tối đa 1 chương trình 
khuyến mãi áp dụng cho nó. 
QĐ-11: Nếu chương trình không giới hạn số lượng khách hàng thì giá trị của 
trường số lượng khách hàng trong chương trình khuyến mãi = -1 
QĐ-12: Nếu chương trình không giới hạn số lượng tặng phẩm thì giá trị của 
trường số lượng tặng phẩm trong chương trình khuyến mãi = -1 
8.2. Cơ sở dữ liệu Meta_ EC 
8.2.1. Sơ đồ 
Hình 8.3 Sơ đồ cơ sở dữ liệu Meta_EC 
Chương 8. THIẾT KẾ ỨNG DỤNG 
 77
8.2.2. Mô tả 
Cơ sở dữ liệu Meta_EC lưu dữ liệu dùng để định nghĩa dữ liệu của: 
• Công ty. 
• Chương trình khuyến mãi. 
Dữ liệu dùng để định nghĩa dữ liệu của công ty có chức năng giúp cho việc lưu trữ 
được tất cả các thông tin về mặt hàng do công ty đưa ra.Dữ liệu này nằm trong các 
bảng: TT_ANHXA, TT_DENGHI, TTBB_ANHXA, TT_BATBUOC 
Dữ liệu dùng để định nghĩa dữ liệu cho chương trình khuyến mãi có chức năng giúp 
cho việc nhập thông tin về chương trình khuyến mãi dễ dùng và thân thiện. Bao 
gồm các bảng sau: MOTA_FIELD, MOTA_TABLE 
STT Tên bảng Mô tả Chú thích 
1 TT_BATBUOC Thuộc tính bắt buộc Danh sách các thuộc tính bắt 
buộc mà một mặt hàng phải có 
khi đăng kí quảng cáo trên siêu 
thị 
2 TTBB_ANHXA Thuộc tính bắt buộc 
ánh xạ 
Tên các cột trong cơ sở dữ liệu 
công ty tương ứng với các 
thuộc tính này. 
3 TT_DENGHI Thuộc tính đề nghị Danh sách các thuộc tính đề 
nghị cho mặt hàng 
 TT_ANHXA Thuộc tính đề nghị ánh 
xạ 
Tên các cột trong CSDL của 
công ty tương ứng với các mô 
tả trong từng thuộc tính. 
 MOTA_TABLE Danh sách tên bảng Tên các bảng cung cấp dữ liệu 
để kiểm tra điều kiện khuyến 
mãi 
 MOTA_FIELD Danh sách tên cột Tên các cột trong các bảng trên 
Bảng 8.2 Cơ sở dữ liệu Meta_EC 
Chương 8. THIẾT KẾ ỨNG DỤNG 
 78
8.3. Cơ sở dữ liệu Search_EC 
8.3.1. Sơ đồ 
Hình 8.4 Sơ đồ cơ sở dữ liệu Search_EC 
Chương 8. THIẾT KẾ ỨNG DỤNG 
 79
8.3.2. Mô tả 
Cơ sở dữ liệu Search_EC lưu thông tin về các cuộc khảo sát ý kiến của khách hàng 
đối với từng mặt hàng, với từng loại mặt hàng. 
Bao gồm các bảng sau: 
STT Tên bảng Mô tả Chú thích 
1 TIEU_CHI Tiêu chí Tiêu chí là một quan điểm của khách 
hàng đưa ra về mặt hàng. 
Vd: Quần áo hip hop đẹp nhất được 
xem là một tiêu chí 
2 KQ_THAM_DO Kết quả thăm dò Kết quả thăm dò trên từng tiêu chí 
3 KQ_GTRI Kết quả giá trị Kết quả thăm dò trên từng thuộc tính 
theo từng tiêu chí 
4 YKIEN_KH Ý kiến khách 
hàng 
Ý kiến của khách hàng đối với từng 
mặt hàng 
5 DANHGIAMH Đánh giá mặt 
hàng 
Tổng điểm bầu chọn của các khách 
hàng cho một mặt hàng 
Bảng 8.3 Cơ sở dữ liệu Search_EC 
Chương 8. THIẾT KẾ ỨNG DỤNG 
 80
8.4. Sơ đồ màn hình 
Hình 8.5 Sơ đồ màn hình 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 81
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG 
DỤNG 
9.1. Chức năng tìm kiếm 
9.1.1. Nhận xét 
Siêu thị trực tuyến là nơi tập hợp rất nhiều mặt hàng thuộc nhiều loại của nhiều 
công ty. Do đó, nhu cầu tìm kiếm của khách hàng là rất cần thiết. Hệ thống tìm 
kiếm phải hỗ trợ cho khách hàng tìm được mặt hàng không chỉ đáp ứng được các 
tính năng mà khách hàng đưa ra mà còn phải đảm bảo các mặt hàng được liệt kê ra 
phải đúng theo mong muốn của khách hàng. Nếu không kết quả tìm kiếm sẽ bao 
gồm rất nhiều mặt hàng gây khó khăn cho khách hàng trong việc tìm kiếm 
9.1.2. Hướng giải quyết 
Xây dựng hệ thống tìm kiếm không chỉ dựa trên thông tin của công ty đưa ra mà 
còn dựa trên đánh giá khách quan của khách hàng. 
Sử dụng công cụ SQL Full Text Search của MS SQL Server 2000 để hỗ trợ cho 
việc tìm kiếm thông tin trên cơ sở dữ liệu của hệ thống. 
9.1.3. Xây dựng dữ liệu tìm kiếm 
Dữ liệu dùng trong việc tìm kiếm xuất phát từ 2 nguồn: 
Dữ liệu có sẵn : 
Là dữ liệu về công ty, mặt hàng do công ty tham gia đưa ra. 
Dữ liệu thu thập: 
Dữ liệu thu thập được tạo ra từ việc thu thập ý kiến khách hàng đối với một mặt 
hàng hay một nhà cung cấp. Bao gồm: 
Thông tin đánh giá về chất lượng mặt hàng, giá cả mặt hàng, tính năng của 
mặt hàng, 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 82
Thông tin đánh giá về thương hiệu của công ty 
Phương pháp tạo dữ liệu thu thập: 
Trước khi thu thập dữ liệu, ta cần xác định dữ liệu đang cần thu thập nhằm phục vụ 
cho tiêu chí gì ? Chẳng hạn như tìm ra mặt hàng hợp thời trang nhất trong quần áo 
nam là một tiêu chí tìm kiếm. 
 Từ tiêu chí đề ra khi thăm dò ý kiến khách hàng cho một loại mặt hàng, ta 
kết hợp với các dữ liệu có sẵn về loại mặt hàng cần thăm dò để tạo ra bảng thăm dò 
ý kiến như sau: 
Hình 9.1 Màn hình phiếu thăm dò ý kiến khách hàng 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 83
Sau đó ta tiến hành lưu trữ lại các thông tin này thành dữ liệu thu thập 
Từ dữ liệu thu thập, ta xác định các điều kiện để thực hiện tiêu chí tìm kiếm 
đề ra 
Lưu các điều kiện đó lại. 
9.1.4. Tiến hành xây dựng chức năng tìm kiếm 
Cơ sở dữ liệu đề nghị 
Hình 9.2 Sơ đồ CSDL hỗ trợ CN tìm kiếm 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 84
Quá trình xây dựng chức năng tìm kiếm 
Bước 1: Thêm tiêu chí tìm kiếm 
Hình 9.3 MH mô tả QT thêm tiêu chí tìm kiếm 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 85
Bước 2: Phát sinh phiếu thăm dò 
 Từ loại danh mục mà tiêu chí liên quan, phát sinh ra phiếu thăm dò cho tiêu chí: 
. 
Hình 9.4 Mô hình mô tả QT phát sinh phiếu thăm dò 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 86
Bước 3: Ghi nhận kết quả thăm dò của từng KH vào KQ_THAMDO 
 Xác định danh sách thuộc tính và danh sách giá trị được chọn. 
Cập nhật dữ liệu lên cơ sở dữ liệu (KQ_THAMDO, KQ_GIATRI, TIEU_CHI) 
như : 
• Tăng số lượng khách hàng thăm dò. 
• Đối với mỗi thuộc tính được chọn thì tăng DiemTT lên 1 
• Đối với mỗi giá trị được chọn của 1 thuộc tính thì tăng DiemGT lên 1 
 Bước 4: Áp dụng tiêu chí tìm kiếm mới cho khách hàng 
Chỉ áp dụng tiêu chí tìm kiếm này khi APDUNG = True 
Trường APDUNG = True khi số lượng khách hàng được thăm dò đạt tiêu chuẩn 
yêu cầu của hệ thống. Nghĩa phải có ít nhât một lần cập nhập KQ_THAMDO 
Phát sinh điều kiện tìm kiếm cho tiêu chí 
Bước 5: Khách hàng tìm kiếm 
Khách hàng chọn danh mục cần tìm hàng. 
Sau đó, khách hàng chọn tiêu chí tìm, rồi nhập từ khóa vào. 
Nhấn nút Tìm. 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 87
Bước 6: Hệ thống xử lý việc tìm kiếm của khách hàng 
Hình 9.5 Mô hình mô tả QT XL tìm kiếm của hệ thống 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 88
9.2. Chức năng khuyến mãi 
9.2.1. Nhận xét 
Mỗi công ty có nhiều chương trình khuyến mãi với nhiều hình thức khác nhau. Do 
đó, khi xây dựng chức năng quản lý khuyến mãi cần phải đảm bảo các tính chất sau: 
• Hệ thống phải quản lý được chương trình khuyến mãi: còn trong thời gian 
khuyến mãi không, số lượng tặng phẩm có còn không, số lượng tặng phẩm 
khách hàng sẽ được tặng là bao nhiêu… 
• Hệ thống hỗ trợ được việc nhập chương trình khuyến mãi một cách dễ dàng 
Chức năng khuyến mãi cần phải quản lý được phần lớn các hình thức khuyến mãi 
cũng như các điều kiện khuyến mãi do công ty đưa ra 
9.2.2. Hướng giải quyết 
Tạo chương trình khuyến mãi 
i. Nhận xét 
• Chương trình khuyến mãi gồm có 2 nội dung chính: điều kiện khuyến mãi và 
hình thức khuyến mãi. 
• Hình thức khuyến mãi thì gồm có các hình thức sau: tặng phẩm, giảm tiền theo 
phần trăm, giảm số tiền. 
• Tặng phẩm không chỉ tặng 1 mặt hàng mà còn có thể tặng nhiều mặt hàng. 
• Ví dụ: 
• Chương trình khuyến mãi có nội dung sau: 
Chương trình khuyến mãi OMO tiết kiệm dùng cho mặt hàng OMO 500g 
Với số lượng mua = 5 bao bột giặt thì được tặng 1 bao bột giặt OMO 200g 
Với số lượng mua = 10 bao bột giặt thì được tặng 1 bao bột giặt OMO 500g + 1 
chai 
nước xả Comfo 100ml 
Với số lượng mua = 50 bao bột giặt thì giảm 10% tiền 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 89
• Với chương trình khuyến mãi trên thì ta phân tích như sau: 
Mặt hàng áp dụng: OMO 500g 
Tặng phẩm: OMO200g, OMO 500g, Comfo 100ml 
Chi tiết khuyến mãi: 
 SL mua = 5 -> Tặng phẩm: 1 bao OMO 200g 
 SL mua = 10 -> Tặng phẩm: 2 bao OMO 
 SL mua = 50 ? Giảm tiền: 10% 
ii. Cơ sở dữ liệu dùng cho chức năng khuyến mãi 
Hình 9.6 Sơ đồ CSDL hỗ trợ CN khuyến mãi 
• Một chương trình khuyến mãi được áp dụng cho một mặt hàng. 
• Trong 1chương trình khuyến mãi, công ty có thể áp dụng nhiều chọn nhiều 
mặt hàng khác làm tặng phẩm. Các tặng phẩm này là những mặt hàng hiện 
có trong hệ thống. Và các mặt hàng dùng làm tặng phẩm có thể là mặt hàng 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 90
của các công ty khác nhau với điều kiện là các công ty đó cũng tham gia vào 
hệ thống. 
• Một chương trình khuyến mãi có nhiều chi tiết khuyến mãi. 
iii. Mô tả xử lý 
Quá trình xử lý bao gồm các công việc sau: 
Bước 1: Xử lý các thông tin chung của chương trình khuyến mãi: tên chương trình, 
ngày bắt đầu, ngày kết thúc.. 
Bước 2: Kiểm tra tính hợp lệ của các mặt hàng được dùng làm tặng phẩm: 
• Công ty cung cấp mặt hàng là 1 thành viên của hệ thống 
• Mặt hàng dùng làm tặng phẩm phải được công ty đăng kí quảng cáo này trên 
hệ thống. 
Bước 3: Kiểm tra tính hợp lệ của các chi tiết khuyến mãi: 
• Kiểm tra điều kiện khuyến mãi của chi tiết khuyến mãi: mô tả điều kiện do 
công ty đưa vào phải thỏa qui tắc ghi do hệ thống qui định 
• Kiểm tra hình thức khuyến mãi của chi tiết khuyến mãi: hệ thống chỉ hỗ trợ 3 
hình thức khuyến mãi thông dụng: giảm tiền, giảm %, tặng phẩm 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 91
Hình 9.7 Mô hình kiểm tra chi tiết KM hợp lệ 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 92
iv. Xử lý 1 chi tiết khuyến mãi 
Qui định 
• Chuỗi điều kiện nhập vào phải có dạng sau: ((ĐK1) và (ĐK2)) hay (ĐK3) 
o ĐK: là một mệnh đề: [Tên thuộc tính ] Phép_so_ sánh Giá_trị 
o Tên thuộc tính: là những thuộc tính mà hệ thống hỗ trợ như các 
thuộc tính của KHACH_HANG: Là nữ, Ngày sinh, … 
o Phép_so_sánh: >, <, = 
• Chuỗi hình thức khuyến mãi: [Loại hình thức]: Giá_trị 
o Loại hình thức là một trong các loại sau: Tặng phẩm, Giảm phần 
trăm, Giảm tiền 
o Riêng với Loại hình thức là Tặng phẩm thì Giá trị gồm có dạng sau 
(“Mã mặt hàng từ công ty “, “Mã công ty “, Số lượng tặng) 
? Mã mặt hàng từ công ty: là mã mặt hàng do công ty quy 
định cho mặt hàng đó. 
? Mã công ty là mã do hệ thống đặt ra để liên lạc với công 
ty một các dễ dàng, tránh trùng với các công ty cùng 
tên. 
Xử lý chuỗi mô tả điều kiện 
Tiến hành phân tích chuỗi thành cây như sau: 
Hình 9.8 Mô hình mô tả phân tích chuỗi DK thành cây 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 93
Sau khi phân tích ra thành cây điều kiện như trên, nội dung của câu được 
biểu diễn lại dưới dạng mội chuỗi theo định dạnh XML như sau: 
 KHACH_HANG 
 LANU = "N" 
 KHACH_HANG 
 NGAYSINH > "4/30/1975" 
 CHITIETDDH 
 SOTIEN> 10000 
Tài liệu XML 9-1 Cấu trúc tập tin lưu điều kiện khuyến mãi cho một chi tiết KM 
Xử lý chuỗi mô tả hình thức khuyến mãi 
Phân tích chuỗi hình thức khuyến mãi do công ty nhập vào thành một chuỗi 
XML như sau: 
Tài liệu XML 9-2 Cấu trúc tập tin lưu hiìh thức khuyến mãi cho một chi tiết KM 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 94
v. Giao diện 
Hình 9.9 Màn hình them chương trình khuyến mãi 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 95
Áp dụng chương trình khuyến mãi 
i. Nhận xét 
Chương trình khuyến mãi áp dụng cho một mặt hàng. Và tại một thời điểm, 
chỉ tồn tại một chương trình khuyến áp dụng cho mặt hàng.Do đó, khi khách 
hàng mua hàng, hệ thống cần kiểm tra xem mặt hàng đó có khuyến mãi 
không. Nếu có hệ thống sẽ tính khuyến mãi trực tiếp lên hóa đơn cho khách 
hàng 
Ví dụ: (dùng chương trình khuyến mãi trên) 
Khi khách hàng mua 50 bao OMO thì hệ thống phải xác định số tiền mà 
khách hàng phải trả = (giá tien * 50) – 10%(giá tiền * 50) 
ii. Xử lý 
Bước 1: Khi khách chọn mua một mặt hàng, hệ thống sẽ tiến hành kiểm tra 
xem mặt hàng này hiện có đang có chương trình khuyến mãi nào hợp lệ 
không: thời gian khuyến mãi còn hợp lệ, số lượng KH ưu tiên 0 
Bước 2: Hệ thống xác định dữ liệu dùng để kiểm tra điều kiện của chi tiết 
khuyến mãi bao gồm: 
Thông tin có sẵn: bao gồm thông tin về khách hàng, thông tin mua hàng: số 
lượng mua,số tiền … Những thông tin này được mô tả trong file xml sau. 
Select * from KHACH_HANG where MAKH = @MaKH 
Select * from CTKM where MaCTKM = @MaCTKM 
 </Data 
Tài liệu XML 9-3 Cấu trúc tập tin lưu cách lấy dữ liệu để kiểm tra điều kiện KM 
Do đó, nội dung thông tin dùng để kiểm tra có thể thay đổi được 
Thông tin mới: là thông tin về chi tiết đơn đặt hàng: số lượng mua, giá 
tiền,thành tiền. 
Bước 3: Nếu có, tiến hành kiểm tra xem có điều kiện của chi tiết khuyến mãi 
nào thỏa điều kiện không ? 
Nếu có thì tiến hành thực hiện khuyến mãi: giảm tiền hay thêm vào danh 
sách mặt hàng tặng phẩm vào giỏ hàng cho khách hàng 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 96
• 
Hình 9.10 Mô hình kiểm tra chi tiết KM thoả điều kiện 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 97
9.3. Chức năng quảng cáo mặt hàng 
9.3.1. Nhận xét 
Hệ thống thực hiện các giao dịch với khách hàng bằng mặt hàng từ nhiều công ty. 
Như vậy hệ thống cần phải quản lý các mặt hàng hợp lý. 
Các công ty kinh doanh các loại mặt hàng khác nhau sẽ có cấu trúc lưu trữ thông tin 
về mặt hàng khác nhau.Hơn nữa, các công ty kinh doanh cùng một mặt hàng cũng 
có thể lưu trữ thông tin về mặt hàng khác nhau. Do đó, một siêu thị điện tử muốn 
kinh doanh nhiều loại mặt hàng phải đảm bảo lưu được mọi thông tin về măt hàng 
mà tất cả các công ty cung cấp. Thêm vào đó, việc tiếp nhận thông tin không theo 
cấu trúc nhất định từ các công ty cũng là một vấn đề khó khăn trong việc quản lý 
thông tin mặt hàng. 
Vấn đề đặt ra cho siêu thị điện tử về việc quảng cáo của mặt hàng: 
? Nhận dữ liệu với mọi cấu trúc của cơ sở dữ liệu từ phía công ty 
? Lưu trữ dữ liệu mô tả mặt hàng trong cơ sở dữ liệu của hệ thống đảm bảo 
việc thể hiện dữ liệu sau khi lưu được dễ dàng và thân thiện. 
Chúng ta hãy xét ví dụ dưới đây để thấy rõ hơn điều này: 
Quan sát cách lưu trữ thông tin và cách cung cấp thông tin của công ty quần áo 
Hạnh Hoa cho hệ thống. 
Cơ sở dữ liệu của công ty chứa thông tin sau: 
BẢNG [THUOC_TINH] 
SHMatHang TenMatHang GiaCa DonVi MauSac 
HTI_001 Áo thun nam 
cổ tròn 
60.000 Cái Mau_1 
HTI_002 Áo sơ mi nam 120.000 Cái Mau_2 
HTI_003 Áo sơ mi nam 90.000 Cái Mau_3 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 98
BẢNG [MAU_SAC] 
MauSac GiaTri 
Mau_1 Xanh 
Mau_1 Đỏ 
Mau_1 Vàng 
Mau_2 Trắng 
Mau_2 Đen 
Mau_3 Vàng 
Công ty muốn đưa vào hệ thống những thông tin như sau: 
SoHieuMatHang TenMatHang GiaCa DonVi MauSac 
HTI_001 Áo thun nam 
cổ tròn 
60.000 Cái Xanh, Đỏ, 
Vàng 
HTI_002 Áo sơ mi nam 120.000 Cái Trắng, Đen 
HTI_003 Áo sơ mi nam 90.000 Cái Trắng, Nâu, 
Tím, Hồng 
Vấn đề đặt ra là chúng ta phải đưa dữ liệu cần lấy từ phía công ty về dạng chuẩn có 
thể lưu trữ vào hệ thống. 
9.3.2. Xử lý 
Sơ đồ cơ sở dữ liệu EC 
Hình 9.11 Sơ đồ CSDL EC hỗ trợ thêm CTquảng cáo-MH 9.1 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 99
Sơ đồ cơ sở dữ liệu Meta_EC 
Hình 9.12 Sơ đồ CSDL Meta_EC hỗ trợ thêm CTQC - MH 9.1 
Xử lý 
Công việc đăng ký chương trình quảng cáo bao gồm 3 bước: 
Bước 1: Định nghĩa dữ liệu 
Công ty định nghĩa các thuộc tính của mặt hàng 
(Công ty phải ánh xạ thuộc tính mặt hàng của công ty sang thuộc tính được định 
nghĩa trong hệ thống) 
Bước 2: Kết xuất dữ liệu 
Từ cơ sở dữ liệu của công ty cần đăng quảng cáo, tạo tập tin XML chuẩn lưu thông 
tin về mặt hàng của công ty 
Bước 3: Đăng quảng cáo 
Công ty upload tập tin XML chứa thông tin mặt hàng, hình ảnh của các mặt hàng đó 
và yêu cầu hệ thống lưu trữ các thông tin vào cơ sở dữ liệu của hệ thống. 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 100
Bước 1 
Nhận xét 
Các công ty khác nhau thì có các cơ sở dữ liêu khác nhau về cấu trúc, tên bảng, 
tên cột …Nhưng có một số thuộc tính của mặt hàng mà công ty nào cũng phải 
có: Mã mặt hàng của công ty, tên mặt hàng, giá … 
Do đó, ta chia các thuộc tính của mặt hàng thành 2 loại: 
• Thuộc tính bắt buộc: là những thuộc tính mà tối thiểu mặt hàng phải có khi 
đăng quảng cáo trên siêu thị 
• Thuộc tính đề nghị: là những thuộc tính giúp mô tả rõ hơn về mặt hàng. 
Các công ty phải có đầy đủ các thuộc tính bắt buộc nhưng vì mỗi công ty có một 
cấu trúc khác nhau nên có thể tên của các trường tương ứng với các thuộc tính 
bắt buộc ở các công ty là khác nhau. 
Ngòai ra, đối với các thuộc tính đề nghị, các công ty có thể có hay không có 
những thuộc tính này. 
Do đó, để giải quyết vấn đề lấy thông tin từ phía công ty, ta cần phải lưu trữ lại 
mô tả của công ty về loại mặt hàng mà công ty đang kinh doanh. 
Giải quyết 
Xây dựng cơ sở dữ liệu dùng để lưu trữ lại dữ liệu định nghĩa cho từng công ty 
như sau: 
Hình 9.13 Sơ đồ CSDL cho định nghĩa TT - MH 9.1 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 101
Quá trình ghi nhận dữ liệu từ phía công ty gồm 3 công việc 
• Định nghĩa thuộc tính bắt buộc 
• Định nghĩa các thuộc tính đề nghị 
• Thêm các thuộc tính mà công ty đề nghị 
i. Định nghĩa thuộc tính bắt buộc 
Hệ thống đưa ra một số thuộc tính bắt buộc đối với tất cả mặt hàng bất kể loại nào 
khi đăng quảng cáo trên hệ thống: tên, giá, hình ảnh, số lượng bán, mã mặt hàng do 
công ty quy định trong hệ thống công ty. 
Việc định nghĩa thuộc tính bắt buộc được mô tả như sau: 
Hình 9.14 Mô hình mô tả QT định nghĩa TT bắt buộc - MH 9.1 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 102
ii. Định nghĩa thuộc tính đề nghị 
Trong quá trình họat động, hệ thống có lưu trữ lại một số thuộc tính đề nghị đối với 
từng loại mặt hàng do công ty đưa ra khi đăng quảng cáo trên siêu thị địên tử 
Do đó, công ty khi muốn đăng quảng cáo cho loại mặt hàng mà trước đó đã có công 
ty khác đăng kí quảng cáo cho loại mặt hàng đó (tức là có thuộc tính đề nghị do 
công ty đó đưa ra), công ty này có thể sử dụng lại những thuộc tính đề nghị (nếu 
công ty có những thuộc tính mang ý nghĩa tương đương). 
Việc định nghĩa thuộc tính bắt buộc được mô tả như sau: 
Hình 9.15 Mô hình mô tả QT định nghĩa TT đề nghị - MH 9.1 
iii. Thêm thuộc tính đề nghị 
Trong quá trình định nghĩa thuộc tính đề nghị cho một loại mặt hàng, nếu 
công ty nhận thấy hệ thống chưa có các thuộc tính mà công ty yêu cầu, công 
ty đó có thể thêm thuộc tính đề nghị mới. 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 103
Trong quá trình thêm mới này, công ty phải nhập thêm trường mô tả cho 
thuộc tính mà công ty đưa ra. Trường mô tả này giúp việc thể hiện dữ liệu 
lên website dễ hiểu hơn. 
MH mô tả QT thêm TT đề nghị mới - MH 9.1 
 Bước 2 
Nhận xét 
Thông tin về một mặt hàng là rất lớn.Đặc biệt, các thông tin đó đều có thể lưu 
trong cơ sở dữ liệu hay thành tập tin. 
Khi tiến hành đăng quảng cáo, nếu để công ty tự nhập thông tin vào hệ thống thì 
rất vất vả. Hơn nữa, mỗi công ty có thể sản xuất ra rất nhiều mặt hàng khác 
nhau. Do đó, việc nhập bằng tay là không khả quan. 
Giải quyết 
Tiến hành tự động hoá trong việc tạo dữ liệu ở phía công ty bằng cách xây dựng 
một ứng dụng nhỏ chạy ở phía công ty. 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 104
 Ứng dụng này là một phần mềm được chạy cục bộ tại mỗi công ty có chức năng là 
kết xuất dữ liệu từ cơ sở dữ liệu của công ty thành một tập tin có định dạng sao cho 
hệ thống siêu thị điện tử có thể đọc được. 
 Tập tin đó là một tập tin XML có cấu trúc đề nghị sau: 
 GIA_TRI_THUOC_TINH 
 GIA_TRI_1_CUA_THUOC_TINH 
 GIA_TRI_2_CUA_THUOC_TINH 
 GIA_TRI_3_CUA_THUOC_TINH 
 …… 
 …… 
Tài liệu XML 9-4 Cấu trúc lưu thuộc tính của mặt hàng 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 105
Đối với mỗi thuộc tính có một giá trị, hệ thống tạo một node không có node con. 
Đối với mỗi thuộc tính có nhiều giá trị, hệ thống tạo một node có nhiều node con, 
mỗi node con tương ứng với một giá trị của thuộc tính. 
Do cấu trúc của tập tin XML là tổng quát nên cấu trúc này phù hợp với mọi mặt 
hàng của mọi công ty. 
Mô tả phần mềm và cách sử dụng phần mềm 
Hình 9.16 Mô hình mô tả cách tạo file XML chuẩn - MH 9.1 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 106
Thêm thuộc tính đơn giá trị 
Hình 9.17 Mô hình mô tả QT thêm TT đơn giá trị - MH 9.1 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 107
Thêm thuộc tính đa giá trị 
Hình 9.18 Mô hình mô tả QT thêm TT đa giá trị - MH 9.1 
Chương 9. CÁC KỸ THUẬT XỬ LÝ TRONG ỨNG DỤNG 
 108
Sau khi công ty đã thêm tất cả các thuộc tính đơn giá trị và thuộc tính đa giá trị cho 
từng mặt hàng cần quảng cáo, phần mềm sẽ tạo ra tập tin XML đúng định dạng 
chuẩn chứa đầy đủ các thông tin này. Đối với dữ liệu trong ví dụ về công ty Hạnh 
Hoa, ta có tập tin XML với thông tin như sau: 
 Bước 3 
Sau khi hệ thống đã có được ánh xạ này, mỗi công ty upload các tập tin hình ảnh 
của các mặt hàng cũng như upload tập tin XML đã được tạo (bằng cách được mô tả 
ở phần trên) và yêu cầu hệ thống lưu lại. 
Khi đó, hệ thống duyệt toàn bộ tập tin XML. Ứng với mỗi node, hệ thống xác định 
tên thuộc tính từ phía công ty là tên của node, tìm kiếm tên thuộc tính tương ứng 
trong hệ thống. 
Đối với mỗi node không có node con, hệ thống lưu trữ một bộ trong bảng 
MAT_HANG (đối với thuộc tính bắt buộc) hoặc trong bảng THUOC_TINH (đối 
với thuộc tính đề nghị) với giá trị thuộc tính là nội dung của node. 
Ứng với mỗi node có các node con, hệ thống lưu trữ thành nhiều bộ trong bảng 
THUOC_TINH, mỗi bộ tương ứng với một giá trị của thuộc tính và giá trị này là 
nội dung của một node con. 
Chương 10. TỔNG KẾT 
 109
Chương 10. TỔNG KẾT 
10.1. Kết luận 
10.1.1. Về mặt lý thuyết 
Chúng em đã tìm hiểu được các vấn đề sau: 
• Bản chất, đặc điểm và tầm quan trọng của thương mại điện tử 
• Một số khái niệm cơ bản trong thương mại điện tử 
• Một số vấn đề cần quan tâm khi tham gia thương mại điện tử: bảo mật, 
xử lý tự động và thanh tóan điện tử 
• Việc quản lý mối quan hệ khách hàng, một số dịch vụ khách hàng 
• Ứng dụng thương mại điện tử theo mô hình B2B và B2C 
10.1.2. Về mặt ứng dụng 
Chúng em đã hòan thành mục tiêu đã đề ra: 
• Cho phép mua và bán nhiều chủng loại mặt hàng khác nhau 
• Cho phép doanh nghiệp tự quản lý thông tin sản phẩm của mình 
• Thể hiện và cập nhật thường xuyên các chương trình khuyến mãi 
• Hỗ trợ xem và hiệu chỉnh thông tin đặt hàng 
• Hỗ trợ khách hàng tìm sản phẩm theo nhiều tiêu chí khác nhau: tìm sản phẩm 
đang có chương trình khuyến mãi, tìm sản phẩm với giá rẻ nhất… 
• Ghi nhận những phê bình và đóng góp ý kiến của khách hàng về các sản 
phẩm, dịch vụ mình cung cấp cũng như những ý tưởng mới 
Ngòai ra, chúng em còn xây dựng thêm được những chức năng mới như sau: 
• Thăm dò ý kiến khách hàng về loại mặt hàng 
• Tìm kiếm mặt hàng dựa trên kết quả thăm dò 
• Xây dựng trang web giới thiệu cho từng công ty theo các template khác 
nhau 
Chương 10. TỔNG KẾT 
 110
10.2. Hướng phát triển 
10.2.1. Đối với các dịch vụ dành cho khách hàng 
• Tự động cung cấp thông tin liên quan đến nhu cầu của khách hàng 
• Hòan thiện chức năng tìm kiếm để khách hàng tìm được đúng mặt hàng 
mong muốn 
• Cho phép khách hàng xây dựng trang web riêng dựa trên template hệ 
thống đề nghị 
• Xây dựng hệ thống thanh tóan điện tử 
10.2.2. Đối với các dịch vụ dành cho công ty 
• Mở rộng việc chuyển đổi dữ liệu trên nhiều hệ quản trị cơ sở dữ liệu ở 
phía công ty 
• Hỗ trợ việc cập nhật tự động các đơn đặt hàng mới vào cơ sở dữ liệu của 
công ty 
• Xây dựng hệ thống đánh giá độ tin cậy của công ty và mặt hàng dựa trên 
những thông tin thu thập từ bên ngòai 
Phát triển ứng dụng hiện tại thành ứng dụng thương mại điện tử di động 
Phụ lục A. ỨNG DỤNG SIEUTHI.COM 
 111
Phụ lục A ỨNG DỤNG SIEUTHI.COM 
A.1 Bước dạo đầu 
Công ty vào thăm trang Siêu thị .com 
Hình A. 1 Trang chủ 
Công ty chưa hợp tác kinh doanh với siêu thị . Chọn chức năng CTY đăng kí để đăng kí 
hợp tác với siêu thị . 
Phụ lục A. ỨNG DỤNG SIEUTHI.COM 
 112
Hình A. 2 Trang đăn g ký là thành viên bán hàng 
Sau khi đăng kí thành công , công ty đã trở thành thành viên của hệ thống siêu thị . Chọn 
chức năng CôngTy để vào thăm trang web của mình 
Khi đó hệ thống sẽ yêu cầu đăng nhập! 
Hình A. 3 Trang đăng nhập 
Phụ lục A. ỨNG DỤNG SIEUTHI.COM 
 113
Sau khi đăng nhập thành công , công ty có vào được trang quản lý thông tin của mình : 
Hình A. 4 Trang quản lý thông tin công ty 
Khách mua hàng vào thăm trang SiêuThị.Com , muốn tìm hiểu về một số công ty tham 
gia vào siêu thị .Hay các công ty muốn tìm đối tác trong lĩnh vực thì chọn chức năng sau 
Tìm đối tác : 
Phụ lục A. ỨNG DỤNG SIEUTHI.COM 
 114
Hình A. 5 Trang danh sách công ty 
Khách hàng chọn công ty bất kì để vào thăm trang web của các công ty 
Hình A. 6 Trang giới thiệu công ty 
Phụ lục A. ỨNG DỤNG SIEUTHI.COM 
 115
A.2 Công ty quảng cáo sản phẩm 
Bước 0 : Công ty vào trang thông tin của mình (webcompany.aspx) như trên . 
 Nếu công ty kinh doanh các mặt hàng mới mà siêu thị yêu chưa từng kinh doanh thì công 
ty gởi mail yêu cầu admin thêm danh mục mới vào . Khi đó , Admin sẽ đăng nhập vào hệ 
thống dưới quyền Admin để tiến hành thêm vào danh mục mới : 
Hình A. 7 Trang thêm danh mục mới 
Bước 1 : Sau đó, công ty tiến hành định nghĩa cho loại mặt hàng 
mới này như sau : 
• Công ty nhập vào tên các cột tương ứng với các mô tả về 
đặc điểm của mặt hàng . 
• Công ty phải nhập đầy đủ các thuộc tính bắt buộc (nếu có 
của công ty). 
• Còn đối với các thuộc tính đề nghị , công ty có thể nhập hay không nhập . 
Lưu ý : Nếu công ty không ánh xạ đầy đủ các tên các thuộc tính của bên phía cơ sở dữ liệu 
của công ty thì khi công ty gởi dữ liệu qua , các thuộc tính nào không được ánh xạ , thông 
tin của chúng không được hệ thống chúng tôi lưu lại 
Phụ lục A. ỨNG DỤNG SIEUTHI.COM 
 116
Hình A. 8 Trang định nghĩa dữ liệu của công ty 
Bước 2 : Sau khi đã khai báo đầy đủ dữ liệu để định nghĩa , công 
ty tiến hành download phần mềm hổ trợ việc kết xuất dữ liệu về 
rồi cài đặt trên máy có cơ sở dữ liệu của phía công ty. 
Dữ liệu được kết xuất ra là một file xml chứa mô tả có cấu trúc 
về nhiều mặt hàng mà công ty cần cung cấp. 
( Xem hướng dẫn sử dụng việc kết xuất dữ liệu ở phụ lục B) 
 Bước 3 : Công ty tiến chọn chức năng thêm sản phẩm để tiến 
hành thêm sản phẩm mới này 
Công ty chọn danh mục muốn đăng quảng cáo . 
Công ty upload tập tin xml kết xuất ra danh sách các mặt hàng 
cần đăng quảng cáo . 
Phụ lục A. ỨNG DỤNG SIEUTHI.COM 
 117
Hình A. 9 Tramg đăng ký quảng cáo cho sản phẩm 
Khi khách hàng vào thăm trang web , chọn vào mục Đồ chơi 
Phụ lục A. ỨNG DỤNG SIEUTHI.COM 
 118
Khi đó danh sách các mặt hàng thuộc loại mặt hàng sẽ được đưa ra như sau : 
Hình A. 10 Trang danh sách mặt hàng 
Trong đó : 
• Mục “Sản phẩm trong ngày “là những sản phẩm do hệ thống đề nghị với công ty . 
o Thông thường mục này gồm 2 mặt hàng : 1 mặt hàng được khách hàng ưa 
chuộng nhất và 1 mặt hàng mới nhất . 
o Trong trường hợp khách hàng không có đóng góp ý kiến cho các mặt hàng 
trong danh mục thì mặt hàng khách hàng ưa chuộng nhất sẽ không có. Khi 
đó , chỉ có1 sản phẩm đề nghị là sản phẩm mới nhất trong ngày. 
o Trong trường hợp không có sản phẩm nào được thêm vào trong ngày thì hệ 
thống sẽ đưa ra sản phẩm được quảng cáo gần đây nhất . 
• Mục “Danh sách sản phẩm” là những mặt hàng thuộc về chủng loại mặt hàng đó. 
Nếu trong trường hợp , danh mục mặt hàng được chọn có nhiều danh mục con , thì 
“Danh sách sản phẩm “ cũng bao gồm các mặt hàng nằm trong các danh mục con 
của danh mục đang xem . 
Phụ lục A. ỨNG DỤNG SIEUTHI.COM 
 119
 Nếu khách hàng nhấn vào Tên của sản phẩm thì hệ thống sẽ hiển thị trang web mô tả chi 
tiết về sản phẩm đó: 
Hình A. 11 Trang thông tin chi tiết về sản phẩm 
Sau khi xem , khách hàng có thể gởi lời nhận xét hay cho đánh giá về sản phẩm mà mình 
vừa xem : 
Hình A. 12 Trang đánh giá sản phẩm 
Phụ lục A. ỨNG DỤNG SIEUTHI.COM 
 120
A.3 Công ty đăng kí chương trình khuyền mãi 
Công ty chọn chức năng “Thêm chương trình khuyến mãi “ để tạo 
một chương trình khuyến mãi áp dành cho một mặt hàng nào đó . 
Nếu đây là lần đầu tiên công ty đăng kí chương trình khuyến mãi 
thì nên xem qua hướng dẫn bằng cách nhấp chuột vào chữ “đây” ở 
dòng thông tin “Nếu cần giúp đỡ thì nhấp vào đây” 
Lưu ý : Công ty chỉ được thay đổi chương trình khuyến mãi hay 
xóa chương trình khuyến mãi vào thời gian trước ngày bắt đầu 
chương trình. 
Hình A. 13 Trang đăng kí chương trình khuyến mãi 
Đến ngày bắt đầu khuyến mãi thì hệ thống sẽ quảng cáo chương trình khuyến mãi lên ở 
trang chủ . 
Phụ lục A. ỨNG DỤNG SIEUTHI.COM 
 121
Khách hàng có thể nhấn vào tên chương trình khuyến mãi để chọn xem chi tiết của chương 
trình : 
Hình A. 14 Trang thông tin chi tiết của chương trình khuyến mãi 
Phụ lục A. ỨNG DỤNG SIEUTHI.COM 
 122
Khách hàng vào mua hàng ở siêu thị . 
• Nếu khách hàng chưa là thành viên của siêu thị thì khách hàng phải đăng kí .Nếu 
đăng kí thành công thì hệ thống sẽ lập tức gởi mail thông báo về cho khách hàng. 
Hình A. 15 Trang đăng kí là thành viên mua hàng 
• Nếu khách hàng đã là thành viên của siêu thị , khách hàng cần phải đăng nhập trước 
khi mua hàng .Sau khi đăng nhập thành công , hệ thống sẽ hiển thị giỏ hàng hiện tại 
cho khách hàng xem . 
Phụ lục A. ỨNG DỤNG SIEUTHI.COM 
 123
• Khi khách hàng tiến hàng mua một sản phẩm có khuyến mãi (vd : Áo sơ mi nữ 
không tay có cầu vai ) , hệ thống sẽ lưu giữ lại chế độ khuyến mãi mà khách hàng 
được chọn .Khách hàng nhấn vào “Chi tiết…” để xem chi tíêt giỏ hàng như sau : 
Hình A. 16 Tramg hiển thị hóa đơn 
Đối với chương trình khuyến mãi có tặng phẩm, nếu khách hàng là người cuối cùng được 
khuyến mãi (do số lương tặng phẩm đã hết ) . Nếu số lượng tặng phẩm không còn đủ với 
so với số lượng tặng phẩm mà đáng lẽ khách hàng phải nhận , thì hệ thống sẽ thông báo 
cho khách hàng biết : 
Phụ lục A. ỨNG DỤNG SIEUTHI.COM 
 124
A.4 Tìm kiếm 
Khi khách hàng muốn tìm kiếm một số mặt hàng mà không biết nó thuộc về danh mục nào 
thì khách hàng nhâp chuỗi cần tìm vào text box dưới đây . 
Kết quả trả ra là những mặt hàng có mô tả mặt hàng chứa các chuỗi trên 
Nếu khách hàng xác định rõ được mình cần tìm loại mặt hàng nào nhưng không biết chọn 
lựa mặt hàng nào cho phù hợp với yêu cầu của mình . Khách hàng chọn mục “Tìm mở 
rộng “ 
Chọn danh mục cần tìm và tiêu chí mà khách hàng mong muốn. Sau đó nhập chuỗi cần tìm 
Hình A. 17 Trang tìm kiếm mở rộng 
Phụ lục A. ỨNG DỤNG SIEUTHI.COM 
 125
 Việc tìm kiếm theo tiêu chí này thực hiện được là nhờ vào đóng góp ý kiến của khách 
hàng về tiêu chí khi hệ thống đưa ra . Cụ thể là khách hàng trả lời các phiếu thăm dò tự 
động do hệ thống tạo ra : 
Hình A. 18 Trang thu thập ý kiến khách hàng 
Phụ lục B. CHƯƠNG TRÌNH KẾT XUẤT DỮ LIỆU 
 126
Phụ lục B CHƯƠNG TRÌNH KẾT XUẤT DỮ LIỆU 
Hình B. 1 Màn hình chính 
Thực hiện kết nối với cơ sở dữ liệu của công ty (nếu trước đó công ty đã thực hiện 
kết nối và không muốn chuyển sang kết nối mới thì không cần thực hiện lại bước 
này) 
Phụ lục B. CHƯƠNG TRÌNH KẾT XUẤT DỮ LIỆU 
 127
Hình B. 2 Màn hình kết nối cơ sở dữ liệu 
Nhập các mã mặt hàng cho chương trình quảng cáo 
Hình B. 3 Màn hình nhập mã mặt hàng 
Khi nhập dư các mã mặt hàng, công ty check các mã mặt hàng trong “Danh sách 
các mặt hàng” tương ứng với các mặt hàng cần xoá và nhấn nút “Xoá” để xoá các 
mặt hàng này ra khỏi chương trình quảng cáo. 
Khi muốn thêm các thuộc tính cho từng mặt hàng, công ty chọn mặt hàng đó trong 
danh sách các mặt hàng rồi sau đó lần lượt thêm các thuộc tính. 
Để thêm thuộc tính đơn giá trị, công ty check “Thêm thuộc tính đơn giá trị” và nhấn 
nút “Đồng ý”. Khi đó màn hình mới xuất hiện. 
Phụ lục B. CHƯƠNG TRÌNH KẾT XUẤT DỮ LIỆU 
 128
Hình B. 4 Màn hình thêm thuộc tính đơn giá trị 
Trong bảng “CHỌN CÁC CỘT TƯƠNG ỨNG VỚI CÁC THUỘC TÍNH CỦA 
MẶT HÀNG”, công ty chọn ra các cột chứa dữ liệu tương ứng với các thuộc tính 
muốn gởi đến hệ thống. 
Trong bảng “CHỌN CÁC BẢNG CẦN SỬ DỤNG”, công ty chọn ra các bảng chứa 
các cột đã chọn ở trên và các bảng có liên quan đến điều kiện cần sử dụng trong 
textbox chứa “ĐIỀU KIỆN CHỌN DỮ LIỆU”. 
Phụ lục B. CHƯƠNG TRÌNH KẾT XUẤT DỮ LIỆU 
 129
Trong textbox chứa “ĐIỀU KIỆN CHỌN DỮ LIỆU”, công ty nhập điều kiện để 
căn cứ vào đó, hệ thống lấy dữ liệu. 
Sau đó, nhấn nút “CHẤP NHẬN” để hệ thống thực hiện thêm các thuộc tính đơn 
giá trị này vào tập tin chứa thông tin quảng cáo. Khi đó, các thuộc tính đơn trị này 
sẽ được bổ sung vào “Danh sách các thuộc tính của mặt hàng” trên màn hình. 
Để thêm các thuộc tính đa giá trị, công ty check “Thêm thuộc tính đa giá trị” và 
nhấn nút “Đồng ý”. Khi đó một màn hình mới xuất hiện. 
Hình B. 5 Màn hình nhập thuộc tính đa giá trị 
Nhập tên của thuộc tính đa giá trị 
Trong bảng “CHỌN CỘT TƯƠNG ỨNG VỚI THUỘC TÍNH ĐA GIÁ TRỊ”, công 
ty chọn ra đúng một cột chứa dữ liệu tương ứng với các thuộc tính muốn gởi đến 
hệ thống. 
0. 
 130
Trong bảng “CHỌN CÁC BẢNG CẦN SỬ DỤNG”, công ty chọn ra các bảng chứa 
cột đã chọn ở trên và các bảng có liên quan đến điều kiện cần sử dụng trong textbox 
chứa “ĐIỀU KIỆN CHỌN DỮ LIỆU”. 
Trong textbox chứa “ĐIỀU KIỆN CHỌN DỮ LIỆU”, công ty nhập điều kiện để 
căn cứ vào đó, hệ thống lấy dữ liệu. 
Sau đó, nhấn nút “CHẤP NHẬN” để hệ thống thực hiện thêm thuộc tính đa giá trị 
này vào tập tin chứa thông tin quảng cáo. Khi đó, thuộc tính đa trị này sẽ được bổ 
sung vào “Danh sách các thuộc tính của mặt hàng” trên màn hình. 
Để xoá các thuộc tính thừa, công ty check vào các thuộc tính cần xoá, check vào 
“Xoá thuộc tính” rồi nhấn nút “Đồng ý”. Khi đó, hệ thống sẽ xóa các được tính 
được check ra khỏi tập tin XML chứa thông tin quảng cáo. Danh sách thuộc tính 
của mặt hàng trên màn hình cũng được cập nhật. 
Phụ lục C. CÁC VẤN ĐỀ KHÁC 
 131
Phụ lục C CÁC VẤN ĐỀ KHÁC 
C.1 Mô tả cơ sở dữ liệu EC 
1. CẤU TRÚC 
Cho CSDL quản lý tài 
khoản đơn giản như sau: 
Ý nghĩa của các bảng :
TenBang Diễn giải 
ThuocTinh 00 Diễn giải 00 Kiểu dữ liệu 00 
ThuocTinh 01 Diễn giải 01 Kiểu dữ liệu 01 
ThuocTinh 02 Diễn giải 02 Kiểu dữ liệu 02 
Tân từ... 
Quy ước: Thuộc tính được gạch dưới là thành phần của khóa chính 
1. KHACH_HANG Khách hàng 
MAKH Mã số khách hàng Số nguyên 
HOTEN Tổng số tiền trong các tài khoản của khách hàng Chuỗi (100) 
DIACHI Số lượng tài khoản khách hàng hiện có Chuỗi (150) 
LANU Khách hàng là nam hay nữ Chuỗi (1) 
DIENTHOAI Số điện thoai để liên lạc với khách hàng Chuỗi (20) 
EMAIL Địa chỉ email của khách hàng Chuỗi (50) 
PASSWORD Mật khẩu của khách hàng Chuỗi (20) 
DIDONG Số điện thoại di động của khách hàng Chuỗi (20) 
CAUHOIBIMAT Câu hỏi bí mật của khách hàng Chuỗi (200) 
CAUTL Câu trả lời cho câu hỏi bí mật Chuỗi (100) 
NGAYSINH Ngày tháng năm sinh của khách hàng Ngày giờ 
Danh sách các khách hàng mua hàng qua hệ thống. 
Mỗi khách hàng có mã số khách hàng để phân biệt với các khách hàng khác; 
có thông tin về họ tên, địa chỉ, giới tính, điện thoại, email, mật khẩu, số điện 
thoại, email, mật khẩu, số điện thoại di động, câu hỏi bí mật, câu trả lời và 
ngày sinh. 
2. CONG_TY Giao dịch 
MACT Mã số công ty Số nguyên 
TENCT Tên công ty Chuỗi(50) 
DIACHI Địa chỉ công ty Chuỗi(150) 
DIENTHOAI Điện thoại của công ty Chuỗi(20) 
EMAIL Email của công ty Chuỗi(50) 
WEBSITE Website của công ty Chuỗi(50) 
Phụ lục C. CÁC VẤN ĐỀ KHÁC 
 132
MALL Mã số để hệ thống liên lạc với công ty Chuỗi(20) 
PASS Mật khẩu của công ty Chuỗi(20) 
USERNAME ID của công ty Chuỗi(20) 
MOTA Mô tả về công ty Chuỗi(3600) 
HINHANH Hình ảnh của công ty Chuỗi(20) 
Danh sách các công ty đã đăng ký vào hệ thống. 
Mỗi công ty có mã số công ty để phân biệt với các công ty khác; 
có thông tin về tên công ty, địa chỉ, điện thoại, website của công ty, mã số để 
hệ thống liên lạc với công ty, mặt khẩu, ID, hình ảnh của công ty và mô tả về 
công ty 
3. MAT_HANG Mặt hàng 
MAMH Mã số mặt hàng Chuỗi(20) 
TENMH Tên mặt hàng Chuỗi(50) 
GIA Giá trị của mặt hàng Tiền tệ 
MADM Mã danh mục mà mặt hàng thuộc về Chuỗi(20) 
MACT Mã công ty gởi mặt hàng đến bán Số nguyên 
SL_BAN Tổng số lượng của mặt hàng này được gởi bán từ công ty Số nguyên 
SL_DABAN Số lượng mặt hàng này đã bán cho khách hàng Số nguyên 
DONVITINH Đơn vị tính của mặt hàng Chuỗi(10) 
HINHANH Hình ảnh của mặt hàng Chuỗi(20) 
NGAYTAOLAP Ngày công ty bắt đầu quảng cáo mặt hàng này Ngày giờ 
MAMH_TUCT Mã mặt hàng do công ty quản lý Chuỗi(20) 
GIOITHIEU Giới thiệu về mặt hàng Chuỗi(3600) 
Danh sách các mặt hàng của các công ty theo từng danh mục. 
Mỗi mặt hàng có mã số mặt hàng để phân biệt với các mặt hàng khác; 
có thông tin về tên mặt hàng, giá trị của mặt hàng, danh mục chứa mặt hàng, 
mã công ty gởi mặt hàng đến bán, tổng số lượng mặt hàng do công ty gởi tới, 
số lượng mặt hàng đã bán cho khách hàng, đơn vị tính cho mặt hàng, hình ảnh 
của mặt hàng, ngày công ty bắt đầu quảng cáo mặt hàng, mã mặt hàng do 
công ty gới bán quản lý, giới thiệu các đặc điểm của mặt hàng. 
4. DANH_MUC Danh mục 
MADM Mã số danh mục Chuỗi(20) 
TENDM Tên danh mục Chuỗi(100) 
MADM_CHA Mã số danh mục là cha của danh mục đang xét Chuỗi(20) 
Phụ lục C. CÁC VẤN ĐỀ KHÁC 
 133
Danh sách các danh mục có trong hệ thống. 
Mỗi danh mục có mã số danh mục để phân biệt với các danh mục khác; 
có thông tin về tên danh mục và mã số danh mục cấp cha. 
(Danh mục được chia thành nhiều cấp, chẳng hạn danh mục “Quần áo” là 
danh mục cha của các danh mục “Quần áo nam”, “Quần áo nữ”) 
5. THUOC_TINH Thuộc tính 
MATHUOCTINH Mã số thuộc tính Số nguyên 
GIATRI Giá trị của thuộc tính Chuỗi(100) 
MAMH Mã số mặt hàng của thuộc tính đang xét Chuỗi(20) 
Danh sách các giá trị của các thuộc tính thuộc một mặt hàng. 
Mỗi thuộc tính có một mã số thuộc tính để phân biệt với các thuộc tính khác 
thuộc cùng một mặt hàng. Mỗi giá trị thuộc tính là một giá trị trong số tất cả 
các giá trị của thuộc tính. 
6. DONDH Đơn đặt hàng 
MADDH Mã số đơn đặt hàng Số nguyên 
NGAYCAPNHATCUOI Thời điểm đơn đặt hàng bắt đầu được lưu vào cơ sở dữ liệu Ngày giờ 
MAKH Mã số khách hàng sở hữu đơn đặt hàng Số nguyên 
TONGSOTIEN Tổng số tiền của đơn đặt hàng Tiền tệ 
DUOCCHINHSUA Xác định xem đơn đặt có còn trong thời hạn được sửa chữa không Số nguyên 
Danh sách các đơn đặt hàng trong hệ thống. 
Mỗi đơn đặt hàng có một mã số hóa đơn để phân biệt với các đơn đặt hàng 
khác; 
có thông tin về thời điểm đơn đặt hàng bắt đầu được lưu vào cơ sở dữ liệu của 
hệ thống, mã số của khách hàng sở hữu đơn đặt hàng, tổng số tiền của đơn đặt 
hàng và xác định đơn đặt hàng còn được chỉnh sửa hay không. 
7. CHITIETDDH Chi tiết đơn đặt hàng 
MADDH Mã số đơn đặt hàng chứa chi tiết đơn đặt hàng Số nguyên 
MAMH Mã số một mặt hàng trong đơn đặt hàng đang xét Chuỗi(20) 
SOLUONG Số lượng mặt hàng đang xét Số nguyên 
SOTIEN Số tiền của mặt hàng trong đơn đặt hàng đang xét Tiền tệ 
MACTKM Mã số chương trình khuyến mãi dành cho Số nguyên 
Phụ lục C. CÁC VẤN ĐỀ KHÁC 
 134
mặt hàng này tại thời điểm đang xét 
Danh sách chi tiết đơn đặt hàng của các đơn đặt hàng. 
Mỗi chi tiết đơn đặt hàng chứa thông tin về một mặt hàng trong một đơn đặt 
hàng; 
có thông tin về số lượng mua, số tiền mua và chương trình khuyến mãi dành 
cho mặt hàng tại thời điểm đang xét. 
8. CTKM Chương trình khuyến mãi 
MACTKM Mã số của chương trình khuyến mãi Số nguyên 
TENCT Tên chương trình khuyến mãi Chuỗi(50) 
SLTANGKEM Số lượng sản phẩm tặng kèm cho một mặt hàng được mua Số nguyên 
SLKHACHHANG Số lượng khách hàng đầu tiên được khuyến mãi Số nguyên 
NGAYBD Ngày chương trình khuyến mãi bắt đầu có hiệu lực Ngày giờ 
NGAYKT Ngày chương trình khuyến mãi kết thúc hiệu lực Ngày giờ 
MAMH Mã số mặt hàng được khuyến mãi Chuỗi(20) 
MOTA Mô tả về chương trình khuyến mãi Chuỗi(4000)
Danh sách các chương trình khuyến mãi có trong hệ thống. 
Mỗi chương trình khuyến mãi có một mã số để phân biệt với các chương trình 
khuyến mãi khác; 
Có thông tin về tên chương trình, số lượng sản phẩm tặng kèm cho môt mặt 
hàng được mua, số lượng khách hàng đầu tiên được khuyến mãi, ngày chương 
trình khuyến mãi bắt đầu có hiệu lực, ngày chương trình khuyến mãi kết thúc 
hiệu lực, mã số mặt hàng được khuyến mãi, mô tả về chương trình khuyến 
mãi. 
9. CHITIETKM Chi tiết khuyến mãi 
STT 
Số thứ tự của chi tiết 
khuyến mãi tương ứng 
với một điều kiện 
Số nguyên 
MACTKM 
Mã số chương trình 
khuyến mãi chứa chi tiết 
này 
Số nguyên 
DIEUKIENDU Mô tả điều kiện cần thỏa để được khuyến mãi Chuỗi(500) 
HINHTHUC Mô tả hình thức khuyến mãi Chuỗi(500) 
FILE_DK Điều kiện sau khi đã phân Chuỗi(1500)
Phụ lục C. CÁC VẤN ĐỀ KHÁC 
 135
tích thành chuỗi định 
dạng XML 
FILE_TH 
Hình thức khuyến mãi đã 
phân tích thành chuỗi 
định dạng XML 
Chuỗi(1500)
Danh sách chi tiết khuyến mãi của các chương trình khuyến mãi có trong hệ 
thống. 
Mỗi chi tiết khuyến mãi có một số thứ tự để phân biệt với các chi tiết khuyến 
mãi khác trong cùng một chương trình khuyến mãi; 
có thông tin về mô tả hình thức khuyến mãi, mô tả hình thức khuyến mãi, điều 
kiện sau khi đã phân tích thành chuỗi định dạng XML, hình thức khuyến mãi 
đã phân tích thành chuỗi định dạng XML. 
10. TANG_PHAM Giao dịch 
MAMH Mã số mặt hàng Chuỗi(50) 
MACTKM Mã chương trình khuyến mãi dành cho MH Số nguyên 
SOLUONG Số lượng tổng cộng được khuyến mãi Số thực 
MAMH_TUCT Mã mặt hàng do phía công ty quản lý Chuỗi(20) 
MALL Mã dung để liên lạc với công ty Chuỗi(50) 
SLCONLAI Số lượng còn lại dành cho chương trình khuyến mãi Số nguyên 
Danh sách tặng phẩm dành cho các chương trình khuyến mãi. 
Mỗi tặng phẩm có mã số mặt hàng để phân biệt với các tặng phẩm khác, 
Có mã số CTKM để phân biệt với CTKM khác cũng dùng mặt hàng này làm 
tặng phẩm; 
có thông tin về số lượng tổng cộng dành cho chương trình khuyến mãi, mã 
mặt hàng do công ty quản lý, mã dung để liên lạc với các công ty. 
số lượng còn lại dành cho chương trình khuyến mãi. 
11. THAMCHIEU_MAMH Giao dịch 
BATDAUMADM Chuỗi kí tự đại diện cho mã danh mục Chuỗi(20)
BATDAUMAMH Chuỗi kí tự bắt đầu trong mã mặt hàng Chuỗi(20)
HINHANH 
Cách đặt tên file 
hình ảnh theo danh 
mục 
Chuỗi(20)
MOTA Mô tả về danh mục Chuỗi(20)
Danh sách quy tắc đặt tên mặt hàng theo danh mục. 
Mỗi quy tắc có chuỗi kí tự đại diện cho danh mục mà mặt hàng thuộc về; 
Phụ lục C. CÁC VẤN ĐỀ KHÁC 
 136
có thông tin về chuỗi kí tự dùng để bắt đầu trong mã mặt hàng, cách đặt tên 
tập tin hình ảnh theo danh mục, và thông tin mô tả về danh mục. 
12. DANG_NHAP Giao dịch 
MANHOM Mã nhóm của người dùng Số nguyên 
QUYEN Quyền của người dùng Chuỗi(20) 
Danh sách các nhóm người dung tham gia hệ thống. 
Mỗi nhóm có mã số nhóm để phân biệt với các nhóm khác; 
có thông tin về quyền sử dụng hệ thống của người dung. 
C.2 Sử dụng XML trong ngôn ngữ Csharp 
Trong C#, ta sử dụng một số hàm trong namespace Xml của System dưới đây: 
STT Tên hàm Tên lớp Ý nghĩa 
1 Load XmlDocument Lấy tài liệu XML từ một file XML 
2 CreateElement XmlDocument Tạo node chưa có nội dung 
3 CreateTextNode XmlDocument Tạo nội dung dạng text cho một 
node 
4 Save XmlDocument Lưu lại tài liệu XML vào một file 
5 SelectSingleNode XmlDocument Lấy ra node đầu tiên thoả một biểu 
thức XPath 
6 SelectNodes XmlDocument Lấy ra danh sách các node thoả một 
biểu thức XPath 
7 AppendChild XmlNode Thêm một node là node con cuối 
cùng của một node đã biết 
8 RemoveChild XmlNode Xoá một node trong DOM tree 
9 SetAttribute XmlElement Thêm một thuộc tính cho node 
10 ChildNodes XmlElement Lấy ra tất cả các node con của một 
node 
Hàm để load tập tin XML ChuongTrinhQuangCao.xml: 
public XmlDocument Get_XmlDoc() 
{ 
XmlDocument xDoc = new XmlDocument(); 
// Đường dẫn chứa file cần load 
string path = “F:\\ChuongTrinhQuangCao.xml”; 
xDoc.Load(path); 
} 
Phụ lục C. CÁC VẤN ĐỀ KHÁC 
 137
Hàm thêm 1 node mới là con của một node xNode trong xDoc, node mới này có 
tên là strTag và có nội dung là strText: 
private XmlElement InsertTextNode(XmlDocument xDoc, XmlNode xNode, string 
strTag, string strText) 
{ 
 XmlNode xNodeTemp; 
 xNodeTemp = (XmlNode)(xDoc.CreateElement(strTag)); 
 xNodeTemp.AppendChild(xDoc.CreateTextNode(strText)); 
 xNode.AppendChild(xNodeTemp); 
 xDoc.Save(“F:\\ChuongTrinhQuangCao.xml”); 
 return (XmlElement) (xNodeTemp); 
} 
Hàm thêm 1 attribute mới cho node xNode trong xDoc, attribute mới này có 
tên là strTag và có nội dung là strText: 
private void InsertAttribute(XmlDocument xDoc,XmlNode xNode ,string strTag, 
string strText) 
{ 
 xNode.SetAttribute(strTag, strText); 
 xDoc.Save(“F:\\ChuongTrinhQuangCao.xml”); 
} 
Hàm xoá 1 node xDelNode là con của node xNode trong xDoc: 
private void RemoveNode(XmlDocument xDoc, XmlNode xDelNode, XmlNode 
xNode) 
{ 
 XmlNode boardStatusNode; 
 xNode.RemoveChild(xDelNode); 
 xDoc.Save(“F:\\ChuongTrinhQuangCao.xml”); 
} 
Phụ lục C. CÁC VẤN ĐỀ KHÁC 
 138
Hàm lấy nội dung của tất cả các node con của node xNode trong xDoc: 
private string[] getAllChildNodes(XmlDocument xDoc, XmlNode xNode) 
{ 
 string[] str = new string[xElement.ChildNodes.Count]; 
 XmlElement xElement = (XmlElement)xNode; 
for (int i=0; i<xElement.ChildNodes.Count; i++) 
{ 
 XmlNode xField = xElement.ChildNodes[i]; 
 str[i] = xField.InnerText; 
} 
xDoc.Save(“F:\\ChuongTrinhQuangCao.xml”); 
return str; 
} 
C.3 Một số control trong ASP.Net 
HTML Server Controls 
STT Tên TAG Tên lớp Một số thuộct tính Sự kiện 
1 HtmlAnchor 
Href, Target, Title, 
Name 
OnServer
Click 
2 HtmlImage 
Align, Alt, Border, 
Height, Src, Width 
3 HtmlForm 
Name, Enctype, 
Method, Target 
4 HtmlButton 
CausesValidation OnServer
Click 
5 
HtmlInput 
Button 
 Name, Type, Value, 
OnServer
Click 
6 
<input 
type="password"> 
HtmlInput 
Text 
MaxLength, Name, 
Size, Type, Value 
OnServer
Change 
7 <input HtmlInput Checked, Name, Type, OnServer
Phụ lục C. CÁC VẤN ĐỀ KHÁC 
 139
type="checkbox"> 
CheckBox 
Value 
Change 
8 
HtmlInput 
RadioButton 
Checked, Name, Type, 
Value 
OnServer
Change 
9 
HtmlInput 
Image 
Align, Alt, Border, 
Name, Src, Type, 
Value, 
CausesValidation 
OnServer
Click 
10 
HtmlInput 
File 
Accept, MaxLength, 
Name, PostedFile, 
Size,Type, Value 
Không có 
11 
HtmlInput 
Hidden 
Name, Type, Value 
OnServer
Change 
12 
HtmlText 
Area 
Cols, Name, Rows, 
Value 
OnServer
Change 
13 
HtmlSelect 
SelectedIndex, Size, 
Value, DataSource, 
DataTextField, 
DataValueFieldItems 
OnServer
Change 
14 
HtmlTable 
Align, BgColor, 
Border, BorderColor, 
CellPadding, 
CellSpacing, Height, 
NoWrap,WidthRows 
15 
HtmlTable 
Row 
Align, BgColor, 
Border, BorderColor, 
Height,ValignCells 
16 
HtmlTable 
Cell 
Align, BgColor, 
Border, BorderColor, 
ColSpan, Height, 
NoWrap, RowSpan, 
VAlign, Width 
Phụ lục C. CÁC VẤN ĐỀ KHÁC 
 140
Web Server Controls – List Control : 
• Một số list control “ Repeated Binding” thông dụng : 
o Reapeater 
o DataGrid 
o DataList 
• Những control trên đều được hổ trợ vịêc thiết kế template cho từng thành 
phần trong control và chỉ định được trường dữ liệu tương ứng khi đổ dữ liệu 
vào . Mỗi dòng dữ lịêu trong list được xem như một DataItem trong 
Container và được xác định các trường dữ liệu cần hiển thị 
Ví dụ : 
 = 
• Đặc biệt đối với 2 control : Datalist và datagrid , ASP.NET hổ trợ tính năng 
sọan thảo trên control 
Ví dụ : Tạo trang có chứa Data grid như sau : 
<ASP:DataGrid id="MyDataGrid" runat="server" CellPadding = "2" 
EditItemStyle-BackColor="yellow" EditItemStyle-ForeColor="black" 
DataKeyField="ISBN" OnEditCommand="DoItemEdit" 
OnUpdateCommand="DoItemUpdate" OnCancelCommand="DoItemCancel" 
AutoGenerateColumns="False"> 
<ASP:BoundColumn DataField="ISBN" HeaderText="ISBN" 
ReadOnly="True" /> 
' runat="server" /> 
<ASP:TextBox id="txtTitle" Size="60" runat="server" 
Text='' /> 
<ASP:BoundColumn DataField="PublicationDate" HeaderText="Published" 
/> 
Phụ lục C. CÁC VẤN ĐỀ KHÁC 
 141
<ASP:EditCommandColumn EditText="Edit" CancelText="Cancel" 
 UpdateText="Update" /> 
Kết quả trang sau khi chạy và chọn dòng dữ liệu đầu tiên như sau : 
Khi nhấn vào button Edit , thì DataGrid bị biến đổi như sau : 
Phụ lục C. CÁC VẤN ĐỀ KHÁC 
 142
• Control Data list chứa hổ trợ template của các DataItem là bảng . Do đó , nếu 
sử dụng Data List thì bạn có thể nhúng hình ảnh , hyperlink vào trong từng 
DataItem. 
Validation Controls ( Control xác định tính hợp lệ ) 
Một số control thông dụng : 
Validation Control Mô tả 
RequiredFieldValidator 
Control 
Việc xác nhận tính hợp lệ cho control input thành 
công khi dữ liệu nhập vào trong input control . Nếu 
không có dữ liệu , thì control này sẽ thông báo lỗi 
CompareValidator 
Control 
Kiểm tra giá trị trong 2 input control là giống nhau . 
RangeValidator Control 
Kiếm tra giá trị nhập vào của input control phải nằm 
giữa 2 số min và max được qui định bởi người lập 
trình 
RegularExpressionValidat
or Control 
Kiểm tra giá trị nhập vào của input control phải tuân 
theo một biểu thức đã xác định 
Vd : *@.* : đây là biểu thức qui định cho việc nhập 
địa chỉ mail 
Phụ lục D. TÀI LIỆU THAM KHẢO 
 143
Phụ lục D TÀI LIỆU THAM KHẢO 
[1] Efraim Turban - David King - Jae Lee - Merril Warkentm - H. Michael Chung, 
Electronic Commerce – A MANAGERIAL PERSPECTIVE, 2002 
[2] Mesbah Ahmed - Chris Garrett - Jeremy Faircloth - Chris Payne, ASP.NET Web 
Developer’s Guide 
[3] Richard Anderson - Brian Francis - Alex Homer - Rob Howard - David 
Sussman - Karli Watson, 
Professional ASP.NET 1.0 Special Edition, 2002 
[4] Jeff Prosise, Programming Microsoft .NET, 2002 
[5] Jone Connell, Coding Techniques for Microsoft VISUAL BASIC.NET, 2002 
Trang web : 
[1] Amazon.com 
[2] eBay.com 
[3]  
[4]  
            Các file đính kèm theo tài liệu này:
CNTT1011.pdf