Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Hướng dẫn thiết kế cơ sở dữ liệu cho hệ thống quản lý hàng tồn kho trong MySQL

Hướng dẫn này cung cấp các bước hoàn chỉnh để thiết kế giản đồ cơ sở dữ liệu của Hệ thống quản lý hàng tồn kho để quản lý nhà cung cấp, nhân viên bán hàng, mặt hàng, kho hàng, đơn đặt hàng và đơn đặt hàng của khách hàng.

Ghi chú :Thông thường, các doanh nghiệp bán lẻ và sản xuất sử dụng hệ thống kiểm kê. Trong số các trường hợp sử dụng rộng rãi trong các ngành công nghiệp khác, giản đồ cơ sở dữ liệu này có thể được sử dụng, chẳng hạn, để quản lý hàng tồn kho bệnh viện nhằm tăng hiệu quả của chuỗi cung ứng chăm sóc sức khỏe và giảm lãng phí thuốc.

Sơ đồ mối quan hệ thực thể hoặc thiết kế cơ sở dữ liệu trực quan được hiển thị bên dưới.

Cơ sở dữ liệu quản lý hàng tồn kho

Bạn cũng có thể xem các hướng dẫn phổ biến bao gồm Cách cài đặt MySQL 8 trên Ubuntu 20.04 LTS, Cách cài đặt MySQL 8 trên Windows, Cách cài đặt MySQL Workbench trên Ubuntu, Cách cài đặt MySQL 8 với Workbench trên Windows 10, Cơ sở dữ liệu RBAC trong MySql, Cơ sở dữ liệu blog trong MySql, Cơ sở dữ liệu câu hỏi trong MySQL, Cơ sở dữ liệu thăm dò và khảo sát trong MySQL, Cơ sở dữ liệu giỏ hàng trực tuyến trong MySQL và Tìm hiểu các truy vấn SQL cơ bản trong MySQL.

Cơ sở dữ liệu khoảng không quảng cáo

Bước đầu tiên là tạo Cơ sở dữ liệu hàng tồn kho. Nó có thể được tạo bằng cách sử dụng truy vấn như hình dưới đây.

 TẠO SCHEMA `khoảng không quảng cáo` BỘ NHÂN VẬT ĐỊNH MỨC utf8mb4 COLLATE utf8mb4_unicode_ci; 

Tôi đã sử dụng bộ ký tự utf8mb4 để hỗ trợ nhiều loại ký tự.

Bảng Người dùng

Trong phần này, chúng tôi sẽ thiết kế Bảng người dùng để lưu trữ thông tin người dùng. Người dùng có thể quản lý hồ sơ của riêng họ. Ngoài ra, người dùng có thể sử dụng ứng dụng theo vai trò được giao cho họ. Bạn cũng có thể tham khảo hướng dẫn Cơ sở dữ liệu RBAC trong MySql để triển khai một hệ thống RBAC hoàn chỉnh để quản lý vai trò và quyền. Dưới đây được đề cập là mô tả của tất cả các cột của Bảng Người dùng.

Id Id duy nhất để xác định người dùng.
Id vai trò Vai trò của người dùng. Đó có thể là Quản trị viên, Nhà cung cấp, Nhân viên bán hàng và Khách hàng.
Tên Tên của người dùng.
Tên đệm Tên đệm của người dùng.
Họ Họ của người dùng.
Di động Số điện thoại di động của người dùng. Nó có thể được sử dụng cho mục đích đăng nhập và đăng ký.
Email Email của người dùng. Nó có thể được sử dụng cho mục đích đăng nhập và đăng ký.
Băm mật khẩu Mật khẩu băm được tạo bởi thuật toán thích hợp. Chúng tôi phải tránh lưu trữ mật khẩu đơn giản hoặc mật khẩu được mã hóa.
Đã đăng ký tại Cột này có thể được sử dụng để tính toán tuổi thọ của người dùng với ứng dụng.
Lần Đăng nhập Cuối cùng Nó có thể được sử dụng để xác định thông tin đăng nhập cuối cùng của người dùng.
Giới thiệu Giới thiệu ngắn gọn về Người dùng.
Hồ sơ Chi tiết người dùng.

