-- Магазины кестесін жасау
CREATE TABLE Stores (
StoreID INT IDENTITY(1,1) PRIMARY KEY,
StoreName VARCHAR(100) NOT NULL,
Location VARCHAR(255),
ContactNumber VARCHAR(20), -- ContactNumber ұзындығы 20-ға дейін
WorkingHours VARCHAR(50)
);
-- Categories кестесін жасау
CREATE TABLE Categories (
CategoryID INT IDENTITY(1,1) PRIMARY KEY,
CategoryName VARCHAR(100) NOT NULL
);
-- Suppliers кестесін жасау
CREATE TABLE Suppliers (
SupplierID INT IDENTITY(1,1) PRIMARY KEY,
SupplierName VARCHAR(100) NOT NULL,
ContactNumber VARCHAR(20), -- ContactNumber ұзындығы 20-ға дейін
Location VARCHAR(255)
);
-- Products кестесін жасау
CREATE TABLE Products (
ProductID INT IDENTITY(1,1) PRIMARY KEY,
ProductName VARCHAR(100) NOT NULL,
Price DECIMAL(10, 2) NOT NULL,
StockQuantity INT NOT NULL,
CategoryID INT,
StoreID INT,
SupplierID INT,
FOREIGN KEY (CategoryID) REFERENCES Categories(CategoryID),
FOREIGN KEY (StoreID) REFERENCES Stores(StoreID),
FOREIGN KEY (SupplierID) REFERENCES Suppliers(SupplierID)
);
-- Purchases кестесін жасау
CREATE TABLE Purchases (
PurchaseID INT IDENTITY(1,1) PRIMARY KEY,
ProductID INT,
Quantity INT NOT NULL,
PurchaseDate DATETIME NOT NULL,
PriceAtPurchase DECIMAL(10, 2) NOT NULL,
FOREIGN KEY (ProductID) REFERENCES Products(ProductID)
);
-- Магазинына деректер қосу
INSERT INTO Stores (StoreName, Location, ContactNumber, WorkingHours)
VALUES
('Tech Shop', 'Алматы, Абая даңғылы, 75', '+7 727 123 45 67', '09:00-18:00'),
('Fashion Store', 'Нұр-Сұлтан, Мәңгілік Ел, 123', '+7 717 234 56 78', '10:00-20:00'),
('Supermart', 'Алматы, Достық даңғылы, 25', '+7 727 567 89 01', '09:00-22:00');
-- Категориялар кестесіне деректер қосу
INSERT INTO Categories (CategoryName)
VALUES
('Электроника'),
('Киім'),
('Азық-түлік'),
('Техникалық құралдар'),
('Аяқ киім');
-- Жеткізушілер кестесіне деректер қосу
INSERT INTO Suppliers (SupplierName, ContactNumber, Location)
VALUES
('Samsung', '+7 701 234 56 78', 'Алматы'),
('H&M', '+7 705 678 90 12', 'Швеция'),
('Apple', '+7 701 345 67 89', 'АҚШ'),
('Sony', '+7 705 123 45 67', 'Жапония');
-- Тауарлар кестесіне деректер қосу
INSERT INTO Products (ProductName, Price, StockQuantity, CategoryID, StoreID, SupplierID)
VALUES
('Ноутбук', 150000, 10, 1, 1, 1),
('Телефон', 80000, 15, 1, 1, 2),
('Көйлек', 20000, 25, 2, 2, 3),
('Шалбар', 15000, 30, 2, 2, 3),
('Телевизор', 100000, 5, 4, 1, 4),
('Спорт аяқ киім', 25000, 50, 5, 3, 2);
-- Сатып алу кестесіне деректер қосу
INSERT INTO Purchases (ProductID, Quantity, PurchaseDate, PriceAtPurchase)
VALUES
(1, 5, '2025-04-20 14:00:00', 150000),
(2, 10, '2025-04-22 16:30:00', 80000),
(3, 15, '2025-04-23 10:00:00', 20000),
(4, 20, '2025-04-24 11:15:00', 15000),
(5, 3, '2025-04-25 13:00:00', 100000),
(6, 10, '2025-04-26 15:30:00', 25000);
-- Продукттар туралы ақпаратты сұрау
SELECT p.ProductName, p.Price, p.StockQuantity, s.StoreName, c.CategoryName
FROM Products p
JOIN Stores s ON p.StoreID = s.StoreID
JOIN Categories c ON p.CategoryID = c.CategoryID;
-- Сатып алу деректерін сұрау
SELECT p.ProductName, pur.Quantity, pur.PurchaseDate, pur.PriceAtPurchase
FROM Purchases pur
JOIN Products p ON pur.ProductID = p.ProductID;