Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh công nghệ thông tin phát triển và xu hướng chuyển dịch sang mua sắm trực tuyến sau đại dịch Covid-19, việc số hóa hoạt động kinh doanh bán lẻ trở thành yêu cầu thiết thực đối với các đơn vị thương mại. Người tiêu dùng ngày càng có xu hướng tìm kiếm thông tin về chủng loại, giá cả, nguồn gốc sản phẩm và tiến hành giao dịch trực tiếp trên nền tảng web. Việc quản lý thủ công thông qua sổ sách truyền thống bộc lộ nhiều điểm hạn chế về mặt thời gian, hiệu suất xử lý dữ liệu và tính chính xác trong công tác quản lý doanh thu, xuất - nhập kho và theo dõi đơn hàng.

Báo cáo kết thúc học phần "Cơ sở dữ liệu nâng cao" với đề tài "Quản lý website bán hoa" do nhóm sinh viên Khoa Công nghệ Thông tin - Trường Đại học Ngoại ngữ - Tin học Thành phố Hồ Chí Minh (HUFLIT) thực hiện (tháng 12/2022), dưới sự hướng dẫn của ThS. Phạm Đức Thành. Mục tiêu chính của đề tài tập trung vào việc:

  1. Khảo sát các mô hình website thương mại điện tử thực tế trong lĩnh vực kinh doanh hoa tươi và quà tặng (bao gồm Flower Corner, Potico, và Shophoa365).
  2. Nghiên cứu hệ thống cơ sở lý thuyết về mô hình dữ liệu quan hệ, phụ thuộc hàm, chuẩn hóa dữ liệu, bảo toàn thông tin và các công nghệ cơ sở dữ liệu hiện đại (NoSQL, NewSQL).
  3. Thiết kế mô hình dữ liệu quan niệm và vật lý, xác định các ràng buộc toàn vẹn, hàm, thủ tục và trigger đáp ứng nghiệp vụ bán hàng.
  4. Xây dựng ứng dụng web demo hỗ trợ hai nhóm người dùng chính: Khách hàng và Quản trị viên.

Đối tượng và phạm vi nghiên cứu của đề tài bao gồm quy trình nghiệp vụ mua bán trực tuyến (từ đặt hàng, thanh toán, giao nhận đến quản lý kho hàng và báo cáo tài chính) được mô hình hóa trong hệ thống cơ sở dữ liệu quan hệ tại một cửa hàng bán hoa.


Cơ sở lý thuyết và phương pháp

Đề tài vận dụng hệ thống lý thuyết nền tảng và nâng cao trong lĩnh vực cơ sở dữ liệu quan hệ và công nghệ phần mềm:

1. Mô hình thực thể kết hợp (ERD - Entity Relationship Diagram)

  • Phân loại mô hình thực thể nguyên thủy và mô hình mở rộng (tính kế thừa, tính bao phủ toàn phần/bán phần, chồng chéo/riêng biệt).
  • Định nghĩa các loại thuộc tính: thuộc tính đơn, thuộc tính đa trị, thuộc tính kết hợp, thuộc tính dẫn xuất và thuộc tính khóa.
  • 8 quy tắc mô hình hóa dữ liệu quan niệm: quy tắc định danh đặc trưng thực thể duy nhất, xử lý đặc trưng phụ thuộc nhiều thực thể, mô hình hóa thuộc tính đa trị tách bảng, xử lý nhóm lặp và dữ liệu phụ thuộc thời gian.