Bảng Người dùng với các ràng buộc thích hợp được hiển thị bên dưới.

 TẠO BẢNG `tồn kho`. , 
`middleName` VARCHAR (50) NULL DEFAULT NULL,
` lastName` VARCHAR (50) NULL DEFAULT NULL,
`tên người dùng` VARCHAR (50) NULL DEFAULT NULL,
`mobile` VARCHAR (15) NULL,
` email` VARCHAR (50) NULL,
`passwordHash` VARCHAR (32) NOT NULL,
` registerAt` DATETIME NOT NULL,
`lastLogin` DATETIME NULL DEFAULT NULL,
` intro` TINYTEXT NULL DEFAULT NULL,
`profile` TEXT NULL DEFAULT NULL,
PRIMARY KEY (` id`),
UNIQUE INDEX `uq_username` (` tên người dùng` ASC),
CHỈ SỐ DUY NHẤT `uq_mobile` (` di động` ASC),
CHỈ SỐ DUY NHẤT `uq_email` (` email` ASC));

Bảng sản phẩm

Trong phần này, chúng tôi sẽ thiết kế Bảng sản phẩm để lưu trữ dữ liệu sản phẩm. Dưới đây được đề cập là mô tả của tất cả các cột của Bảng Sản phẩm.

Id Id duy nhất để xác định sản phẩm.
Tiêu đề Tên sản phẩm được hiển thị trên Khoảng không quảng cáo.
Tóm tắt Bản tóm tắt để đề cập đến những điểm nổi bật chính.
Loại Loại để phân biệt giữa các loại sản phẩm khác nhau.
Được tạo lúc Nó lưu trữ ngày và giờ sản phẩm được tạo ra.
Cập nhật lúc Nó lưu trữ ngày và giờ sản phẩm được cập nhật.
Nội dung Cột được sử dụng để lưu trữ các chi tiết bổ sung của sản phẩm.

Bảng Sản phẩm với các ràng buộc thích hợp được hiển thị bên dưới.

 TẠO BẢNG `tồn kho` .` sản phẩm` (
` id` BIGINT NOT NULL AUTO_INCREMENT,
`title` VARCHAR (75) NOT NULL,
` tóm tắt` TINYTEXT NULL,
`type` SMALLINT (6) NOT NULL DEFAULT 0,
` createdAt` DATETIME NOT NULL,
`updatedAt` DATETIME NULL DEFAULT NULL,
` content` TEXT NULL DEFAULT NULL,
KHÓA CHÍNH (`id`)
);

Meta sản phẩm

Bảng Meta Sản phẩm có thể được sử dụng để lưu trữ thông tin bổ sung về các sản phẩm bao gồm URL biểu ngữ sản phẩm, v.v. Dưới đây được đề cập là mô tả của tất cả các cột của Bảng Meta Sản phẩm.

Id Id duy nhất để xác định meta sản phẩm.
Id Sản phẩm Id sản phẩm để xác định sản phẩm mẹ.
Phím Chìa khóa xác định meta.
Nội dung Cột được sử dụng để lưu trữ siêu dữ liệu sản phẩm.

Bảng Meta Sản phẩm với các ràng buộc thích hợp được hiển thị bên dưới.

 TẠO BẢNG `tồn kho`.`product_meta` (
` id` BIGINT NOT NULL AUTO_INCREMENT,
`productId` BIGINT NOT NULL,
` key` VARCHAR (50) NOT NULL,
`content` TEXT NULL DEFAULT NULL,
PRIMARY KEY (` id`),
INDEX `idx_meta_product` (` productId` ASC),
CHỈ SỐ DUY NHẤT `uq_product_meta` (` productId` ASC, `key` ASC),
CONSTRAINT` fk_meta_product`
FOREIGN KEY (`productId`)
TÀI LIỆU THAM KHẢO` tồn kho`.` sản phẩm` (`id`)
BẬT XÓA KHÔNG CÓ HÀNH ĐỘNG
KHI CẬP NHẬT KHÔNG CÓ HÀNH ĐỘNG)
ENGINE =InnoDB;

Bảng Danh mục và Bảng Danh mục Sản phẩm

Trong phần này, chúng tôi sẽ thiết kế Bảng danh mục Bảng danh mục sản phẩm để lưu trữ các danh mục sản phẩm và ánh xạ của chúng. Dưới đây được đề cập là mô tả của tất cả các cột của Bảng Danh mục.

Id Id duy nhất để xác định danh mục.
Id gốc Id chính để xác định danh mục chính.
Tiêu đề Tiêu đề danh mục.
Tiêu đề meta Tiêu đề meta được sử dụng cho tiêu đề trình duyệt và SEO.
Slug Slug danh mục để tạo URL.
Nội dung Cột được sử dụng để lưu trữ chi tiết danh mục.

Bảng Danh mục với các ràng buộc thích hợp như được hiển thị bên dưới.

 TẠO BẢNG `tồn kho`. 'danh mục` (
` id` BIGINT NOT NULL AUTO_INCREMENT,
`parentId` BIGINT NULL DEFAULT NULL,
` title` VARCHAR (75) NOT NULL ,
`metaTitle` VARCHAR (100) NULL DEFAULT NULL,
` slug` VARCHAR (100) NOT NULL,
`content` TEXT NULL DEFAULT NULL,
PRIMARY KEY (` id`));

BẢNG ALTER `khoảng không quảng cáo`. danh mục`
THÊM INDEX` idx_category_parent` (`parentId` ASC);
ALTER TABLE` khoảng không quảng cáo`.` danh mục `
THÊM DANH MỤC` fk_category_parent`
NGOẠI KHÓA (`parentId`)
TÀI LIỆU THAM KHẢO` khoảng không quảng cáo`.`category` (`id`)
BẬT XÓA KHÔNG CÓ HÀNH ĐỘNG
BẬT CẬP NHẬT KHÔNG CÓ HÀNH ĐỘNG;

Dưới đây được đề cập là mô tả của tất cả các cột của Bảng Danh mục Sản phẩm.

Id sản phẩm Id sản phẩm để xác định sản phẩm.
Id danh mục Id danh mục để xác định danh mục.

Bảng Danh mục Sản phẩm với các ràng buộc thích hợp được hiển thị bên dưới.

 TẠO BẢNG `tồn kho`. 'danh mục sản phẩm` (
` sản phẩm ,
INDEX `idx_pc_category` (` categoryId` ASC),
INDEX `idx_pc_product` (` productId` ASC),
CONSTRAINT `fk_pc_product`
FOREIGN KEY (` productId`) TÀI LIỆU THAM KHẢO `hàng tồn kho`. 'sản phẩm` (` id`)
BẬT XÓA KHÔNG CÓ HÀNH ĐỘNG
KHI CẬP NHẬT KHÔNG CÓ HÀNH ĐỘNG,
CONSTRAINT `fk_pc_category`
NGOẠI KHÓA (` categoryId`)
TÀI LIỆU THAM KHẢO `khoảng không quảng cáo`. 'danh mục` (` id`)
VỀ XÓA KHÔNG CÓ HÀNH ĐỘNG
KHI CẬP NHẬT KHÔNG CÓ HÀNH ĐỘNG);

Bảng thương hiệu

Trong phần này, chúng tôi sẽ thiết kế Bảng nhãn hiệu để lưu trữ dữ liệu thương hiệu. Dưới đây được đề cập là mô tả của tất cả các cột của Bảng Thương hiệu.

Id Id duy nhất để xác định thương hiệu.
Tiêu đề Tiêu đề thương hiệu được hiển thị trên Khoảng không quảng cáo.
Tóm tắt Bản tóm tắt đề cập đến những điểm nổi bật chính.
Được tạo lúc Nó lưu trữ ngày và giờ sản phẩm được tạo ra.
Cập nhật lúc Nó lưu trữ ngày và giờ sản phẩm được cập nhật.
Nội dung Cột được sử dụng để lưu trữ các chi tiết bổ sung của thương hiệu.

Bảng Nhãn hiệu với các ràng buộc thích hợp được hiển thị bên dưới.

 TẠO BẢNG `tồn kho`.` thương hiệu` (
` id` BIGINT NOT NULL AUTO_INCREMENT,
`title` VARCHAR (75) NOT NULL,
` tóm tắt` TINYTEXT NULL,
`createAt` DATETIME NOT NULL,
` updatedAt` DATETIME NULL DEFAULT NULL,
`content` TEXT NULL DEFAULT NULL,
PRIMARY KEY (` id`)
);

Bảng đơn hàng

Phần này cung cấp bảng để quản lý các đơn đặt hàng tồn kho. Đơn đặt hàng có thể được liên kết với Nhà cung cấp hoặc Khách hàng. Dưới đây được đề cập là mô tả của tất cả các cột của Bảng Đơn hàng.

Id Id duy nhất để xác định đơn đặt hàng.
Id Người dùng Id người dùng để xác định Nhà cung cấp hoặc Khách hàng được liên kết với đơn đặt hàng.
Loại Loại đơn đặt hàng để phân biệt giữa Đơn đặt hàng hoặc Đơn đặt hàng của khách hàng.
Trạng thái Trạng thái của đơn đặt hàng có thể là Mới, Đã thanh toán, Đã thanh toán, Không thành công, Đã giao, Đã giao, Đã trả lại và Hoàn thành.
Tổng phụ Tổng giá của các Mục đặt hàng.
Giảm giá mặt hàng Tổng chiết khấu của các Mục đặt hàng.
Thuế Thuế đối với các Mục đặt hàng.
Vận chuyển Phí vận chuyển của các Mục đặt hàng.
Tổng số Tổng giá của Đơn đặt hàng bao gồm thuế và phí vận chuyển. Nó không bao gồm giảm giá các mặt hàng.
Quảng cáo Mã khuyến mãi của Đơn đặt hàng.
Giảm giá Tổng chiết khấu của Đơn hàng dựa trên mã khuyến mãi hoặc chiết khấu tại cửa hàng.
Tổng cộng Tổng số đơn đặt hàng mà người mua phải thanh toán.
Được tạo lúc Nó lưu trữ ngày và giờ mà đơn đặt hàng được tạo.
Cập nhật lúc Nó lưu trữ ngày và giờ mà đơn đặt hàng được cập nhật.
Nội dung Cột được sử dụng để lưu trữ các chi tiết bổ sung của đơn đặt hàng.

Bảng Đơn hàng với các ràng buộc thích hợp được hiển thị bên dưới.

 TẠO BẢNG `tồn kho`. 0, 
`status` SMALLINT (6) NOT NULL DEFAULT 0,
` subTotal` FLOAT NOT NULL DEFAULT 0,
`itemDiscount` FLOAT NOT NULL DEFAULT 0,
` tax `FLOAT NOT NULL DEFAULT 0,
` shipping` FLOAT NOT NULL DEFAULT 0,
`total` FLOAT NOT NULL DEFAULT 0,
` promo` VARCHAR (50) NULL DEFAULT NULL,
`giảm ​​giá` FLOAT NOT NULL DEFAULT 0,
` grandTotal` FLOAT NOT NULL DEFAULT 0,
`createdAt` DATETIME NOT NULL,
` updatedAt` DATETIME NULL DEFAULT NULL,
`content` TEXT NULL DEFAULT NULL,
PRIMARY KEY (` id`),
INDEX `idx_order_user` (` userId` ASC),
CONSTRAINT `fk_order_user`
FOREIGN KEY (`userId`)
TÀI LIỆU THAM KHẢO` khoảng không quảng cáo`.

Bảng địa chỉ

Phần này cung cấp bảng để quản lý địa chỉ của người dùng hoặc đơn đặt hàng. Địa chỉ người dùng có thể được sử dụng để lưu trữ địa chỉ được liên kết với người dùng. Địa chỉ đơn hàng có thể được sử dụng để lưu địa chỉ giao hàng cho các đơn hàng giao hàng tận nhà. Dưới đây được đề cập là mô tả của tất cả các cột của Bảng Địa chỉ.

Id Id duy nhất để xác định địa chỉ.
Id Người dùng Id người dùng để xác định người dùng được liên kết với địa chỉ.
Id Đơn đặt hàng Id đơn đặt hàng để xác định đơn đặt hàng được liên kết với địa chỉ.
Tên Tên của người dùng.
Tên đệm Tên đệm của người dùng.
Họ Họ của người dùng.
Di động Số điện thoại di động của người dùng.
Email Email của người dùng.
Dòng 1 Dòng đầu tiên cho địa chỉ cửa hàng.
Dòng 2 Dòng thứ hai cho địa chỉ cửa hàng.
Thành phố Thành phố của địa chỉ.
Tỉnh Tỉnh của địa chỉ.
Quốc gia Quốc gia của địa chỉ.
Được tạo lúc Nó lưu trữ ngày và giờ mà đơn đặt hàng được tạo.
Cập nhật lúc Nó lưu trữ ngày và giờ mà đơn đặt hàng được cập nhật.

Bảng Địa chỉ với các ràng buộc thích hợp như được hiển thị bên dưới.

 TẠO BẢNG `tồn kho`. br /> `firstName` VARCHAR (50) NULL DEFAULT NULL, 
` middleName` VARCHAR (50) NULL DEFAULT NULL,
`lastName` VARCHAR (50) NULL DEFAULT NULL,
` mobile `VARCHAR (15) NULL,
` email` VARCHAR (50) NULL,
`line1` VARCHAR (50) NULL DEFAULT NULL,
` line2` VARCHAR (50) NULL DEFAULT NULL,
`city` VARCHAR (50) NULL DEFAULT NULL,
` tỉnh` VARCHAR (50) NULL DEFAULT NULL,
`country` VARCHAR (50) NULL DEFAULT NULL,
` createAt` DATETIME NOT NULL,
`updatedAt` DATETIME NULL DEFAULT NULL,
PRIMARY KEY (` id`),
INDEX `idx_address_user` (` userId` ASC),
CONSTRAINT `fk_address_user`
NGOẠI KHÓA (` userId`)
TÀI LIỆU THAM KHẢO `khoảng không quảng cáo`. br />
BẢNG ALTER `hàng tồn kho`. 'địa chỉ`
THÊM INDEX `idx_address_order` (` orderId` ASC);
ALTER TABLE `kho`. br /> TÀI LIỆU THAM KHẢO `tồn kho`.

Bảng Mục

Trong phần này, chúng tôi sẽ thiết kế Mục Bảng để lưu trữ chi tiết mặt hàng. Mặt hàng đại diện cho các mặt hàng được dự trữ trong kho và được mua từ các nhà cung cấp. Dưới đây được đề cập là mô tả của tất cả các cột của Bảng Mục.

