« مقدمه »
سيستم رابطه اي پرس و جوي QBE توسط زلوف در يكي از مراكز تحقيقاتي IBM طراحي و ايجاد شد.
اصطلاح QBE هم به خود سيستم بانك رابطه اي اطاق مي شود و هم به زناني كه در اين سيستم وجود دارد. اين سيستم، مثل SQL، رابطه اي است و تفاوت ايندو اينست كه QBE فقط براي استفاده كاربران پايانه اي طراحي شده، يعني نه تنها نتايج مورد نظر كاربر بصورت جدولهايي در صفحة نمايش، ديده مي شود، بلكه تمام در خواستهاي كاربر، در كادر جدولهايي مشخص شده و به سيستم عرضه مي شوند.
ابتدا با فشار دادن يك دگمه روي پايانه، چارچوب يك جدول در صفحه نمايش ظاهر مي شود، سپس كاربر، با علم به اينكه جواب مورد نظرش از جدول خاصي است نام آن جدول را وارد مي كند و QBE اسامي ستونهاي جدول را نمايش مي دهد. به اين ترتيب كاربر مي تواند شرط يا شروط پرس و جو شير را در ستونهاي مربوط از جدول، وارد كند.
علامت"P0 " " بجاي دستور " چاپ كن" است . اين علامت مشخص مي كند كه جواب مورد نظر در چه ستوني از جدول بايد ظاهر شود. صفت مورد نظر در اين دستور را " عنصر مثال " مي گوييم. زير عنصر مثال خط كشيده مي شود.
( در نمونه پياده سازي IBM به صورت " عنصر مثال ـ " وارد مي شود).
" عنصر ثابت" در واقع نوعي آرگومال جستجو در شرط يا شرايط پرس و جو مي باشد.
انتخاب عنصر مثال، كاملاً اختياري است و مي تواند هر مقداري باشد و مقدارش اصلاً تأثيري در مفهوم پرس و جوي كاربر ندارد.
از عناصر مثال، براي برقراري پيوند بين سطرها، در پرس و جوهاي پيچيده تر استفاده مي شود و اگر نياز به پيوند نباشد، اين عنصر را كاملاً مي توان حذف نمود ولي معمولاً براي وضوح بيشتر، عنصر مثال را وارد مي كنيم.
اينك عمده ترين جنبه هاي QBE را، به كمك مثالهايي، مورد مطالعه قرار مي دهيم. ابتدا عملياتDML را مطرح مي كنيم و سپس عملياتDDL را، زيرا عمليات DDL ، اساساً حالات خاصي از عمليات DMLهستند ولي قبل از اين كار ديكشنري سيستم QBE را مختصراً توضيح مي دهيم.
« ديكشنري سيستم QBE »
در سيستم QBE يك ديكشنري وجود دارد كه از نظر كاربر، از تعدادي جدول تشكيل شده است. در اين ديكشنري جدولهايي وجود دارند از جمله جدول TABIE و جدول DOMAIN حاوي اطلاعاتي در مورد تمام جدولها و تمام ميدانهاي جاري شناخته شده براي سيستم، مي توان به كمك عملگرهاي متعارف DML، ديكشنري را به منظور بازيابي اطلاعات مورد پرس و جو قرار داد. عملگرهاي پرس و جو و بهنگام سازي ديكشنري، جزء خود زبان هستند به گونه اي كه با ساير عملگرها سازگاري دارند. بويژه درQBE ، احكام خاصDDL، وجود ندارد، در عوض به كمك فرمهاي خاصي از عملكرهاي بهنگام سازي براي تعريف داده ها استفاده مي شود. اينك مثالهايي از امكانات كار با ديكشنري ذكر مي كنيم.
1ـ بازيابي اسامي جدولها:
مثال: اسامي تمام جدولهاي شناخته شده براي سيستم را بدهيد:
در اينجا، براي ايجاد يك چارچوب براي جدول TABLE و وارد كردن P0 در ستون NAME جدول چارچوب، كاربر مي تواند تنها با وارد كردن "P0" در محل اسم جدول يك جدول خالي، اين پرس و جو را تنظيم كند.
2ـ بازيابي اسامي ستونهاي يك جدول:
مثال: اسامي تمام ستونهاي جدولS را بيابيد.
براي تنظيم اين پرس و جو، كاربر اسم جدول اسم مورد نظر مثلاً S و در پي آن "P0" را در همان سطر خالي اسامي ستونهاي جدول وارد مي كند، سيستمQBE، با پر كردن ستونهاي خالي، به پرس و جو پاسخ مي دهد. غالباً از اين امكان براي ايجاد پرس و جوهاي حقيقي استفاده مي شود. اگر جدول جواب، حاوي اسامي ستونهايي باشد كه براي تنظيم پرس و جوي حقيقي لازم نيستند با فشردن كليدي از پايانه، مي توان آنها را حذف كرد.
حال ببينيم براي تعريف داده ها در اين سيستم چه امكاناتي وجود دارد.
3ـ ايجاد يك جدول جديد: جدول S را ايجاد كنيد. ( فرض مي كنيم چنين جدولي وجود ندارد):
اولين علامت "I0 " مدخلي را براي جدول S در ديكشنري ايجاد مي كند. دومين "I0 " مدخلهايي را براي چهار ستون S در ديكشنري ايجاد مي كند پس در اولين محل جدول مي نويسيم (I.S.I.) .
براي هر ستون اطلاعات ديگري نيز بايد مشخص كرد كه عبارتند از : اسم ميدان هر ستون، سنخ داده هر ميدان اگر ميدان براي سيستم شناخته شده نباشد، نشانگري به اين معنا كه آيا ستون جزيي از كليه اصلي هست يا نه و نيز نشانگر ديگري به اين معنا كه آيا روي ستون، شاخص ايجاد مي شود يا نه، از نظر سيستم QBE هر ستوني جزيي است از كليه اصلي و روي هر ستوني بايد شاخص ايجاد شود، مگر اينكه عكس آن تصريح شود.
برچسب ها:
کامپیوتر و زبان QBE