Podcast
Questions and Answers
أي خاصية من خواص المؤشرات التالية تعطي عدد السجلات التي تم استرجاعها حتى الآن؟
أي خاصية من خواص المؤشرات التالية تعطي عدد السجلات التي تم استرجاعها حتى الآن؟
- FALSE
- %FOUND
- %ROWCOUNT (correct)
- %ISOPEN
متى يتم إنشاء المؤشرات الضمنية في لغة PL/SQL؟
متى يتم إنشاء المؤشرات الضمنية في لغة PL/SQL؟
- عند تعريف متغير جديد في البرنامج.
- عند الحاجة لتحديث البيانات فقط.
- عند استدعاء دالة معرفة من قبل المستخدم.
- تلقائيًا عند تنفيذ عبارة SQL تقوم باسترجاع مجموعة من الصفوف. (correct)
في أي الحالات التالية يكون استخدام المؤشرات هو الأنسب في PL/SQL؟
في أي الحالات التالية يكون استخدام المؤشرات هو الأنسب في PL/SQL؟
- عند طباعة رسالة على الشاشة.
- عند معالجة نتائج كبيرة من قاعدة البيانات صفًا بصف. (correct)
- عند القيام بعمليات حسابية بسيطة على متغيرات.
- عند تعريف ثابت جديد في البرنامج.
ما هي الكلمة المفتاحية المستخدمة لتعريف المؤشرات الصريحة في PL/SQL؟
ما هي الكلمة المفتاحية المستخدمة لتعريف المؤشرات الصريحة في PL/SQL؟
أي من العمليات التالية تعتبر من استخدامات المؤشرات في PL/SQL؟
أي من العمليات التالية تعتبر من استخدامات المؤشرات في PL/SQL؟
إذا كان المؤشر مفتوحًا، فما هي القيمة التي تعيدها الخاصية %ISOPEN
؟
إذا كان المؤشر مفتوحًا، فما هي القيمة التي تعيدها الخاصية %ISOPEN
؟
في سياق المؤشرات الضمنية، متى تكون الخاصية %FOUND
صحيحة (TRUE)؟
في سياق المؤشرات الضمنية، متى تكون الخاصية %FOUND
صحيحة (TRUE)؟
ما هي الميزة التي توفرها المؤشرات الصريحة مقارنة بالمؤشرات الضمنية في PL/SQL؟
ما هي الميزة التي توفرها المؤشرات الصريحة مقارنة بالمؤشرات الضمنية في PL/SQL؟
أي من الأسباب التالية تدعم استخدام المؤشرات في تحديث البيانات أثناء التمرير عليها؟
أي من الأسباب التالية تدعم استخدام المؤشرات في تحديث البيانات أثناء التمرير عليها؟
في أي الحالات التالية لا يمكن استخدام المؤشرات الضمنية؟
في أي الحالات التالية لا يمكن استخدام المؤشرات الضمنية؟
أيٌّ من الخيارات التالية يُمثل استخدامًا صحيحًا لـ ROWNUM
في استعلامات Oracle
؟
أيٌّ من الخيارات التالية يُمثل استخدامًا صحيحًا لـ ROWNUM
في استعلامات Oracle
؟
ما هو الغرض الرئيسي من استخدام الجملة الشرطية IF...ELSIF
في PL/SQL
؟
ما هو الغرض الرئيسي من استخدام الجملة الشرطية IF...ELSIF
في PL/SQL
؟
في جملة CASE
، متى يتم تنفيذ الأوامر الموجودة في القسم ELSE
؟
في جملة CASE
، متى يتم تنفيذ الأوامر الموجودة في القسم ELSE
؟
ماذا سيحدث إذا تم استرجاع جدول يحتوي على 25 صفًا، وطُلب استرجاع الصفوف التي تحقق الشرط ROWNUM < 10
؟
ماذا سيحدث إذا تم استرجاع جدول يحتوي على 25 صفًا، وطُلب استرجاع الصفوف التي تحقق الشرط ROWNUM < 10
؟
أي من العبارات التالية تصف بدقة وظيفة ROWID
في قاعدة بيانات Oracle
؟
أي من العبارات التالية تصف بدقة وظيفة ROWID
في قاعدة بيانات Oracle
؟
أي من العمليات التالية لا يعتبر استخدامًا صحيحًا للمؤشرات في PL/SQL؟
أي من العمليات التالية لا يعتبر استخدامًا صحيحًا للمؤشرات في PL/SQL؟
ما هو الغرض الأساسي من استخدام المؤشرات (Cursors) في PL/SQL؟
ما هو الغرض الأساسي من استخدام المؤشرات (Cursors) في PL/SQL؟
في سياق بنية المؤشر الأساسية، ما هي وظيفة الأمر FETCH
؟
في سياق بنية المؤشر الأساسية، ما هي وظيفة الأمر FETCH
؟
أي جزء من بنية المؤشر يتضمن تحديد الأعمدة التي ستتم استرجاعها من الاستعلام؟
أي جزء من بنية المؤشر يتضمن تحديد الأعمدة التي ستتم استرجاعها من الاستعلام؟
ماذا يعني DUP_VAL_ON_INDEX
في سياق معالجة الاستثناءات في PL/SQL؟
ماذا يعني DUP_VAL_ON_INDEX
في سياق معالجة الاستثناءات في PL/SQL؟
أي من سمات المؤشر التالية تُستخدم للتحقق من الوصول إلى نهاية مجموعة النتائج؟
أي من سمات المؤشر التالية تُستخدم للتحقق من الوصول إلى نهاية مجموعة النتائج؟
عند إنشاء إجراء PL/SQL لزيادة رواتب الموظفين، ما هي أفضل طريقة لضمان أن الزيادة تنعكس بشكل دائم في قاعدة البيانات؟
عند إنشاء إجراء PL/SQL لزيادة رواتب الموظفين، ما هي أفضل طريقة لضمان أن الزيادة تنعكس بشكل دائم في قاعدة البيانات؟
ماذا يحدث إذا حاولت تنفيذ إجراء PL/SQL لحذف موظف غير موجود في جدول الموظفين؟
ماذا يحدث إذا حاولت تنفيذ إجراء PL/SQL لحذف موظف غير موجود في جدول الموظفين؟
أي من العبارات التالية تصف بشكل أفضل الغرض من استخدام DBMS_OUTPUT.PUT_LINE
في كتلة كود PL/SQL المقدمة؟
أي من العبارات التالية تصف بشكل أفضل الغرض من استخدام DBMS_OUTPUT.PUT_LINE
في كتلة كود PL/SQL المقدمة؟
في سياق PL/SQL، ما هي وظيفة عامل المقارنة =>
؟
في سياق PL/SQL، ما هي وظيفة عامل المقارنة =>
؟
ماذا سيحدث إذا تم توفير قيمة غير صالحة لليوم كمدخل في كتلة كود PL/SQL المقدمة؟
ماذا سيحدث إذا تم توفير قيمة غير صالحة لليوم كمدخل في كتلة كود PL/SQL المقدمة؟
أي من عوامل المقارنة التالية غير مذكور على أنه يمكن استخدامه في PL/SQL؟
أي من عوامل المقارنة التالية غير مذكور على أنه يمكن استخدامه في PL/SQL؟
ما هي النتيجة المتوقعة لتنفيذ كتلة PL/SQL إذا كان إدخال اليوم هو 'الأحد'؟
ما هي النتيجة المتوقعة لتنفيذ كتلة PL/SQL إذا كان إدخال اليوم هو 'الأحد'؟
ما هو الغرض الأساسي من استخدام عبارة CASE
في كتلة PL/SQL المقدمة?
ما هو الغرض الأساسي من استخدام عبارة CASE
في كتلة PL/SQL المقدمة?
في PL/SQL، ما هو الدور الأكثر احتمالًا لعلامة /
في نهاية الكود?
في PL/SQL، ما هو الدور الأكثر احتمالًا لعلامة /
في نهاية الكود?
ما هي الطريقة الصحيحة للتحقق مما إذا كانت قيمة معينة 'غير متساوية' لقيمة أخرى في PL/SQL، بناءً على المشغلين المذكورين?
ما هي الطريقة الصحيحة للتحقق مما إذا كانت قيمة معينة 'غير متساوية' لقيمة أخرى في PL/SQL، بناءً على المشغلين المذكورين?
إذا لم يتم استيفاء أي من الشروط في عبارة CASE
، ماذا يحدث إذا لم يتم توفير فرع ELSE
?
إذا لم يتم استيفاء أي من الشروط في عبارة CASE
، ماذا يحدث إذا لم يتم توفير فرع ELSE
?
بافتراض أن وظيفة كتلة PL/SQL المقدمة هي التحقق من صلاحية أيام الأسبوع، فما هو التحسين الذي يمكن إجراؤه على الكود?
بافتراض أن وظيفة كتلة PL/SQL المقدمة هي التحقق من صلاحية أيام الأسبوع، فما هو التحسين الذي يمكن إجراؤه على الكود?
أي من الخيارات التالية ليست من بين فوائد استخدام الدوال في PL/SQL؟
أي من الخيارات التالية ليست من بين فوائد استخدام الدوال في PL/SQL؟
ما هي أنواع المعلمات التي يمكن استخدامها في الدوال في PL/SQL؟
ما هي أنواع المعلمات التي يمكن استخدامها في الدوال في PL/SQL؟
أي من العبارات التالية تصف بشكل صحيح كيفية استخدام الدوال في عبارات SQL؟
أي من العبارات التالية تصف بشكل صحيح كيفية استخدام الدوال في عبارات SQL؟
ماذا يعني مصطلح 'الدوال الزائدة التحميل' (Overloading) في سياق دوال PL/SQL؟
ماذا يعني مصطلح 'الدوال الزائدة التحميل' (Overloading) في سياق دوال PL/SQL؟
في مثال دالة is_employee_exists
، ما هو الغرض من استخدام %TYPE
عند تعريف p_employee_id
؟
في مثال دالة is_employee_exists
، ما هو الغرض من استخدام %TYPE
عند تعريف p_employee_id
؟
عند استدعاء دالة get_employee_name
، ماذا سيحدث إذا لم يتم العثور على موظف بالرقم 7369
؟
عند استدعاء دالة get_employee_name
، ماذا سيحدث إذا لم يتم العثور على موظف بالرقم 7369
؟
أي من العبارات التالية تصف الفرق الأساسي بين الدالة الإجرائية (Procedure) والدالة (Function) في PL/SQL؟
أي من العبارات التالية تصف الفرق الأساسي بين الدالة الإجرائية (Procedure) والدالة (Function) في PL/SQL؟
في مثال الدالة increase_salaries
، لماذا تم تعريفها كإجراء (Procedure) بدلاً من دالة (Function)؟
في مثال الدالة increase_salaries
، لماذا تم تعريفها كإجراء (Procedure) بدلاً من دالة (Function)؟
عند تعريف دالة لحساب متوسط رواتب الموظفين في قسم معين، ما هي أفضل طريقة للتعامل مع حالة عدم وجود موظفين في هذا القسم؟
عند تعريف دالة لحساب متوسط رواتب الموظفين في قسم معين، ما هي أفضل طريقة للتعامل مع حالة عدم وجود موظفين في هذا القسم؟
إذا كانت لديك دالة get_job_title
تأخذ job_id
كمدخل وترجع اسم الوظيفة، وتريد التأكد من أن نوع البيانات المُرجع يطابق نوع بيانات عمود job_title
في جدول jobs
، كيف يمكنك تحقيق ذلك؟
إذا كانت لديك دالة get_job_title
تأخذ job_id
كمدخل وترجع اسم الوظيفة، وتريد التأكد من أن نوع البيانات المُرجع يطابق نوع بيانات عمود job_title
في جدول jobs
، كيف يمكنك تحقيق ذلك؟
Flashcards
إجراء إضافة موظف
إجراء إضافة موظف
إجراء PL/SQL لإضافة موظف جديد إلى جدول الموظفين. يتضمن رقم الموظف، الاسم، الوظيفة، الراتب، المدير، تاريخ التعيين ورقم القسم.
إجراء حذف موظف
إجراء حذف موظف
إجراء PL/SQL لحذف سجل موظف من جدول الموظفين بناءً على رقم الموظف.
إجراء التحقق من وجود موظف
إجراء التحقق من وجود موظف
إجراء PL/SQL للتحقق ما إذا كان الموظف موجودًا في جدول الموظفين بناءً على رقم الموظف.
إجراء زيادة الرواتب
إجراء زيادة الرواتب
Signup and view all the flashcards
إجراء إيجاد أعلى راتب
إجراء إيجاد أعلى راتب
Signup and view all the flashcards
إجراء عرض جميع الموظفين
إجراء عرض جميع الموظفين
Signup and view all the flashcards
المؤشر (Cursor)
المؤشر (Cursor)
Signup and view all the flashcards
سمة المؤشر %NOTFOUND
سمة المؤشر %NOTFOUND
Signup and view all the flashcards
%FOUND
%FOUND
Signup and view all the flashcards
%ROWCOUNT
%ROWCOUNT
Signup and view all the flashcards
%ISOPEN
%ISOPEN
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
المؤشرات الضمنية
المؤشرات الضمنية
Signup and view all the flashcards
التحكم في المؤشرات الضمنية
التحكم في المؤشرات الضمنية
Signup and view all the flashcards
المؤشرات الصريحة
المؤشرات الصريحة
Signup and view all the flashcards
CASE statement
CASE statement
Signup and view all the flashcards
DBMS_OUTPUT.PUT_LINE
DBMS_OUTPUT.PUT_LINE
Signup and view all the flashcards
END
END
Signup and view all the flashcards
الفاصلة المنقوطة (;)
الفاصلة المنقوطة (;)
Signup and view all the flashcards
END CASE
END CASE
Signup and view all the flashcards
الرمز '/'
الرمز '/'
Signup and view all the flashcards
مشغلات المقارنة
مشغلات المقارنة
Signup and view all the flashcards
ELSE
ELSE
Signup and view all the flashcards
كتلة PL/SQL
كتلة PL/SQL
Signup and view all the flashcards
(!=)
(!=)
Signup and view all the flashcards
الإجراء (Procedure) في PL/SQL
الإجراء (Procedure) في PL/SQL
Signup and view all the flashcards
متى نستخدم الإجراءات؟
متى نستخدم الإجراءات؟
Signup and view all the flashcards
رأس (Header) الإجراء
رأس (Header) الإجراء
Signup and view all the flashcards
بدن (Body) الإجراء
بدن (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
Signup and view all the flashcards
معلمات الدوال
معلمات الدوال
Signup and view all the flashcards
التعامل مع الاستثناءات في الدوال
التعامل مع الاستثناءات في الدوال
Signup and view all the flashcards
ما هو ROWNUM؟
ما هو ROWNUM؟
Signup and view all the flashcards
لماذا نستخدم ROWNUM؟
لماذا نستخدم ROWNUM؟
Signup and view all the flashcards
الجملة الشرطية IF...ELSE
الجملة الشرطية IF...ELSE
Signup and view all the flashcards
الجملة الشرطية IF...ELSIF
الجملة الشرطية IF...ELSIF
Signup and view all the flashcards
الجملة الشرطية CASE
الجملة الشرطية 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.