PL/SQL المؤشرات: أسئلة وأجوبة

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

أي خاصية من خواص المؤشرات التالية تعطي عدد السجلات التي تم استرجاعها حتى الآن؟

  • FALSE
  • %FOUND
  • %ROWCOUNT (correct)
  • %ISOPEN

متى يتم إنشاء المؤشرات الضمنية في لغة PL/SQL؟

  • عند تعريف متغير جديد في البرنامج.
  • عند الحاجة لتحديث البيانات فقط.
  • عند استدعاء دالة معرفة من قبل المستخدم.
  • تلقائيًا عند تنفيذ عبارة SQL تقوم باسترجاع مجموعة من الصفوف. (correct)

في أي الحالات التالية يكون استخدام المؤشرات هو الأنسب في PL/SQL؟

  • عند طباعة رسالة على الشاشة.
  • عند معالجة نتائج كبيرة من قاعدة البيانات صفًا بصف. (correct)
  • عند القيام بعمليات حسابية بسيطة على متغيرات.
  • عند تعريف ثابت جديد في البرنامج.

ما هي الكلمة المفتاحية المستخدمة لتعريف المؤشرات الصريحة في PL/SQL؟

<p>CURSOR (A)</p> Signup and view all the answers

أي من العمليات التالية تعتبر من استخدامات المؤشرات في PL/SQL؟

<p>التحكم في سجلات البيانات ومعالجة كل سجل بشكل فردي. (D)</p> Signup and view all the answers

إذا كان المؤشر مفتوحًا، فما هي القيمة التي تعيدها الخاصية %ISOPEN؟

<p>TRUE (C)</p> Signup and view all the answers

في سياق المؤشرات الضمنية، متى تكون الخاصية %FOUND صحيحة (TRUE)؟

<p>إذا تم استرجاع أو تعديل سجل واحد على الأقل. (C)</p> Signup and view all the answers

ما هي الميزة التي توفرها المؤشرات الصريحة مقارنة بالمؤشرات الضمنية في PL/SQL؟

<p>تمنح المبرمج تحكمًا أكبر في معالجة البيانات. (D)</p> Signup and view all the answers

أي من الأسباب التالية تدعم استخدام المؤشرات في تحديث البيانات أثناء التمرير عليها؟

<p>لتنفيذ عمليات معقدة تتطلب معالجة متعددة المراحل للبيانات. (C)</p> Signup and view all the answers

في أي الحالات التالية لا يمكن استخدام المؤشرات الضمنية؟

<p>عند الحاجة إلى تحكم دقيق في كيفية استرجاع ومعالجة البيانات. (B)</p> Signup and view all the answers

أيٌّ من الخيارات التالية يُمثل استخدامًا صحيحًا لـ ROWNUM في استعلامات Oracle؟

<p>تحديد عدد معين من الصفوف التي تُراد استرجاعها من جدول. (D)</p> Signup and view all the answers

ما هو الغرض الرئيسي من استخدام الجملة الشرطية IF...ELSIF في PL/SQL؟

<p>فحص عدة شروط وتنفيذ الأوامر المرتبطة بأول شرط يتحقق. (B)</p> Signup and view all the answers

في جملة CASE، متى يتم تنفيذ الأوامر الموجودة في القسم ELSE؟

<p>عندما لا تتطابق القيمة مع أي من قيم <code>WHEN</code> المحددة. (A)</p> Signup and view all the answers

ماذا سيحدث إذا تم استرجاع جدول يحتوي على 25 صفًا، وطُلب استرجاع الصفوف التي تحقق الشرط ROWNUM < 10؟

<p>سيتم إرجاع أول 10 صفوف فقط. (D)</p> Signup and view all the answers

أي من العبارات التالية تصف بدقة وظيفة ROWID في قاعدة بيانات Oracle؟

<p>هو مؤشر فريد وثابت يحدد موقع صف معين في الجدول. (B)</p> Signup and view all the answers

أي من العمليات التالية لا يعتبر استخدامًا صحيحًا للمؤشرات في PL/SQL؟

<p>تخزين نسخة احتياطية من قاعدة البيانات. (B)</p> Signup and view all the answers

