PostgreSQL إنشاء عرض مع المثال

⚡ ملخص ذكي

PostgreSQL تُعتبر طرق العرض جداول زائفة مبنية من استعلام SELECT مخزن، مما يسمح لك بتغليف الاستعلامات المعقدة أو المستخدمة بشكل متكرر باسم واحد يمكنك قراءته أو تحديثه أو حذفه مثل جدول عادي.

  • 🗂️ جدول زائف: تقوم طريقة العرض بتخزين استعلام، وليس بيانات، ومع ذلك يمكنك تحديدها مثل جدول.
  • 🛠️ خلق: يُحدد الأمر CREATE VIEW استعلام SELECT، حتى عبر عدة جداول أساسية، لسهولة إعادة الاستخدام.
  • ♻️ يحل محل: يُغيّر الأمر CREATE OR REPLACE VIEW طريقة العرض دون الحاجة إلى سحب أو إسقاط العناصر.ping هنا.
  • 🗑️ إسقاط: يؤدي حذف العرض إلى إزالة العرض، ويتجنب الأمر IF EXISTS حدوث خطأ.
  • 🤖 مساعدة الذكاء الاصطناعي: تقوم المساعدات المدعومة بالذكاء الاصطناعي بإنشاء تعريفات العرض واقتراح الاستعلامات التي يجب تضمينها.

PostgreSQL إنشاء عرض

ما هي تفاصيل PostgreSQL رأي؟

In PostgreSQL، العرض عبارة عن جدول زائف. وهذا يعني أن العرض ليس جدولاً حقيقياً. ومع ذلك، يمكننا تحديده كجدول عادي. يمكن أن تحتوي طريقة العرض على كل أعمدة الجدول أو بعضها. يمكن أن تكون طريقة العرض أيضًا تمثيلاً لأكثر من جدول واحد.

تُعرف هذه الجداول بالجداول الأساسية. عند إنشاء عرض، ما عليك سوى إنشاء استعلام ثم تسميته، مما يجعله أداة مفيدة للتغليف.ping استعلامات معقدة وشائعة الاستخدام.

خلق PostgreSQL المشاهدات

لخلق PostgreSQL عرض، نستخدم بيان إنشاء عرض. هنا هو بناء الجملة لهذا البيان:

CREATE [OR REPLACE] VIEW view-name AS
  SELECT column(s)
  FROM table(s)
  [WHERE condition(s)];

ستحل المعلمة OR REPLACE محل العرض إذا كان موجودًا بالفعل. إذا تم حذفه وكان العرض موجودًا بالفعل، فسيتم إرجاع خطأ.

معلمة اسم العرض هي اسم العرض الذي تحتاج إلى إنشائه.

شروط WHERE اختيارية، ويجب استيفاؤها لإضافة أي سجل إلى العرض.

خذ بعين الاعتبار جدول الأسعار الموضح أدناه:

السعر:

خلق PostgreSQL المشاهدات

دعونا ننشئ طريقة عرض من الجدول أعلاه:

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

سيقوم الأمر أعلاه بإنشاء طريقة عرض بناءً على اختيار البيان. ستتم إضافة السجلات التي يكون سعرها أكبر من 200 فقط إلى العرض. تم تسمية العرض باسم Price_View. دعونا نستفسر عنه لنرى محتوياته:

SELECT *
FROM Price_View;

هذا يعيد ما يلي:

خلق PostgreSQL المشاهدات

على الرغم من أن الجدول الأساسي يحتوي على 4 سجلات، إلا أنه تمت إضافة سجلين فقط إلى طريقة العرض.

هنا، يمكننا إضافة عمود واحد فقط إلى العرض. لننشئ عرضًا يتضمن عمودًا واحدًا فقط من جدول الأسعار:

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

تم تسمية العرض باسم Price_View2 ويتضمن عمود السعر فقط في جدول الأسعار. دعنا نقوم بالاستعلام عن العرض لمعرفة محتوياته:

SELECT *
FROM Price_View2;

هذا يعيد ما يلي:

خلق PostgreSQL المشاهدات

مُتغير PostgreSQL المشاهدات

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

دعونا نوضح ذلك من خلال تحديث العرض المسمى Price_View2.

السعر_عرض2:

مُتغير PostgreSQL المشاهدات

جدول الكتب كالتالي:

كتاب:

مُتغير PostgreSQL المشاهدات

جدول الأسعار كالتالي:

السعر:

مُتغير PostgreSQL المشاهدات

سيساعدنا الاستعلام التالي في تحديث العرض Price_View2:

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

دعونا الآن نستفسر عن العرض لنرى محتوياته:

مُتغير PostgreSQL المشاهدات

تم تغيير طريقة العرض، والآن لدينا عمودين من جدولين مختلفين. تم تحقيق ذلك باستخدام عبارة JOIN.

حذف PostgreSQL المشاهدات

في أي وقت تحتاج إلى حذف أ PostgreSQL لعرض العرض، يمكنك استخدام عبارة DROP VIEW. إليك صيغة هذه العبارة:

