English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

نوع في SQLite

الرؤية هي مجرد جمل SQLite مخزنة تحت اسم مرتبط في قاعدة البيانات. إنها في الواقع تجمع لجدول يحتوي على جمل SQLite مسبقة الإعداد.

يمكن أن تحتوي الرؤية على كل سطر من الجدول أو سطرًا مختارًا من جدول واحد أو أكثر. يمكنك إنشاء رؤية من جدول واحد أو أكثر اعتمادًا على الاستعلام SQLite الذي كتبته لإنشاء الرؤية.

تسمح الرؤية كجدول افتراضي للمستخدمين بـ-

  • بناء البيانات بطريقة طبيعية أو واضحة من منظور المستخدم أو فئة المستخدم.

  • تقييد الوصول إلى البيانات لجعل المستخدمين يرون فقط بيانات محدودة وليس الجدول بأكمله.

  • تجميع بيانات من عدة جداول، التي يمكن استخدامها لإنشاء التقارير.

الرؤية SQLite هي قابلة للقراءة فقط، لذا قد لا تستطيع تنفيذ جمل DELETE، INSERT أو UPDATE على الرؤية. ولكن يمكنك إنشاء محفز على الرؤية، والذي سيتم تنفيذه عند محاولة حذف، إضافة أو تحديث الرؤية، ويتم تنفيذ العمليات المطلوبة في جسم المحفز.

إنشاء الرؤية

استخدامCREATE VIEWالجملة تصنع رؤية SQLite. يمكنك إنشاء رؤية SQLite من جدول واحد، عدة جداول أو رؤية أخرى.

هذه هي بنية CREATE VIEW الأساسية.

CREATE [TEMP | TEMPORARY] VIEW view_name AS SELECT column1, column2.....FROM table_name WHERE [condition];

يمكنك استخدام العديد من الجداول مثل استعلام SELECT العادي في جملة SELECT، وإدراج العديد من الجداول. إذا كان هناك كلمات المفتاح TEMP أو TEMPORARY الإختيارية، فإنه سيتم إنشاء هذه الرؤية في قاعدة البيانات temp.

مثال

جداول COMPANY تحتوي على السجلات التالية:

ID                                    NAME                                            AGE                                            ADDRESS                 SALARY
----------                            ----------                                    ----------                                    ----------                            ----------
1                                     Paul                                         32                                            California            20000.0
2                                     Allen                                         25                                            Texas                 15000.0
3                                     Teddy                                         23                                            Norway                 20000.0
4                                     Mark                                         25                                            Rich-Mond            65000.0
5                                     David                                         27                                            Texas                 85000.0
6                                     Kim                                            22                                            South-Hall            45000.0
7                                     James                                         24                                                 Houston                 10000.0

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

sqlite> CREATE VIEW COMPANY_VIEW AS
SELECT ID, NAME, AGE
FROM  COMPANY;

الآن، يمكنك استعلام الجداول الفعلية بشكل مشابه لـ COMPANY_VIEW. إليك مثال:

sqlite> SELECT * FROM COMPANY_VIEW;

ستنتج هذا النتيجة.

ID                                    NAME                                            AGE
----------                            ----------                                    ----------
1                                     Paul                                         32
2                                     Allen                                         25
3                                     Teddy                                         23
4                                     Mark                                         25
5                                     David                                         27
6           Kim         22
7           James       24

حذف الرؤية

لحذف الرؤية، يكفي استخدام جملة DROP VIEW معview_nameجملة DROP VIEW الأساسية هي كما يلي -

sqlite> DROP VIEW view_name;

السطر التالي سيقوم بإزالة الرؤية COMPANY_VIEW التي أنشأناها في القسم السابق.

sqlite> DROP VIEW COMPANY_VIEW;