Id Id duy nhất để xác định mặt hàng.
Id Sản phẩm Id sản phẩm để xác định sản phẩm được liên kết với mặt hàng tồn kho.
Id thương hiệu Id thương hiệu để xác định thương hiệu được liên kết với mặt hàng tồn kho.
Id nhà cung cấp Id nhà cung cấp để xác định nhà cung cấp được liên kết với mặt hàng tồn kho.
Id Đơn đặt hàng Id đơn đặt hàng để xác định đơn hàng được liên kết với mặt hàng tồn kho.
Tạo bởi Id người dùng để xác định người dùng đã thêm mục khoảng không quảng cáo.
Được cập nhật bởi Id người dùng để xác định người dùng đã cập nhật mặt hàng khoảng không quảng cáo.
Đơn vị lưu giữ cổ phiếu Id để xác định mặt hàng trong kho.
Giá bán lẻ tối đa Giá in của sản phẩm được liên kết với mặt hàng.
Giảm giá Nhà cung cấp giảm giá.
Giá Giá mua sản phẩm.
Số lượng Tổng số lượng nhận được tại kho.
Đã bán Tổng số lượng đã bán cho khách hàng.
Có sẵn Số lượng có sẵn trong kho.
Lỗi Tổng số mặt hàng bị lỗi nhận được tại kho hoặc do khách hàng trả lại.
Được tạo lúc Nó lưu trữ ngày và giờ mà đơn đặt hàng được tạo.
Cập nhật lúc Nó lưu trữ ngày và giờ mà đơn đặt hàng được cập nhật.

Bảng Mục với các ràng buộc thích hợp được hiển thị bên dưới.

 TẠO BẢNG `tồn kho`.`item` (
` id` BIGINT NOT NULL AUTO_INCREMENT,
`productId` BIGINT NOT NULL,
` brandId` BIGINT NOT NULL,
`nhà cung cấpId` BIGINT NOT NULL,
` orderId` BIGINT NOT NULL,
`sku` VARCHAR (100) NOT NULL,
` mrp` FLOAT NOT NULL DEFAULT 0,
`giảm ​​giá` FLOAT NOT NULL DEFAULT 0,
` giá` FLOAT NOT NULL DEFAULT 0,
`số lượng` SMALLINT (6) NOT NULL DEFAULT 0,
` đã bán` SMALLINT (6) KHÔNG NULL DEFAULT 0,
`có sẵn` SMALLINT (6) NOT NULL DEFAULT 0,
` lỗi` SMALLINT (6) NOT NULL DEFAULT 0,
`createdBy` BIGINT NOT NULL,
`updatedBy` BIGINT DEFAULT NULL,
` createdAt` DATETIME NOT NULL,
`updatedAt` DATETIME NULL DEFAULT NULL,
PRIMARY KEY (` id`),
INDEX `idx_item_product `(` productId` ASC),
CONSTRAINT `fk_item_product`
FOREIGN KEY (` productId`)
TÀI LIỆU THAM KHẢO `tồn kho`.`product` (` id`)
BẬT XÓA KHÔNG CÓ HÀNH ĐỘNG
KHI CẬP NHẬT KHÔNG CÓ HÀNH ĐỘNG);

BẢNG ALTER `khoảng không quảng cáo`. 'trang web'
THÊM INDEX` idx_item_brand` (`brandId` ASC);
BẢNG ALTER` khoảng không quảng cáo`.`item`
THÊM CHỨNG CHỈ `fk_item_brand`
NGOẠI KHÓA (` brandId`)
TÀI LIỆU THAM KHẢO `hàng tồn kho`.` thương hiệu` (` id`)
BẬT XÓA KHÔNG CÓ HÀNH ĐỘNG
BẬT CẬP NHẬT KHÔNG CÓ HÀNH ĐỘNG; BẢNG ALTER

`tồn kho`.`item`
THÊM INDEX` idx_item_user` (`nhà cung cấpId` ASC);
BẢNG ALTER` tồn kho`.`item`
ADD CONSTRAINT `fk_item_user`
NGOẠI KHÓA (` providerId`)
TÀI LIỆU THAM KHẢO `hàng tồn kho`.

BẢNG ALTER `khoảng không quảng cáo`.`item`
THÊM INDEX` idx_item_order` (`orderId` ASC);
BẢNG ALTER` khoảng không quảng cáo`.`item`
ADD CONSTRAINT `fk_item_order`
NGOẠI KHÓA (` orderId`)
TÀI LIỆU THAM KHẢO `hàng tồn kho`.

Bảng Mục Đơn hàng

Phần này cung cấp bảng để quản lý các đơn hàng đã mua của khách hàng. Dưới đây được đề cập là mô tả của tất cả các cột của Bảng Mục Đơn hàng.

Id Id duy nhất để xác định mặt hàng đã đặt hàng.
Id Sản phẩm Id sản phẩm để xác định sản phẩm được liên kết với mặt hàng đã đặt hàng.
Id mặt hàng Id mặt hàng để xác định mặt hàng được liên kết với mặt hàng đã đặt hàng.
Id Đơn đặt hàng Id đơn đặt hàng để xác định đơn đặt hàng được liên kết với mặt hàng đã đặt hàng.
SKU SKU của sản phẩm khi mua.
Giá Giá của sản phẩm khi mua.
Giảm giá Giảm giá sản phẩm khi mua.
Số lượng Số lượng sản phẩm do người dùng lựa chọn.
Được tạo lúc Nó lưu trữ ngày và giờ mà tại đó mặt hàng đã đặt hàng được tạo ra.
Cập nhật lúc Nó lưu trữ ngày và giờ tại đó mặt hàng đã đặt được cập nhật.
Nội dung Cột được sử dụng để lưu trữ các chi tiết bổ sung của mặt hàng đã đặt hàng.

Bảng Mục Đơn hàng với các ràng buộc thích hợp như được hiển thị bên dưới.

 TẠO BẢNG `tồn kho`.`order_item` (
` id` BIGINT NOT NULL AUTO_INCREMENT,
`productId` BIGINT NOT NULL,
` itemId` BIGINT NOT NULL,
`orderId` BIGINT NOT NULL,
` sku` VARCHAR (100) NOT NULL,
`price` FLOAT NOT NULL DEFAULT 0,
` giảm giá` FLOAT NOT NULL DEFAULT 0,
`số lượng` SMALLINT (6) NOT NULL DEFAULT 0,
` createdAt` DATETIME NOT NULL,
`updatedAt` DATETIME NULL DEFAULT NULL,
` content` TEXT NULL DEFAULT NULL,
KHÓA CHÍNH (`id`),
INDEX` idx_order_item_product` (`productId` ASC),
CONSTRAINT` fk_order_item_product`
TỪ KHÓA NGOẠI LỆ (`productId`)
TÀI LIỆU THAM KHẢO `khoảng không quảng cáo`. 'sản phẩm` (` id`)
BẬT XÓA KHÔNG CÓ HÀNH ĐỘNG
KHI CẬP NHẬT KHÔNG CÓ HÀNH ĐỘNG);

BẢNG ALTER `khoảng không quảng cáo`.`order_item`
THÊM CHỈ SỐ `idx_order_item_item` (` itemId` ASC);
BẢNG ALTER `khoảng không quảng cáo`.`order_item`
THÊM CONSTRAINT` fk_order_item_item`
NGOẠI KHÓA (`itemId`)
TÀI LIỆU THAM KHẢO `sáng chế ory`. INDEX `idx_order_item_order` (` orderId` ASC);
BẢNG ALTER `tồn kho`.`order_item`
THÊM CONSTRAINT` fk_order_item_order`
NGOẠI KHÓA (`orderId`)
TÀI LIỆU THAM KHẢO` tồn kho`.

Bảng giao dịch

Chúng tôi cũng cần một bảng giao dịch để theo dõi các khoản thanh toán đơn hàng được thực hiện bởi người mua và để ghi sổ kế toán. Chúng ta cũng có thể sử dụng cùng một bảng để ghi lại khoản hoàn trả một phần hoặc toàn bộ đơn đặt hàng. Dưới đây được đề cập là mô tả của tất cả các cột của Bảng giao dịch.

