ان شاء الله الجميع يستفيد بالتطبيق العملي وان شاء الله نحاول نقدم المزيد من الشروحات ويا حبذا الجميع يتفاعل ويشارك الاخرين بالأفكار والملاحظات
👍7❤1
شرح اكثر على انشاء دوال في قواعد البيانات
لو نريد عمل دالة ترجع بيانات العملاء بناءً على المبيعات
الخطوة 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)
);
لو نريد عمل دالة ترجع بيانات العملاء بناءً على المبيعات
الخطوة 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
);
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');
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');
👍3❤1
يمكنك استخدام الدالة لاستعلام المبيعات الخاصة بعميل معين كالتالي:
مثال
SELECT * FROM GetCustomerSales(1);
مثال
SELECT * FROM GetCustomerSales(1);
👍1
نحاول نوصل الفكره باكثر من لغة قواعد بيانات
لان البعض يستخدم قواعد بيانات اخرى مثل sql plus
لان البعض يستخدم قواعد بيانات اخرى مثل sql plus
👍2
توضيح شرح او تعريف لفوائد استخدام الدوال في قواعد البيانات
الدوال 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: نوع البيانات التي ستعيدها الدالة.
الدوال 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
-------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
ما هو نوع البيانات الذي ينبغي استخدامه لتمثيل رقم الموظف في قاعدة البيانات؟
Anonymous Quiz
10%
FLOAT
70%
INT
19%
VARCHAR
هذه بعض التمارين على الدوال الخاصه او التابعه لقواعد البيانات
👍1
ما هي الدالة المستخدمة لحساب عدد الصفوف في جدول في SQL؟
Anonymous Quiz
65%
A) COUNT()
27%
B) SUM()
8%
C) TOTAL()
❤1
أي من الدوال التالية تُستخدم لإرجاع القيم الفريدة من عمود معين؟
Anonymous Quiz
31%
A) DISTINCT()
47%
B) UNIQUE()
13%
C) FILTER()
9%
D) All
❤1👍1
ما هي الدالة التي يتم استخدامها لدمج القيم النصية في SQL؟
Anonymous Quiz
24%
A) JOIN()
38%
B) CONCAT()
28%
C) JOIN() and MERGE()
11%
D) MERGE()
بالامكان يتم اضافه تعليق للذي يريد يستفسر عن الداله وان شاء الله نوضح الإجابة بامثله
او بالامكان تراجعو دروس الدوال
او بالامكان تراجعو دروس الدوال
أي من الدوال التالية يمكن استخدامها لتحديد القيمة القصوى في عمود رقمي؟
Anonymous Quiz
89%
A) MAX()
4%
B) LARGEST() C) HIGHEST
2%
C) LARGEST() HIGHEST
5%
D) HIGHEST
👍2
ما هي الدالة التي تُستخدم لتحويل النص إلى حروف كبيرة في SQL؟
Anonymous Quiz
65%
A) UPPER()
15%
B) TO_UPPER()
21%
C)CAPITALIZE()
ما هي الدالة المستخدمة لحساب مجموع القيم في عمود معين؟
Anonymous Quiz
6%
A) ADD
12%
B) TOTAL()
78%
C) SUM()
4%
D) A and D
أي من الدوال التالية تُستخدم للحصول على التاريخ والوقت الحاليين في SQL؟
Anonymous Quiz
40%
A) CURRENT_DATE()
26%
B) NOW()
25%
C) GET_DATE
8%
D) ALL
👍1