15.5. الدرس: طرق العرض (Views)

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

هدف هذا الدرس: حفظ استعلام على هيئة طريقة عرض.

15.5.1. إنشاء طريقة عرض

يمكنك التعامل مع طريقة العرض تمامًا كما تتعامل مع الجدول، لكن بياناتها مصدرها استعلام. لننشئ طريقة عرض بسيطة بناءً على ما سبق:

create view roads_count_v as
  select count(people.name), streets.name
  from people, streets where people.street_id=streets.id
  group by people.street_id, streets.name;

كما ترى، التغيير الوحيد هو الجزء create view roads_count_v as في البداية. يمكننا الآن تحديد البيانات من طريقة العرض تلك:

select * from roads_count_v;

النتيجة:

 count |    name
-------+-------------
     1 | Main Road
     2 | High street
     1 | Low Street
(3 rows)

15.5.2. تعديل طريقة عرض

طريقة العرض ليست ثابتة، ولا تحتوي على 'بيانات حقيقية'. وهذا يعني أنه يمكنك تغييرها بسهولة دون التأثير في أي بيانات في قاعدة بياناتك:

CREATE OR REPLACE VIEW roads_count_v AS
  SELECT count(people.name), streets.name
  FROM people, streets WHERE people.street_id=streets.id
  GROUP BY people.street_id, streets.name
  ORDER BY streets.name;

(يوضح هذا المثال أيضًا العُرف المتّبع كأفضل ممارسة، وهو استخدام الأحرف الكبيرة لجميع الكلمات المفتاحية في SQL.)

سترى أننا أضفنا عبارة ORDER BY لتكون صفوف طريقة العرض مرتبة جيدًا:

select * from roads_count_v;

 count |    name
-------+-------------
     2 | High street
     1 | Low Street
     1 | Main Road
(3 rows)

15.5.3. حذف طريقة عرض

إذا لم تعد بحاجة إلى طريقة عرض، يمكنك حذفها هكذا:

drop view roads_count_v;

15.5.4. الخلاصة

باستخدام طرق العرض، يمكنك حفظ استعلام والوصول إلى نتائجه كما لو كان جدولًا.

15.5.5. ما التالي؟

أحيانًا، عند تغيير البيانات، تريد أن يكون لتغييراتك أثر في مواضع أخرى من قاعدة البيانات. سيريك الدرس التالي كيف تفعل ذلك.