17.2. الدرس: استخدام DB Manager للعمل مع قواعد البيانات المكانية في QGIS¶
رأينا من قبل كيف ننفذ عمليات كثيرة على قواعد البيانات باستخدام QGIS وأدوات أخرى، وقد حان الوقت للتعرف على أداة DB Manager التي توفر كثيرًا من هذه الوظائف نفسها، إضافة إلى أدوات أكثر توجهًا نحو الإدارة.
هدف هذا الدرس: تعلّم كيفية التفاعل مع قواعد البيانات المكانية باستخدام DB Manager في QGIS.
17.2.1. ★☆☆ تابع معنا: إدارة قواعد بيانات PostgreSQL باستخدام DB Manager¶
افتح أولًا واجهة DB Manager باختيار من القائمة أو باختيار أيقونة
DB Manager في شريط الأدوات.
يُفترض أن ترى الاتصالات التي أعددناها سابقًا، وأن تتمكن من توسيع قسم myPG ومخططه public لرؤية الجداول التي عملنا عليها في الأقسام السابقة.
أول ما قد تلاحظه أنك صرت ترى بعض البيانات الوصفية (metadata) عن المخططات (Schemas) الموجودة في قاعدة بياناتك.
المخططات وسيلة لتجميع جداول البيانات والكائنات الأخرى في قاعدة بيانات PostgreSQL، وحاوية للصلاحيات والقيود الأخرى. إدارة مخططات PostgreSQL خارج نطاق هذا الدليل، لكن يمكنك العثور على مزيد من المعلومات عنها في توثيق PostgreSQL حول المخططات. يمكنك استخدام DB Manager لإنشاء مخططات جديدة، لكنك ستحتاج إلى أداة مثل pgAdmin III أو واجهة سطر الأوامر لإدارتها بفاعلية.
يمكن أيضًا استخدام DB Manager لإدارة الجداول داخل قاعدة بياناتك. تناولنا من قبل طرقًا مختلفة لإنشاء الجداول وإدارتها من سطر الأوامر، ولننظر الآن في كيفية فعل ذلك في DB Manager.
من المفيد أولًا الاطلاع ببساطة على البيانات الوصفية لجدول بالنقر على اسمه في الشجرة والنظر في تبويب Info.
في هذه اللوحة يمكنك رؤية General Info (المعلومات العامة) عن الجدول، إضافة إلى المعلومات التي يحتفظ بها امتداد PostGIS عن الشكل الهندسي والنظام المرجعي المكاني.
إذا مررت إلى الأسفل في تبويب Info، يمكنك رؤية مزيد من المعلومات عن Fields و Constraints و Indexes للجدول الذي تعرضه.
ومن المفيد جدًّا أيضًا استخدام DB Manager للاطلاع ببساطة على السجلات في قاعدة البيانات، بالطريقة نفسها تقريبًا التي تعرض بها جدول البيانات الوصفية لطبقة في شجرة الطبقات. يمكنك تصفح البيانات باختيار تبويب Table.
هناك أيضًا تبويب Preview الذي يعرض لك بيانات الطبقة في معاينة خريطة.
يؤدي النقر بزر الفأرة الأيمن على طبقة في الشجرة ثم النقر على Add to Canvas إلى إضافة هذه الطبقة إلى خريطتك.
حتى الآن اكتفينا بعرض قاعدة البيانات ومخططاتها وجداولها وبياناتها الوصفية، لكن ماذا لو أردنا تعديل الجدول لإضافة عمود إضافي مثلًا؟ يتيح لك DB Manager فعل ذلك مباشرة.
حدّد الجدول الذي تريد تحريره في الشجرة
اختر من القائمة لفتح نافذة الحوار Table Properties.
يمكنك استخدام نافذة الحوار هذه لإضافة أعمدة، أو إضافة أعمدة شكل هندسي، أو تحرير الأعمدة الموجودة، أو إزالة عمود كليًّا.
باستخدام تبويب Constraints، يمكنك تحديد الحقول المستخدمة مفتاحًا أساسيًا، أو حذف القيود الموجودة.
يمكن استخدام تبويب Indexes لإضافة الفهارس المكانية والعادية وحذفها.
17.2.2. ★☆☆ تابع معنا: إنشاء جدول جديد¶
بعد أن مررنا بعملية العمل مع الجداول الموجودة في قاعدة بياناتنا، لنستخدم DB Manager لإنشاء جدول جديد.
إن لم تكن نافذة DB Manager مفتوحة، فافتحها ووسّع الشجرة حتى ترى قائمة الجداول الموجودة في قاعدة بياناتك.
من القائمة اختر Table --> Create Table لفتح نافذة الحوار Create Table.
استخدم المخطط الافتراضي
Publicوسمِّ الجدولplaces.أضف الحقول
idوplace_nameوelevationكما هو موضح أدناهتأكد من تعيين الحقل
idمفتاحًا أساسيًا.فعّل مربع الاختيار Create geometry column وتأكد من ضبطه على النوع
POINT، واترك اسمهgeom، وحدد4326قيمةً لـ SRID.فعّل مربع الاختيار Create spatial index وانقر على Create لإنشاء الجدول.
أغلق نافذة الحوار التي تُعلمك بإنشاء الجدول، وانقر على Close لإغلاق نافذة الحوار Create Table.
يمكنك الآن فحص جدولك في DB Manager، وستجد بالطبع أنه لا يحتوي على بيانات. ومن هنا يمكنك تفعيل Toggle Editing من قائمة الطبقة والبدء في إضافة أماكن إلى جدولك.
17.2.3. ★☆☆ تابع معنا: الإدارة الأساسية لقاعدة البيانات¶
يتيح لك DB Manager أيضًا تنفيذ بعض مهام الإدارة الأساسية لقاعدة البيانات. وهو بالتأكيد ليس بديلًا عن أداة أشمل لإدارة قواعد البيانات، لكنه يوفر بعض الوظائف التي يمكنك استخدامها لصيانة قاعدة بياناتك.
كثيرًا ما تصبح جداول قاعدة البيانات كبيرة جدًّا، وقد تخلّف الجداول التي تُعدَّل كثيرًا بقايا سجلات لم يعد PostgreSQL بحاجة إليها. يتولى الأمر VACUUM إجراء نوع من جمع المهملات لضغط جداولك وتحليلها اختياريًا لتحسين الأداء.
لنلقِ نظرة على كيفية تنفيذ الأمر VACUUM ANALYZE من داخل DB Manager.
حدّد أحد جداولك في شجرة DB Manager
اختر من القائمة
سينفذ PostgreSQL العملية الآن. وقد يستغرق إكمالها بعض الوقت بحسب حجم جدولك.
يمكنك العثور على مزيد من المعلومات عن عملية VACUUM ANALYZE في توثيق PostgreSQL حول VACUUM ANALYZE.
17.2.4. ★☆☆ تابع معنا: تنفيذ استعلامات SQL باستخدام DB Manager¶
يوفر DB Manager أيضًا وسيلة لكتابة استعلامات على جداول قاعدة بياناتك وعرض نتائجها. رأينا هذا النوع من الوظائف من قبل في لوحة Browser، لكن لننظر فيه مرة أخرى هنا باستخدام DB Manager.
حدّد الجدول
linesفي الشجرة.اختر زر SQL window في شريط أدوات DB Manager.
اكتب SQL query التالي في المساحة المخصصة:
select * from lines where roadtype = 'major';
انقر على زر Execute (F5) لتشغيل الاستعلام.
يُفترض أن ترى الآن السجلات المطابقة في لوحة Result.
فعّل مربع الاختيار Load as new layer لإضافة النتائج إلى خريطتك.
اختر العمود
idبوصفه Column with unique integer values والعمودgeomبوصفه Geometry column.أدخل
roads_primaryفي Layer name (prefix).انقر على Load now! لتحميل النتائج طبقةً جديدة في خريطتك.
تُعرض الآن على خريطتك الطبقات المطابقة لاستعلامك. ويمكنك بالطبع استخدام أداة الاستعلام هذه لتنفيذ أي أمر SQL، بما في ذلك كثير من الأوامر التي تناولناها في الوحدات والأقسام السابقة.
17.2.5. استيراد البيانات إلى قاعدة بيانات باستخدام DB Manager¶
تناولنا من قبل كيفية استيراد البيانات إلى قاعدة بيانات مكانية باستخدام أدوات سطر الأوامر، فلنتعلم الآن كيف نستخدم DB Manager لإجراء الاستيراد.
انقر على زر Import layer/file في شريط الأدوات في نافذة الحوار DB Manager.
اختر الملف
urban_33S.shpمنexercise_data/projected_dataمجموعةَ بيانات الإدخالانقر على زر Update Options لملء بعض قيم النموذج مسبقًا.
تأكد من تحديد الخيار Create new table
حدد Source SRID بالقيمة
32722و Target SRID بالقيمة4326فعّل مربع الاختيار Create Spatial Index
انقر على OK لإجراء الاستيراد
أغلق نافذة الحوار التي تُعلمك بنجاح الاستيراد
انقر على زر Refresh في شريط أدوات DB Manager
يمكنك الآن فحص الجدول في قاعدة بياناتك بالنقر عليه في الشجرة. تحقق من أن البيانات أُعيد إسقاطها بالتأكد من أن Spatial ref: مدرج على أنه WGS 84 (4326).
يؤدي النقر بزر الفأرة الأيمن على الجدول في الشجرة واختيار Add to Canvas إلى إضافة الجدول طبقةً في خريطتك.
17.2.6. تصدير البيانات من قاعدة بيانات باستخدام DB Manager¶
يمكن بالطبع استخدام DB Manager أيضًا لتصدير البيانات من قواعد بياناتك المكانية، فلنلقِ نظرة على كيفية فعل ذلك.
حدّد الطبقة
linesفي الشجرة وانقر على زر Export to File في شريط الأدوات لفتح نافذة الحوار Export to vector file.انقر على زر ... لاختيار Output file واحفظ البيانات في المجلد
exercise_dataباسمurban_4326.اضبط Target SRID على
4326.انقر على OK لبدء التصدير.
أغلق نافذة الحوار التي تُعلمك بنجاح التصدير، ثم أغلق DB Manager.
يمكنك الآن فحص ملف Shapefile الذي أنشأته باستخدام لوحة المتصفح.
17.2.7. الخلاصة¶
رأيت الآن كيف تستخدم واجهة DB Manager في QGIS لإدارة قواعد بياناتك المكانية، وتنفيذ استعلامات SQL على بياناتك، وكيف تستورد البيانات وتصدّرها.
17.2.8. ما التالي؟¶
سنتعرّف بعد ذلك على كيفية استخدام كثير من هذه التقنيات نفسها مع قواعد بيانات SpatiaLite.