2. Lý thuyết phụ thuộc hàm (Functional Dependency - FD) và chuẩn hóa dữ liệu

  • Các dị thường dữ liệu: Phân tích các vấn đề dư thừa dữ liệu, không nhất quán và dị thường trong các thao tác thêm, xóa, sửa (Insert, Delete, Update).
  • Hệ tiên đề Armstrong:
    • Ba luật cơ bản: Luật phản xạ ($Y \subseteq X \Rightarrow X \to Y$), Luật thêm vào ($X \to Y \text{ và } Z \to W \Rightarrow XZ \to YW$), Luật bắc cầu ($X \to Y \text{ và } Y \to Z \Rightarrow X \to Z$).
    • Ba luật suy dẫn: Luật phân rã, Luật hội, Luật bắc cầu giả.
  • Bao đóng và Phủ tối thiểu: Thuật toán tính bao đóng của tập thuộc tính ($X^+$), bao đóng tập phụ thuộc hàm ($F^+$), định nghĩa phụ thuộc hàm đầy đủ và quy trình 4 bước xác định phủ tối thiểu (tách vế phải, loại bỏ thuộc tính dư thừa vế trái, loại bỏ phụ thuộc hàm thừa).
  • Ứng dụng tìm khóa: Phân loại tập thuộc tính thành Tập nguồn (TN), Tập đích (TD) và Tập trung gian (TG) để triển khai thuật toán tìm toàn bộ khóa của lược đồ quan hệ.
  • Các dạng chuẩn CSDL:
    • 1NF: Toàn bộ miền giá trị của các thuộc tính đều là giá trị nguyên tử (không phân chia).
    • 2NF: Đạt 1NF và mọi thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào khóa chính.
    • 3NF: Đạt 2NF và không tồn tại phụ thuộc hàm bắc cầu từ thuộc tính không khóa vào khóa chính.
    • BCNF (Boyce-Codd Normal Form): Đạt 3NF và không có thuộc tính khóa phụ thuộc hàm vào thuộc tính không khóa.
    • 4NF & 5NF (PJ/NF): Phân tích phụ thuộc đa trị (MVD), loại bỏ phụ thuộc đa trị không tầm thường và phụ thuộc phép nối (Join Dependency).

3. Bảo toàn thông tin và an toàn cơ sở dữ liệu

  • Định nghĩa tính không mất mát thông tin của phép tách lược đồ quan hệ $R$ thành $(R_1, R_2, \dots, R_m)$ đối với tập phụ thuộc hàm $F$: $\Pi_{U_1}(r) \bowtie \Pi_{U_2}(r) \bowtie \dots = r$.
  • Thuật toán kiểm tra bảo toàn thông tin sử dụng bảng ma trận $m$ dòng $\times$ $n$ cột với các ký hiệu $a_j$ và $b(i, j)$.
  • Các nguyên lý bảo mật cơ sở dữ liệu, quản lý hệ thống DBMS, hạ tầng mạng và ứng dụng kết nối.

4. Lập trình cơ sở dữ liệu và công nghệ dữ liệu mới

  • Lập trình Transact-SQL: Sử dụng biến cục bộ (DECLARE, SET, SELECT), biến hệ thống (@@), cấu trúc điều khiển (IF, WHILE), biến con trỏ (Cursor), Trigger, và Stored Procedure (tối ưu hóa biên dịch trước, tăng tốc độ xử lý và kiểm soát an ninh).
  • Ràng buộc toàn vẹn (RBTV): NOT NULL, DEFAULT, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK, và INDEX.
  • Cơ chế trao đổi dữ liệu: Đánh giá ưu nhược điểm của định dạng XML trong tích hợp ứng dụng đa nền tảng.
  • NoSQL và NewSQL: Phân tích đặc tính phi quan hệ, khả năng mở rộng quy mô phân tán và độ trễ thấp của NoSQL; so sánh với kiến trúc NewSQL (kết hợp khả năng mở rộng ngang của NoSQL và tính đảm bảo giao dịch ACID của mô hình quan hệ truyền thống qua các hệ thống như SAP HANA, NuoDB, MemSQL).

Thiết kế và triển khai

1. Kiến trúc công nghệ và môi trường phát triển

  • Môi trường phát triển giao diện (Front-End): Microsoft Visual Studio 2019, triển khai ứng dụng web trên nền tảng ASP.NET sử dụng ngôn ngữ lập trình C#, kết hợp HTML, CSS và JavaScript.
  • Hệ quản trị cơ sở dữ liệu (Back-End): Microsoft SQL Server, quản lý và thực thi truy vấn qua SQL Server Management Studio 18.