ما هو الغرض الأساسي من استخدام المؤشرات (Cursors) في PL/SQL؟

<p>الوصول إلى نتائج استعلام SQL بشكل صفي بدلاً من الحصول على النتيجة بأكملها دفعة واحدة. (C)</p> Signup and view all the answers

في سياق بنية المؤشر الأساسية، ما هي وظيفة الأمر FETCH؟

<p>جلب الصف الحالي من المؤشر وتخزين قيمه في المتغيرات. (B)</p> Signup and view all the answers

أي جزء من بنية المؤشر يتضمن تحديد الأعمدة التي ستتم استرجاعها من الاستعلام؟

<p>إعلان المؤشر (Cursor Declaration). (C)</p> Signup and view all the answers

ماذا يعني DUP_VAL_ON_INDEX في سياق معالجة الاستثناءات في PL/SQL؟

<p>محاولة إدخال رقم موظف موجود بالفعل. (A)</p> Signup and view all the answers

أي من سمات المؤشر التالية تُستخدم للتحقق من الوصول إلى نهاية مجموعة النتائج؟

<p>%NOTFOUND (B)</p> Signup and view all the answers

عند إنشاء إجراء PL/SQL لزيادة رواتب الموظفين، ما هي أفضل طريقة لضمان أن الزيادة تنعكس بشكل دائم في قاعدة البيانات؟

<p>استخدام الأمر <code>COMMIT</code> بعد التحديث. (D)</p> Signup and view all the answers

ماذا يحدث إذا حاولت تنفيذ إجراء PL/SQL لحذف موظف غير موجود في جدول الموظفين؟

<p>يتم تنفيذ الإجراء بنجاح ولكن لا يتم حذف أي سجلات. (D)</p> Signup and view all the answers

أي من العبارات التالية تصف بشكل أفضل الغرض من استخدام DBMS_OUTPUT.PUT_LINE في كتلة كود PL/SQL المقدمة؟

<p>لعرض رسالة خطأ محددة مسبقًا عندما يكون اليوم المُدخل غير صالح. (D)</p> Signup and view all the answers

في سياق PL/SQL، ما هي وظيفة عامل المقارنة =>؟

<p>يستخدم في المقارنة لمعرفة ما إذا كان الطرف الأيسر أكبر من أو يساوي الطرف الأيمن. (B)</p> Signup and view all the answers

ماذا سيحدث إذا تم توفير قيمة غير صالحة لليوم كمدخل في كتلة كود PL/SQL المقدمة؟

<p>سيتم عرض رسالة 'يوم غير صالح' باستخدام <code>DBMS_OUTPUT.PUT_LINE</code>. (B)</p> Signup and view all the answers

أي من عوامل المقارنة التالية غير مذكور على أنه يمكن استخدامه في PL/SQL؟

<p>&lt;&gt; (D)</p> Signup and view all the answers

ما هي النتيجة المتوقعة لتنفيذ كتلة PL/SQL إذا كان إدخال اليوم هو 'الأحد'؟

<p>سيعرض البرنامج قيمة مقابلة لـ 'الأحد'، على افتراض أن هناك حالة مقابلة له. (D)</p> Signup and view all the answers

ما هو الغرض الأساسي من استخدام عبارة CASE في كتلة PL/SQL المقدمة?

<p>لتحديد التدفق التنفيذي بناءً على قيمة اليوم المدخلة. (C)</p> Signup and view all the answers

في PL/SQL، ما هو الدور الأكثر احتمالًا لعلامة / في نهاية الكود?

<p>تقوم بتشغيل تشغيل كتلة PL/SQL في SQL*Plus. (A)</p> Signup and view all the answers

ما هي الطريقة الصحيحة للتحقق مما إذا كانت قيمة معينة 'غير متساوية' لقيمة أخرى في PL/SQL، بناءً على المشغلين المذكورين?

<p>!= (D)</p> Signup and view all the answers

إذا لم يتم استيفاء أي من الشروط في عبارة CASE، ماذا يحدث إذا لم يتم توفير فرع ELSE?

<p>سيتم طرح خطأ. (C)</p> Signup and view all the answers

بافتراض أن وظيفة كتلة PL/SQL المقدمة هي التحقق من صلاحية أيام الأسبوع، فما هو التحسين الذي يمكن إجراؤه على الكود?

