25.2.1. إضافة DB Manager¶
صُممت إضافة DB Manager لتكون الأداة الرئيسية لدمج صيغ قواعد البيانات المكانية التي يدعمها QGIS (PostgreSQL و SpatiaLite و GeoPackage و Oracle Spatial والطبقات الافتراضية) وإدارتها في واجهة مستخدم واحدة. توفر إضافة
DB Manager ميزات عديدة. يمكنك سحب الطبقات من متصفح QGIS إلى DB Manager، فتستورد طبقتك إلى قاعدة بياناتك المكانية. ويمكنك سحب الجداول وإفلاتها بين قواعد البيانات المكانية فتُستورد.
شكل 25.4 نافذة حوار DB Manager¶
تتيح لك قائمة الاتصال بقاعدة بيانات موجودة، وتشغيل نافذة SQL، والخروج من إضافة DB Manager. بمجرد الاتصال بقاعدة بيانات موجودة، تظهر القائمتان (المتعلقة بأنظمة إدارة قواعد البيانات مثل PostgreSQL) و .
تتضمن قائمة أدوات لإنشاء المخططات (schemas) وحذفها (إذا كانت فارغة فقط)، وإذا كانت الطوبولوجيا متاحة (مثلًا مع PostGIS topology)، لتشغيل TopoViewer.
تتيح لك قائمة إنشاء الجداول وتحريرها وحذف الجداول وطرق العرض (views). ويمكن أيضًا تفريغ الجداول ونقلها بين المخططات. يمكنك تشغيل Run Vacuum Analyze للجدول المحدد. تستعيد عملية Vacuum المساحة وتجعلها متاحة لإعادة الاستخدام، وتحدّث عملية analyze الإحصاءات المستخدمة لتحديد الطريقة الأكثر كفاءة لتنفيذ الاستعلام. يتيح لك Change Logging... إضافة دعم تسجيل التغييرات إلى جدول. وأخيرًا، يمكنك استخدام Import Layer/File... و Export to File....
ملاحظة
باستخدام DB Manager يمكن إضافة تعليقات لجداول قاعدة بيانات PostgreSQL وأعمدتها.
تعرض نافذة Providers جميع قواعد البيانات الموجودة التي يدعمها QGIS. بالنقر المزدوج يمكنك الاتصال بقاعدة البيانات. وبزر الفأرة الأيمن يمكنك إعادة تسمية المخططات والجداول الموجودة وحذفها. ويمكن أيضًا إضافة الجداول إلى لوحة خريطة QGIS من خلال القائمة السياقية.
عند الاتصال بقاعدة بيانات، توفر النافذة الرئيسية لـ DB Manager أربعة تبويبات. يقدم تبويب Info معلومات عن الجدول وشكله الهندسي، وعن الحقول والقيود والفهارس الموجودة. ويتيح لك إنشاء فهرس مكاني على الجدول المحدد. يعرض تبويب Table الجدول، ويعرض تبويب Preview الأشكال الهندسية كمعاينة. وعند فتح SQL Window توضع في تبويب جديد.
25.2.1.1. العمل مع نافذة SQL¶
يمكنك استخدام DB Manager لتنفيذ استعلامات SQL على قاعدة بياناتك المكانية. يمكن حفظ الاستعلامات وتحميلها، وسيساعدك SQL Query Builder على صياغة استعلاماتك. بل يمكنك عرض المخرجات المكانية بتفعيل Load as new layer وتحديد Column(s) with unique values (المعرّفات) و Geometry column و Layer name (prefix). ويمكن تظليل جزء من SQL لتنفيذ ذلك الجزء وحده عند الضغط على Ctrl+R أو النقر على زر Execute.
يضيف QGIS أيضًا دعم الدالة REGEXP في بعض مزوّدي البيانات. يتيح ذلك للمستخدمين استخدام التعبيرات النمطية (regular expressions) في مرشحات SQL أو التعبيرات، على سبيل المثال:
SELECT * FROM places WHERE name REGEXP '^A';
يُرجع هذا جميع المعالم التي تبدأ قيمة الحقل name فيها بالحرف A.
بعد تنفيذ استعلامك، يمكنك تحديد خلايا معينة في مجموعة النتائج. استخدم الاختصار Ctrl+C لنسخ الخلايا المحددة إلى الحافظة. تكون البيانات المنسوخة متاحة على هيئة جدول منسق. يتيح لك ذلك لصق البيانات في تطبيقات أخرى، مثل جداول البيانات حيث ستظهر على هيئة جدول.
يخزّن زر Query History آخر 20 استعلامًا لكل قاعدة بيانات ومزوّد بيانات.
يؤدي النقر المزدوج على أحد المدخلات إلى إضافة السلسلة النصية إلى نافذة SQL.
شكل 25.5 تنفيذ استعلامات SQL في نافذة SQL الخاصة بـ DB Manager¶
ملاحظة
يمكن أيضًا استخدام نافذة SQL لإنشاء طبقات افتراضية. وفي هذه الحالة، بدلًا من اختيار قاعدة بيانات، اختر QGIS Layers ضمن Virtual Layers قبل فتح نافذة SQL. انظر إنشاء الطبقات الافتراضية للاطلاع على تعليمات صياغة SQL المستخدمة.
25.2.1.2. استيراد طبقة متجهية¶
يمكنك استيراد طبقة أو ملف إلى قاعدة بياناتك. فيما يلي المعاملات التي يمكنك تعيينها لعملية الاستيراد:
Input: اختر الطبقة أو الملف المراد استيراده. باستخدام القائمة المنسدلة، اختر من قائمة الطبقات المحمّلة في QGIS أو انقر على زر ... لاختيار ملف من القرص. فعّل
Import only selected features لاستيراد المعالم المحددة فقط من الطبقة.Output table: اختر Schema وأدخل اسمًا للجدول الجديد.
Options: فيما يلي بعض خيارات عملية الاستيراد:
Primary key: أدخل اسمًا لحقل المفتاح الأساسي. افتراضيًا يكون اسمه id.
Geometry column: أدخل اسمًا لعمود الشكل الهندسي. افتراضيًا يكون اسمه geom.
Source SRID: حدّد SRID لعمود الشكل الهندسي. افتراضيًا يُستخدم نظام الإحداثيات المرجعي للطبقة.
Target SRID: حدّد SRID الهدف لإعادة إسقاط الأشكال الهندسية أثناء عملية الاستيراد. افتراضيًا يُستخدم نظام الإحداثيات المرجعي للطبقة.
Encoding: حدّد ترميز البيانات المصدر. افتراضيًا يُستخدم Automatic، وهو وضع الاكتشاف التلقائي في QGIS الذي يحاول تخمين ترميز أحرف الملف استنادًا إلى البيانات الوصفية المتاحة أو إعدادات اللغة في النظام.
Replace destination table (if exists): إذا كان هناك جدول بالاسم نفسه في المخطط المحدد، فسيُستبدل.
Do not promote to multi-part: تُستورد الأشكال الهندسية على هيئة أشكال أحادية الجزء.
Convert field names to lower case: تُحوَّل جميع أسماء الحقول إلى أحرف صغيرة.
Create spatial index: يُنشأ فهرس مكاني على عمود الشكل الهندسي بعد الاستيراد.
Comment: إضافة تعليقات إلى الجدول. متاح لقواعد بيانات PostgreSQL فقط.
شكل 25.6 استيراد طبقة متجهية إلى قاعدة بيانات مكانية باستخدام DB Manager¶
25.2.1.3. التصدير إلى ملف متجهي¶
لتصدير جدول من قاعدة بياناتك إلى ملف متجهي، اختر Format المطلوبة وموقع Save as. ضمن Options يمكنك تعيين المعاملات التالية:
Source SRID: حدّد SRID المصدر لعمود الشكل الهندسي. افتراضيًا يُستخدم نظام الإحداثيات المرجعي للطبقة.
Target SRID: حدّد SRID الهدف لإعادة إسقاط الأشكال الهندسية أثناء عملية التصدير. افتراضيًا يُستخدم نظام الإحداثيات المرجعي للطبقة.
Replace destination table (if exists): إذا كان هناك جدول بالاسم نفسه في الموقع المحدد، فسيُستبدل.
شكل 25.7 تصدير جدول إلى ملف متجهي باستخدام DB Manager¶