Mô hình hóa cơ sở dữ liệu trên hệ thống

Một phần của tài liệu xây dựng hệ thống thương mại điện tử cung ứng vật liệu xây dựng (Trang 56 - 59)

Để liên kết đến cơ sở dữ liệu của hệ thống, ta sẽ mô hình hóa cơ sở dữ liệu của hệ thống. Trong mô hình MVC thì mô hình cơ sở dữ liệu là phần model của hệ thống. Ứng với mỗi bảng trong cơ sở dữ liệu ta sẽ có một class model tương ứng. Class này sẽ mô hình hóa các dữ liệu của bảng. Các dữ liệu này sẽ được gọi thông qua các model này. Ngoài ra, các tương tác trên cơ sở dữ liệu như tìm kiếm, lọc, sắp xếp đều được xử lý trên model dưới dạng các hàm. Khi cần truy cập đến một bảng trong cơ sở dữ liệu ta chỉ cần khởi tạo model tương ứng và gọi đến các hàm, các giá trị trong model này để lấy dữ liệu của bảng mà ta mong muốn.

Trong hệ thống tất cả các model truy vấn đến các table tương ứng đều là kế thừa của class CActiveRecord. Mô hình của class này:

Hình 55: Mô hình class CActiveRecord

Với mỗi cột của bảng dữ liệu sẽ tương ứng với một giá trị được lưu trong mảng attributes. Ngoài ra, class này còn cung cấp các method để thao tác trên cơ sở dữ liệu như: delete(), deleteAll() để xóa dữ liệu ra khỏi bảng. find(), findAll() để tìm kiếm dữ liệu với tham số đầu vào dưới dạng sql. findByAttributes(),

findAllByAttributes() là các method tìm kiếm dữ liệu dựa trên các giá trị thuộc tính của bảng. findByPk() là tìm kiếm dữ liệu theo khóa chính của bảng.

Các class model trên hệ thống đều kế thừa từ class CActiveRecord này. Mô hình các class model của hệ thống như sau:

Hình 56: Mô hình phần model của hệ thống

Các class kế thừa từ CativeRecord sẽ được gọi và sử dụng để tương tác lên các bảng trong cơ sở dữ liệu tương ứng. Ngoài ra, các class này còn có thể viết thêm các method để có thể xử lý những thao tác mà CactiveRecord không hỗ trợ. Thông qua lời gọi method model() các class này sẽ gọi đến model của bảng tương ứng và thao tác trên model đó một cách dễ dàng.

CHƯƠNG 4 :KẾT LUẬN Các kết quả đạt được

Trong quá trình thực hiện đồ án, sinh viên thực hiện đã hoàn thành các công việc sau:

Hiểu được lý thuyết về thương mại điện tử và chuỗi cung ứng. Áp dụng được những lý thuyết này vào xây dụng mô hình cung ứng vật liệu xây dựng.

Xây dựng hệ thống shopping cart để cung cấp các mặt hàng vật liệu xây dựng. Hệ thống shopping cart này cung cấp các chức năng quản lý sản phẩm, trưng bày sản phẩm trên hệ thống. Các sản phẩm này sẽ được trưng bày ngẫu nhiên, theo danh mục hay theo nhà cung cấp.

Hệ thống xây dựng được mô hình để có thể định nghĩa các gói sản phẩm xây dựng theo một nhu cầu nhất định nào đó. Các gói sản phẩm này được lưu vào các file xml tương ứng.

Các vấn đề tồn tại

Trong quá trình xây dựng, đồ án của sinh viên còn có những vấn đề còn tồn tại sau:

Hệ thống xây dựng còn đơn giản về sản phẩm. Mô hình dữ liệu hệ thống chỉ có thể áp dụng với một loại sản phẩm nhất định ( sản phẩm xây dựng) do các thuộc tính của sản phẩm là cố định vì vậy sẽ gặp khó khăn để định nghĩa một loại sản phẩm có những thuộc tính khách biệt với những thuộc tính đó.

Hệ thống vẫn còn đơn giản về mặt chức năng. Tuy hệ thống được xây dựng đã hỗ trợ tương đối các chức năng cần thiết cho một hệ thống thương mại điện tử thực tế nhưng vẫn còn tồn tại một số vấn đề liên quan đến sự tiện lợi cho người sử dụng khi tham gia vào hệ thống.

Hệ thống chưa hoàn toàn là một hệ thống thương mại điện tử hoàn chỉnh do vẫn còn thiếu các chức năng hỗ trợ thanh toán trực tuyến. Vấn đề bảo mật của hệ thống cũng chưa được quan tâm đúng mức so với một hệ thống thương mại điện tử hoàn chỉnh.

Hệ thống chưa được kiểm định trên những hệ cơ sở dữ liệu lớn.

Hướng phát triển tiếp theo

Phát triển hệ thống hiện tại để có thể thêm sản phẩm và thuộc tính tùy thuộc vào loại sản phẩm cần thêm. Để có thể thực hiện được điều này sẽ phải áp dụng một mô hình dữ liệu mới để có thể tổ chức, truy vấn dữ liệu một các dễ dàng (như mô hình EAV)

Hệ thống gói sản phẩm hiện tại mới chỉ được lưu dưới dạng xml sẽ khó phát triển được khi số lượng các gói sản phẩm sẽ là rất lớn. Vì vậy cần có một cơ chế lưu các gói sản phẩm hợp lý để tối ưu được hệ thống và thuận tiện cho sử dụng (ví dụ như sử dụng Ontology để định nghĩa các gói sản phẩm).

Hệ thống sử dụng MySql sẽ gặp phải những vấn đề về xử lý khi lượng dữ liệu của hệ thống quá lớn. Vì vậy cần có giải pháp khi dữ liệu của hệ thống tăng lên. (có thể sử dụng noSQL).

TÀI LIỆU THAM KHẢO

Mẫu danh mục tài liệu tham khảo

* Sách :

1. Giáo trình quản trị chuỗi cung ứng – Nguồn: NQ Center

2. Nguyễn Thị Tuyết Mai , Thương mại điện tử , Nhà xuất bản Khoa học và Kỹ thuật, 2003.

3. Nguyễn Công Bình, Quản lý chuỗi cung ứng, Nhà xuất bản Thống kê , 2008. 4. Jeffery Winesett, Agile Web Application Development with Yii 1.1and PHP5,

Packt Publishing, 2010

5. Luke Welling - Laura Thomson, PHP and MySQL Web Development, Third Edition, 2004

6. Hasin Hayder, Object-Oriented Programming with PHP5, Packt Publishing, 2007

* Tài liệu tham khảo từ Internet :

7. http://www.yiiframework.com/features

8. http://trumcode.com/bai-viet/khai-quat-ve-yii-framework-1.html

9. http://www.yiiframework.com/doc/api/1.1/

Một phần của tài liệu xây dựng hệ thống thương mại điện tử cung ứng vật liệu xây dựng (Trang 56 - 59)