Id Id duy nhất để xác định giao dịch.
Id Người dùng Id người dùng để xác định người dùng được liên kết với giao dịch.
Id Đơn đặt hàng Id đơn đặt hàng để xác định đơn đặt hàng được liên kết với giao dịch.
Id thanh toán do cổng thanh toán cung cấp.
Loại Loại giao dịch đặt hàng có thể là Tín dụng hoặc Ghi nợ.
Chế độ Phương thức giao dịch đặt hàng có thể là Ngoại tuyến, Giao hàng tận nơi, Séc, Hối phiếu, Có dây và Trực tuyến.
Trạng thái Trạng thái của giao dịch đặt hàng có thể là Mới, Đã hủy, Không thành công, Đang chờ xử lý, Bị từ chối, Bị từ chối và Thành công.
Được tạo lúc Nó lưu trữ ngày và giờ mà giao dịch đặt hàng được tạo.
Cập nhật lúc Nó lưu trữ ngày và giờ tại đó giao dịch đặt hàng được cập nhật.
Nội dung Cột được sử dụng để lưu trữ các chi tiết bổ sung của giao dịch.

Bảng Giao dịch với các ràng buộc thích hợp được hiển thị bên dưới.

 TẠO BẢNG `tồn kho`.> `code` VARCHAR (100) NOT NULL, 
` type` SMALLINT (6) NOT NULL DEFAULT 0,
`mode` SMALLINT (6) NOT NULL DEFAULT 0,
` status` SMALLINT (6) NOT NULL DEFAULT 0,
`createdAt` DATETIME NOT NULL,
` updatedAt` DATETIME NULL DEFAULT NULL,
`content` TEXT NULL DEFAULT NULL,
PRIMARY KEY (`id`),
INDEX` idx_transaction_user` (`userId` ASC),
CONSTRAINT` fk_transaction_user`
FOREIGN KEY (`userId`)
TÀI LIỆU THAM KHẢO` khoảng không quảng cáo`.` người dùng` (`id`)
BẬT XÓA KHÔNG CÓ HÀNH ĐỘNG
KHI CẬP NHẬT KHÔNG CÓ HÀNH ĐỘNG);

BẢNG ALTER` khoảng không quảng cáo`. 'giao dịch`
THÊM CHỈ SỐ `idx_transaction_order `(` orderId` ASC);
BẢNG ALTER `tồn kho`. `order` (` id`)
ON DELE TE KHÔNG CÓ HÀNH ĐỘNG
KHI CẬP NHẬT KHÔNG CÓ HÀNH ĐỘNG;

Tóm tắt

Trong hướng dẫn này, chúng ta đã thảo luận về thiết kế cơ sở dữ liệu của Hệ thống quản lý hàng tồn kho để lưu trữ người dùng và quản lý kho sản phẩm. Nó cũng cung cấp thiết kế cơ sở dữ liệu để quản lý các đơn đặt hàng và đơn đặt hàng của khách hàng.

Bạn có thể gửi bình luận của mình để tham gia thảo luận. Bạn cũng có thể quan tâm đến việc thiết kế cơ sở dữ liệu của các ứng dụng Blog và Poll &Survey. Lược đồ cơ sở dữ liệu hoàn chỉnh cũng có sẵn trên GitHub.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để tạo cơ sở dữ liệu nhiều người thuê với cấu trúc bảng được chia sẻ?

  2. Sử dụng Cơ sở dữ liệu quan hệ MySQL trên Fedora 12

  3. Nhóm hàng sử dụng mệnh đề nhóm theo trong MySQL

  4. Cách bảo vệ Cơ sở dữ liệu MySQL khỏi Chiến dịch Ransomware

  5. Cách tách một chuỗi trong MySQL