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.
Vaadake SIIT videot DBeaveris selliste diagrammide loomise kohta.
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.
2. Võimalik on luua need diagrammid PlantUML formaadis. See on tekstiline formaat diagrammide e skeemide kirjeldamiseks kus kirjeldus on justkui programm ja selle programmi täitmisel kuvatakse joonis. See on mõnes mõttes sarnane dokumentide ettevalmistamise süsteemiga LaTex, kus dokumenti kirjutatakse mõnes mõttes kui programmi, mille käivitamisel näeb dokumenti soovitud viisil vormistatuna.
Tee andmebaasist varukoopia, mis sisaldab ainult andmebaasi skeemi (andmebaasiobjekte), mitte andmeid. Sellist varukoopiat saab teha vahendites nagu phpPgAdmin, PgAdmin, aga ka serveris käsurealt pg_dump utiliiti käivitades.
Teen sellise varukoopia andmebaasist vastuvotuajad ja panen oma kodukataloogis olevasse sql faili:
Enne faili üleslaadimist muutsin selle laiendiks .txt
Iga registri kohta tuleb anda ette eraldi viip ja seal viibas täpsustada, millised tabelid tuleb joonisel esitada ning milliste tabelite detailid ära petita.
Eksisteerib võimalus, et genereeritud kood ei käivitu. Siis tasub järgmises viibas tuua välja vead ja proovida paluda seda uuesti genereerida.
Teatele on lisatud genereeritud joonis ning samuti joonise lähtekood ja vastuvõtuaegade andmebaasi skeemi koopia.
# Roll
Andmebaasi arendaja.
# Juhised
Loe PostgreSQL andmebaasist pg_dump programmi abil loodud loogilist
varukoopiat ja genereeri selle alusel tabelite visualisatsioon
PlantUML formaadis.
Esita joonisel tabelid:
* Vastuvõtt
* Vastuvõtuaeg
* Vatuvõtule_tulek
* Töötaja (ilma detaile näitamata)
* Üliõpilane (ilma detaile näitamata)
* Ruum (ilma detaile näitamata)
Esita joonisel registrisse kuuluvate tabelite kohta:
* tabelid,
* veerud (nimi ja andmetüüp),
* NOT NULL kitsendused,
* primaarvõtme kitsendused,
* UNIQUE kitsendused,
* välisvõtme kitsendused,
* CHECK kitsendused,
* vaikimisi väärtused.
## Märkused
* Kasuta veergudega seotud märkuste (nt domeeni kitsendused, vaikeväärtused) kuvamiseks PlantUML-i süntaksit, mis muudab kommentaarid diagrammil nähtavaks (näiteks ..kommentari tekst..).
* Kui veerg põhineb domeenil, siis näita tüübi nimena domeeni nime. Lisa domeeniga seotud kitsendused kommentaari, mis kuvatakse joonisel.
* Tähista kohustuslikud veerud tärniga: *
* Tähista unikaalsuse kitsendusega veerud: UNIQUE
* Diagrammil ei tohi olla M:N seoseid, sest see on faktiliselt ebakorrektne.
Kontrolli hoolega, et diagrammis ei oleks süntaksivigu.
3. Kui Teil on andmete modelleerimise CASE vahend, siis see võib toetada pöördprojekteerimist (reverse engineering) olemasolevast andmebaasist.
Veel üks võimalus on kasutada pgModeler tarkvara, millel on pöördprojekteerimise võimekus. See vahend on mõeldud PostgreSQL andmebaasi disaini mudelite loomiseks.
Järgnevalt on näideOracle SQL Developer Data Modelertarkvarast, 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. Esitan järgnevalt PostgreSQLiga koos kasutamise juhendi.
Vajutada nupule Test ja kui akna vasakusse alaserva ilmub teade Success, siis vajutada nupule Connect.
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.
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.
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.
PostgreSQLi andmebaasis olemasolevate tabelite visualiseerimine Oracle Data modeler abil (liiga) suure diagrammina Täies mahus vaatamiseks klõpsake pildil.PostgreSQLi andmebaasis olemasolevate tabelite visualiseerimine Oracle Data modeler abil registripõhise (kindla fookusega) diagrammina Täies mahus vaatamiseks klõpsake pildil.PostgreSQLi andmebaasis olemasolevate tabelite visualiseerimine Dbeaveri abil (liiga) suure diagrammina Täies mahus vaatamiseks klõpsake pildil.PostgreSQLi andmebaasis olemasolevate tabelite visualiseerimine Dbeaver registripõhise (kindla fookusega) diagrammina Täies mahus vaatamiseks klõpsake pildil.PostgreSQLi andmebaasis olemasolevate tabelite visualiseerimine DBVisualizeri abil (liiga) suure diagrammina Täies mahus vaatamiseks klõpsake pildil.PostgreSQLi andmebaasis olemasolevate tabelite visualiseerimine PgAdmini abil (liiga) suure diagrammina Täies mahus vaatamiseks klõpsake pildil.PlantUML abil loodud vastuvõtuaegade registri diagramm Täies mahus vaatamiseks klõpsake pildil.