وصف عناصر في قاعدة البيانات

مكتمل

تلميح

راجع علامة التبويب النص والصور لمزيد من التفاصيل!

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

ما هو العرض؟

طريقة العرض هي جدول ظاهري يستند إلى مجموعة نتائج استعلام SELECT. يمكنك اعتبار طريقة عرض كنافذة على صفوف محددة في الجدول المصدر الواحد أو أكثر من جدول. على سبيل المثال، يمكنك إنشاء طريقة عرض على جدوليّ Order وCustomer اللذان يستردان بيانات الطلبات والعملاء لتوفير كائن واحد يُسهل تحديد عناوين التسليم للطلبات:

CREATE VIEW Deliveries
AS
SELECT o.OrderNo, o.OrderDate,
       c.FirstName, c.LastName, c.Address, c.City
FROM Order AS o JOIN Customer AS c
ON o.Customer = c.ID;

مخطط يمثل مفهوم العرض في قاعدة البيانات.

يمكنك الاستعلام عن طريقة العرض وتصفية البيانات بنفس الطريقة التي تتم لجدول. يبحث الاستعلام التالي عن تفاصيل الطلبات للعملاء الذين يعيشون في مدينة سياتل:

SELECT OrderNo, OrderDate, LastName, Address
FROM Deliveries
WHERE City = 'Seattle';

ما هو الإجراء المخزّن؟

يُعرف الإجراء المخزّن عبارات SQL التي يمكن تشغيلها عند الأمر. تُستخدم الإجراءات المخزّنة لتغليف منطق برمجي في قاعدة بيانات للإجراءات التي تحتاج التطبيقات إلى تنفيذها عند العمل مع البيانات.

يمكنك تعريف إجراء مخزّن مع معلمات لإنشاء حل مرن للإجراءات الشائعة التي قد تحتاج إلى تطبيقها على البيانات استنادًا إلى مفتاح معين أو معايير معينة. على سبيل المثال، يمكن تعريف الإجراء المخزّن التالي لتغيير اسم منتج استنادًا إلى معرّف المنتج المحدد.

CREATE PROCEDURE RenameProduct
	@ProductID INT,
	@NewName VARCHAR(20)
AS
UPDATE Product
SET Name = @NewName
WHERE ID = @ProductID;

عندما يتوجب إعادة تسمية منتج، يمكنك تنفيذ الإجراء المخزّن، وتمرير معرّف المنتج والاسم الجديد لتعيينه:

EXEC RenameProduct 201, 'Spanner';

ما الفهرس؟

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

عند إنشاء فهرس في قاعدة بيانات، تقوم بتحديد عمود من الجدول، ويحتوي الفهرس على نسخة من هذه البيانات بترتيب تم فرزه، مع مؤشرات للصفوف المقابلة في الجدول. عندما يقوم المستخدم بتشغيل استعلام يحدد هذا العمود في عبارة WHERE ، يمكن لنظام إدارة قاعدة البيانات استخدام هذا الفهرس لجلب البيانات بسرعة أكبر مما لو كان عليه مسح الجدول بأكمله صفا تلو الآخر.

على سبيل المثال، يمكنك استخدام التعليمات البرمجية التالية لإنشاء فهرس في عمود Name لجدول Product:

CREATE INDEX idx_ProductName
ON Product(Name);

يُنشئ الفهرس بنية مستندة إلى تفرع يمكن لمحسّن الاستعلامات الخاص بنظام قاعدة البيانات استخدامها للعثور بسرعة على صفوف في جدول Product استنادًا إلى اسم محدد.

لقطة شاشة لمثال فهرس ينشئ بنية قائمة على الشجرة.

بالنسبة لجدول يحتوي على صفوف قليلة، ربما لا يكون استخدام الفهرس أكفأ من مجرد قراءة الجدول بأكمله وإيجاد الصفوف التي يطلبها الاستعلام (في هذه الحالة سوف يتجاهل محسّن الاستعلامات الفهرس). مع ذلك، عندما يحتوي جدول على عِدة صفوف، يمكن للفهارس تحسين أداء الاستعلامات بصورة ملحوظة.

يمكنك إنشاء العديد من الفهارس على جدول واحد. لذلك، إذا كنت ترغب أيضًا في العثور على منتجات استنادًا إلى السعر، فقد يكون إنشاء فهرس آخر في عمود Price في جدول Product مفيدًا. ومع ذلك، فالفهارس ليست مجانية. يستهلك الفهرس مساحة تخزين، وفي كل مرة تُدرج بيانات في جدول أو تُحدثها أو تحذفها، يجب الحفاظ على فهارس ذلك الجدول. يمكن لهذا العمل الإضافي إبطاء عمليات الإدراج والتحديث والحذف. يجب أن تحقق التوازن بين وجود فهارس تُسرع الاستعلامات مقابل تكلفة تنفيذ عمليات أخرى.