Kodulehed
[381] - Andmebaasid II (ITI0207) (sügis 2021)
Esiletöstetud Kiirvalik
Lisainfo Kõige olulisemate tegevuste kiirvalik. Failide saatmiseks valige Vastamine alt sobiv ülesanne.
Üldist
Materjalid
LisainfoMaterjalide kataloogid.
Värvilised mummud tähistavad hinnangulist kataloogide lugemise vajadust. Roheline - suurim, kollane - keskmine, punane või mummuta - väikseim
Isiklik
Lisainfo Info ainult Sulle - teised kasutajad seda ei näe
Abi
Lisainfo Võimalus küsida õppejõult abi (nagu foorum, kus saab küsida küsimusi ja kommenteerida vastuseid)
Mitmesugust
Abi / Kasutajatugi / PostgreSQL

Avalikud küsimused ja vastused:

Küsimuste teemade nimekiri

Erki Eessaar:
Kuidas saaks vaadata olemasoleva PostgreSQL andmebaasi tabelite kirjeldust diagrammina?
Vastus: Kui Teil on andmete modelleerimise CASE vahend, siis see võib toetada pöördprojekteerimist (reverse engineering) olemasolevast andmebaasist.

Leidub ka eraldi andmebaaside haldusvahendeid, mis sellist funktsionaalsust pakuvad. Tõstan esile:
Igaühe kohta on vastusele lisatud vähemalt üks ekraanipilt.

Kõigi puhul on probleemiks, et visualiseerimise tulemuses ei näidata UNIQUE kitsendusi, CHECK kitsendusi, indekseid, kitsenduste ja indeksite nimesid.

DBVisualizeris ei näe lisaks ka NOT NULL kitsendusi. Samuti ei saa seal teha eraldi diagramme andmebaaside erinevate alamosade kohta.

DBeaveris on eraldi diagrammide loomine võimalik (Project => ER Diagrams). Looge kõigepealt tühi diagramm ja lohistage (drag and drop) seejärel sinna valik tabelitest. Täpselt nagu kontseptuaalse andmemudeli puhul võiks iga registri kohta luua eraldi diagrammid.

DBeaveris on võimalik peita diagrammil osade, kuid mitte kõikide tabelite veerud. Selleks tuleb valida tabelit esitav kast ja parempoolse hiireklahvi alt avanevast menüüst valida Show Attributes => Selected Entity => None. Nii saate registri kohta käival diagrammil peita registrisse mittekuuluvate tabelite seosed, näidates samas registrisse kuuluvate tabelite seoseid teiste registrite tabelitega.

pgAdmin (vähemalt 4.5.6) vahendisse on lisatud Generate ERD funktsionaalsus. Paraku on kõik tabelid ühel diagrammil. Samuti ei näe NOT NULL kitsendusi.

Veel üks võimalus on kasutada pgModeler tarkvara, millel on pöördprojekteerimise võimekus. See vahend on mõeldud PostgreSQL andmebaasi disaini mudelite loomiseks.

Veel üks võimalus on kasutada Oracle SQL Developer Data Modeler tarkvara, mida saab Oracle kodulehelt tasuta alla laadida. Tarkvara on tasuta, kuid allalaadimiseks on vajalik ennast eelnevalt kodulehel registreerida.  See vahend on eeskätt mõeldud Oracle andmebaasi disaini mudelite loomiseks.  PostgreSQLiga koos kasutamist kirjeldatakse SIIN artiklis, kuid annan järgnevalt ka omapoolse juhendi.

  1. Laadida alla Oracle SQL Developer Data Modeler.
  2. Installeerimiseks tuleb allalaetud fail lahti pakkida.
  3. Laadida SIIT alla JDBC draiver (jar fail). Tuleb valida kõige uuem versioon Java 8 jaoks.
  4. Kui ei kasuta ülikooli Wifit, siis luua eduVPN ühendus, sest muidu ei saa ülikooli serveris oleva PostgreSQLiga ühendust luua.
  5. Käivitada Data Modeler.
  6. Valida Tools => Preferences => Data Modeler => Third Party JDBC Drivers
  7. Vajutada rohelise pluss märgiga nupule ja lisada viide eelnevalt allalaetud jar failile.
  8. Valida File => Import => Data Dictionary
  9. Lisada uus ühendus:
    • Name: Ise valida (lubatud märgid: tähed, numbrid, @, _, -)
    • Database Type: JDBC
    • Username: serveri kasutajanimi (t+matrikli number)
    • Password: serveri parool (saatsite konto küsimisel meiliga)
    • JDBC URL: jdbc:postgresql://apex.ttu.ee/siia_andmebaasi_nimi
    • Driver Class: org.postgresql.Driver
  10. Vajutada nupule Test ja kui akna vasakusse alaserva ilmub teade Success, siis vajutada nupule Connect.
  11. Valida viisardis Next ja järgmisel sammul valida skeem(id), milles olevate tabelite kirjeldus soovitakse importida.
    • Kui Te ise andmebaasis skeeme ei loonud, siis vaikimisi pandi skeemiobjektid skeemi public.
  12. Valida viisardis Next ja valida imporditavad tabelid.
    • Lisaks baastabelitele saab valida ka vaateid. Diagrammil on vaated teistsuguse välimusega, näha on veergude nimed ja nende järjekord.
  13. Vaikimisi kuvatakse kõiki tabeleid ühel diagrammil ja tulemus ei ole hästi jälgitav (vt lisatud faili Data_modeler_suur_diagramm). Iga registri kohta eraldi diagrammi loomiseks saab luua alamvaateid (subview).
    • Iga registri kohta luua vähemalt üks eraldi alamvaade ja lohistada igale alamvaatele ainult selle konteksits huvipakkuvad tabelid (vt lisatud faili Data_modeler_vaike_diagramm).
    • Probleemiks on, et kui tabeli kirjeldus peaks olema erinevatel diagrammidel, siis selle tabeli kirjeldust dubleeritakse erinevates alamvaadetes.

vaata ka faile:
PostgreSQLi andmebaasis olemasolevate tabelite visualiseerimine Dbeaveri abil (liiga) suure diagrammina[364 KB]
PostgreSQLi andmebaasis olemasolevate tabelite visualiseerimine Dbeaver registripõhise (kindla fookusega) diagrammina[135 KB]
PostgreSQLi andmebaasis olemasolevate tabelite visualiseerimine DBVisualizeri abil (liiga) suure diagrammina[260 KB]
PostgreSQLi andmebaasis olemasolevate tabelite visualiseerimine Oracle Data modeler abil (liiga) suure diagrammina[307 KB]
PostgreSQLi andmebaasis olemasolevate tabelite visualiseerimine Oracle Data modeler abil registripõhise (kindla fookusega) diagrammina[203 KB]
PostgreSQLi andmebaasis olemasolevate tabelite visualiseerimine PgAdmini abil (liiga) suure diagrammina[507 KB]

Hinda vastust:

Keskmine hinne : Pole veel hinnanguid!