انجام پروژه sql

پروژه پایگاه داده انبار

توسط admin | گروه SQL Server | 1403/07/29

نظرات 0

انجام پروژه پایگاه داده

برای طراحی یک برنامه انبار در SQL Server که شامل ۵ جدول با روابط، کلیدهای اصلی و ثانویه، تریگرها، فانکشن‌ها، پروسیجرها و ویوها است، مراحل زیر را دنبال می‌کنیم.

انجام فوری و سریع پروژه پایگاه داده و پاسخگویی به سوالات و تمرین های پایگاه داده 09131253620

۱. ایجاد جداول

جدول Products

کد sql
CREATE TABLE Products (
ProductID INT PRIMARY KEY IDENTITY(1,1),
ProductName NVARCHAR(100) NOT NULL,
CategoryID INT,
QuantityInStock INT,
Price DECIMAL(10, 2)
);

جدول Categories

کد sql
CREATE TABLE Categories (
CategoryID INT PRIMARY KEY IDENTITY(1,1),
CategoryName NVARCHAR(100) NOT NULL
);

جدول Suppliers

کد sql
CREATE TABLE Suppliers (
SupplierID INT PRIMARY KEY IDENTITY(1,1),
SupplierName NVARCHAR(100) NOT NULL,
ContactInfo NVARCHAR(255)
);

جدول Orders

کد sql
CREATE TABLE Orders (
OrderID INT PRIMARY KEY IDENTITY(1,1),
OrderDate DATE NOT NULL,
SupplierID INT,
FOREIGN KEY (SupplierID) REFERENCES Suppliers(SupplierID)
);

جدول OrderDetails

کد sql
CREATE TABLE OrderDetails (
OrderDetailID INT PRIMARY KEY IDENTITY(1,1),
OrderID INT,
ProductID INT,
Quantity INT,
FOREIGN KEY (OrderID) REFERENCES Orders(OrderID),
FOREIGN KEY (ProductID) REFERENCES Products(ProductID)
);

۲. ایجاد کلیدهای خارجی و روابط

همانطور که در تعریف جداول نشان داده شد، کلیدهای خارجی برای ایجاد روابط بین جداول استفاده می‌شوند. به عنوان مثال، SupplierID در جدول Orders به SupplierID در جدول Suppliers مرتبط است.

۳. ایجاد تریگر (Trigger)

ایجاد تریگری برای بروزرسانی موجودی انبار پس از درج جزئیات سفارش:

کد sql ایجاد تریگر
CREATE TRIGGER UpdateStockAfterOrder
ON OrderDetails
AFTER INSERT
AS
BEGIN
UPDATE Products
SET QuantityInStock = QuantityInStock - i.Quantity
FROM Products p
INNER JOIN inserted i ON p.ProductID = i.ProductID;
END;

۴. ایجاد فانکشن (Function)

ایجاد فانکشن برای محاسبه مقدار کل سفارش:

کد sql ایجاد تابع در SQL
CREATE FUNCTION dbo.CalculateOrderTotal(@OrderID INT)
RETURNS DECIMAL(10, 2)
AS
BEGIN
DECLARE @Total DECIMAL(10, 2);
SELECT @Total = SUM(od.Quantity * p.Price)
FROM OrderDetails od
INNER JOIN Products p ON od.ProductID = p.ProductID
WHERE od.OrderID = @OrderID;
RETURN @Total;
END;

۵. ایجاد پروسیجر (Stored Procedure)

ایجاد پروسیجری برای افزودن یک سفارش جدید:

کد sql ایجاد Stored Procedure
CREATE PROCEDURE dbo.AddNewOrder
@OrderDate DATE,
@SupplierID INT,
@OrderDetails dbo.OrderDetailsType READONLY -- فرض کنید نوع جدولی برای OrderDetails تعریف شده است
AS
BEGIN
DECLARE @OrderID INT;
INSERT INTO Orders (OrderDate, SupplierID)
VALUES (@OrderDate, @SupplierID);
SET @OrderID = SCOPE_IDENTITY();
INSERT INTO OrderDetails (OrderID, ProductID, Quantity)
SELECT @OrderID, ProductID, Quantity
FROM @OrderDetails;
RETURN @OrderID;
END;

۶. ایجاد ویو (View)

ایجاد ویویی برای نمایش سفارشات به همراه جزئیات آنها:

کد sql
CREATE VIEW OrderSummary AS
SELECT o.OrderID, o.OrderDate, s.SupplierName, p.ProductName, od.Quantity, (od.Quantity * p.Price) AS TotalPrice
FROM Orders o
INNER JOIN Suppliers s ON o.SupplierID = s.SupplierID
INNER JOIN OrderDetails od ON o.OrderID = od.OrderID
INNER JOIN Products p ON od.ProductID = p.ProductID;

این طراحی شامل جداول با روابط مناسب، تریگر، فانکشن، پروسیجر و ویو است. با این طراحی، شما می‌توانید اطلاعات انبار را مدیریت و تحلیل کنید. 

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

حرف 500 حداکثر