![]() |
استعلامات الاختيار Select Queries الجزء الثاني إعداد : محمد طاهر |
الجزء الأول من شرح استعلامات الإختيار : من هنا
الجزء االثاني - محتوبات الموضوع :
إنشاء إستعلام إختيار( استعلام تحديد ) باستخدام المعالج
تمثيل العلاقات المختلفة بجمل الاس كيو ال
استعلام الجداول المحورية ( الاستعلام الجدولي )
إستعلام إيحاد القيم الغير متماثلة
إنشاء إستعلام إختيار ( استعلام تحديد ) باستخدام المعالح
بالعودة الي إطار قاعدة البيانات و إختيار خيار الاستعلامات من الجزء الايسر
نختار هذه المرة بناء الاستعلام باستخدام المعالح ( الخيار الثاني )
فتظهر لنا الشاشة التالية :
و منها نختار الجدول الذي سيكون مصدر البيانات
و ستظهر الجقول الموجودة فى هذا الجدول و منها سنختار الحقول التي ستنتقل الي اليمين فى المربع الذي يمثل الحقول المختارة
و هنا اخترنا
EmplyeeID
Title
Birthdate
City
ثم نضغط علي next
و تظهر لنا الشاشة التالية :
و منها نحدد ثلاث خيارات
الاول : اسم الاستعلام
الثاني : الاختيار بين فتح الاستعلام فى وضع التصميم أم فى وضع عرض البيانات بعد انتهاء خطوات المعالج
و الثالث : اظهار المساعدة اثناء العمل ( لاداعي له )
و هكذا نكون أنشأنا الاستعلام باستخدام المعالج
و جملة الاس كيو ال المناظرة :
SELECT
Employees.EmployeeID, Employees.Title, Employees.BirthDate, Employees.City
FROM
Employees;
و هذا استعلام مبني علي جدول واحد
ماذا لو أردنا إنشاء استعلام مبني علي أكثر من جدول باستخدام المعالج ؟؟
هنا لابد من وجود علاقة بين الجداول المتعددة التي سنبني عليها الاستعلام
و نتحدث فى الجزء القادم عن كيفية التعبير عن أنواع العلاقات بجمل الاس كيو ال
تمثيل العلاقات المختلفة بجمل الاس كيو ال
لتمثيل العلاقات المختلفة بين الجداول ، نستخدم ثلاث تعبيرات
Inner Join
Right Join, On
Left Join, On
و سنتعرف علي استخدامها فيما يلي :
لنعيد الخطوة السابقة ،
حتي إختيار نفس الحقول الأربعة
EmplyeeID
Title
Birthdate
City
و قبل أن نضغط علي next
لنختار جدول آخرو هو جدول ال orders
و لنختار منه حقل ال orderId
و بعد اختيار الحقول و ضغط next ستظهر شاشة مختلفة عن المرة السابقة :
و يتم تخييرنا بين اظهار التفاصيل
و في هذه الحالية سنحصل علي استعلام به الاربعة بيانات للعاملين بالاضافة الي رقم الطلب
و يكون اجمالي عدد السجلات هو 830 سجل
و المثال الناتج باسم الاستعلام = Employees Query1
و شكل التصميم المناظر هو :
و جملة ال سي كيو ال به هي :
SELECT
Employees.EmployeeID, Employees.Title, Employees.HireDate, Employees.City,
Orders.OrderID
FROM
Employees
INNER JOIN
Orders
ON
Employees.EmployeeID = Orders.EmployeeID;
و نلاحظ أن كلمة FROM فى هذه الحالة قد اختلفت عن كونها متبوعة باسم لجدول كما سبق ، و لكن هنا متبوعة بجملة تعبر عن وصلة بين جدولين محددي الاسم ن متبوعة بكلمة ON و التي يليها بدورها تحديد لوصف الوصلة بين الحقلين
و نلاحظ أيضا أن الوصلة عبر عنها ب Employees INNER JOIN Orders أي الجدول الرئيسي ثم الجدول الذي به حقل الغريب ( أو جانب المتعدد من العلاقة )
ثم لنفتح الاستعلام الاخير فى وضع التصميم
و لنحفظه باسم Employees Query2
و فيه لنعدل العلاقة بين الجدولين ( بالنقر المزدوج علي خط العلاقة ) و لنختار اظهار جميع البيانات من جدول employees و البيانات المناظر فقط من جدول Orders فتتحول العلاقة من خط عادي الي خط به سهم ناحية جدول ال orders
و الغرض هو معرفة كيفية التعبير عن هذه النوعية من العلاقات بجمل ال سي كيو ال
SELECT
Employees.EmployeeID, Employees.Title, Employees.HireDate, Employees.City,
Orders.OrderID
FROM
Employees
LEFT
JOIN Orders
ON
Employees.EmployeeID = Orders.EmployeeID;
و كما تلاحظون فتأثير تغيير نوع العلاقة هو اضافة كلمة left قبل ال Join
و هذا يعني أن العلاقة بين الجدولين تعبر عن ادراج جميع السجلات من الجدول قبل كلمة Left Join و المناظر لها فقط فى الطرف الاخر من العلاقة و الموجود بعد كلمة Left Join .
أي أن جميع السجلات الموجودة فى الجدول يسار كلمة ال Join فى تعبير الاس كيو ال سيتم ادراجها ، بالاضافة الي ما يناظرها من الجدول المكتوب يمين الكلمة
و اذا غيرنا العلاقة الي ادارج السجلات المتطابقة فقط فى الجدولين ، ستعود الجملة الي
SELECT
Employees.EmployeeID, Employees.Title, Employees.HireDate, Employees.City,
Orders.OrderID
FROM
Employees
INNER
JOIN
Orders
ON
Employees.EmployeeID = Orders.EmployeeID;
و بذلك نعرف أن تعريف
Inner Join
يعني اختيار السحلات الموجودة فقط فى طرفي العلاقة
و اذا اخترنا ادراج جمبع سجلات ال orders و المناظر لها فقط من emplyoees
SELECT
Employees.EmployeeID, Employees.Title, Employees.HireDate, Employees.City,
Orders.OrderID
FROM Employees
RIGHT JOIN Orders
ON Employees.EmployeeID =
Orders.EmployeeID;
أي أن جميع السجلات الموجودة فى الجدول يمين كلمة ال Join فى تعبير الاس كيو ال سيتم ادراجها ، بالاضافة الي ما يناظرها من الجدول المكتوب يسار الكلمة
و الآن لنكرر استخدام
امعالج مع اختيار بيانات كالتالي :
Freight من جدول orders
City من جدول Employees
أي قيمة الشحن من جدول الطلبيات و مدينة الموظف من جدول الموظفين
ثم نكمل
و لكن عند شاشة اختيار التفاصيل
سنختار summary
ثم
Summary options
و نختار التجميع و عد السجلات كما فى الشاشة
و نحفظها باسم Employees Query3
و الاستعلام الناتج يعني احصائية بقيمة الشحن و عدد الطلبات الي كل مدن المولد للموظفين العاملين
و شكل الاستعلام فى وضع التصميم كالتالي :
و فى وضع العرض
و جملة الاس كيو الي المناظرة :
SELECT
DISTINCTROW Employees.City,
Sum(Orders.Freight)
AS [Sum Of Freight], Count(*)
AS [Count Of Orders]
FROM Employees
INNER JOIN Orders
ON Employees.EmployeeID = Orders.EmployeeID
GROUP BY
Employees.City;
و الجديد فى هذه الجملة بعد اختيار خيار التلخيص هو التالي :
ظهور كلمة DISTINCTROW و التي تعبر عن اختيار القيم بدون تكرار ، أي نختار أسماء البلاد الموجدة فى جدول الموظفين ، دون تكرار أي تظهر اسم البلد مرة واحدة فقط ، علي الرغم من تكراره عشرات المرات فى الاستعلام الذي يجمع جدولي الموظفين و الطلبيات
و أيضا استخدام الدوال للحصول علي قيم احصائية لاجمالي البيانات بجيث تناظر التلخيص الحادث باستخدام كلمة
DISTINCTROW
أي باستخدام دالة sum نحصل علي اجمالي قيم الشحن للطلبيات التي أرسلت الي لكل بلد من بلدان الموظقين
و باتستخدام دالة Count بالحصول علي اجمالي عدد الطلبيات المناظرة لكل بلد
و كما سبق
فقد تم استخدام تعبير as لاطلاق اسم علي كل من مجموع قيم الشحن و عدد السجلات
أيضا تم تجميع البيانات ببلد الموظف
و يمكن أيضا الغاء كلمة DISTINCTROW و الاعتماد علي التجميع فقط للحصول علي نفس النتيجة كما فى Employees Query4
SELECT
Employees.City, Sum(Orders.Freight) AS [Sum Of Freight], Count(*) AS [Count Of
Orders]
FROM
Employees INNER JOIN Orders ON Employees.EmployeeID=Orders.EmployeeID
GROUP
BY
Employees.City;
و لمثال أبسط راجع الاستعلام المسمي Employees Query5
و به الجملة الاتية
SELECT
DISTINCTROW Employees.Country
FROM
Employees
GROUP
BY
Employees.Country;
و نتيجتها هو سجلان فقط بها بلدان
كما يمكن الحصول علي نفس النتيجة بالجملة التالية
كما فى الاستعلام المسمي Employees Query6
SELECT
Employees.Country
FROM
Employees
GROUP
BY
Employees.Country;
اذا ما الفرق ، و لماذا أضفنا كلمة DISTINCTROW ؟؟
لنتعرف علي السبب راجع الاستعلام المسمي Employees Query7 و به البيانات كاملة للمدن المنتاظرة لليلاد فى جدول الموظفين
SELECT
Employees.Country, Employees.City
FROM Employees;
و به تسعة سجلات
لنفتح الاستعلام فى وضع التصميم ، و ننقر فى أي مكان خالي فى الشاشة العلوية
ثم لنختار خصائص الاستعلام properties
ثم لنختار خاصية unique records
و نغيرها الي نعم
ثم نحفظ الاستعلام باسم Employees Query8
و لنعرضه
سنجد أن الحالة لم تتغير و انما فقط أضيفت كلمة DISTINCTROW الي الاستعلام ، و لكن نتيجة عرض السجلات لم تتغير ، مازالت تسعة سجلات
SELECT
DISTINCTROW
Employees.Country, Employees.City
FROM Employees;
اذا لنعد الي خصائص الاستعلام ، و نغير خاصية unique values الي نعم ، سنجد أن خاصية unique records تغيرت اليا الي نعم ، وأضيفت كلمة DISTINCT الي الاستعلام ، و أصبحت نتيجة العرض 4 سجلات فقط ، أي تم عرض كل بلد مع المدينة المناظرة مرة واحدة
SELECT
DISTINCT
Employees.Country, Employees.City
FROM Employees;
اذا ما الفرق بين الخاصيتين و متي نستخدم كل منهما ؟
الفرق أن خاصية unique records تستخدم فى حالة ادراج بيانات من أكثر من جدول
و باختيارها يتم اضافة نعبير DISTINCTROW الي الاستعلام
لذلك افتح الاستعلام رقم 3 و راجع قيمة الخاصية ، ستجدها مفعلة
و الان لننشيء استعلام جديد بنفس الاسم و برقم 9
و من وضع التصميم لنضيف جدول الموظفين و جدول الطلبيات
و لنختار بلد الموظف من جدول الموظفين Employees
ثم لضيف حقل يلد الشحن من جدول الطلبات Orders
فنجد ان لدينا استعلام به 830 سجل عبارة عن عدد الطلبيات و كل سجل به بلد العامل و بلد الشحن
SELECT
DISTINCTROW
Employees.City, Orders.ShipCity
FROM Employees
INNER JOIN Orders ON Employees.EmployeeID = Orders.EmployeeID
GROUP
BY
Employees.City, Orders.ShipCity;
لنعود الي وضع التصميم فى الاستعلام ، و نختار خاصية unique records من خصائص الاستعلام
فنجد أن الجملة تحولت الي
SELECT
DISTINCTROW
Employees.City, Orders.ShipCity
FROM Employees
INNER JOIN Orders ON Employees.EmployeeID = Orders.EmployeeID;
و لكن التأثير علي السجلات المعروضة غير واضح
فما زال العدد المعروض 830
اما اذا اخترنا unique values
فتصبح الجملة
SELECT
DISTINCT
Employees.City, Orders.ShipCity
FROM Employees
INNER JOIN Orders ON Employees.EmployeeID = Orders.EmployeeID;
و السجلات المعروضة هي 292 سجل تمثل اظهار المدينة لمرة واحدة مع البلد
اذا ليس الفرق فقط فى اختيار البيانات من أكثر من جدول ، و لكن الفرق الآخر فى أن DISTINCTROW تبحث عن البيانات الغير مكررة فى السجلات الاصلية بالكامل ، و ليس فقط فى الحقول المختارة فى الاستعلام
و لنجرب ذلك لنختار عرض استعلام مبني علي الجدول المسمي Emp2 و الذي تم فيه تكرار بيانات اثنان من العاملين و الغاء المفتاح و تحويل حقل الترقيم التلقائي الي رقمي مفهرس لكي يكون تكرار السجلات كاملا
و الان لننشيئ استعلام جديد ميني علي هذا الجدول ، و نختار كل السجلات ( باختيار ال * من أعلي الجدول )
فتكون الجملة
SELECT
Emp2.*
FROM Emp2;
و بعرض الاستعلام نجد عدد السجلات = 2 فى الاستعلام QEmp2
و بتعديل خاصية unique records الي نعم
تصبح الجملة
SELECT
DISTINCTROW
Emp2.*
FROM
Emp2;
و علي الرغم من ذلك مازال عدد السجلات المعروضة = 2 سجل
أي لا تأثير ، أي أننا جققنا شرط تكرر السجل بالكامل ، الا أننا لم نحقق شرط و جود البيانات من أكثر من جدول
لذا لننشيء استعلام باسم QEmp3
و نختار كل السجلات ( باختيار ال * من أعلي جدول الموظفين )
و لنضيف جدول ال area و منه نختار حقل ال area
و بذلك نكون حققنا الشرطين ، و نتوقع أن تكون السجلات عددها سجل واحد
SELECT Emp2.*, Area.Area
FROM Emp2 INNER JOIN Area ON
Emp2.EmployeeID=Area.EmployeeID;
و لكن مازال الناتج يعطي ضعف عدد السجلات أي 2 سجل
و الآن لنغير خاصية unique records الي نعم
فتصبح الجملة
SELECT
DISTINCTROW
Emp2.LastName, Area.Area
FROM Area INNER JOIN Emp2
ON Area.EmployeeID = Emp2.EmployeeID;
و عدد السجلات المعروضة = 2 ، و هذا ما لم يكن متوقعا
فحسب ما ينص ملف التعليمات أنه من المفترض أن يكون الناتج سجل واحد
و قد توقفت عند هذه النقطة لفترة ، و لكن رأيت طرحها كما واجهتها ، و فى انتظار إضافاتكم
عموما اذا أردنا الوصول الي النتيجة السليمة فلنستخدم خاصية التجميع Group By باستخدام حقل أو أكثر كما فى الامثلة السابقة
و كملخص للجزء الأخير
يستخدم تعبير DISTINCT المناظر لخاصية unique values للحصول علي السجلات الفريدة من حيث الحقول التي إخترنا إظهارها فى الاستعلام
و تعبير DISTINCTROW المناظر لخاصية unique records للحصول علي السجلات الفريدة كليا ، و ليس من حيث الحقول المختارة فقط ، أي كل الحقول فى الجداول التي نمثل مصدر الاستعلام
و يشترط لكي تعمل أن يكون الاستعلام مبني علي أكثر من جدول و ان نختار علي الاقل حقل من كل من الجداول
( و ان كان ذلك لم يعمل بصورة صحيحة فى المثال السابق )
و أعتقد اننا توقفنا فى هذه النقطة أكثر من اللازم ، و لنكمل باقي الحديث
===============================
بالعودة الي إطار قاعدة البيانات و إختيار خيار الاسنعلامات من الجزء الايسر ( الصورة الاولي فى هذا الدرس)
يوجد زر "جديد " New فى الحزء العلوي من الاطار
يظهر مربع جوار به خمسة خيارات
- وضع التصميم
- معالح الاستعلام
- معالح الاستعلام المحوري
- معالج استعلام القيم المكررة
- معالح استعلام القيم الغير متطالقة
و قد عرضنا الي أول خيارين ، و ما يلي هو عرض الخيارات الثلاثة الأخري : إستعلام الجداول المحورية ، إٍستعلام إيجاد القيم المتكررة ، و إستعلام إيحاد القيم الغير متماثلة
استعلام الجداول المحورية ( الاستعلام الجدولي )
هذا النوع من الاستعلامات الغرض منه اعادة هيكلة البيانات ، أي تحويل جدول عادي الي جدول تحليل للبيانات من خلال تجميع صفوف و تحليل البيانات فى أعمدة طبقا لقيمة حقل معين
و ستتضح الصورة أكثر مع بدء التطبيق
من اختيار الاستعلامات من اطار قاعدة البيانات لنختار
New
Create Crosstab Query Wizard
فتظهر شاشة بها اسماء الجداول و الاستعلامات
فنختار جدول الموظفين employees
ثم نضغط
next
فتظهر قائمة باسماء الحقول ، لنختار منها الحقول المطلوب ظهورها فى عناوين الصفوف
و يمكننا الاختيار بحد اقصي 3 حقول
و نراعي أن يكون الاختيار بالترتيب تبعا للترتيب الذي نود أن تظهر به الحقول
و هنا لنختار
Country
City
و نضغط Next
فتظهر الشاشة التالية ، و التي نختار منها أحد الحقول ( حقل واحد ) لتكون قيمه المختلفة تمثل عناوين الأعمدة
و هنا سنختار
Title
و نضغط Next
فتظهر شاشة جديدة ، لنختار منها البيانات التي ستظهر داخل الجدول
و هنا سنختار
اختيارين ، الحقل و الدالة المطلوب تطبيقها علي القيم الموجودة داخل الحقل
و هنا سنختار EmplyeeID و الدالة Count
أي ستكون بيانات الجدول عبار عن عدد العاملين مصنفة رأسيا تبعا للبلد ثم المدينة و أفقيا تبعا لللقب
ثم نضغط
next
و نحفظ الاستعلام باسم
Employees_Crosstab
و لنفتح الجدول لنشاهد ما فيه أولا
ثم بنفتحه في وضع التصميم لنجد الاتي
و الجديد هو ظهور خانة جديدة تسمي Cross tab
و القيم بها تكون أحد أربعة خيارات
Row Heading عنوان الصف
Column Heading عنوان العمود
Value قيمة
Not Shown لا تظهر
و الاخيرة تستخدم حال استخدام حقل كمعيار شرطي للبيانات و لا نريد أن يظهر
لنحفظ الاستعلام بنفس الاسم مع اضافة2 : Employees_Crosstab2
و لنضع فيه الشرط التالي
حقل BirthDate بين 25/01/1955 و 31/12/1960
و تكون كتابة الشرط كالتالي
Between #25/01/1955# And #31/12/1960#
و بالتالي يتم عمل تصفية للبيانات طبقا لهذا الشرط كما فى المثال
و لنتصفح المثال لنري النتيجة
ثم لنفتح عرض ال سي كيو ال لنجد الجملة التالية :
TRANSFORM
Count(Employees.EmployeeID)
AS CountOfEmployeeID
SELECT Employees.Country,
Employees.City, Count(Employees.EmployeeID) AS
[Total Of EmployeeID]
FROM Employees
WHERE
(((Employees.BirthDate) Between
#1/25/1955# And #12/31/1960#))
GROUP
BY Employees.Country,
Employees.City, Employees.BirthDate
PIVOT Employees.Title;
و الجديد فيها هو تعبير TRANSFORM الذي بدأ به الجملة ، و يليه وصف البيانات ، و PIVOT الذي يسبق الحقل المستخدم كعناوين للاعمدة و الذي تنتهي به الجملة
و جدير بالذكر أن استعلام الجداول المحورية ، لا يقارن من حيث القوة بنظيره فى الاكسيل
و يوجد هنــــــــــــــــــــا شرح لنظيره فى برنامج الاكسيل الذي يعتبر أكثر قوة و امكانيات ،
من اختيار الاستعلامات من اطار قاعدة البيانات لنختار
New
Find Duplicated Query Wizard
و الغرض منه هو ايجاد القيم المتكررة فى حقل ما
و لنختار هذا الخيار ،ـ فتظهر شاشة بها أسماء الجداول و الاستعلامات
و نختار جدول Orders
و لنتجه الي الشاشة التالية ، و نختار منها الحقل المطلوب ، و الذي سيتم استخراج السجلات التي تكررت بها قيم هذا الحقل
و لنختار ShippedDate أو تاريخ الشحن
ثم نتجه للشاشة التالية
و منها نختار الحقول التي ستظهر عند عرض الاستعلام ، و لنختر أي مجموعة من الحقول
ثم لنحفظ الاستعلام باسم
Find duplicates for Orders
و لفتحه ، سنجد أن به 652 سجل ، و هل السجلات التي تكرر بها هذا الحقل
من اجمالي 830 سجل فى الجدول الاصلي
لنفتح الاستعلام فى وضع التصميم لنجد أن تصميم الاستعلام عبارة عن الحقول التي اخترناها بالاضافة الي وجود معيار فى حقل ShippedDate كما يلي :
In (SELECT [ShippedDate] FROM [Orders] As Tmp GROUP BY [ShippedDate] HAVING Count(*)>1 )
و هذا يعني استخدام الدالة In و التي تعبر عن وجود قيمة بين مجموعة من القيم و تعيد قيمة نعم أو لا
فاذا كانت القيمة موجودة بين السجلات المختارة تعيد "نعم" و اذا لم تكن موجودة تعيد "لا")
و هنا مجموعة السجلات تم تكوينها باستخدام جملة SQL التالية :
SELECT [ShippedDate] FROM [Orders] As Tmp GROUP BY [ShippedDate] HAVING Count(*)>1
أي عمل تجميع بالتاريخ بناء علي حقل ShippedDate و عمل تصفية علي التاريخ الذي يكون عدد مرات تكراره أكبر من واحد
إستعلام إيحاد القيم الغير متماثلة
من اختيار الاستعلامات من اطار قاعدة البيانات لنختار
New
Find Unmatched Query Wizard
و هذه النوعية من الاستعلامات نحصل منها علي السجلات التي لا توجد لها سجلات مناظرة فى حقل الارتباط ( طرفي العلاقة بين جدولين ) .
أي تجيب علي السؤال : فى جدول 1 مرتبط بجدول 2 من خلال الحقل س ، فاي السجلات فى الحقل س في الجدول 1 بها قيم غير موجودة فى الحقل س فى الجدول 2
و لنبدأ تنفيذ المعالج ، و لنختار من الشاشة الاولي الجدول الذي نريد أن نظهر السجلات التي ليس لها نظير فى جدول آخر منه و هو هنا جدول Employees ثم الجدول المرتبط و هو جدول area
فتظهر لنا شاشة بها مربعي عرض يمثلان حقول الجدولين ، لنحدد منها حقلي الارتباط ، ثم نضغط علي العلامة بين الجدولين
و اذا كانت هناك علاقة بين الجدولين فسيتم استنتاج الارتباط تلقائيا بناء علي هذه العلاقة
و فى الشاشة الاخيرة سنختار الحقول التي ستظهر فى عرض الاستعلام ، و لنختار اي حقول و ذلك بالنقر المذدوج عليها أو باختيارها ثم ضغط السهم المتجه الي اليمين
و لنحفظ الاستعلام باسم
Employees Without Matching Area
و لنفتحه فى وضع العرض لنجد انه لم يعرض أي سجلات
و معني ذلك ان الحقول المرتبطة فى الجدول الاول كلها يوجد نظير لها فى الثاني
و هنا هما العامل رقم 8 و 9
و الآن كما تعودنا ، لنفتح الاستعلام فى وضع التصميم
لنجد أن الاستعلام هو عبارة عن عرض للسجلات المختارة نتيجة علاقة من نوع اختيار كل سجلات جدول الموظفين و ما يناظرها فقط من جدول ال area مع وجود شرط علي حقل ال EmplyoeeID أنه لا يكون خالي القيمة ( Null )
و جملة الاس كيو ال المناظرة هي
SELECT
Employees.EmployeeID, Employees.LastName, Employees.FirstName
FROM Employees
LEFT
JOIN Area ON
Employees.EmployeeID = Area.EmployeeID
WHERE (((Area.EmployeeID)
Is Null));
و لا جديد فيها بالنسبة لما سبق
----------------
بعد أن أصبح لدينا بعض الاستعلامات و الجداول
معا فى نفس القاعدة
و لكلي نكمل التعرف علي الشاشة الافتتاحية
:
نري فى يسار الشاشة المجموعات Groups
و قد حان الوقت لنتعرف عليها و علي فائدتها
:
تتيح لك المجموعات إمكانية تنظيم قاعدة البينات بالاسلوب الذي يناسبك ، و ذلك بوضع
اختصارات للكائنات المرتبطة فى مكان واحد (مجموعة )
مثلا اذا كنت تريد أن تري جدول و استعلام أو أكثر بينهم
ارتباط معبن فى الاستخدام ، بسهولة فى مكان واحد فعليك
بالمجموعات
لانشاء مجموعة : استخدم الزر الايمن للماوس فى المساحة الموجودة تحت شريط groups و
اختار انشاء مجموعة جديدة new group
و بعد ذلك يمكنك سحب الكائنات من الصفحات الأخري لاطار قاعدة البيانات الي المجموعة
الجديدة ، فيتم بذلك اضافة الختصارات لها في هذه المجموعة
فيكون لديك مجموعات من الكائنات المختلفة ( جداول - نماذج - استعلامات - تقارير -.....) تكونها بحسب سهولة الاستخدام لتسهيل الوصول اليها ، و هذه الامكانية مفيدة جدا فى حالة قواعد البيانات الضخمة
و كمثال علي ذلك تم انشاء مجموعة فى المثال المرفق باسم اوفيسنا1 و تم سحب جدولين و استعلامين اليها ، فتم تكوين اختصارات لهذه الكائنات داخل المجموعة لتسهيل الوصول اليها
----
تم
الجزء الاول من شرح استعلامات الاختيار