تعلم قواعد بيانات SQL Database
1.76K subscribers
75 photos
3 videos
24 files
32 links
تعلم وعلم غيرك في قواعد بيانات SQL Database
تحليل وتصميم قواعد بيانات
وبرمجه مواقع اخبارية
Download Telegram
سلام الله عليكم سوف نشرح كيف انشاء دوال في قواعد البيانات
2👍1
اما ننشأ داله تعدي قيمه او تعيد جدول
إنشاء دالة تعيد قيمة
الآن، سنقوم بإنشاء دالة تقوم بحساب مجموع المبالغ في جدول الطلبات.

كود إنشاء الدالة:
CREATE FUNCTION calculate_total_amount()
RETURNS DECIMAL(10, 2)
AS
BEGIN
DECLARE total_amount DECIMAL(10, 2);
SELECT SUM(amount) INTO total_amount FROM orders;
RETURN total_amount;
END;
👍1
شرح الكود جسم الداله الداله بسيطه
في الدوال التي تعيد قيمه او جدول
CREATE FUNCTION: لإنشاء دالة جديدة.
calculate_total_amount(): اسم الدالة.
RETURNS DECIMAL(10, 2): نوع القيمة التي ستعيدها الدالة.
DECLARE: لتعريف متغير لتخزين المجموع.
SELECT SUM(amount): لحساب مجموع القيم في عمود amount.
RETURN: لإرجاع القيمة المحسوبة.
👍1
استخدام الدالة
يمكنك استخدام الدالة التي أنشأتها للحصول على مجموع المبالغ
SELECT calculate_total_amount() AS total_amount;
👍1
إنشاء دالة تعيد جدول (اختياري)
إذا كنت ترغب في إنشاء دالة تعيد جدولًا، يمكنك استخدام الكود التالي (مثل PostgreSQL):

CREATE FUNCTION get_orders()
RETURNS TABLE(id INT, amount DECIMAL(10, 2))
AS $$
BEGIN
RETURN QUERY SELECT id, amount FROM orders;
END;
$$ LANGUAGE plpgsql;
👍1
للاستعلام عن البيانات التي تعيدها الدالة:

SELECT * FROM get_orders();
👍1
التطبيق العملي لكي نفهم الموضوع
انشا جدول
ثم ادخل بيانات
ثم طبق امثله
👍1
الخطوة 1: تهيئه البيئة مثل انشاء قاعده البيانات

الخطوة 2: إنشاء جدول


CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
Amount DECIMAL(10, 2)
);
👍1
الخطوة 12: إدخال بيانات


INSERT INTO Orders (OrderID, Amount) VALUES (1, 100.50);
INSERT INTO Orders (OrderID, Amount) VALUES (2, 200.75);
INSERT INTO Orders (OrderID, Amount) VALUES (3, 150.25);

الخطوة 4: إنشاء دالة تعيد قيمة
CREATE FUNCTION CalculateTotalAmount()
RETURNS DECIMAL(10, 2)
AS
BEGIN
DECLARE @TotalAmount DECIMAL(10, 2);
SELECT @TotalAmount = SUM(Amount) FROM Orders;
RETURN @TotalAmount;
END;

الخطوة 5: استخدام الدالة

SELECT dbo.CalculateTotalAmount() AS TotalAmount;
👍2
CREATE FUNCTION.sql
727 B
هذه خطوات انشاء الجدول وتعبئه بيانات والاستعلام
👍2
ان شاء الله الجميع يستفيد بالتطبيق العملي وان شاء الله نحاول نقدم المزيد من الشروحات ويا حبذا الجميع يتفاعل ويشارك الاخرين بالأفكار والملاحظات
👍71
شرح اكثر على انشاء دوال في قواعد البيانات
لو نريد عمل دالة ترجع بيانات العملاء بناءً على المبيعات
الخطوة 1: إنشاء الجداول
CREATE TABLE Customers (
CustomerID INT PRIMARY KEY,
CustomerName NVARCHAR(100)
);

