بنية استعلامات و11
شار عادة إلى استعلام بتعبير الاستعلام وهو يتف من توليفة من تراكيب الاستعلام التي تحدد مصدر الببانات ومتغبرات
التكرار الخاسة بالاستحلام كما يمكنه أن يتضمن تعليمات من أجل الفرز أو النصفية أو التجميع أو الضم أو الحساب لبتم تطبيقها على
البيافات المصدرية وصيغتها تكون مشلهة لصيغة ال 501 ولهذا ستجد أن معظم الصيغة مألوفة.
بمتغيرات المجال أو متغيرات التكرار وقسم (08ع مطلوب من أجل الاستعلام إلا فى استعلامات اللجميع .888365816 حيت يكون قسم
00م فيها اختياري وبعد تعريف مجال ومصدر الاستعلام في قسم (00مع أو في قسم ع6834:ععم يمكنك تضمين أي تركبب من أقسام
الاستحلام. ضئلا الاستحلام الثالى يحدد مصدر مجموعة من بيانات الزبلان بالمتغير 00156000865 ومتغير التكرار 56لا
لع عن م2 عاقيا سمط 2 وعلد وغ عع سدم
عمة الاروصة ترم . اعلا 521666
وهذا المتال بشكل امتحلام مغبول بذات نفسه ومع ذلك بصبح الاستحلام أفوى عندما تضيف أقسام استحلام أخرى لتحديد النتائج فمئلا بمكر]:
إضافة قسم عم10/0:6 لنصفية النتائج إلى قيمة أو أكثر وتكون تعابير الاستعلام عبارة عن سطر واحد من الكود بحيت يمكتك إضافة أقسام
استعلام جديدة لنهاية الاستحلام كما يمكنك فصل الاستعلام إلى عدة أسطر أتحسين قراءة كودك باستخدام المحرف _ ويمثل الكود الثالى
استعلاما يستخدم قسم ع10/1062
قدلا" 2 لصيف .عفن عععطاط
ويمتل قسم 561664 قسم قوي آخر في الاستحلام حيت يمكتك من إعادة الحقول المختارة فقط من مصندر البيانات وتعيد استعلامات وونا
مجموعة تعدانية من الأغراض القوية النوع كما يمكنها إعادة أنواح مجهولة أو أنواع معروفة. ويمكن استخدام قم 98/666 للعودة بحظك
واحد فط من مصدر البيانات وعندما تفصل هذا يكون نوع المجموعة المعادة هو نوع بيانات ذلك الحغل. وعندما يعيد قسم 58868 مجموعة
من الحقول من مصدر البيانات تكون المجموعة المعادة من النوع المجهول ويمكنك مطاغة الحقول المعادة من الاستعلام مع حقول من نوع
معروف محدد ويظهر الكود التالى تحيير استحلام بعيد مجموعة نوعها مجهول تضم أركاما مع بيانات من الحفل المحدد من مصدر البيانات
عم طعي 2 عاقيا سمط 2 وعلسوعة رعس سدم
يمكن استخدام استتلامات 11089 لدمج عدة مصادر من البيانات فى نتيجة واحدة حيث يمكن عمل هذا باستخدام قسم ورو9ع واخد أو أكثر أ
باستخدام أقسام 1010 أو 1010 6/00 ويظهر الكود النالى تعبير امتعلام يضم بيانات .605400088 و 02082 ويعبد مجموعة من نوع
مجهول تحنوي بيانات من 005500186 د 070812
يمكنتك استخدام قسم 1010 من00م6 لبناء استعلاماث شجرية تحنوي مجموعة من أغراض 605400062 وكل غرض 005600062 بمثئلك
نية تحتوي مجموعة تتضمن جميع أغراض م08م0 لذلك الزبون. ويظهر المثال التالى تعبير استعلام يدمج بيانات 60580066 و
+008 كشيجة شجرية ويعيد مجموعة من نوع مجهول وبعيد الاستحلام نوعا ينضمن الخاصبة 005400062030865 تحنوي على مجموعة
معاملات استعلام ودرث1 - 0061781015 بوتعيسو 11119 عثقة2 1021لا
تشين التكلك في امحل 9/6108 والمجالات التي تدعم و10 طرائق يمكنك استدعاؤها لإنشاء الاستحلامات وتوليها
بحسب حاجة التطبيق ويُضمن فبجول بايزيك كلمات منتاحية لأقسام الاستحلام الشائحة.
يجب أن بيدا الاستعلام يقسم (000ع أو 88866808 ويحدد قسم 1000 المجموعة المصدر أو متغير الفكرار للاستعلام
. "جلا" م لقنو عد 568 '
ولمعي ع1 اعلا سوعط 2 عفد سدم
عسااروعة رمم افده 56166
سمل 5166
اختباري يحدد مجموعة من متغيرات التكرار للاستعلام
اطعقء عم علوم ه12 اقصة عسقط توصق ترسو عط باع ١
قلعم طعا 12 عاقيا سمط 2 قوفي اط
ءاقبا عه الوم ةرسم . عن 521666
و إن لم يكن قسم 561864 موجودا فى الاستعلام فتتلف متغيرات التكرار للاستعلام من تلك المحددة فى قسم 6000م أو 8868168816
اختباري ويحدد شرط التصعية للاستعلام
"مع و8602" - لعموعطه .عه ماعطلا
7 عسدال ممعم 56160
اختباري ويحدد ترتيب العرز للأعمدة في الاستحلام
مقوعه ومتفمعءقفة '
اختباري ويدمج مجموعنين ضمن مجموعة واحدة
اختباري ويجمع مجموعتين ضمن مجموعة شجرية واحدة
عسمل نمع و8
يجب بدء الاستسلام دوما إما يضم (000ع أو قسم 886368916 وقسم 060166016 يطبق واحدة أو أكثر من وظائف التجميع على المجموعة
فمئلا يمكن استخدام قسم 88876248 لحساب مجموع جميع العتاسير المعادة بالاستعلام
كما يمكنك استخدام قسم 8668066 لتعديل الاستحلام فمتلا يمكن استخدام قسم 68/66366م لإجراء عملية حسالية على مجموعة استعلام
عو عمل افمة سقط له رم عع ان عط ماع ١
عل عمال ,عم عه ترسف عاقيا 5216
اختياري ويقوم بحساب قيمة ويضحها في متغير جديد
عمد مععلة المع عم مع ١
سمل عستائةط
اختياري وهو يضيط القيم المعادة من الاستعلام بحيث لا بجلب فيما مكررة
معد ععومقانية قد عدم وعتعدم اه عافثل اه فمعتاعع ١
عاقيا 1 سعد معط - وعتعده سدم
03 . علس اعلا 52166
ععسماك متاق
عه سافنا ومتمتقع عط قصة لععممول عه '
عم طعي 1 عقن سمط 2 مواقي سدم
اختياري يتجاوز عتاسير المجموعة طلما ب
ة الشرط 7008 ثم يعيد باقي العناصر
سمل غطة7
اختباري ويعيد عددا من المتلسر المتجاورة في بداية المجموعة
وعسماقي 10 ودع عط فصاع ١
وعمس ععيا 18 عاقيا سمط 2 عاقلباعسمافي سلط
اختياري يقوم بتضمين عناسير المجموعة طالما قيمة الشرط ع7 ويتجاهل بقية العناصر
عسو عي م1 عاقيا سمط جوع مط داه ععمافي لط
_ ومذفف م22 عصتام . وعقفعة . عاقيا برق عع
كما يمكنك استخدام خصائص إضافية لاستحلام 1109 باستدعاء عناصر المجموعات والأنواع المستعلم عنها التي يوفرها 14809 حبت يمكنك
استخدام هذه الإمكاتيات الإضافية باستدعاء معامل استعلام على نتيجة الاستعلام فتلا الكود الثالي يستخدم الطريقة 00600 لدمج نائج
استعلامين في تنيجة استعلام واحدة ويستخدم الطريقة (©701151)750086 لإعادة نائج الاستحلام كقالمة
الامسماعية عم ا عدا عم )١ ولمعي للقاعة «متطعميه متلطيع
عاسم في مدع وعسمة ص1 عاقيا سمط 2 1 فعس عقي سدم
اوعس ع قناع ل مذ قم عمد به عاقناء سمط 2 2وععه افيا سلط
مواضيع متعلقة بتقنية ,13 لابد من الإطلاع عليها
الاستدلال المحلي على النوع 1716:6116 17106 10681
يستخدم المترجم فى فيجول بايزيك 8 الاستدلال على النوع ©ع1066260 71/08 لتحديد نوع المتغيرات المحلية النى ثم
التصريح عنها ندون استخدام فقرة وم فى تير التصريج حيت يستدل المترجم على نوع المتغير من نوع التحير الذي يضبط قيمة ذلك
المتغير مما يوفر إمكلية تحريف المنيرات بدون تحديد نوعها كما في المتل التالى
)١ علرسماطممععمد طيه متتطوع
ولا يمكن استخدام الاستدلال على النوع عند تحريف الحقول في الفئة كاماع1ع 1255© فإن كان 001002 في المثال السابق حفلا في فئة بدلا عن
كونه متغيرا محلا فسوف بولد التصريح خطأ إنا كان . 00 500664 004100 وسوف بصنف 00002 على أنه غرض 06864 إن كان
كان 08 58066 1100م0 فنوع المنغير السلكن سيكون عرض 86ر06 فإن لم تكن تريد من المتغير 000002 فى المثثل السابق أن يكون من
النوع 1018886 فيمكنك تحديد نوعا آخر عند التصريح عنه
3- عاطنام0 كم قصيام
والكود الذي يستخدم استدلال النوع بشلبه الكود الذي يعتمد على الربط المتأخر 810005 1888 الذي سيكون نوعه معروفا فط في زمن
التشغيل. ومعرفة النوع بشكل مبكر يمكن المترجم من تحديد المشاكل قبل التنفيذ وحجز الذاكرة بدقة وإجراء عمليات التحسين الأخرى
بالإضافة إلى تمكين بيئة التطوير من تزويد المبرمج ب 1018115058 والمساعدة حول أعضاء ذلك الغرض بالإضافة إلى تفضيله لاعتبارات
خلسة بالأداء بسبب أن جميع البياتات الثى تخزن باستخدام الربط المتأخر بحب تتليغها وكأنها من النوع 08868 والوصول إلى الأعضاء
في زمن التشغيل سيكون أبطأ.
يحدث الاستدلال على النوع عندما يتم التصريح عن المتغير بدون استخدام فقرة . 85 في تعيير التصريح وضبط قيمة لذلك المتغير فيستخدم
المترجم نوع ذلك القيمة كنوع للمتغير فمتلذ سطور الكود التالية تحرف متغيرا من النوع ج5410
معد تعمد عتوع 8م وهتولا ١
ويستعرض الكود التالي طريان متكلطكان لإنشاء مصفوفة من النوع +6ع1088
لق م820 9 11 182 42 ١ وعد معلا جوع طه العم مسلط
كما يمكنك استخدام الاستدلال على النوع لتحديد نوع متغير التحكم لحلفة تكرارية فى الكود التالي سيتعرف المترجم على .تام دنه من
النوع :8ع1048 لأن 500708010100652 عبارة عن مصفوفة :104668
ويستخدم الاستدلال على النوع في العبارة ج510 أيضا لتحديد نوع اسم المصدر كما هو واضح فى المتال الثالي
ع عه معط . عله مموقدة لمطععر5 بعلا ج ممعي وصتعلا
وستدلا فط
ويستدل على نوع المتغير من الغيمة المعادة من الإحراء أيضا كما هو ظاهر شى الكود التالى حيث يكون 1441م و 1562م عبارة عن اونا
وقد قدم فيجول بايزبك 2008 خبارا جديدا هو 10686 004100 بمكنك من تحديد إنا كان الاستدلال المحلى على النوع مسموحا أم لا في ملف
معين. ظتمكين أو تعطيل خبار الاستدلال على النوع اكئب التحبير المناسب من السطرين التاليين في بدابة الملف
يه عصعد1 «مدعورة
كه ص1 «مدعارة
وإن لم تشم بتحديد قيمة للخبار 10882 000100 فى الكود فلمترجم ميستخدم الخبار الافراضي 00 10682 000100 من أجل المشاريع اللي
ثم إنشازها في 2008 82616 ادناا/ا والخبار 08 10622 0100م0 من أجل المشاريع الني تمت ترفيتها من إصدارات سلبقة. وإن تضاريت
قيمة الخبار 10686 000100 في الملف مع الغيمة المضبوطة في خيارات بيئة التطوير أو في سطر الأوامر فسوف بتم استخدام القيمة
الموجودة في الملف.
وستخدم الاستدلال على النوع ففط في المتغيرات الغير ساكتة ©00-51841ل1 ولا يمكن استخدامها في تحريف حقول الفئة 5ماع1ع 61855 أو
الأدواع المجهولة 1/065 81101771110115
يعم فبجول متوديو 2008 الأنواع المجهولة 0/085 2000170005 والني تمكنك من إنشاء الأغراض 06[8645 يدون كتابة
تحريف فئة 088018100 855ا6 من أجل نوع البيانات وعوضا عن ذلك يولد المترجم الفئة من أجلك ولن بكون للفئة اسما لان للاستخدام
حيت تكون هذه الفثات موروتة مباشرة من 0686 وتمتلك الخصائص التى تحددها عند تعريف الغرض 0086 ونما أن نوع البيانات لم
يتم تحديده بيثم الإشارة إليه على أنه نوع مجهول 1/08 05ا3800017/00. حيت يصرح المثتل التالى عن المتغبر 00061مم كمتغير من النوع
علا 200011000115 ممتلكا الخاسيتين 11206 و 01162
حيت يستخدم تير الاستعلام التالى الأنواع المجهولة لدمج أعمدة البيانات المحددة بواسطة الاستعلام ويما أنه لا يمكتك تحديد نوع النتيجة
مضما يسبب عدم إمكانية التنبئ بالأعمدة التي يمكن أن بختارها استعلام معين فتمكنك الأنواع المجهولة من كتابة استحلام بكار عدد من
الأعمدة بأي ترتيب نريده فيقوم المترجم بإنشاء نوع البيانات الممائل لتلك الخصائص المحددة بذلك الترئبب المعين. وفي المتال النالى بكون
05 عبارة عن من أغراض 6عن0200 وكل منها يمتلك خصائص عديدة بحيث يحمل المتغير /0080ع0201801316 تعريف
الاستعلام الذي يعيد عند تنفيذه مجموعة من الأنواع المجهولة التي تمئلك الخاسيتين 019008 و 0166
1006م 10 فم فاع 2 لمغناطع 02100116 0100
والمتخير /0ع/02018002018(/00 بحمل تعريف الاستعلام الذي بعيد عند تنفيذه مجموعة من الأنواع المجهولة التي تمتلك خلسيتين
0م 072 2ا عام 5666
تعريف ترع مجهرل عتو7 كب م تيدم صقهد يمصمك
تعريف متغير من نوع مجهول يستخدم قالمة بناء لتحديد خصائص ذلك النوع بحيث يمكنك تحديد هذه الخصلاص فط عند الإعلان
عن النوع المجهول ولا يمكن استخدام بقية عتلسير الفئات متل الطرائق والأحدات فى الأنواع المجهولة فى المل التالى يكون 81080641
من نوع مجهول يمثلك خلسيثين 012006 و 1168
(1.29 2 غ116 برغا ,"مال ممعم" - عملا (66) طثألاا بيعلا - 0002م 0ط
فإن قمت بتحديد الخصائص كخصائص مطاحية 0600804165 لعا أصبح بإمكتك استخدامها لمقارئة نوعين مجهولين هل هما متساويين أم
لا ومع ذلك فقيم الخصائص المنتاحية لا يمكن تغييرها فهي للقراءة فضل مع ملاحظة أن النصريج عن نوع مجهول يمائل التصريج عن نوع
مسمى باستخدام بتي الغرض مع10812112 م عزظاه.
عنقم عصعه ككقاك ع آه ععمفافط مه كا لتمنعميم عاطواولا
م ,"كمال تعمهم " - عصعا1) طلالنا لمنفم0ط سعلا 2 0003م 1ط
الخصائص المفتاحية 5ع8711 2100 1467
تختلف الخصائص المنتاحية عن العادية بعدة أمور
تستخدم الخصائص المطاحية فصل لمقارثة المساواة بين نوعين مجهولين
لا يمكن تغيير قيم الخصائص المقاحية فهي دائما للقراءة فل
ا فل الخصلئص المفتاحية يتم تضمينها ضمن ال 6008 4258م الذي يولده المترجم من أجل الأنواع المجهولة
المساواة /واتتهيو15
تكون متغيرات الأنواع المجهولة متساء
عندما تكون متغيرات أنفس النوع المجهول ويقوم الممالج بمعاملة
م تم التصريج عنهما في نفس المجمع
اه تملك خصاصهما نفس الاسم والنوع وثم التصريج عنها ينف الترتيب وتكون مغارثة الأسماء غير حساسة لحالة الأحرف
واللصريح جن تدع مسهول ]التي لا بمتافزأي للسية مكاادية يكون يسباووا قي فم
((2ف 6 0م) كاف 01.69 ماع مناء10/1: 6005012
مغك م1 انوع كا تعميم #كن معط ع700 كبر امكتك أصة ممعثماك ع متسمااه؟ 1706
وتكون قيمة متغيرين لنس النوع المجهول متساوبين إذا كانت قيمة خصائصهما المتاحية متساوية كما فى المثال التالى الذي يوضح كبغية
فحص هذه المساواة
اقننوء عي2 معتقع معام ذا
لتعطازه كعنلول عط افمة بعمي كلام لصفمة 5200 ع1 0 10512085"
((قة عم )كامسوع. 07م ماع مناء 1/161 6005012
قيم الخصائص المشادية فتلا في 8008م في المثل السلق الحقول 118008 و 16م قابلة للقراءة فط فى حين أن
ع عط تمصمق عناول كا 200 باع 0100م"
الأنواع المجهولة من تعابير الاستعلام 115هتو< برد تجتعتا سم دعب 1 كنر مس رسمصط,
تعابير الاستحلام لا تتطلب دوما إنشاء أنواع مجهولة فعند الإمكان بمكنها استخدام نوع موجود ليحمل ببائات العمود وهنا بحدث
عندما يعيد الاستحلام إما سجلات كاملة من مصدر البيائات أو حظل واحد من كل سجل ففى المتال التالى يكون 600540001665 عبارة عن
َ ,يده فضي المنافين الأوأيين لا يوجد حاجة لأي نوع مجهول لأن الاستملام يجاب عتاصر من أنواع معروقة ف 69451 يكون
من النوع 90108 لأن 1.03006ونه من النوع 500106 و 609452 هو مجموعة من الأغراض 6091000855 لأن كل عنصر فى
05 هو غرض 6091008 وكامل العنصر ثم جليه بواسطة الاستعلام
#صسملاتكنه تعاع5
ومع ذلك فالأنواع المسماة لا تكون دلأما متوقرة يمكنك الاستحلام عن 0128065 و 280085565 من أجل هدف مين و 10 و
5نلة د 1090100 من أجل هدف آخر فهنا تمكنك الأنواع المجهولة من اختيار آية تركيية من الخصائص وبأى ترقيب ندون أن
تضطر في البداية للتصريح عن نوع مسمى جديد لبحمل النثيجة وبدلا عن ذلك يقوم المترجم بإشاء نوع مجهول لكل تركيبة من الخصائص
فصتا الاستسلام القالي يحدد فط ع81800 و 10 من كل غرض 6009800082 في 60058080815 ومن أجل ذلك يقوم بإنشاء نوع مجهول من تلك
الإستطادسرة
متك صف افكنه غ56
وكل من الاسم والنوع العثنين لخصائص النوع المجهول يتم أخذها من بارامترات الاستحلام ع 0051.080 و 6054.10 وتكون خصائص
النوع المجهول التى ينسّئها الاستعلام خصئص متاحية دوما وعند تنفيذ 13ونا6 في حلفة (امع...02ع التالية تكون الثتيجة هي مجموعة
أنواع مجهولة تمتلك خلسيتين مفتاحيثين ع 1801 و 10
تلا
تحديد متى نستخدم الأنواع المجهولة
قبل أن تقوم بالتصريح عن غرض بقئه من نوع مجهول يجب عليك التفكير فيما إذا كان هذا الخيار هو الأفضل فمثلا إن كنت كريد
إنشاء غرض مؤفت ليحئوي بعض حقول المعلومات ولسث بحاجة إلى بغية الحقول والطرائق لني تحئويها الغ الكاملة يكون عندها النوع
المجهول حلا جيدا وتكون الأنواع المجهولة ملائمة عندما تريد انثقاء مجموعة مختلفة من الخصائص عند كل تصريح أو إن كثث تريد تغيبر
ترقيب هذه الخصائص وإن كان مشروعك يحئوي على عدة أغراض تحمل نفس الخصائص بترتيب تابت يمكنك عندها التصريح عنهم
بسهولة باستخدام الأنواع المسماة باستخدام بائي فثئة فعندها باستخدام باني ملاثم يمكن تعريف عدة متغبزات من الفئة 8808064 ويكون ذلك
أسهل من استخدام عدة متغيرات مجهولة النوع
(1.29 ,"كمتا بع م2م ")1000م بعلا كم 010011065151001
(28.99 ,"مف وغل ")10061 معلا 5 52600081001 0100
(5.09 ,"بعامعا ")تعن0 10 معلا عم له مطل بنط اط
(5.09 - ععارم برغا ,"بغامرف او" - علا نر6)) لمحتلا معلا - 02 010فمنط 1ط
وتكمن فائدة أخرى للأنواع المجهولة في أن المترجم يمكنه الثقلط الأخطاء الطباعية في أسماء الخصائص ضي المتال السابق بخرض بالأنواع
002 د 5800001002 د 101600002 أن تكون متغيرات لنفس النوع المجهول ومع ذلك قمت عن طريق الخطأ بالتصريح عن
10002 بأحد الطرائق اللاحقة وهو نوع مختلف عن 02 50540:0 و 56600001002