VIEW
ماذا نتعلم في هذا الدرس :.
ما هو ال VIEW ؟
ما هي فائدة ال VIEW ؟


تلخيص : . ( لمن لا يحب القراءة )
فائدة ال VIEW تتلخص في الحماية القصوي للبيانات
فيمكنك عمل جدول وهمي لا يستطيع اليوزر ان يستعلم في كل الجدول الاساسي ويستعلم في الفيو بمعني
الفيو هو عباره عن جدول يتم انشاءه صورة من جدول ولكن وتجعل اليوزر يتعلم داخله ولا يمكنه الاستعلام في كل الحقول في حقول معينه فقط تحددها انت .. الباقي اقرا باقي الموضوع :funny: ....

ملحوظة : ال VIEW تعمل داخل الماي سكوال

عباره عن object في نظام أوراكل وهو ايضا موجود في نظام mysql بالتبعيه
لاعطاء المستخدم شكلا جدوليا ظاهريا للبيانات المسجلة في جدول او عدة جداول . ويستخدم الكيان view للاغراض التاليه :.
1 _ توفير فقط البيانات من جدول او عدة جداول والتي يحتاجها المستخدم والمسموح له التعامل معها مع اخفاء باقي البيانات .
علي سبيل المثال : . يحتوي جدول الموظف EMPLOYEE علي عدة حقول منها حقل المرتب SALARY . واذا رغبنا في حجب هذا الحقل عن مستخدم محدد يتم انشاء VIEW من جدول الموظف EMPLOYEE ليشمل كل الحقول ما عدا حقل المرتب SALARY ويتاح للمستخد التعامل مع الفيو VIEW علي انها جدول الموظف EMPLOYEE الحقيقي
2 _ تبسيط وسهولة كتابة الاستعلامات وذلك بتجميع البيانات من جدول او عدة جداول في VIEW واحد وكتابة الاستعلام علي VIEW دون الحاجة الي اجراء join بين جدولين
3 _ توفير نفس البيانات باشكال ظاهرية مختلفة لعدة مستخدمين حسب حاجة كل مستخدم

إنشاء ال VIEW:

هذا هو الشكل والبناء الاساسي للفيو



كود PHP:
CREATE [or replace ] [force noforce VIEW viewname
[column aliases ]
AS 
SELECT subquery
with check option [constraint constraintname ]]
[
with read only 
الشرح :.

يتم انشاء جملة VIEW عن طريق الاستعلام SELECT
[ OR REPLACE ] تستخدم لانشاء فيو محل فيو اخر موجود بنفس الاسم ويستخدم مع OR REPLACE الاختيار FORCE او NO FORCE

[ COLUMN ALIASES ] تستخدم لاعطاء اسماء بديلة للحقول التي سيتضمنها ال VIEW

[ WITH CHECK OPTION ] تستخدم مع WHERE في استعلام انشاء ال VIEW للسماح بادخال وتعديل سجيلات من خلال ال VIEW بشرط تحقيق شرط ال فيو . كما يمكن اضافة القيود اللازمه

[ WITH READ ONLY ] تستخدم لعدم السماح بتعديل البيانات من خلال ال VIEW


مثال توضيحي


: . اذا كان لدينا جدول في قاعدة البيانات اسمه جدول الموظفين EMPLOYEE وهو يحتوي علي الحقول
الاسم الاول
كود PHP:
FNAME
LNAME
SSN
BDATE
SEX
SALARY
DNO
SUPERSSN 
واذا كان لقاعدة بياناتنا اكتر من مستخدم ونريد ان نتيح لاحد المستخدمين الاستعلام داخل جدول الموظفين العاملين فقط في القسم رقم 1

وايضا ليس كل البيانات الخاصة بالموظف ولكن فقط الرقم التاميني تحت اسم EMPNO

والاسم الاول تحت اسم FIRSTNAME
والاسم الاخير تحت LASTNAME
والنوع تحت اسم GENDER


ففي هذه الحالة يتم انشاء الفيو تحت اي اسم وليكن Emp_Dno1 عن طريق تنفيذ جملة انشاء الفيو التالية في قواعد بيانات واوراكل



كود PHP:
create view emp_dep1 (
empno firstnamelastname sex birthdate
as select ssn fname lnamesex bdate
from employee
where dno 

ويستطيع اليوزر الاستعلام داخل الفيو علي انه الجدول
بامر السكوال
كود PHP:
select from emp_dep1 
يتبع في الدرس الثاني ان شاء الله
والسلام عليكم ورحمة الله وبركاته
المراجع كتاب دكتور عوض خليل
advanced database applications using oracle

كتب الموضوع محمد فرجاني