


如图给出的问题创建数据库还有问题 下面水字就是几十上百个八百数据
关注引自免费微信小程序:皆我百晓生
为了创建一个商品销售管理数据库,并实现图中所描述的功能,我们首先需要定义数据库结构,然后插入数据,接着设置主键和约束,最后编写查询语句。下面是详细的步骤和SQL代码。
CREATE DATABASE SalesManagement;
GO
USE SalesManagement;
ProductCREATE TABLE Product (
ProductID CHAR(8) NOT NULL,
ProductName VARCHAR(84) NOT NULL,
Manufacturer CHAR(6) NOT NULL,
Category CHAR(8) NOT NULL,
ExpiryYear CHAR(4) NOT NULL,
CONSTRAINT PK_Product PRIMARY KEY (ProductID),
CONSTRAINT CHK_Product_Expiry CHECK (ExpiryYear >= '1' AND ExpiryYear <= '10')
);
StoreCREATE TABLE Store (
StoreID CHAR(4) NOT NULL,
StoreName VARCHAR(20) NOT NULL,
Address CHAR(20) NOT NULL,
Manager CHAR(84) NOT NULL,
CONSTRAINT PK_Store PRIMARY KEY (StoreID)
);
SalesCREATE TABLE Sales (
SaleID INT IDENTITY(1,1) PRIMARY KEY,
ProductID CHAR(8) NOT NULL,
StoreID CHAR(4) NOT NULL,
SaleTime DATETIME,
Quantity CHAR(6),
CONSTRAINT FK_Sales_Product FOREIGN KEY (ProductID) REFERENCES Product(ProductID),
CONSTRAINT FK_Sales_Store FOREIGN KEY (StoreID) REFERENCES Store(StoreID),
CONSTRAINT CHK_Sales_Quantity CHECK (Quantity >= '1')
);
INSERT INTO Product (ProductID, ProductName, Manufacturer, Category, ExpiryYear)
VALUES ('PRD001', 'Soap', 'CleanCo', '日用品', '3'),
('PRD002', 'Television', 'TechInc', '电器', '5'),
-- 更多数据...
('PRD005', 'Bread', 'FoodBakery', '食品', '1');
INSERT INTO Store (StoreID, StoreName, Address, Manager)
VALUES ('STR01', 'MegaMart', '123 Main St', 'John Doe'),
('STR02', 'QuickShop', '456 Park Ave', 'Jane Smith'),
-- 更多数据...
('STR05', 'DailyFresh', '789 Market Rd', 'Michael Johnson');
INSERT INTO Sales (ProductID, StoreID, SaleTime, Quantity)
VALUES ('PRD001', 'STR01', '2023-01-01', '50'),
('PRD002', 'STR02', '2023-02-01', '20'),
-- 更多数据...
('PRD005', 'STR05', '2023-03-01', '100');
SELECT ProductName, Category, ExpiryYear
FROM Product
WHERE Category = '日用品';
SELECT *
FROM Product
WHERE CAST(ExpiryYear AS INT) > 1 AND CAST(ExpiryYear AS INT) < 5
ORDER BY ProductName ASC;
SELECT Category, COUNT(*) AS NumberOfProducts
FROM Product
GROUP BY Category;
SELECT P.ProductName, S.StoreName
FROM Sales SA
JOIN Product P ON SA.ProductID = P.ProductID
JOIN Store S ON SA.StoreID = S.StoreID
WHERE SA.SaleTime < '2018-06-10' AND CAST(SA.Quantity AS INT) > 70;
这些步骤和代码应该能帮助你完成图中所示的任务。如果有任何疑问或需要进一步的帮助,请随时提问。