Chương 4 XÂY DỰNG HỆ THỐNG
4.3. Phân tích thiết kế hệ thống
4.3.1. Phân tích và thiết kế CSDL
Dựa trên việc xác định yêu cầu và phân tích yêu cầu, ứng dụng bao gồm các đối tượng sau đây:
4.3.1.1. Bảng Addresses
Addresses
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
id INT Primary key Mã địa chỉ
user_id INT Foreign key Mã người dùng
ward_id INT Foreign key Mã khu vực
number_phone VARCHAR(15) Not null Số điện thoại name VARCHAR(255) Not null Tên người đặt specific_address VARCHAR(255) Not null Địa chỉ cụ thể
default_is TINYINT(1) Not null Mặc định created_at TIMESTAMP Not null Ngày tạo updated_at TIMESTAMP Not null Ngày cập nhật
Bảng 4-22 Bảng Addresses
4.3.1.2. Bảng Accounts Accounts
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
username VARCHAR(255) Primary key Tên đăng nhập password VARCHAR(255) Not null Mật khẩu
user_id INT Foreign key Mã người dùng
active TINYINT(1) Not null Trạng thái hoạt động Bảng 4-23 Bảng Accounts
4.3.1.3. Bảng Attributes Atrributes
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
id INT Primary key Mã thuộc tính
code VAR CHAR(255) Not null Code thuộc tính label VARCHAR(255) Not null Tên thuộc tính
4.3.1.4. Bảng Brands Brands
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
id INT Primary key Mã thương hiệu
name VARCHAR(100) Not null Tên thương hiệu Bảng 4-25 Bảng Brands
4.3.1.5. Bảng Cart Items Cart Items
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
id INT Primary key Mã sản phẩm trong giỏ hàng product_id INT Foreign key Mã sản phẩm
cart_id INT Foreign key Mã giỏ hàng product_option_id INT Foreign key Mã thuộc tính sản phẩm
quantity INT Not null Số lượng
created_at TIMESTAMP Not null Ngày tạo updated_at TIMESTAMP Not null Ngày cập nhật
Bảng 4-26 Bảng Cart Items
4.3.1.6. Bảng Carts Carts
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
id INT Primary key Mã giỏ hàng
user_id INT Foreign key Mã người dùng
created_at TIMESTAMP not null Ngày tạo updated_at TIMESTAMP not null Ngày cập nhật
Bảng 4-27. Bảng Carts
4.3.1.7. Bảng Categories Categories
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
id INT INT Primary key Mã danh mục
name VARCHAR(255) Not null Tên danh mục parent_id INT Foreign key Mã danh mục cha
icon VARCHAR(255) Not null Icon
Bảng 4-28 Bảng Categories
4.3.1.8. Bảng Data Images Data Images
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
id VARCHAR(45) Primary key Mã ảnh
data LONGBLOB Null Dữ liệu ảnh
name VARCHAR(45) Not null Tên ảnh
type VARCHAR(45) Not null Loại media
link VARCHAR(255) Null Link Media
Bảng 4-29 Bảng Data Images
4.3.1.9. Bảng Demands Demands
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
id VARCHAR(45) Primary key Mã ảnh
name VARCHAR(45) Not null Tên ảnh
icon VARCHAR(45) Not null Icon
category_id VARCHAR(255) Foreign key Mã danh mục Bảng 4-30 Bảng Demands
4.3.1.10. Bảng Districts Districts
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
id INT INT Primary key Mã quận huyện
name VARCHAR(100) Not null Tên quận huyện prefix VARCHAR(20) Not null Quận huyện
province_id INT Foreign key Mã tỉnh
4.3.1.11. Bảng Favorites Favorites
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
product_id INT Primary key Mã sản phẩm
user_id INT Foreign key Mã người dùng
time_updated TIMESTAMP Not null Ngày cập nhật Bảng 4-32 Bảng Favorites
4.3.1.12. Bảng Search Histories Search Histories
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
id INT Primary key Mã lịch sử tìm kiếm
user_id INT Foreign key Mã người dùng
keyword VARCHAR(100) Not null Từ khoá time_search TIMESTAMP Not null Thời gian tìm kiếm
Bảng 4-33 Bảng Search Histories
4.3.1.13. Bảng Order Items Order Items
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
id INT Primary key Mã đơn hàng con
product_id INT Foreign key Mã sản phẩm product_option_id INT Foreign key Mã thuộc tính sản phẩm
order_id INT Foreign key Mã đơn hàng
price DECIMAL(12,2) Not null Giá
quantity INT Not null Số lượng
image_url VARCHAR(255) Not null Ảnh review_status TINYINT(1) Not null Đã đánh giá
created_at TIMESTAMP Not null Ngày tạo updated_at TIMESTAMP Not null Ngày cập nhật
4.3.1.14. Bảng Orders Orders
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
id INT Primary key Mã đơn đặt hàng
user_id INT Foreign key Mã người dùng
address_id INT Foreign key Mã địa chỉ sub_total DECIMAL(12,2) Not null Tổng tiền sản phẩm shipping_fee DECIMAL(12,2) Not null Phí vận chuyển shipping_unit INT Foreign key Đơn vị vận chuyển
grand_total DECIMAL(12,2) Not null Tổng thanh toán discount DECIMAL(12,2) Not null Giảm giá
payment_method INT Foreign key Phương thức thanh toán
status INT Foreign key Trạng thái
content TEXT null Nội dung người dùng
muốn nhắn cho admin created_at TIMESTAMP Not null Ngày tạo
updated_at TIMESTAMP Not null Ngày cập nhật Bảng 4-35 Bảng Orders
4.3.1.15. Bảng Payments Payments
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
id INT Primary key Mã hình thức thanh tốn name VAR CHAR(100) Not null Tên hình thức thanh tốn
Bảng 4-36 Bảng Payments
4.3.1.16. Bảng Products Products
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
id INT Primary key Mã sản phẩm
name VARCHAR(255) Not null Tên sản phẩm sku VARCHAR(45) Not null Số hiệu sản phẩm description MEDIUMTEXT Not null Mô tả chi tiết short_description TEXT Not null Mô tả ngắn gọn
visibility TINYINT(1) Not null Xuất hiện promotion_percent FLOAT Not null phần trăm giảm giá
order_count INT Not null số lượng đặt hàng is_free_ship TINYINT(1) Not null miễn phí giao hàng
category_id INT Foreign key Mã danh mục brand_id INT Foreign key Mã thương hiệu
material VARCHAR(100) Not null Chất liệu purpose VARCHAR(255) Not null Mục đích suitable_season VARCHAR(255) Not null Mùa phù hợp
made_in VARCHAR(100) Not null Xuất xứ rating_star_id INT Foreign key Mã sao đánh giá
created_at TIMESTAMP Not null Ngày tạo updated_at TIMESTAMP Not null Ngày cập nhật
Bảng 4-37 Bảng Products
4.3.1.17. Bảng Provinces Provinces
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
id INT Primary key Mã tỉnh
name VARCHAR(50) Not null Tên tỉnh
code VARCHAR(20) Not null Code Tỉnh
Bảng 4-38 Bảng Provinces
4.3.1.18. Bảng Rating Star Rating Star
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
id INT Primary key Mã sao đánh giá
star1 INT Not null Số lượng 1 sao
star2 INT Not null Số lượng 2 sao
star3 INT Not null Số lượng 3 sao
star4 INT Not null Số lượng 4 sao
star5 INT Not null Số lượng 5 sao
4.3.1.19. Bảng Rating Images Rating Images
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
rating_id INT INT Foreign key Mã đánh giá image_id VARCHAR(45) Foreign key Mã ảnh
Bảng 4-40 Bảng Rating Images
4.3.1.20. Bảng Ratings Ratings
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
id INT Primary key Mã đánh giá
product_id INT Foreign key Mã sản phẩm user_id INT Foreign key Mã người dùng
comment TEXT null Nhận xét của người
đánh giá
star INT Not null Sao đánh giá
incognito TINYINT(1) null Ẩn danh người dùng time_created TIMESTAMP Not null Ngày tạo time_updated TIMESTAMP Not null Ngày cập nhật product_attribute_id INT Not null Thuộc tính của sản
phẩm Bảng 4-41 Bảng Tatings
4.3.1.21. Seen Products
Seen Products
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
product_id INT Foreign key Mã sản phẩm
user_id INT Foreign key Mã người dùng
count INT Not null Số lần xem
last_time TIMESTAMP Not null Thời gian xem cuối Bảng 4-42 Bảng Seen Products
4.3.1.22. Bảng Shippings
Shippings
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
id INT Primary key Mã đơn vị
name VARCHAR(100) Foreign key Tên đơn vị Bảng 4-43 Bảng Shippings
4.3.1.23. Bảng Order Status
Order Status
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
id INT Primary key Mã trạng thái đơn hàng status_name VARCHAR(45) Not null Trạng thái đơn hàng
Bảng 4-44 Bảng Order Status
4.3.1.24. Bảng Users
Users
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
id INT Primary key Mã người dùng
name VARCHAR(255) Not null Tên người dùng image_avatar VARCHAR(45) Not null Ảnh đại diện
email VARCHAR(100) Not null Email
birthday DATE Null Ngày sinh
phone_number VARCHAR(45) Null Số điện thoại
sex VARCHAR(45) Not null Giới tính
time_created TIMESTAMP Not null Ngày tạo time_updated TIMESTAMP Not null Ngày cập nhật
Bảng 4-45 Bảng Users
4.3.1.25. Bảng Wards
Wards
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
id INT Primary key Mã khu vực
prefix VARCHAR(20) Not null Tiếp đầu ngữ khu vực district_id INT Foreign key Mã quận huyện