2. Thiết kế chi tiết các bảng dữ liệu (Data Tables)

Hệ thống được thiết kế gồm 13 bảng dữ liệu quan hệ phục vụ cho các quy trình mua bán, giao nhận, quản lý kho và kế toán doanh thu:

Tên Bảng Mô tả chức năng Khóa chính (PK) Khóa ngoại (FK) Các trường dữ liệu chính
KHACHHANG Lưu trữ thông tin người mua MaKH Không TenKH, SDT, Diachi, Email, GioiTinh
NHANVIEN Lưu trữ thông tin nhân viên cửa hàng MaNV Không TenNV, SDTNV, DiaChi, Email, GioiTinh
SANPHAM Danh mục mặt hàng sản phẩm hoa MaSP MaLoai DonGia
PHANLOAISANPHAM Phân loại các nhóm hoa MaLoai Không Tenloai
HOADON Thông tin đơn hàng (Quản trị) MaHD MaPGH ThanhTien
CHITIETHOADON Chi tiết các mặt hàng trong đơn MaHD MaSP, MaLoai SoLuong, Tongtien, NgayLapHD
GIAOHANG Quản lý vận chuyển đơn hàng MaGH MaHD PhiVC
CHITIETGIAOHANG Thông tin địa chỉ và người nhận hàng MaGH MaHD, MaKH SDTNgNhan, DiaChiNgNhan, Tongtien
PHIEUNHAP Theo dõi nhập nguyên liệu hoa MaPN MaNCC TenNL, SoLuong, DonGia, NgayNhap, TongTien
NHACUNGCAP Danh sách đối tác cung ứng hoa MaNCC Không TenNCC
PHIEUXUAT Thống kê sản phẩm xuất bán MaPX MaSP SoLuong, NgayXuat, TongTien
DOANHTHU Báo cáo cân đối thu chi hàng ngày MaPDT MaPN, MaPX, MaGH LoiNhuan, NgayTK
DANHGIA Ghi nhận phản hồi của khách hàng MaBDG MaKH, MaSP Mã phản hồi, đánh giá chất lượng

3. Quy tắc toàn vẹn và chuẩn hóa dữ liệu

  • Quy tắc tính toán và kiểm tra:
    • Công thức tính thành tiền: $\text{TongTien} = \text{SoLuong} \times \text{DonGia}$.
    • Ràng buộc miền giá trị: Giới tính chỉ nhận các giá trị hợp lệ (Nam, Nữ, Khác); định dạng số điện thoại và email được kiểm tra qua quy tắc Regex.
  • Chuẩn hóa lược đồ quan hệ: Các bảng dữ liệu được phân tích tập phụ thuộc hàm và đưa về dạng chuẩn tương ứng:
    • Đạt dạng chuẩn 3 (3NF): KHACHHANG, NHANVIEN, SANPHAM, HOADON, DANHGIA.
    • Đạt dạng chuẩn 2 (2NF): CHITIETHOADON, PHIEUGIAOHANG, PHIEUNHAP, PHIEUXUAT, DOANHTHU.
    • Đạt dạng chuẩn 1 (1NF): PHANLOAISANPHAM, NHACUNGCAP.

Nội dung chính theo từng chương

CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI

Chương 1 trình bày bối cảnh chuyển dịch thương mại điện tử, lý do lựa chọn xây dựng hệ thống bán hàng và tiến hành khảo sát thực tế 3 hệ thống thương mại trực tuyến:

  • Flower Corner: Khảo sát luồng giao diện danh sách phân loại hoa, trang chi tiết sản phẩm kèm chính sách khuyến mãi, giỏ hàng, giao diện thu thập thông tin người gửi/người nhận, chọn khung giờ giao hàng, tùy chọn xuất hóa đơn VAT và các cổng thanh toán (Chuyển khoản, VNPAY, PayPal, 2CHECKOUT, Ví điện tử, COD).
  • Potico: Khảo sát các trường dữ liệu hiển thị mức giảm giá, tỷ lệ đánh giá sao, tính năng chọn thêm phụ kiện đính kèm, chính sách vận chuyển và giao diện theo dõi trạng thái đơn hàng.
  • Shophoa365: Khảo sát cấu trúc mã sản phẩm, danh mục hoa theo chủ đề, module tư vấn trực tuyến (chat/hotline) và form thu thập thông tin bưu điện, ghi chú giao hàng. Đồng thời, chương này xác định 2 quy trình nghiệp vụ trọng tâm (quy trình đặt hàng, quy trình thanh toán) và phân định phạm vi chức năng giữa Khách hàng và Quản trị viên.

