تعلم قواعد بيانات SQL Database
1.76K subscribers
75 photos
3 videos
24 files
32 links
تعلم وعلم غيرك في قواعد بيانات SQL Database
تحليل وتصميم قواعد بيانات
وبرمجه مواقع اخبارية
Download Telegram
--13. جدول تقييمات المنتجات (Product Reviews)

CREATE TABLE ProductReviews (
ReviewID INT PRIMARY KEY,
ProductID INT,
CustomerID INT,
Rating INT CHECK (Rating >= 1 AND Rating <= 5),
Comment TEXT,
ReviewDate DATETIME NOT NULL,
FOREIGN KEY (ProductID) REFERENCES Products(ProductID),
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
--14. جدول العروض الترويجية (Promotions)

CREATE TABLE Promotions (
PromotionID INT PRIMARY KEY,
ProductID INT,
DiscountPercentage DECIMAL(5, 2) CHECK (DiscountPercentage >= 0 AND DiscountPercentage <= 100),
StartDate DATETIME NOT NULL,
EndDate DATETIME NOT NULL,
FOREIGN KEY (ProductID) REFERENCES Products(ProductID)
);
--15. جدول تقارير المخزون (Inventory Reports)



CREATE TABLE InventoryReports (
ReportID INT PRIMARY KEY,
ReportDate DATETIME NOT NULL,
TotalProducts INT NOT NULL,
TotalStockValue DECIMAL(10, 2) NOT NULL
);
--16. جدول تنبيهات المخزون (Inventory Alerts)

CREATE TABLE InventoryAlerts (
AlertID INT PRIMARY KEY,
ProductID INT,
ThresholdQuantity INT NOT NULL,
FOREIGN KEY (ProductID) REFERENCES Products(ProductID)
);
--17. جدول شحن الطلبات (Shipping)

CREATE TABLE Shipping (
ShippingID INT PRIMARY KEY,
OrderID INT,
ShippingAddress VARCHAR(255) NOT NULL,
ShippingDate DATETIME,
TrackingNumber VARCHAR(100),
FOREIGN KEY (OrderID) REFERENCES Orders(OrderID)
);
--18. جدول أدوار المستخدمين (User Roles)
CREATE TABLE UserRoles (
RoleID INT PRIMARY KEY,
RoleName VARCHAR(50) NOT NULL,
Permissions TEXT
);
--19. جدول تقارير المبيعات (Sales Reports)

CREATE TABLE SalesReports (
ReportID INT PRIMARY KEY,
ReportDate DATETIME NOT NULL,
TotalSales DECIMAL(10, 2) NOT NULL,
TotalOrders INT NOT NULL
);
2
ممكن الذي لديه اضافات او تعديلات يرسلها او يعلق في المجموعه الخاصه بالمناقشه
https://t.me/DBLearningCommunity
بعد ان تخلص انشاء الجداول وتضيف بيانات افتراضيه ننتقل الى جانب التطبيق الاستعلامات
قوم بعمل استعلام عن جميع الفئات
SELECT * FROM Categories;
لو طلب منك استعلام عن جميع المنتجات
SELECT * FROM Products;
استعلام عن جميع العملاء
SELECT * FROM Customers;

-استعلام عن جميع الطلبات
SELECT * FROM Orders;
هذه الاستعلامات للجداول منفرده
لو اردنا عمل استعلامات متداخله للربط بين اكثر من جدول
لو طلب منك عمل استعلام لجلب جميع المنتجات مع فئاتها

SELECT p.ProductID, p.ProductName, c.CategoryName, p.Price, p.StockQuantity
FROM Products p
JOIN Categories c ON p.CategoryID = c.CategoryID;
كيف ارجع بيانات الطلبات مع حالة الدفع
SELECT o.OrderID, o.OrderDate, c.FirstName, c.LastName, o.TotalAmount, o.PaymentStatus
FROM Orders o
JOIN Customers c ON o.CustomerID = c.CustomerID
WHERE o.PaymentStatus = 'Pending';
1
في طريق الدفع لو طلب منك عرض الطلبات مع حالة الدفع
SELECT o.OrderID, o.OrderDate, c.FirstName, c.LastName, o.TotalAmount, o.PaymentStatus
FROM Orders o
JOIN Customers c ON o.CustomerID = c.CustomerID
WHERE o.PaymentStatus = 'Pending';
1
استعلامات الدوال
قوم بعمل استعلام لحساب متوسط تقييمات كل منتج

SELECT p.ProductName, AVG(r.Rating) AS AverageRating
FROM ProductReviews r
JOIN Products p ON r.ProductID = p.ProductID
GROUP BY p.ProductName;
1
--6. استعلام لجلب تقارير المبيعات الشهرية
SELECT ReportDate, TotalSales, TotalOrders
FROM SalesReports
ORDER BY ReportDate DESC;
--7. استعلام لجلب تنبيهات المخزون للمنتجات
SELECT p.ProductName, a.ThresholdQuantity
FROM InventoryAlerts a
JOIN Products p ON a.ProductID = p.ProductID;
الهدف: توضيح كيفية الربط بين تنبيهات المخزون والمنتجات.

--. استعلام لجلب تفاصيل الشحن لكل طلب

SELECT s.ShippingID, o.OrderID, s.ShippingAddress, s.TrackingNumber
FROM Shipping s
JOIN Orders o ON s.OrderID = o.OrderID;
الهدف: فهم كيفية ربط جداول الشحن والطلبات للحصول على معلومات الشحن.

--. استعلام لجلب جميع الموردين مع المنتجات الموردة

SELECT s.SupplierName, p.ProductName, ps.PurchasePrice
FROM Product_Suppliers ps
JOIN Suppliers s ON ps.SupplierID = s.SupplierID
JOIN Products p ON ps.ProductID = p.ProductID;
: كيفية استعلام البيانات من جداول الموردين والمنتجات.
5
--. استعلام لحساب إجمالي المبيعات لكل منتج

SELECT p.ProductName, SUM(pi.Quantity) AS TotalSold
FROM Purchase_Items pi
JOIN Products p ON pi.ProductID = p.ProductID
GROUP BY p.ProductName;
2
ممكن الكل يشارك بعمل اسئلة لعمل استعلامات ونحلها مع بعض في القناه الخاصة بالاستفسارات
https://t.me/DBLearningCommunity
سلام الله عليكم ان شاء الله نظع اسئله على شكل تمارين واتمنى من الجميع المشاركه لكي نعرف مستوى الفهم والتقدم لكي نشرح في المراحل القادمه بنا على هذا
2👍1
السؤال 2:
كيف يمكنك استعلام تفاصيل طلب معين مع عرض أسماء المنتجات والكميات والأسعار وجميع البيانات للطلب؟
Anonymous Quiz
22%
SELECT * FROM OrderDetails WHERE OrderID = X
37%
SELECT P.*,O.* FROM OrderDetails O JOIN Products p ON O.ProductID=P.ProductID WHERE O.OrderID=X
10%
SELECT * FROM Orders WHERE OrderID = X
32%
SELECT Name, Quantity, Price FROM OrderDetails WHERE OrderID = X
1👍1🔥1
تأخرنا عليكم قاعد اجمع افكار ومقترحات لكي نحسن من الشروحات وطريقه الشرح
الذي لديه أفكار او روابط نشرح مثلها يرسله وان شاء الله نقدم كل ما نستطيع بدعمكم ومساعدتكم
👍7🔥1
عادكم الله من السالمين الغانمين وكل عام وانتم بصحه وعافيه اسئل الله ان يكتبنا من المقبولين المستوريين المجبوريين واسئل الله ان يبارك لنا ولكم في الأوقات والأعمار
7
ما الموضوع الذي تود أن أشرحه في الدرس القادم؟
Anonymous Poll
61%
اساسيات قواعد بيانات SQL
27%
عمل قواعد بيانات جديده
36%
استعلامات متقدمة
👍2