View in SQL

السلام عليكم الجميع

أهلا وسهلآ

اليوم بتكلم عن View او عرض الجدول افتراضي مع الامثلة تطبيق بالصور.

  • View: هي عباره عن جدول افتراضي يتم تخزين فيه العمليات او استعلامات الى تم عملها في SQL تمام.

بعطيكم مثال: فرضآ سويت استعلام اني ابي اسماء طلاب المتفوقين و يجيب كل معلومات عن طلاب المتفوقين فقط تمام. و احفظ هذي استعلام في View لاته تعتبر زي صندوق يكون داخله استعلام جاهز.

لو بالمستقبل احتجت فقط معلومات الطلاب المتفوقين اقدر أجلب فقط اسم الجدول view الى محفوظ فيه الاستعلام جاهز يعني كل الى علي أحط الاسم وخلاص يكون جاهز :).

هذا syntax تبع View:

create view View_NAME as 
select col1, col2 from table-NAME
where condition;

الان بستخدم جدول الطلاب الصف الرياضيات كامثال تمام.

Math student

و راح نعمل مثال View و نحفظ اسم 4 طلاب تحت بأسم متفوقين في ماده رياضيات ودرجتهم فوق 90.

و الكود ينكتب بهذي طريقة:

create view Excellent_STudent as select * from students
where grade >=90;

Create view: أنشاء جدول افتراضي و تم تسميته Excellent_STudent اي طلاب متفوقين

as : بعد هذا الامر يتم كتابة الاستعلام الى تريد تحفظه في جدول الافتراضي

where grade >= 90: الشرط ان يكون درجات الطلاب يساوي او اعلى من 90

خلونا نعمل تطبيق عملي:

مثل ماتلاحظ شفنا الجدول قبل ماانطبق الطريقة

ثم تم كتابة view لعمل جدول افتراضي الاستعلام الى تم كتابته مستقبآ

للملاحظة: تقدر تسوي استعلام بالبداية ولما تخلص وتكون جاهز تضعه في جدول view

طيب بعد ماعملنا الجدول راح ينضاف في قسم schema جدول تحت اسم الى علمته كا View

مثال بالصوره:

المهم بعد ماتأكدنا الطريقة ضبطت و مشت بشكل سليم تمام.

الان نجرب نجلب الاستعلام لجدول Excellent_STudent بدون عمل اي شروط او اي شي

فقط نكتب select ثم اسم الجدول ألافتراضي.

هنا مثال:

هنا راح تلاحظون لما عملنا جلب المعلومه الطلاب متفوقين جاب لي فقط الطلاب الى درجاتهم اعلى من 90 :).


  • Create or Replace: ليتم عمل تحديث البيانات في وقت الضروره او ان أحتجت تعدل شي.

مثال: في حال انك تبي تعدل معلومات الاستعلام و افرض اني بخلي متفوقين فوق 80 وليس 90

نعمل هكذا نفس الاستعلام بضبط بس نضع Replace و نعدل الشرط.

create or replace view Excellent_STudent as
 select * from students
where grade >=80;

هنا تم عمل تعديل بسيط اني وضعت or replace

ثم عدلت الشرط بحيث الجدول يطلع لي الطلاب الى درجاتهم اعلى من 80 فقط بدال مايكون 90 🙂

هنا مثال عملي:

بعد التعديل نجي نجرب نشوف هل ضبطت معانا ولالا!

مثل ماتلاحظون هنا

صار الشرط فقط اعلى من 80 و جلب لي الجدول الطلاب متفوقين الى درجاتهم اعلى من 80 فقط :).


  • Drop view: لحذف الجدول افتراضي.

لما تجي تحذف جدول الافتراضي الى عملته

نكتب كذا:

drop view Excellent_STudent;

لما نجي نعمل Run الجدول الافتراضي راح يتم حذفه بنجاح.

وكذا انحذف الجدول الافتراضي 🙂

و جينا نتأكد انه انحذف و سوينا استعلام الاسف الجدول موب فيه يعني انحذف 🙂

كذا انتهينا من الدرس و ان شاءالله يكون سهل وبسيط.

اشوفكم على خير.