CHƯƠNG 2: GIỚI THIỆU VỀ CÔNG NGHỆ SỬ DỤNG (CƠ SỞ LÝ THUYẾT)

Chương 2 đóng vai trò cung cấp khung lý thuyết phục vụ thiết kế cơ sở dữ liệu:

  • Trình bày chi tiết lý thuyết mô hình thực thể kết hợp ERD mở rộng và 8 quy tắc mô hình hóa chuẩn.
  • Trình bày cơ sở toán học của phụ thuộc hàm, hệ tiên đề Armstrong, bao đóng, thuật toán tìm phủ tối thiểu và phương pháp xác định tập khóa thông qua phân loại tập nguồn/đích/trung gian.
  • Định nghĩa và phân tích điều kiện của các dạng chuẩn từ 1NF, 2NF, 3NF, BCNF đến 4NF và 5NF (PJ/NF).
  • Phân tích thuật toán kiểm tra phép tách bảo toàn thông tin và các giải pháp an toàn CSDL.
  • Tổng quan cú pháp và vai trò của các đối tượng lập trình nâng cao trong T-SQL: Trigger, Stored Procedure, Cursor, Ràng buộc toàn vẹn (RBTV).
  • So sánh định dạng trao đổi dữ liệu XML và tổng quan hai trường phái cơ sở dữ liệu hiện đại: NoSQL và NewSQL.

CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ

Chương 3 chuyển hóa các yêu cầu nghiệp vụ thành cấu trúc cơ sở dữ liệu và giao diện hệ thống:

  • Yêu cầu chức năng: Quản lý sản phẩm (thêm, sửa, xóa, tìm kiếm), quản lý giỏ hàng, đặt hàng và thanh toán, quản lý tài khoản người dùng và phân quyền, quản lý hóa đơn, quản lý nhà cung cấp, thống kê nhập - xuất kho và tính toán doanh thu.
  • Yêu cầu phi chức năng: Giao diện thân thiện, trực quan, tốc độ xử lý truy xuất, tính toàn vẹn dữ liệu và khả năng mở rộng.
  • Thiết kế CSDL chi tiết: Xác định kiểu dữ liệu, khóa chính, khóa ngoại, ràng buộc cho 13 bảng quan hệ.
  • Phân tích phụ thuộc hàm và dạng chuẩn: Trình bày tập phụ thuộc hàm $F$ cho từng quan hệ cụ thể và đánh giá dạng chuẩn tương ứng (1NF, 2NF, 3NF).
  • Thiết kế giao diện: Phác thảo cấu trúc giao diện tương tác cho cả người dùng và quản trị viên.

CHƯƠNG 4: KẾT LUẬN

Chương 4 tổng kết các kết quả triển khai giao diện và chức năng của ứng dụng:

  • Xây dựng hoàn chỉnh các phân hệ giao diện: Trang chủ, Trang danh mục sản phẩm (Hoa khai trương, Hoa sinh nhật, Hoa tươi, Hoa khô...), Trang xem chi tiết sản phẩm, Giao diện giỏ hàng, Giao diện nhập thông tin thanh toán (hỗ trợ chuyển khoản ngân hàng và tiền mặt khi nhận hàng), Giao diện đăng ký/đăng nhập tài khoản, Trang chi tiết đơn hàng cá nhân, Trang đăng nhập admin và Giao diện quản trị thống kê doanh thu - đơn hàng.
  • Đánh giá mức độ hoàn thành so với mục tiêu ban đầu, chỉ ra các hạn chế kỹ thuật và đề xuất hướng phát triển hệ thống trong tương lai.

