Trong báo cáo này, chúng tôi sẽ trình bày quy trình thiết kế và phân tích mô hình ER cho trang web bán đồ ăn nhanh, bao gồm việc xác định các thực thể chính như sản phẩm, đơn hàng, khách
Trang 1TRƯỜNG ĐẠI HỌC VĂN LANG
KHOA KỸ THUẬT CƠ-ĐIỆN VÀ MÁY TÍNH
THƯƠNG HIỆU LOTTERIA
Sinh viên thực hiện: PHẠM TRỌNG HOÀI AN – 2374801030001
DƯƠNG VŨ QUỐC BẢO – 2174801030054
Trang 2MỤC LỤC
Lời mở đầu 4
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 5
1.1 Khái niệm cơ sở dữ liệu 5
1.2 Mô hình thực thể kết hợp 6
1.3 Mô hình quan hệ 7
1.4 Chuẩn Hóa Dữ Liệu 8
CHƯƠNG 2: THIẾT KẾ CƠ SỞ DỮ LIỆU 9
2.2 Thiết kế mô hình ER 10
Biểu Mẫu 11
Mô tả các chức năng của hệ thống 12
Mô tả thuộc tính của các tập thực thể 13
Các quy định đặt thuộc tính tham gia làm khóa chính cho các thực thể 13
2.3 Mô hình quan hệ 13
2.4) Chuẩn Hóa Cơ Sở Dữ Liệu 14
Kết Luận 14
Trang 3Lời mở đầu
Trong thời đại công nghệ ngày nay, việc xây dựng các trang web thương mại điện tử đã trở thành một phần không thể thiếu trong chiến lược kinh doanh của nhiều doanh nghiệp Tính tiện lợi và sự phổ biến của mua sắm trực tuyến đã tạo ra nhu cầu ngày càng tăng
về việc phát triển các nền tảng thương mại điện tử đáng tin cậy và hiệu quả Trong tình huống này, việc thiết kế và phân tích mô hình ER (Entity-Relationship) cho một trang web bán hàng trực tuyến không chỉ là bước cần thiết mà còn là yếu tố quyết định đến
sự thành công của dự án
Chọn đề tài về "Thiết kế và phân tích mô hình ER cho trang web bán đồ ăn nhanh LOTTERIA xuất phát từ nhận thức sâu sắc về sự quan trọng của cấu trúc dữ liệu trong phát triển trang web thương mại điện tử Mô hình bán đồ ăn nhanh, với sự phổ biến và tiềm năng kinh doanh lớn, là một lựa chọn đặc biệt hấp dẫn để minh họa quá trình thiết
kế hệ thống Bằng cách áp dụng mô hình ER, chúng tôi có thể định rõ các thực thể và mối quan hệ giữa chúng, từ đó xây dựng nền tảng dữ liệu linh hoạt và dễ dàng mở rộng cho trang web bán đồ ăn nhanh
Trong báo cáo này, chúng tôi sẽ trình bày quy trình thiết kế và phân tích mô hình ER cho trang web bán đồ ăn nhanh, bao gồm việc xác định các thực thể chính như sản phẩm, đơn hàng, khách hàng, và quan hệ giữa chúng Chúng tôi cũng sẽ đề cập đến các vấn đề cụ thể trong quá trình thiết kế, như định dạng dữ liệu, quan hệ phức tạp giữa các thực thể, và cách thức ánh xạ mô hình ER sang một cấu trúc cơ sở dữ liệu cụ thể
Hy vọng rằng thông qua nghiên cứu này, chúng tôi sẽ đóng góp vào việc nâng cao hiệu quả kinh doanh của các doanh nghiệp thương mại điện tử và thúc đẩy sự phát triển bền vững của ngành công nghiệp này
Trang 44
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1 Khái niệm cơ sở dữ liệu
Cơ sở dữ liệu không chỉ đơn thuần là một khái niệm kỹ thuật mà còn là trụ cột của nền công nghiệp thông tin hiện đại Trên một tầm quan trọng rộng lớn, cơ sở dữ liệu không chỉ là nơi lưu trữ thông tin mà còn là nền tảng cho việc tổ chức, quản lý và truy xuất dữ liệu một cách có hệ thống và linh hoạt
Từ các ứng dụng doanh nghiệp phức tạp đến các ứng dụng di động và web phổ biến hàng ngày, cơ sở dữ liệu đóng vai trò trung tâm trong việc đảm bảo rằng thông tin được quản lý một cách an toàn, hiệu quả và đáng tin cậy Từ việc lưu trữ dữ liệu cơ bản đến phân tích thông tin phức tạp và đưa ra quyết định, cơ sở dữ liệu đóng vai trò không thể phủ nhận trong mọi lĩnh vực của xã hội và kinh tế
Cơ sở dữ liệu là một phần không thể thiếu trong thế giới kỹ thuật số hiện đại, đóng vai trò quan trọng trong việc tổ chức, lưu trữ và truy xuất dữ liệu một cách có tổ chức và hiệu quả Tại cơ sở của mọi ứng dụng từ hệ thống quản lý doanh nghiệp đến các ứng dụng web và di động, cơ sở dữ liệu đóng vai trò trung tâm trong việc đảm bảo thông tin được lưu trữ và sử dụng một cách đáng tin cậy và hiệu quả Để hiểu rõ hơn về cách hoạt động và ý nghĩa của cơ sở dữ liệu, chúng ta cần khám phá sâu hơn vào các khía cạnh
kỹ thuật, thiết kế và ứng dụng của nó
Trang 51.2 Mô hình thực thể kết hợp
"Mô hình thực thể kết hợp" là một khái niệm trong lĩnh vực cơ sở dữ liệu, mô tả cách tiếp cận trong việc thiết kế cơ sở dữ liệu bằng cách sử dụng cả hai loại mô hình dữ liệu chính: mô hình thực thể (Entity-Relationship Model) và mô hình quan hệ (Relational Model)
Trong "mô hình thực thể kết hợp", các thực thể và mối quan hệ giữa chúng được mô tả bằng mô hình thực thể, trong đó các thực thể được định nghĩa là các đối tượng trong thế giới thực có thể được nhận biết và phân biệt Mỗi thực thể có các thuộc tính mô tả đặc điểm của nó và các mối quan hệ với các thực thể khác
Tuy nhiên, thay vì triển khai cơ sở dữ liệu dựa trên mô hình thực thể, "mô hình thực thể kết hợp" chuyển đổi cấu trúc dữ liệu từ mô hình thực thể sang mô hình quan hệ Trong
mô hình quan hệ, dữ liệu được tổ chức vào các bảng và các mối quan hệ giữa các thực thể được biểu diễn bằng các khóa ngoại
Điều này cho phép kết hợp lợi ích của cả hai mô hình: tính trực quan và dễ hiểu của mô hình thực thể và tính linh hoạt và hiệu quả của mô hình quan hệ Kết quả là một cơ sở
dữ liệu có cấu trúc rõ ràng, dễ quản lý và linh hoạt trong việc truy xuất và xử lý dữ liệu
Trang 6Một điểm quan trọng của mô hình quan hệ là việc sử dụng các khóa để xác định mối quan hệ giữa các bảng Khóa chính (primary key) là một hoặc một nhóm các trường trong bảng mà giá trị của chúng là duy nhất cho mỗi bản ghi, đồng thời còn dùng để xác định mỗi bản ghi một cách duy nhất Khóa ngoại (foreign key) là một trường trong một bảng, tham chiếu đến khóa chính của một bảng khác, tạo ra mối quan hệ giữa các bảng
Mô hình quan hệ cho phép mô tả dữ liệu một cách logic và trừu tượng, giúp dễ dàng hiểu và quản lý dữ liệu Nó cung cấp một cách tiếp cận mạnh mẽ và linh hoạt để tổ chức
và truy xuất dữ liệu, làm cho nó trở thành một trong những mô hình phổ biến nhất trong lĩnh vực cơ sở dữ liệu hiện nay
Trang 71.4 Chuẩn Hóa Dữ Liệu
Chuẩn hóa dữ liệu là quá trình thiết kế cơ sở dữ liệu để loại bỏ các vấn đề liên quan đến
sự lặp lại và không nhất quán trong dữ liệu, đồng thời tối ưu hóa cấu trúc của cơ sở dữ liệu để đảm bảo tính nhất quán, hiệu quả và dễ dàng bảo trì Quá trình này thường được thực hiện theo một số nguyên tắc chuẩn hóa được thiết lập để đảm bảo cơ sở dữ liệu đáp ứng được các yêu cầu của ứng dụng một cách tối ưu nhất
Có ba dạng chuẩn hóa chính được sử dụng trong quá trình thiết kế cơ sở dữ liệu:
1 Chuẩn hóa hình thức: Đây là quá trình chia nhỏ dữ liệu thành các bảng và cột,
mỗi bảng đại diện cho một thực thể duy nhất Mục tiêu của chuẩn hóa hình thức
là loại bỏ sự lặp lại dữ liệu và giảm thiểu không gian lưu trữ không cần thiết Các dạng chuẩn hóa phổ biến nhất là Normal Form (NF) từ NF1 đến NF5
2 Chuẩn hóa chức năng: Mục tiêu của chuẩn hóa chức năng là đảm bảo rằng mỗi
phần tử dữ liệu (non-key attribute) phụ thuộc hoàn toàn vào khóa chính Điều này giúp đảm bảo tính nhất quán và tránh các vấn đề liên quan đến cập nhật không đồng nhất
3 Chuẩn hóa thời gian: Chuẩn hóa thời gian tập trung vào việc phân chia dữ liệu
thành các bảng để giảm thiểu hoặc loại bỏ sự thay đổi trong dữ liệu theo thời gian Điều này giúp đảm bảo rằng mọi thông tin lịch sử được lưu trữ một cách hiệu quả và dễ dàng truy xuất
Việc thực hiện chuẩn hóa dữ liệu giúp cải thiện hiệu suất của cơ sở dữ liệu, giảm thiểu rủi ro dữ liệu không nhất quán và tiết kiệm tài nguyên lưu trữ Tuy nhiên, quá mức chuẩn hóa cũng có thể gây ra sự phức tạp không cần thiết trong cấu trúc cơ sở dữ liệu,
vì vậy việc áp dụng các nguyên tắc chuẩn hóa phải cân nhắc kỹ lưỡng dựa trên yêu cầu
cụ thể của dự án và ứng dụng
Trang 8
8
CHƯƠNG 2: THIẾT KẾ CƠ SỞ DỮ LIỆU
2.1 Mô tả bài toán
Trang web cửa hàng bán đồ ăn nhanh của thương hiệu LOTTERIA đòi hỏi một cơ sở
dữ liệu linh hoạt và hiệu quả để quản lý thông tin về nhân sự, sản phẩm, đơn hàng, khách hàng và các thông tin liên quan khác
Mỗi cửa hàng sẽ có thể có một hoặc nhiều người quản lý phụ trách điều hành Người quản lý chỉ làm việc tại một cửa hàng cụ thể
Mỗi quản lý sẽ điều hành nhiều nhân viên, với mỗi nhân viên được phân công cho một quản lý cố định Các nhân viên sẽ phụ trách thực hiện làm ra sản phẩm mà khách hàng yêu cầu Mỗi loại sản phẩm có thể được làm ra bởi nhiều nhân viên khác nhau Thông tin của cả người quản lý và nhân viên của cửa hàng sẽ được lưu trữ ở hệ thống cửa hàng
để nhằm quản lý nhân sự
Một phần quan trọng của cơ sở dữ liệu là bảng sản phẩm, trong đó mỗi sản phẩm được
mô tả bởi các thuộc tính như tên, mô tả, giá, hình ảnh, danh mục và các thuộc tính khác tùy thuộc vào loại sản phẩm
Khách hàng có thể mua ít nhất một hoặc nhiều sản phẩm họ muốn Khi đã chọn được sản phẩm và mua hàng, họ sẽ nhận được hóa đơn có danh sách sản phẩm và đầy đủ thông tin của sản phẩm mà khách hàng đã đặt hàng bao gồm số lượng sản phẩm, tổng giá trị của đơn hàng Mỗi một khách hàng có thể đặt một hoặc nhiều đơn hàng tùy theo nhu cầu của họ Thông tin cá nhân của khách hàng như tên, số điện thoại… Sẽ được lưu trữ tuyệt đối bảo mật cùng lịch sử đơn hàng để họ có thể dễ dàng xem lại nếu có thắc mắc với cửa hàng
Hơn nữa, cần có các bảng khác như bảng khách hàng để lưu trữ thông tin cá nhân của khách hàng, bảng thanh toán để xác định các phương thức thanh toán khả dụng và lịch
sử thanh toán của mỗi đơn hàng
Đơn hàng mà khách hàng đã yêu cầu sẽ được thiết lập đầy đủ thông tin về tình trạng để giúp khách hàng tiện theo dõi hơn
Với mỗi một đơn hàng, hoặc một số đơn hàng, sẽ có một người giao hàng được giao nhiệm vụ chuyển đơn hàng đến tay khách hàng
Trang 92.2 Thiết kế mô hình ER
Trang 10
Biểu Mẫu
Trang 11Mô tả các chức năng của hệ thống
Hiển thị các sản phẩm gà rán nổi bật hoặc khuyến mãi
theo hương vị, kích cỡ, combo, hoặc loại hộp
Hiển thị thông tin chi tiết
về sản phẩm, bao gồm hình ảnh, mô tả, thành phần
sản phẩm vào giỏ hàng
Hiển thị tổng số tiền và số lượng sản phẩm trong giỏ hàng
Cho phép chỉnh sửa số lượng sản phẩm và xóa sản phẩm khỏi giỏ hàng
thanh toán như thanh toán khi nhận hàng, thanh toán qua cổng thanh toán trực tuyến
Trang 1210
chỉ giao hàng,và lịch sử
đơn hàng
theo dõi tình trạng giao
mạng xã hội để chia sẻ thông tin sản phẩm và khuyến mãi
Cho phép người dùng chia
sẻ sản phẩm trên các nền tảng mạng xã hội
Trang 13Mô tả thuộc tính của các tập thực thể
Thực thể CỬA HÀNG: Mã cửa hàng, Khung giờ hoạt động, Đánh giá, Địa chỉ, SĐT Thực thể QUẢN LÝ: Mã quản lý, Tên quản lý, SĐT, Giới tính, Ngày bắt đầu, Ngày bắt
đầu, Giờ công
Thực thể NHÂN VIÊN: Mã nhân viên, Tên nhân viên, SĐT, Giới tính, Ngày làm việc,
Giờ công, Lương
Thực thể SẢN PHẨM: Mã sản phẩm, Tên sản phẩm, Giá sản phẩm, Tình trạng, Mô tả,
Hình ảnh
Thực thể KHÁCH HÀNG: Mã khách hàng, Tên khách hàng, Giới tính, SĐT, Lịch sử
mua hàng
Thực thể HÓA ĐƠN: Mã hóa đơn, Thời gian, Tổng tiền, Số lượng sản phẩm
Thực thể ĐƠN HÀNG: Mã khách hàng, Địa chỉ, Số lượng sản phẩm, Thời gian, Tổng
tiền
Thực thể NGƯỜI GIAO HÀNG: Mã người giao hàng, Giờ công, Tên, SĐT, Giới tính, Ngày bắt đầu
Trang 1412
Các quy định đặt thuộc tính tham gia làm khóa chính cho các thực thể
Thực thể CỬA HÀNG có MaCuaHang là khóa chính
Thực thể QUẢN LÝ có MaQuanLy là khóa chính
Thực thể NHÂN VIÊN có MaNhanVien là khóa chính
Thực thể SẢN PHẨM có MaSanPham là khóa chính
Thực thể KHÁCH HÀNG có MaKhachHang là khóa chính
Thực thể HÓA ĐƠN có MaHoaDon là khóa chính
Thực thể ĐƠN HÀNG có MaDonHang là khóa chính
Trang 152.3 Mô hình quan hệ
Cửa Hàng(Mã cửa hàng, Địa Chỉ, SĐT, Khung Giờ Hoạt Động, Đánh Giá)
Khách Hàng(Mã Khách Hàng, Tên Khách Hàng, Giới Tính, SĐT, Lịch Sử Mua) Quản Lý(Mã Quản Lý, Tên Quản Lý, Giới Tính, Giờ Công, SĐT, Ngày Bắt Đầu, Mã
Cửa Hàng)
Nhân Viên(Mã Nhân Viên, Tên Nhân Viên , Giới Tính, Giờ Công, SĐT, Ngày Bắt
Đầu, Mã Quản Lý)
Điều Hành(Mã Quản Lý, Mã Nhân Viên)
Sản Phẩm(Mã Sản Phẩm, Tên Sản Phẩm, Giá Sản Phẩm, Tình Trạng, Mô Tả, Hình
Ảnh)
Hóa Đơn(Mã Hóa Đơn, Số Lượng, Thời Gian, Tổng Tiền, )
Thực Hiện(Mã Sản Phẩm, Mã Nhân Viên)
Thuộc(Mã Hóa Đơn, Mã Sản Phẩm, Mã Đơn Hàng)
Đơn Hàng(Mã Đơn Hàng, Số Lượng, Tình Trạng, Thời Gian, Mã Hóa Đơn, Mã Khách
Trang 1614
2.4) Chuẩn Hóa Cơ Sở Dữ Liệu
R (MaCuaHang, SDT, DiaChi, KhungGioHoatDong, DanhGia, MaQuanLy, GioCong,
NgayBatDau, GioiTinh, Sdt, TenQuanLy, MaSanPham, TenSanPham, GiaSanPham, TinhTrang, MoTa, HinhAnh, MaNhanVien, NgayBatDau, GioCong, GioiTinh, Sdt, TenNhanVien, MaKhachHang, GioiTinh, TenKhachHang, SDT, LichSuMuaHang, MaDonHang, SoLuong, TinhTrang, ThoiGian, MaHoaDon, SoLuong, ThoiGian,
TongTien, MaNguoiGiaoHang,Gioitinh, Ten, SDT, GioCong, NgayBatDau)
F1 (MaCuaHang, SDT, DiaChi, KhungGioHoatDong, DanhGia)
F1’ = {MaCuaHang -> SDT, DiaChi, KhungGioHoatDong, DanhGia}
F2 (MaQuanLy, GioCong, NgayBatDau, GioiTinh, Sdt, TenQuanLy)
F2’ = {MaQuanLy ->GioCong, NgayBatDau, GioiTinh, Sdt, TenQuanLy}
F3 (MaSanPham, TenSanPham, GiaSanPham, TinhTrang, MoTa, HinhAnh)
F3’ = {MaSanPham -> TenSanPham, GiaSanPham, TinhTrang, MoTa, HinhAnh}
F4 (MaNhanVien, NgayBatDau, GioCong, GioiTinh, Sdt, TenNhanVien)
F4’ = {MaNhanVien -> GioCong, NgayBatDau, GioiTinh, Sdt, TenNhanVien}
F5 (MaKhachHang, GioiTinh, TenKhachHang, SDT, LichSuMuaHang)
F5’ = {Makhachhang→TenKhachHang, GioiTinh, SDT, LichSuMuaHang}
F6 (MaDonHang, SoLuong, TinhTrang, ThoiGian)
F6’ = {MaDonHang -> SoLuong, TinhTrang, ThoiGian}
F7 (MaHoaDon, SoLuong, ThoiGian, TongTien)
F7’ = { MaHoaDon -> SoLuong, ThoiGian, TongTien}
F8 (MaNguoiGiaoHang,Gioitinh, Ten, SDT, GioCong, NgayBatDau)
F8’ = {Manguoigiaohang→TenNguoiGiaoHang, Gioitinh, SDT, GioCong, NgayBatDau}
Trang 17• F1' phụ thuộc vào MaCuaHang
• F2' phụ thuộc vào MaQuanLy
• F3' phụ thuộc vào MaSanPham
• F4' phụ thuộc vào MaNhanVien
• F5' phụ thuộc vào MaKhachHang
• F6' phụ thuộc vào MaDonHang
• F7' phụ thuộc vào MaHoaDon
• F8' phụ thuộc vào MaNguoiGiaoHang
F1 (MaCuaHang, SDT, DiaChi, KhungGioHoatDong, DanhGia)
F2 (MaQuanLy, GioCong, NgayBatDau, GioiTinh, Sdt, TenQuanLy)
F3 (MaSanPham, TenSanPham, GiaSanPham, TinhTrang, MoTa, HinhAnh)
F4 (MaNhanVien, NgayBatDau, GioCong, GioiTinh, Sdt, TenNhanVien)
F5 (MaKhachHang, GioiTinh, TenKhachHang, SDT, LichSuMuaHang)
F6 (MaDonHang, SoLuong, TinhTrang, ThoiGian)
F7 (MaHoaDon, SoLuong, ThoiGian, TongTien)
Trang 1814
Kiểm tra dạng chuẩn 1NF
+ Các thuộc tính của quan hệ là nguyên tố
+ Giá trị của các thuộc tính trên các hàng là đơn trị, không chứa nhóm lặp
+ Không có một thuộc tính nào có giá trị có thể tính toán được từ một thuộc tính khác
=> CSDL đã đạt chuẩn 1NF
Kiểm tra dạng chuẩn 2NF
Trên tất cả các quan hệ, các thuộc tính không khóa đều phụ thuộc đầy đủ vào khóa
=> CSDL đã đạt chuẩn 2NF
Kiểm tra dạng chuẩn 3NF
Trên tất cả quan hệ, các thuộc tính không khóa không phụ thuộc bắc cầu vào khóa
=> CSDL đã đạt chuẩn 3NF
Trang 19Kết Luận
Trong quá trình nghiên cứu và phân tích mô hình ER cho trang web bán đồ ăn nhanh, chúng tôi đã nhận thấy sự quan trọng của việc thiết kế cấu trúc dữ liệu hợp lý và linh hoạt Mô hình ER không chỉ giúp chúng ta hiểu rõ các thực thể và mối quan hệ giữa chúng mà còn tạo ra một cơ sở dữ liệu mạnh mẽ và dễ dàng mở rộng cho hệ thống thương mại điện tử
Việc áp dụng mô hình ER cho trang web bán đồ ăn nhanh đã đặt ra những thách thức
cụ thể, như xác định các thực thể phức tạp như sản phẩm, đơn hàng và khách hàng, cũng như xử lý các quan hệ phức tạp giữa chúng Tuy nhiên, thông qua quá trình nghiên cứu
và thử nghiệm, chúng tôi đã tìm ra các giải pháp phù hợp để giải quyết những thách thức này
Qua báo cáo này, chúng tôi hy vọng rằng độc giả sẽ có cái nhìn sâu sắc hơn về quá trình thiết kế và phân tích mô hình ER cho trang web thương mại điện tử Sự hiểu biết về cấu trúc dữ liệu sẽ giúp các doanh nghiệp tối ưu hóa hoạt động kinh doanh của họ, tăng cường trải nghiệm của khách hàng và đẩy mạnh sự phát triển bền vững của ngành thương mại điện tử trong tương lai
Cuối cùng, chúng tôi xin gửi lời cảm ơn chân thành tới người giảng viên mà chúng tôi rất quý mến là thầy Huỳnh Phước Danh vì đã tạo điều kiện cho nhóm có cơ hội tiếp cận
và làm quen với cơ sở dữ liệu, từ đó nghiên cứu sâu hơn và áp dụng vào đồ án này Đồng thời, thông qua đồ án, chúng tôi đã học được nhiều hơn về cơ sở dữ liệu cũng như cách vận hành của nó