<p>إضافة معالجة الأخطاء للتعامل مع أنواع الإدخال غير المتوقعة. (A)</p> Signup and view all the answers

Signup and view all the answers

أي من الخيارات التالية ليست من بين فوائد استخدام الدوال في ‪PL/SQL‬؟

<p>تقليل الحاجة إلى استخدام المعاملات الحسابية المعقدة. (D)</p> Signup and view all the answers

ما هي أنواع المعلمات التي يمكن استخدامها في الدوال في ‪PL/SQL‬؟

<p>إدخال (IN) أو إخراج (OUT) أو إدخال وإخراج (IN OUT). (B)</p> Signup and view all the answers

أي من العبارات التالية تصف بشكل صحيح كيفية استخدام الدوال في عبارات ‪SQL‬؟

<p>يمكن استخدام الدوال في عبارات ‪SQL‬ مثل عبارات ‪ WHERE‬و ‪ . (B)</p> Signup and view all the answers

ماذا يعني مصطلح 'الدوال الزائدة التحميل' (Overloading) في سياق دوال ‪PL/SQL‬؟

<p>تعريف أكثر من دالة بنفس الاسم ولكن بمعلمات مختلفة. (B)</p> Signup and view all the answers

في مثال دالة is_employee_exists، ما هو الغرض من استخدام %TYPE عند تعريف p_employee_id؟

<p>لضمان أن نوع بيانات المعامل يطابق نوع بيانات عمود <code>employee_id</code> في جدول <code>employees</code>. (D)</p> Signup and view all the answers

عند استدعاء دالة get_employee_name، ماذا سيحدث إذا لم يتم العثور على موظف بالرقم 7369؟

<p>ستطبع الدالة رسالة 'ال يوجد موظف بهذا الرقم' وترجع ‪ . (D)</p> Signup and view all the answers

أي من العبارات التالية تصف الفرق الأساسي بين الدالة الإجرائية (Procedure) والدالة (Function) في ‪PL/SQL‬؟

<p>الدالة يجب أن ترجع قيمة دائماً، بينما الدالة الإجرائية قد لا ترجع قيمة. (A)</p> Signup and view all the answers

في مثال الدالة increase_salaries، لماذا تم تعريفها كإجراء (Procedure) بدلاً من دالة (Function)؟

<p>لأنها تقوم بتعديل بيانات في الجدول ولا ترجع قيمة. (B)</p> Signup and view all the answers

عند تعريف دالة لحساب متوسط رواتب الموظفين في قسم معين، ما هي أفضل طريقة للتعامل مع حالة عدم وجود موظفين في هذا القسم؟

<p>طباعة رسالة خطأ وإرجاع القيمة ‪ . (B)</p> Signup and view all the answers

إذا كانت لديك دالة get_job_title تأخذ job_id كمدخل وترجع اسم الوظيفة، وتريد التأكد من أن نوع البيانات المُرجع يطابق نوع بيانات عمود job_title في جدول jobs، كيف يمكنك تحقيق ذلك؟

<p>باستخدام الكلمة المفتاحية <code>%TYPE</code>. (C)</p> Signup and view all the answers

Flashcards

إجراء إضافة موظف

إجراء PL/SQL لإضافة موظف جديد إلى جدول الموظفين. يتضمن رقم الموظف، الاسم، الوظيفة، الراتب، المدير، تاريخ التعيين ورقم القسم.

إجراء حذف موظف

إجراء PL/SQL لحذف سجل موظف من جدول الموظفين بناءً على رقم الموظف.

إجراء التحقق من وجود موظف

إجراء PL/SQL للتحقق ما إذا كان الموظف موجودًا في جدول الموظفين بناءً على رقم الموظف.

إجراء زيادة الرواتب

إجراء PL/SQL لزيادة رواتب جميع الموظفين بنسبة مئوية محددة.

Signup and view all the flashcards

إجراء إيجاد أعلى راتب

إجراء PL/SQL لإيجاد أعلى راتب في جدول الموظفين.

Signup and view all the flashcards

إجراء عرض جميع الموظفين