DROP VIEW [IF EXISTS] view-name;

اسم عرض المعلمة هو اسم العرض الذي سيتم حذفه.

في هذه الصيغة، يُعدّ شرط IF EXISTS اختياريًا. إذا لم تحدده وحاولت حذف عرض غير موجود، فستتلقى خطأً.

على سبيل المثال، لإسقاط العرض المسمى Price_View2، يمكننا تشغيل العبارة التالية:

DROP VIEW Price_View2;

سيتم حذف العرض.

باستخدام pgAdmin

والآن دعونا نرى كيف يمكن تنفيذ هذه الإجراءات باستخدام pgAdmin.

خلق PostgreSQL المشاهدات

لإنجاز الأمر نفسه من خلال pgAdmin، قم بما يلي:

الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.

الخطوة 2)

  • من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
  • انقر فوق العرض التوضيحي.

خلق PostgreSQL المشاهدات باستخدام pgAdmin

الخطوة 3) اكتب الاستعلام في محرر الاستعلام:

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

الخطوة 4) انقر فوق الزر "تنفيذ".

خلق PostgreSQL المشاهدات باستخدام pgAdmin

الخطوة 5) لعرض محتويات العرض، اتبع الخطوات التالية:

  • اكتب الأمر التالي في محرر الاستعلام:
SELECT *
FROM Price_View;
  • انقر فوق الزر "تنفيذ".

خلق PostgreSQL المشاهدات باستخدام pgAdmin

سيؤدي هذا إلى إرجاع ما يلي:

خلق PostgreSQL المشاهدات باستخدام pgAdmin

لإنشاء العرض Price_View2، قم بما يلي:

الخطوة 1) اكتب الاستعلام التالي في محرر الاستعلام:

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

الخطوة 2) انقر فوق الزر "تنفيذ".

خلق PostgreSQL المشاهدات باستخدام pgAdmin

الخطوة 3) لرؤية محتويات العرض، قم بما يلي:

  • اكتب الاستعلام التالي في محرر الاستعلام:
SELECT *
FROM Price_View2;
  • انقر فوق الزر "تنفيذ".

خلق PostgreSQL المشاهدات باستخدام pgAdmin

سيؤدي هذا إلى إرجاع ما يلي:

خلق PostgreSQL المشاهدات باستخدام pgAdmin

مُتغير PostgreSQL المشاهدات

لإنجاز الأمر نفسه من خلال pgAdmin، قم بما يلي:

الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.

الخطوة 2)

  • من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
  • انقر فوق العرض التوضيحي.

مُتغير PostgreSQL المشاهدات باستخدام pgAdmin

الخطوة 3) اكتب الاستعلام في محرر الاستعلام:

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

الخطوة 4) انقر فوق الزر "تنفيذ".

مُتغير PostgreSQL المشاهدات باستخدام pgAdmin

الخطوة 5) اكتب الاستعلام التالي في محرر الاستعلام:

SELECT *
FROM Price_View2;

سيؤدي هذا إلى إرجاع ما يلي:

مُتغير PostgreSQL المشاهدات باستخدام pgAdmin

حذف PostgreSQL المشاهدات

لإنجاز الأمر نفسه من خلال pgAdmin، قم بما يلي:

الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.

الخطوة 2)

  • من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
  • انقر فوق العرض التوضيحي.

حذف PostgreSQL المشاهدات باستخدام pgAdmin

الخطوة 3) اكتب الاستعلام في محرر الاستعلام:

DROP VIEW Price_View2;

الخطوة 4) انقر فوق الزر "تنفيذ".

حذف PostgreSQL المشاهدات باستخدام pgAdmin

سيتم حذف العرض.

قم بتنزيل قاعدة البيانات المستخدمة في هذا البرنامج التعليمي

الأسئلة الشائعة

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

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

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

أحيانًا. يمكن تحديث عرض جدول واحد بسيط بدون تجميع تلقائيًا، لذا تعمل أوامر INSERT وUPDATE وDELETE مباشرةً. أما العروض المعقدة فتحتاج إلى مُشغّلات INSTEAD OF.

للاستعلام عن الكتالوج: SELECT table_name FROM information_schema.views WHERE table_schema = 'public'. في pgAdmin، يمكنك توسيع عقدة Views ضمن مخطط معين.

تقوم مساعدات الذكاء الاصطناعي بتحويل طلب اللغة البسيطة إلى عبارة CREATE VIEW، وتسمية العرض، وإضافة عبارات WHERE و JOIN الصحيحة، مما يؤدي إلى تسريع الاستعلامات التي تعيد استخدامها بشكل متكرر.

نعم. قم بلصق استعلام SELECT طويل وسيقوم مساعد الذكاء الاصطناعي بتغليفه في CREATE OR REPLACE VIEW، ويقترح اسمًا، ويشير إلى الأعمدة التي تحتاج إلى أسماء بديلة لتجنب الأسماء المكررة.

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

تلخيص هذه التدوينة بـ: