18.2. Lesson: Utilizarea DB Manager din QGIS, în lucrul cu bazele de date spațiale

We have already seen how to perform many database operations with QGIS as well as with other tools, but now it’s time to look at the DB Manager tool which provides much of this same functionality as well as more management oriented tools.

Scopul acestei lecții: De a se învăța interacțiunea cu bazele de date raster, folosind interfața DB Manager din QGIS.

18.2.1. basic Follow Along: Gestionarea Bazelor de date PostGIS cu ajutorul DB Manager

You should first open the DB Manager interface by selecting Database –> DB Manager –> DB Manager on the menu or by selecting the DB Manager icon on the toolbar.

dbmanager

You should already see the previous connections we have configured and be able to expand the myPG section and its public schema to see the tables we have worked with in previous sections.

The first thing you may notice is that you can now see some metadata about the Schemas contained in your database.

../../../_images/db_manager_dialog.png

Schemas are a way of grouping data tables and other objects in a PostgreSQL database and a container for permissions and other constraints. Managing PostgreSQL schemas is beyond the scope of this manual, but you can find more information about them in the PostgreSQL documentation on Schemas. You can use the DB Manager to create new Schemas, but will need to use a tool like pgAdmin III or the command line interface to manage them effectively.

DB Manager can also be used to manage the tables within your database. We have already looked at various ways to create and manage tables on the command line, but now lets look at how to do this in DB Manager.

First, its useful to just look at a table’s metadata by clicking on its name in tree and looking in the Info tab.

../../../_images/table_info.png

In this panel you can see the General Info about the table as well the information that the PostGIS extension maintains about the geometry and spatial reference system.

If you scroll down in the Info tab, you can see more information about the Fields, Constraints and Indexes for the table you are viewing.

../../../_images/table_info_fields.png

Its also very useful to use DB Manager to simply look at the records in the database in much the same way you might do this by viewing the attribute table of a layer in the Layer Tree. You can browse the data by selecting the Table tab.

../../../_images/table_panel.png

Există, de asemenea o filă Preview, care vă va arăta datele stratului într-o hartă de previzualizare.

Click-dreapta pe unul dintre straturi și, făcând clic pe Add to Canvas, acesta se va adăuga pe hartă.

So far we have only been viewing the database its schemas and tables and their metadata, but what if we wanted to alter the table to add an additional column perhaps? DB Manager allows you to do this directly.

  • Selectați din arbore tabela pe care doriți să o editați

  • Selectați meniul Table –> Edit Table`pentru a deschide dialogul :guilabel:`Tabelei de Proprietăți.

../../../_images/edit_table.png

Puteți folosi acest dialog pentru a Adăuga Coloane, Coloane pentru geometrii, pentru a edita coloanele existente sau pentru a elimina complet o coloană.

Using the Constraints tab, you can manage which fields are used as the primary key or to drop existing constraints.

../../../_images/constraints_panel.png

Fila Indecșilor poate fi folosită pentru a adăuga și șterge atât indicii spațiali, cât și cei normali.

../../../_images/indexes_panel.png

18.2.2. hard Follow Along: Crearea unei Noi Tabele

Acum, că am trecut prin procesul de lucru cu tabelele existente în baza noastră de date, haideți să folosim DB Manager pentru a crea o nouă tabelă.

  • În cazul în care nu este deschisă deja, deschideți fereastra DB Manager, și apoi extindeți arborele până când se vede lista tabelelor prezente deja în baza dvs. de date.

  • Selectați meniul :guilabel:`Table –> Create Table`pentru a deschide dialogul de Creare a Tabelei.

  • Folosiți schema Public, implicită, și denumiți tabela places.

  • Adugați câmpurile id, place_name și elevation, așa cum se arată mai jos

  • Asigurați-vă că ați setat câmpul id ca și cheie primară.

  • Click the checkbox to Create geometry column and make sure it is set to a POINT type and leave it named geom and specify 4326 as the SRID.
  • Click the checkbox to Create spatial index and click Create to create the table.
../../../_images/create_table.png
  • Dismiss the dialog letting you know that the table was created and click Close to close the Create Table Dialog.

You can now inspect your table in the DB Manager and you will of course find that there is no data in it. From here you can Toggle Editing on the layer menu and begin to add places to your table.

18.2.3. basic Follow Along: Tehnici de bază pentru administrarea bazei de date

The DB Manager will also let you do some basic Database Administration tasks. It is certainly not a substitute for a more complete Database Administration tool, but it does provide some functionality that you can use to maintain your database.

Database tables can often become quite large and tables which are being modified frequently can end up leaving around remnants of records that are no longer needed by PostgreSQL. The VACUUM command takes care of doing a kind of garbage collection to compact and optional analyze your tables for better performance.

Să aruncăm o privire la modul în care putem efectua o comandă VACUUM ANALYZE din cadrul DB Manager.

  • Selectați una dintre tabelele din Arborele DB Manager.

  • Selectați Table –> Run Vacuum Analyze din meniu.

Asta e! PostgreSQL va efectua operațiunea. În funcție de cât de mare este tabela dvs., poate dura ceva timp până la încheiere.

Puteți găsi mai multe informații despre procesul de ANALIZĂ VACUUM din Documentația PostgreSQL referitoare la ANALIZA VACUUM

18.2.4. basic Follow Along: Executarea Interogărilor SQL cu ajutorul DB Manager

DB Manager also provides a way for you to write queries against your database tables and to view the results. We have already seen this type of functionality in the Browser panel, but lets look at it again here with DB Manager.

  • Selectați din arbore tabela linii.

  • Selectați butonul SQL window din bara de instrumente DB Manager.

../../../_images/sql_window_btn.png
  • Compuneți următoarea Interogare SQL în spațiul furnizat:

    select * from lines where roadtype = 'major';
  • Clic pe butonul Execute (F5) pentru a rula interogarea.

  • Ar trebui să vedeți acum înregistrările care corespund panoului Rezultate.

../../../_images/sql_results.png
  • Faceți clic pe caseta de bifare Load as new layer pentru a adăuga rezultatele în harta dvs.

  • Select the id column as the Column with unique integer values and the geom column as the Geometry column.
  • Introduceți roads_primary ca și Nume pentru strat (prefix).

  • Faceți clic pe Load now! pentru a încărca rezultatele ca un nou strat în harta dvs.

../../../_images/sql_add_to_map.png

The layers that matched your query are now displayed on your map. You can of course use this query tool to execute any arbitrary SQL command including many of the ones we looked at in previous modules and sections.

18.2.5. Importarea datelor dintr-o Bază de date cu ajutorul DB Manager

We have already looked at how to import data into a spatial database using command line tools and also looked at how to use the SPIT plugin, so now lets learn how to use DB Manager to do imports.

  • Clic pe butonul Import layer/file din Bara de Instrumente a dialogului DB Manager.

../../../_images/import_layer_btn.png
  • Selectați fișierul urban_33S.shp din exercise_data/projected_data ca și set de date de intrare.

  • Clic pe butonul Opțiunilor de actualizare pentru a pre-completa unele din valorile formularului.

  • Asigurați-vă că este selectată opțiunea Creare tabelă nouă.

  • Specificați 32722 pentru SRID-ul Sursă și 4326 pentru SRID-ul Destinație.

  • Activați caseta de bifare pentru a Crea îndexul Spațial

  • Clic pe OK, pentru a se efectua importul.

../../../_images/import_urban.png
  • Închideți dialogul care vă informează că importul a avut loc cu succes

  • Clic pe butonul Refresh din Bara de Instrumente DB Manager.

You can now inspect the table in your database by clicking on it in the Tree. Verify that the data has been reprojected by checking that the Spatial ref: is listed as WGS 84 (4326)

../../../_images/urban_info.png

Right clicking on the table in the Tree and a selecting Add to Canvas will add the table as a layer in your map.

18.2.6. Exportul datelor cu DB Manager dintr-o Bază de date

De asemenea, DB Manager se poate utiliza pentru exportul datelor din bazele de date spațiale, așa că haideți să aruncăm o privire la modul în care se face aceasta.

  • Select the lines layer in the Tree and click the Export to File button on the toolbar to open the Export to vector file dialog.
  • Click the ... button to select the Output file and save the data to your exercise_data directory as urban_4326.
  • Introduceți 4326 în Target SRID.

  • Clic OK pentru a inițializa exportul.

../../../_images/export_to_vector.png
  • Închideți dialogul care vă informează că exportul a avut loc cu succes, apoi închideți DB Manager.

Puteți inspecta de acum fișierul shape pe care l-ați creat cu panoul de Răsfoire.

../../../_images/inspect_vector_output.png

18.2.7. In Conclusion

Ați aflat cum să folosiți de acum interfața DB Manager din QGIS, pentru a gestiona bazele de date spațiale, pentru a executa interogări SQL asupra datelor dvs. și cum să importați și să exportați datele.

18.2.8. What’s Next?

Next, we will look at how to use many of these same techniques with spatialite databases.