CREATE TABLE Sales (
SaleID INT PRIMARY KEY,
CustomerID INT,
SaleAmount DECIMAL(10, 2),
SaleDate DATETIME,
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
👍2
إنشاء الدالة
CREATE
FUNCTION GetCustomerSales(@ID INT)
RETURNS TABLE
AS
RETURN
(
SELECT SaleID, SaleAmount, SaleDate
FROM Sales
WHERE CustomerID = @ID
);
👍2
إدخال بعض البيانات للجدولين السابقين لكي نشوف النتائج
INSERT INTO Customers (CustomerID, CustomerName) VALUES (1, 'Ali');
INSERT INTO Customers (CustomerID, CustomerName) VALUES (2, 'Sara');

INSERT INTO Sales (SaleID, CustomerID, SaleAmount, SaleDate) VALUES (1, 1, 100.00, '2023-01-01');
INSERT INTO Sales (SaleID, CustomerID, SaleAmount, SaleDate) VALUES (2, 1, 150.00, '2023-02-01');
INSERT INTO Sales (SaleID, CustomerID, SaleAmount, SaleDate) VALUES (3, 2, 200.00, '2023-03-01');
👍31
يمكنك استخدام الدالة لاستعلام المبيعات الخاصة بعميل معين كالتالي:

مثال
SELECT * FROM GetCustomerSales(1);
👍1
نحاول نوصل الفكره باكثر من لغة قواعد بيانات
لان البعض يستخدم قواعد بيانات اخرى مثل sql plus
👍2
SQLPlus شرح انشاء دوال ب.sql
2.2 KB
هذا مثال على عمل داله في SQL*Plus
👍1
توضيح شرح او تعريف لفوائد استخدام الدوال في قواعد البيانات
الدوال FUNCTION
الداله او الدوال هي مجموعة من التعليمات التي تؤدي مهمة معينة ويمكن استخدامها مرة واحدة أو أكثر


أنواع الدوال
الدوال المعرفة من قبل المستخدم (User-Defined Functions): دوال يقوم المستخدم بإنشائها.
الدوال المدمجة (Built-in Functions): مثل SUM(), AVG(), COUNT(). هذه النوع شرحناه سابقاً

أهمية او فوائد الدوال:
إعادة الاستخدام: يمكن استخدام الدوال في عدة استعلامات.
تقليل الأخطاء: يقلل من تكرار الكود.
الوضوح: يجعل الاستعلامات أكثر وضوحًا.

هيكل الدالة
CREATE FUNCTION function_name (parameters)
RETURNS data_type
AS
BEGIN
-- التعليمات
RETURN value;
END;
function_name: اسم الدالة.
parameters: المتغيرات او المعلمات التي تستقبلها الدالة.
data_type: نوع البيانات التي ستعيدها الدالة.
👍3
هذه امثله لعمل وانشاء دوال
-------1-------. مثال بسيط لدالة تجمع رقمين:
CREATE FUNCTION AddNumbers(a INT, b INT)
RETURNS INT
AS
BEGIN
RETURN a + b;
END;
-------كيف نستخدم الدالة
SELECT AddNumbers(5, 10) AS SumResult
; -- الناتج: 15
------------------------5. مثال معقد لدالة أكثر يتضمن شروطًا:
CREATE FUNCTION GetDiscountedPrice(originalPrice DECIMAL(10,2), discountRate DECIMAL(5,2))
RETURNS DECIMAL(10,2)
AS
BEGIN
RETURN originalPrice - (originalPrice * discountRate / 100);
END;
--استخدام الدالة

SELECT GetDiscountedPrice(100, 10) AS DiscountedPrice;
-- الناتج: 90
👍2
تمرين على الدرس وأتمنى ان يطبقه الجميع ويبعث الحل في تعليق او يرسل لي بالحل
المطلوب

قوم بعمل دالة لإرجاع معلومات الموظفين بناءً على اما الجنس او التصنيف او بنا على رقم الموظف
👍3