在线商城系统设计

设计一个在线商品商店的数据库模式涉及多个方面,包括产品、订单、用户、支付等。

数据库设计:

  1. 用户表 (Users):

    • UserID (主键)
    • 用户名
    • 密码
    • 电子邮件
    • 地址
    • 电话号码
  2. 产品表 (Products):

    • ProductID (主键)
    • 产品名称
    • 描述
    • 价格
    • 库存数量
    • 分类ID (外键,连接到分类表)
  3. 分类表 (Categories):

    • CategoryID (主键)
    • 分类名称
  4. 订单表 (Orders):

    • OrderID (主键)
    • UserID (外键,连接到用户表)
    • 订单日期
    • 订单状态 (例如,已支付、已发货、已完成等)
  5. 订单详情表 (OrderDetails):

    • OrderDetailID (主键)
    • OrderID (外键,连接到订单表)
    • ProductID (外键,连接到产品表)
    • 数量
    • 单价
  6. 支付表 (Payments):

    • PaymentID (主键)
    • OrderID (外键,连接到订单表)
    • 付款日期
    • 付款金额
    • 付款状态 (例如,已支付、待支付)
  7. 购物车表 (ShoppingCart):

    • CartID (主键)
    • UserID (外键,连接到用户表)
    • ProductID (外键,连接到产品表)
    • 数量

 HTML代码

当用户点击“添加到购物车”按钮时,相应的产品将被添加到购物车数组中,并且购物车的内容将被渲染到页面上。




    
    
    在线商店
    


    

在线商店

购物车

SQL语句用于创建表、插入数据、查询数据等操作。以下是一个基本的SQL示例,包括创建表格、插入样本数据和查询产品的示例。

-- 创建用户表
CREATE TABLE Users (
    UserID INT PRIMARY KEY,
    UserName VARCHAR(255),
    Password VARCHAR(255),
    Email VARCHAR(255),
    Address VARCHAR(255),
    PhoneNumber VARCHAR(20)
);

-- 创建产品分类表
CREATE TABLE Categories (
    CategoryID INT PRIMARY KEY,
    CategoryName VARCHAR(255)
);

-- 创建产品表
CREATE TABLE Products (
    ProductID INT PRIMARY KEY,
    ProductName VARCHAR(255),
    Description TEXT,
    Price DECIMAL(10, 2),
    StockQuantity INT,
    CategoryID INT,
    FOREIGN KEY (CategoryID) REFERENCES Categories(CategoryID)
);

-- 创建订单表
CREATE TABLE Orders (
    OrderID INT PRIMARY KEY,
    UserID INT,
    OrderDate DATE,
    OrderStatus VARCHAR(50),
    FOREIGN KEY (UserID) REFERENCES Users(UserID)
);

-- 创建订单详情表
CREATE TABLE OrderDetails (
    OrderDetailID INT PRIMARY KEY,
    OrderID INT,
    ProductID INT,
    Quantity INT,
    UnitPrice DECIMAL(10, 2),
    FOREIGN KEY (OrderID) REFERENCES Orders(OrderID),
    FOREIGN KEY (ProductID) REFERENCES Products(ProductID)
);

-- 创建支付表
CREATE TABLE Payments (
    PaymentID INT PRIMARY KEY,
    OrderID INT,
    PaymentDate DATE,
    Amount DECIMAL(10, 2),
    PaymentStatus VARCHAR(50),
    FOREIGN KEY (OrderID) REFERENCES Orders(OrderID)
);

-- 创建购物车表
CREATE TABLE ShoppingCart (
    CartID INT PRIMARY KEY,
    UserID INT,
    ProductID INT,
    Quantity INT,
    FOREIGN KEY (UserID) REFERENCES Users(UserID),
    FOREIGN KEY (ProductID) REFERENCES Products(ProductID)
);

-- 插入样本用户数据
INSERT INTO Users (UserID, UserName, Password, Email, Address, PhoneNumber)
VALUES (1, 'JohnDoe', 'password123', '[email protected]', '123 Main St', '555-1234');

-- 插入样本产品分类数据
INSERT INTO Categories (CategoryID, CategoryName)
VALUES (1, 'Electronics'), (2, 'Clothing'), (3, 'Home Goods');

-- 插入样本产品数据
INSERT INTO Products (ProductID, ProductName, Description, Price, StockQuantity, CategoryID)
VALUES
    (1, 'Laptop', 'Powerful laptop for work and entertainment', 999.99, 50, 1),
    (2, 'T-shirt', 'Comfortable cotton T-shirt', 19.99, 100, 2),
    (3, 'Coffee Maker', 'Automatic coffee maker for your kitchen', 49.99, 30, 3);

-- 插入样本订单数据
INSERT INTO Orders (OrderID, UserID, OrderDate, OrderStatus)
VALUES (1, 1, '2024-01-27', 'Processing');

-- 插入样本订单详情数据
INSERT INTO OrderDetails (OrderDetailID, OrderID, ProductID, Quantity, UnitPrice)
VALUES (1, 1, 1, 2, 999.99), (2, 1, 2, 3, 19.99);

-- 插入样本支付数据
INSERT INTO Payments (PaymentID, OrderID, PaymentDate, Amount, PaymentStatus)
VALUES (1, 1, '2024-01-28', 2219.94, 'Paid');

-- 插入样本购物车数据
INSERT INTO ShoppingCart (CartID, UserID, ProductID, Quantity)
VALUES (1, 1, 3, 1);

 

你可能感兴趣的:(数据库)