Kết quả và đóng góp

1. Kết quả chính đạt được

  • Khảo sát chi tiết mô hình hoạt động và luồng tương tác của 3 website thương mại điện tử chuyên ngành hoa tươi tại Việt Nam.
  • Xây dựng lược đồ cơ sở dữ liệu quan hệ gồm 13 bảng với cấu trúc trường dữ liệu, khóa chính, khóa ngoại và ràng buộc toàn vẹn rõ ràng.
  • Hoàn thành phân tích phụ thuộc hàm và đánh giá dạng chuẩn cho toàn bộ 13 bảng quan hệ trong hệ thống.
  • Triển khai hệ thống giao diện web ứng dụng ASP.NET (C#) kết nối cơ sở dữ liệu SQL Server với 10 module màn hình chính:
    1. Giao diện trang chủ (banner, sản phẩm nổi bật, tìm kiếm, giỏ hàng).
    2. Giao diện danh mục sản phẩm phân loại theo chủ đề hoa.
    3. Giao diện xem thông tin chi tiết sản phẩm.
    4. Giao diện quản lý giỏ hàng (cập nhật số lượng, áp dụng mã ưu đãi).
    5. Giao diện đặt mua và thanh toán đơn hàng.
    6. Giao diện đăng ký thành viên.
    7. Giao diện đăng nhập tài khoản.
    8. Giao diện theo dõi chi tiết đơn hàng và lịch sử mua sắm.
    9. Giao diện đăng nhập dành cho quản trị viên.
    10. Giao diện trang Admin quản lý, thống kê đơn hàng và doanh thu.

2. Đóng góp về mặt học thuật và kỹ thuật

  • Đề tài tổng hợp hệ thống lý thuyết về chuẩn hóa cơ sở dữ liệu nâng cao (từ lý thuyết phụ thuộc hàm, hệ tiên đề Armstrong đến thuật toán phủ tối thiểu và bảo toàn thông tin) và ứng dụng trực tiếp vào bài toán thương mại điện tử.
  • Phân công công việc rõ ràng giữa các thành viên nhóm (Cáp Hữu Tuấn: thiết kế báo cáo, khảo sát thực tế, thiết kế web, ERD; Nguyễn Thị Mỹ Lệ: cơ sở lý thuyết, mô tả các bảng; Lê Hồng Long Vũ: xác định chức năng, phạm vi đề tài, sơ đồ chức năng và ERD).

Hạn chế và hướng nghiên cứu tiếp

1. Hạn chế

  • Các chức năng phục vụ quản trị doanh nghiệp toàn diện chưa được hoàn thiện đầy đủ.
  • Chưa tích hợp cổng thanh toán tự động qua mã phản hồi nhanh (QR Code).
  • Chưa xây dựng module theo dõi và cập nhật lịch trình vận chuyển đơn hàng theo thời gian thực.
  • Bộ lọc tìm kiếm sản phẩm còn ở mức cơ bản, chưa hỗ trợ lọc chi tiết đa tiêu chí theo nhu cầu người dùng.

2. Hướng phát triển

  • Bổ sung tính năng theo dõi lộ trình và trạng thái vận chuyển chi tiết cho đơn hàng.
  • Triển khai chương trình khách hàng thân thiết và hệ thống tích lũy điểm thưởng khi mua hàng.
  • Mở rộng thêm các cổng và phương thức thanh toán điện tử mới.
  • Nâng cao cơ chế bảo mật và an toàn dữ liệu cho hệ thống website.
  • Tối ưu hóa các quy trình nghiệp vụ nhập - xuất kho và hạch toán kế toán cho doanh nghiệp.

Giá trị tham khảo

Báo cáo kết thúc học phần là tài liệu tham khảo phù hợp cho:

  • Sinh viên chuyên ngành Công nghệ thông tin, Hệ thống thông tin đang học tập và thực hiện đồ án môn học Cơ sở dữ liệu nâng cao, Phân tích thiết kế hệ thống thông tin hoặc Lập trình web với ASP.NET.
  • Người nghiên cứu cần tài liệu tổng hợp về các thuật toán phụ thuộc hàm (tìm bao đóng, phủ tối thiểu, tìm khóa) và các bước chuẩn hóa lược đồ quan hệ (1NF - 5NF).
  • Nhóm phát triển phần mềm cần mẫu thiết kế cơ sở dữ liệu (ERD, mô tả chi tiết bảng, trigger, procedure) cho các bài toán thương mại điện tử quy mô vừa và nhỏ.

Câu hỏi thường gặp

1. Đề tài khảo sát những website thực tế nào để xây dựng yêu cầu hệ thống?
Tác giả đã tiến hành khảo sát giao diện, cấu trúc lưu trữ và quy trình nghiệp vụ thực tế từ 3 website thương mại điện tử chuyên về hoa tươi: Flower Corner (flowercorner.vn), Potico, và Shophoa365.

2. Hệ thống cơ sở dữ liệu gồm bao nhiêu bảng và các bảng này đạt những dạng chuẩn nào?
Cơ sở dữ liệu gồm 13 bảng quan hệ (KHACHHANG, NHANVIEN, SANPHAM, PHANLOAISANPHAM, HOADON, CHITIETHOADON, GIAOHANG, CHITIETGIAOHANG, PHIEUNHAP, NHACUNGCAP, PHIEUXUAT, DOANHTHU, DANHGIA). Qua phân tích phụ thuộc hàm, các bảng được phân loại đạt chuẩn 1NF (như PHANLOAISANPHAM, NHACUNGCAP), 2NF (như CHITIETHOADON, PHIEUNHAP, DOANHTHU) và 3NF (như KHACHHANG, NHANVIEN, SANPHAM, HOADON).

3. Ngăn xếp công nghệ (tech stack) được sử dụng để xây dựng ứng dụng là gì?
Ứng dụng được lập trình Front-End trên Visual Studio 2019 với nền tảng ASP.NET (ngôn ngữ C#, HTML, CSS, JavaScript) và Back-End sử dụng hệ quản trị cơ sở dữ liệu SQL Server (quản lý qua SQL Server Management Studio 18).

4. Quy trình tính toán doanh thu và quản lý kho được mô hình hóa như thế nào trong CSDL?
Hệ thống sử dụng bảng PHIEUNHAP (kết nối NHACUNGCAP) để ghi nhận chi phí nhập nguyên liệu, bảng PHIEUXUAT để ghi nhận sản phẩm xuất bán, và bảng DOANHTHU (kết nối MaPN, MaPX, MaGH) để thống kê tổng thu, tổng chi và tính toán lợi nhuận cuối ngày.

5. Những phương thức thanh toán nào đã được khảo sát và thiết kế trong hệ thống?
Trong khảo sát thực tế, hệ thống ghi nhận các cổng Bank Transfer, VNPAY, PayPal, 2CHECKOUT, Ví điện tử và Cash on Delivery (COD). Trong giao diện demo thanh toán của đề tài, hệ thống triển khai hai hình thức chính là Chuyển khoản ngân hàng và Trả tiền mặt khi nhận hàng.


Kết luận

Báo cáo kết thúc học phần "Quản lý website bán hoa" đã trình bày có hệ thống từ nền tảng lý thuyết cơ sở dữ liệu nâng cao đến việc áp dụng vào phân tích, thiết kế và xây dựng một hệ thống bán hàng trực tuyến cụ thể. Nghiên cứu hoàn thành việc mô hình hóa 13 bảng dữ liệu quan hệ, phân tích phụ thuộc hàm, dạng chuẩn và hiện thực hóa qua ứng dụng web ASP.NET kết nối SQL Server. Mặc dù còn một số hạn chế về tích hợp cổng thanh toán mã QR và theo dõi vận chuyển thời gian thực, đề tài đã đáp ứng các yêu cầu học thuật của học phần và cung cấp tài liệu tham khảo hữu ích cho các dự án xây dựng hệ thống thông tin quản lý tương tự.