إجراء PL/SQL لعرض معلومات جميع الموظفين من جدول الموظفين، بما في ذلك رقم الموظف، الاسم، الوظيفة، المدير، تاريخ التعيين، الراتب، العمولة، ورقم القسم.

Signup and view all the flashcards

المؤشر (Cursor)

المؤشر هو منطقة تخزين مؤقتة في الذاكرة تستخدم لاحتواء نتيجة استعلام SQL يعيد أكثر من صف واحد, يسمح بمعالجة الصفوف صفًا صفًا.

Signup and view all the flashcards

سمة المؤشر %NOTFOUND

. تُستخدم للتحقق مما إذا تم الوصول إلى نهاية مجموعة النتائج لتعيد True خلاف ذلك تعيد False.

Signup and view all the flashcards

%FOUND

خاصية ترجع ‪ TRUE‬إذا تم العثور على سجل بواسطة المؤشر الأخير، و ‪ FALSE‬في حال عدم العثور عليه.

Signup and view all the flashcards

%ROWCOUNT

خاصية تعطي عدد السجلات التي تم استرجاعها حتى الآن بواسطة المؤشر.

Signup and view all the flashcards

%ISOPEN

خاصية تحدد ما إذا كان المؤشر مفتوحًا (‪ TRUE‬أو مغلقًا (‪.)FALSE‬‬

Signup and view all the flashcards

معالجة نتائج كبيرة

تستخدم لمعالجة كميات كبيرة من البيانات صفًا تلو الآخر.

Signup and view all the flashcards

التحكم في سجلات البيانات

تستخدم لمعالجة كل سجل على حدة واتخاذ قرارات بناءً على محتواه.

Signup and view all the flashcards

تحديث البيانات

تستخدم لتحديث البيانات أثناء التمرير على المؤشر.

Signup and view all the flashcards

العمليات المعقدة

تستخدم لتنفيذ عمليات معقدة تتطلب معالجة متعددة المراحل للبيانات.

Signup and view all the flashcards

المؤشرات الضمنية

يتم إنشاؤها تلقائيًا عند تنفيذ عبارات SQL مثل ‪ SELECT‬أو ‪ UPDATE‬أو ‪.DELETE‬‬

Signup and view all the flashcards

التحكم في المؤشرات الضمنية

لا يمكن التحكم بها مباشرة، ولكن يمكن استخدام خصائص مثل ‪ %ROWCOUNT‬و ‪ %FOUND‬للحصول على معلومات.

Signup and view all the flashcards

المؤشرات الصريحة

يتم تعريفها بشكل صريح في الكود باستخدام الكلمة المفتاحية ‪ CURSOR‬مما يمنحك تحكمًا أكبر.

Signup and view all the flashcards

CASE statement

كتلة تعليمات PL/SQL تنفذ بناءً على قيمة متغير.

Signup and view all the flashcards

DBMS_OUTPUT.PUT_LINE

عرض رسالة نصية أو قيمة متغير على الشاشة.

Signup and view all the flashcards

END

كلمة محجوزة في PL/SQL لإنهاء كتلة برمجية.

Signup and view all the flashcards

الفاصلة المنقوطة (;)

فاصلة منقوطة (;) تستخدم لإنهاء كل سطر أو أمر في PL/SQL.

Signup and view all the flashcards

END CASE

رمز يحدد نهاية كتلة CASE.

Signup and view all the flashcards

الرمز '/'

رمز لإخبار مترجم PL/SQL بتنفيذ الأمر.

Signup and view all the flashcards

مشغلات المقارنة

تستخدم للمقارنة بين قيمتين.

Signup and view all the flashcards

ELSE

يعني 'وإلا' أو 'في حالة عدم تحقق أي شرط آخر'.

Signup and view all the flashcards

كتلة PL/SQL

تستخدم لتحديد نطاق تنفيذ كتلة التعليمات.

Signup and view all the flashcards

(!=)

مثل (=!) تعني 'لا يساوي'.

Signup and view all the flashcards

الإجراء (Procedure) في ‪PL/SQL‬‬

كتلة من التعليمات البرمجية في ‪ PL/SQL‬تنفذ عند استدعائها لأتمتة المهام وتنفيذ عمليات معقدة.

Signup and view all the flashcards

متى نستخدم الإجراءات؟

تستخدم لأتمتة المهام المتكررة، وتنفيذ عمليات معقدة، وإعادة استخدام الكود، وتحسين القابلية للقراءة والصيانة.

Signup and view all the flashcards

رأس (Header) الإجراء

يحدد اسم الإجراء والمعلمات التي يأخذها.

Signup and view all the flashcards

بدن (Body) الإجراء

يحتوي على التعليمات البرمجية التي يتم تنفيذها عند استدعاء الإجراء.

Signup and view all the flashcards

الدوال في ‪PL/SQL‬‬

أداة قوية في ‪ PL/SQL‬تساعد في بناء تطبيقات قواعد البيانات بشكل أكثر كفاءة ومرونة.

Signup and view all the flashcards

استدعاء الدوال

يمكن للدالة أن تستدعي دوال أخرى.

Signup and view all the flashcards

الدوال داخل الحزم

يمكن تعريف الدوال داخل الحزم لتنظيم الكود بشكل أفضل.

Signup and view all the flashcards

استخدام الدوال في عبارات SQL

يمكن استخدام الدوال في عبارات ‪ SQL‬مثل عبارات ‪ WHERE‬و ‪.

Signup and view all the flashcards

معلمات الدوال

يمكن أن تكون إدخال (‪ )IN‬أو إخراج (‪ )OUT‬أو إدخال وإخراج (‪.)IN OUT‬‬

Signup and view all the flashcards

التعامل مع الاستثناءات في الدوال

يمكن التعامل معها داخل الدوال باستخدام الكلمات المفتاحية ‪ EXCEPTION‬و ‪.

Signup and view all the flashcards

ما هو ROWNUM؟

رقم تسلسلي يعين للصفوف عند استرجاعها من قاعدة بيانات Oracle. يبدأ من 1 ويزداد بـ 1 لكل صف.

Signup and view all the flashcards

لماذا نستخدم ROWNUM؟

يستخدم ROWNUM لتحديد عدد الصفوف المسترجعة من جدول.

Signup and view all the flashcards

الجملة الشرطية IF...ELSE

تستخدم لتنفيذ أوامر معينة إذا كان الشرط صحيحًا، وأوامر أخرى إذا كان الشرط خاطئًا.

Signup and view all the flashcards

الجملة الشرطية IF...ELSIF

تستخدم عندما يكون هناك أكثر من شرط يجب فحصه.

Signup and view all the flashcards

الجملة الشرطية CASE

تستخدم للتحقق من قيمة تعبير واحد مقابل قيم متعددة.

Signup and view all the flashcards

Study Notes

بالتأكيد! إليك بعض الملاحظات الدراسية الموجزة بناءً على النص المقدم:

ما هي لغة PL/SQL

  • PL/SQL هي لغة برمجة إجرائية متقدمة وامتداد Structured Query Language، طورتها Oracle.
  • تتيح PL/SQL إنشاء برامج أكثر تعقيدًا داخل قواعد البيانات العلائقية.

سبب استخدام PL/SQL

  • التحكم في المعاملات من خلال تجميع عدة أوامر SQL في وحدة واحدة (بلوك).
  • إجراء عمليات حسابية معقدة واتخاذ قرارات بناءً على النتائج.
  • تخصيص قاعدة البيانات بإنشاء إجراءات مخزنة (stored procedures) ودوال (functions) لأداء مهام محددة وزيادة الكفاءة.
  • التفاعل مع المستخدم بإنشاء واجهات مستخدم بسيطة.
  • دعم بعض مفاهيم البرمجة الشيئية، مما يجعلها لغة أكثر مرونة وقوة.

ميزات PL/SQL

  • لغة إجرائية توفر هياكل إجرائية مثل الحلقات والشروط والدوال.
  • تكامل SQL تضمين أوامر SQL مباشرة داخل برامج PL/SQL، مما يسهل استرجاع وتحديث البيانات.
  • أمان البيانات توفر PL/SQL آليات أمان مدمجة لحماية البيانات وضمان سلامتها.
  • أدوات تطوير متكاملة Oracle توفر أدوات تطوير متقدمة لكتابة واختبار وتصحيح برامج PL/SQL.
  • أداء محسن يمكن تحسين أداء الاستعلامات والبرامج باستخدام PL/SQL من خلال تنفيذها داخل قاعدة البيانات.

مكونات أساسية في PL/SQL

  • الكتلة (Block): الوحدة الأساسية للبرنامج، تتكون من قسم الإعلان، التنفيذ، والاستثناءات.
  • المتغيرات والثوابت: تستخدم لتخزين القيم مؤقتًا خلال تنفيذ البرنامج.
  • أنواع البيانات: تدعم PL/SQL مجموعة متنوعة من أنواع البيانات، مثل الأعداد، النصوص، والتاريخ.
  • العمليات الحسابية: يمكن إجراء عمليات حسابية أساسية مثل الجمع، الطرح، الضرب، والقسمة.
  • الجمل الشرطية: تستخدم لاتخاذ قرارات بناءً على شروط معينة (مثل IF-THEN-ELSE).
  • الحلقات: تستخدم لتكرار مجموعة من الأوامر عدة مرات (مثل WHILE loop ،FOR loop).
  • الإجراءات والمهام: هي برامج مخزنة يمكن استدعاؤها من أي مكان في قاعدة البيانات.
  • الدوال: هي برامج مخزنة تعيد قيمة واحدة.

أمثلة على استخدام PL/SQL

  • التحقق من صحة البيانات المدخلة قبل حفظها في قاعدة البيانات.
  • إنشاء تقارير مخصصة تجمع البيانات من مصادر مختلفة.
  • أتمتة المهام المتكررة، مثل إرسال رسائل بريد إلكتروني أو تحديث البيانات بشكل دوري.
  • تحسين أداء قاعدة البيانات بكتابة كود أكثر كفاءة.

لماذا تتعلم PL/SQL

  • الاستفادة الكاملة من قدرات قاعدة بيانات Oracle، وتحسين أداء التطبيقات، وتخصيص قاعدة البيانات حسب الاحتياجات.

أمثلة على استخدام PL/SQL

  • كتابة إجراءات مخزنة لتنفيذ مهام محددة داخل قاعدة البيانات.
  • إنشاء وتنفيذ استعلامات معقدة تتضمن التحكم في التدفق والشروط.
  • تطوير تطبيقات ويب متكاملة تعتمد على قواعد البيانات.

أساسيات PL/SQL

  • الكتل: الوحدة الأساسية في PL/SQL، تتكون من جمل تهيئة، جمل تنفيذ، وجمل معالجة الاستثناءات.
  • جمل تهيئة (declarations): لتعريف المتغيرات.
  • جمل التنفيذ (execution): التعليمات البرمجية التي يتم تنفيذها.
  • جمل المعالجة الاستثنائية (exception handling): للتعامل مع الأخطاء.

طريقة مختصرة

  • الإجراءات والوظائف: يتم إنشاؤها لإعادة استخدام الأكواد وتنفيذ العمليات المعقدة.

شروط تسمية المتغيرات في PL/SQL

  • يجب أن تبدأ أسماء المتغيرات بحرف.
  • يمكن أن تتكون أسماء المتغيرات من حروف (كبيرة وصغيرة)، أرقام، وشرطة سفلية (_).
  • يجب أن لا تحتوي أسماء المتغيرات على أي رموز خاصة مثل @ وغيرها.
  • يجب أن تكون أسماء المتغيرات فريدة داخل نطاق البرنامج

أنواع البيانات في PL/SQL

  • رقمي (Numeric):
    • NUMBER: لتخزين الأعداد الصحيحة والعشرية، مع تحديد الدقة والتسوية.
    • INTEGER: لتخزين الأعداد الصحيحة فقط.
    • BINARY_INTEGER: لتخزين الأعداد الصحيحة الثنائية.
  • نصي Character): )
    • VARCHAR2: لتخزين سلسلة أحرف ذات طول محدد.
    • CHAR: لتخزين سلسلة أحرف ذات طول ثابت.
    • CLOB: لتخزين نصوص كبيرة الحجم.
  • تاريخ ووقت (Date and Time):
    • DATE: لتخزين التاريخ والوقت.
  • منطقي (Boolean):
    • BOOLEAN: لتخزين قيم منطقية (صحيح أو خطأ).
  • كائنات كبيرة (LARGE OBJECT (LOB
    • BLOB: لتخزين بيانات ثنائية كبيرة الحجم (مثل الصور والصوت).
    • BFILE: لتخزين مسار ملف موجود خارج قاعدة البيانات.

ROWNUM و ROWID

  • ROWID هو معرف فريد للصف في قاعدة البيانات يشير إلى موقعه الفعلي.
  • ROWNUM هو رقم تسلسلي مؤقت يعين للصفوف عند استرجاعها من Oracle.

إعطاء قيم للمتغيرات في PL/SQL

  • إما عند الإعلان عن المتغير أو في أي مكان آخر داخل الكود.

التعامل مع الثوابت في PL/SQL

  • الثابت قيمة لا يمكن تغييرها بعد تعريفها، وتستخدم لتمثيل قيم ثابتة.

الفرق بين المتغيرات والثوابت

  • المتغيرات يمكن تغيير قيمتها خلال تنفيذ الكود، بينما الثوابت قيمها ثابتة ولا يمكن تغييرها.
  • أهمية استخدام الثوابت تكمن في تحسين قابلية القراءة، منع الأخطاء، وزيادة الأداء.

أنواع الجمل الشرطية في PL/SQL

  • IF بسيطة: لاتخاذ قرار بناءً على شرط واحد.
  • IF...ELSE: لتنفيذ مجموعة أوامر إذا كان الشرط صحيحًا ومجموعة أخرى إذا كان الشرط خاطئًا.
  • IF...ELSIF: عندما يكون هناك أكثر من شرط يجب فحصه.
  • CASE: للتحقق من قيمة تعبير واحد مقابل قيم متعددة.

جمل الدوران في PL/SQL

  • FOR: تستخدم عندما نعرف مسبقًا عدد مرات التكرار.
  • WHILE: تستخدم عندما نريد تكرار مجموعة من الأوامر طالما أن شرطًا معينًا صحيحًا.
  • LOOP: حلقة عامة يمكن استخدامها لإنشاء أي نوع من التكرار، مع استخدام EXIT أو EXIT WHEN لإنهاء الحلقة.
  • FOR LOOP REVERSE: لتنفيذ حلقة FOR بترتيب تنازلي.

الوحدات البرمجية في PL/SQL

  • الوحدات البرمجية هي اللبنات الأساسية لبناء التطبيقات، وتنقسم إلى:
    • الوحدات البرمجية غير المسماة (Anonymous Blocks): كتل من الكود لا تحمل اسمًا محددًا وتُنفذ بشكل مباشر.
    • الوحدات البرمجية المسماة: كتل من الكود تحمل اسمًا محددًا ويمكن استدعاؤها من أي مكان في البرنامج. تشمل الإجراءات (Procedures) والدوال (Functions) والحزم (Packages).
    • الإجراءات (Procedures): لا ترجع قيمة.
    • الدوال (Functions): ترجع قيمة واحدة.
    • الحزم (Packages): مجموعة من الإجراءات والدوال والأنواع والمتغيرات ذات الصلة.

متى تستخدم كل نوع؟

  • الوحدات غير المسماة: للاختبارات السريعة والبسيطة، ولمهام لا تتكرر، وعندما لا تحتاج إلى إعادة استخدام الكود.
  • الوحدات المسماة: لإعادة استخدام الكود، لتنظيم الكود الكبير، لإنشاء واجهات برمجية (APIs)، وللتعامل مع الأخطاء والاستثناءات.

الاختلافات الرئيسية بين الوحدات المسماة وغير المسماة

  • الاسم: الوحدات المسماة تحمل اسم ، وغير المسماة لا تحمل اسم محدد.
  • إعادة الاستخدام: يمكن إعادة استخدام الوحدات المسماة، بينما الوحدات غير المسماة لا يمكن إعادة استخدامها مباشرة.
  • المعلمات: تدعم الوحدات المسماة المعلمات، بينما لا تدعمها الوحدات غير المسماة.
  • الاستثناءات: يمكن التعامل مع الاستثناءات في كلا النوعين، ولكن بشكل أكثر تنظيما في الوحدات المسماة.
  • التنظيم: الوحدات المسماة أكثر تنظيما من الوحدات غير المسماة.

الوحدات البرمجية المسماه (Packages)

  • هي مجموعة من الإجراءات، الدوال، المتغيرات، الأنواع، والاستثناءات التي يتم تجميعها في وحدة واحدة، وتوفر إعادة الاستخدام، التنظيم، والتغليف (Encapsulation).

الاجراءات (Procedures)

  • هي مجموعة من الأوامر التي تقوم بتنفيذ مهمة معينة، ولا تقوم بإرجاع قيمة.
  • يتم استخدامها لتنفيذ مجموعة من العمليات.

الدوال (Functions)

  • تشبه الإجراءات ولكنها تقوم بإرجاع قيمة من نوع معين، وتستخدم في الحسابات والتعبير عن قيم

الأنواع (Types)

  • تسمح بإنشاء أنواع بيانات مخصصة، وتستخدم لتمثيل هياكل بيانات معقدة.

المؤشرات (Cursors)

  • تسمح بالوصول إلى البيانات في جدول بشكل صف بصف، وتستخدم للتحكم في تنفيذ الأوامر SQL

الاستثناءات (Exceptions)

  • تستخدم للتعامل مع الأخطاء غير المتوقعة التي قد تحدث أثناء تنفيذ الكود، وتضمن استمرارية عمل التطبيق عند حدوث أخطاء.

القادحات (Triggers)

  • هي إجراءات أو دوال يتم تنفيذها تلقائيًا استجابة لحدث معين في قاعدة البيانات، وتستخدم لتنفيذ عمليات تلقائية عند حدوث تغييرات في البيانات.

لماذا تستخدم الوحدات البرمجية في أوراكل؟

  • لإعادة الاستخدام ، لتنظيم الكود ، للأمان والكفاءة وتقليل تكرار التعليمات البرمجية.

أهمية الدوال وإستخداماتها:

  • الدوال هي أداة قوية في PL/SQL تساعد في بناء تطبيقات قواعد البيانات بشكل أكثر كفاءة ومرونة.
  • من خلال فهم مفهوم الدوال واستخدامها بشكل صحيح، يمكنك كتابة كود أكثر قابلية للقراءة والصيانة وإعادة الاستخدام.

المؤشرات

  • في Oracle هي منطقة تخزين مؤقتة في الذاكرة يتم استخدامها لاحتواء نتيجة استعلام SQL الذي يعيد أكثر من صف واحد.

أنواع المؤشرات في PL/SQL

  • المؤشرات الضمنية (Implicit Cursors): يتم إنشاؤها تلقائيًا عند تنفيذ أي عبارة SQL تقوم باسترجاع مجموعة من الصفوف، مثل SELECT، DELETEUPDATE.
  • المؤشرات الصريحة (Explicit Cursors):

أهمية إستخدام الحزم (packages)

  • لتنظيم الكود: تجعل الكود أكثر قابلية للقراءة والصيانة.
  • لإعادة الاستخدام: يمكن إعادة استخدام العناصر الموجودة داخل الحزمة في تطبيقات مختلفة.
  • للأمن: يمكن التحكم في الوصول إلى العناصر الموجودة داخل الحزمة.
  • الأداء: يمكن تحسين أداء التطبيقات عن طريق تخزين الحزم في الذاكرة التخزينية.

آمل أن تكون هذه الملاحظات مفيدة لدراستك! إذا كان لديك أي أسئلة أخرى ، فلا تتردد في طرحها.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

PDF: PL/SQL Programming Guide

More Like This

Sintaxis de cursores en PL/SQL
10 questions
PL/SQL Cursor Example
5 questions

PL/SQL Cursor Example

AdventurousSydneyOperaHouse avatar
AdventurousSydneyOperaHouse
Data Manipulation in PL/SQL
32 questions

Data Manipulation in PL/SQL

AmbitiousArtDeco9834 avatar
AmbitiousArtDeco9834
PL/SQL Cursor FOR LOOP
16 questions

PL/SQL Cursor FOR LOOP

HeroicCornflower avatar
HeroicCornflower
Use Quizgecko on...
Browser
Browser