EuroModeler projektowanie bazy danych dla PostgreSQL

EuroModeler – projektowanie bazy danych dla PostgreSQL

Zgodnie z zapowiedziami wracamy dziś do tematyki graficznego modelowania bazy danych z wykorzystaniem modułu EuroDB – EuroModelera. W poprzednim tekście staraliśmy się przybliżyć wszystkie możliwości tego narzędzia z lotu ptaka. Teraz zejdziemy nieco niżej i skupimy się na jego głównym zastosowaniu – projektowaniu z wykorzystaniem ERD (Entity-Relationship Diagrams) w kontekście Postgresa. Trochę teorii – modelowanie […]

Zgodnie z zapowiedziami wracamy dziś do tematyki graficznego modelowania bazy danych z wykorzystaniem modułu EuroDB – EuroModelera. W poprzednim tekście staraliśmy się przybliżyć wszystkie możliwości tego narzędzia z lotu ptaka. Teraz zejdziemy nieco niżej i skupimy się na jego głównym zastosowaniu – projektowaniu z wykorzystaniem ERD (Entity-Relationship Diagrams) w kontekście Postgresa.

Trochę teorii – modelowanie z wykorzystaniem ERD

Wiele atramentu zostało przelane na temat modelowania przy pomocy diagramów związków encji. Nie ma chyba uczelni, na której kurs ze wstępu do relacyjnych baz danych nie porusza tego tematu. W związku z tym na potrzeby tego artykułu zakładamy, że czytelnik ma już pewną wiedzę na ten temat. Niemniej wypada choć pokrótce przypomnieć podstawowe pojęcia.

Modelowanie przy pomocy diagramów związków-encji (czasem nazywane też nieco redundantnie diagramami ERD) jest sprawdzoną techniką określania relacji między obiektami i przydaje się podczas projektowania baz danych. W swoim oryginalnym zamierzeniu miała ona na celu pozwolić spojrzeć na dane z wyższego poziomu – relacji pomiędzy poszczególnymi składowymi dziedziny, dla której ma zostać stworzona baza danych (choć ten sposób modelowania znalazł zastosowanie również poza światem baz danych).

Diagramy składają się z obiektów (zwanych encjami) oraz powiązaniami między nimi, które określają relacje, jakie mogą między nimi zaistnieć. Aby ułatwić zrozumienie, warto sięgnąć po przykład z życia. Przykładowo każdy obiekt „Malarz” jest związany z obiektem „Obraz” relacją „jest autorem”.

malarz postgresql euromodeler

Rodzaje relacji można jeszcze dodatkowo podzielić ze względu na dwie cechy:

  • krotność – określająca, ile obiektów bierze udział w relacji (w kontekście poprzedniego przykładu – jeden malarz może być autorem wielu obrazów)
  • opcjonalność – określająca, czy obiekty muszą istnieć w relacji (znów, tym razem troszkę filozoficzne pytanie – czy może istnieć malarz, który nie namalował choć jednego obrazu?).

EuroModeler – praktyczne zastosowanie teorii

Wykorzystując sprawdzoną teorię, EuroModeler łączy ją z praktyką, pozwalając na generację kodu schematu bazy danych z graficznej reprezentacji. W prosty sposób możemy „wyklikać” cały schemat, określając relacje między obiektami. W następnej części tekstu zaprezentujemy, jak to osiągnąć krok po kroku. Wracając do poprzedniego przykładu, moglibyśmy stworzyć fragment bazy danych domu aukcyjnego, który potrzebuje przechowywać informacje na temat dzieł sztuki znajdujących się w jego ofercie. Oczywiście, wcześniej stworzony diagram musimy odpowiednio rozbudować o informacje, które będą przydatne w tym konkretnym przypadku.

Gdy rozpoczniemy pracę z EuroModelerem, ukaże nam się następujący ekran:

EuroManager start postgresql

By rozpocząć pracę, wystarczy otworzyć nowy model (New model) i naszym oczom ukaże się czysta przestrzeń robocza, w której możemy zacząć modelować. Po kliknięciu w przestrzeni roboczej prawym przyciskiem myszy (PPM) uzyskujemy dostęp do menu, z którego możemy wybrać obiekty znane z PostgreSQL, które mają zostać dodane do modelu.

EuroModeler menu

By odtworzyć wcześniej przedstawiony diagram ideowy, stworzymy dwie tabele. Podczas ich kreacji dodamy kolumny będące kluczami głównymi. Poniżej widać, jak wygląda formularz tworzenia tabeli.

EuroModeler tabela

Aby dodać kolumnę, wystarczy kliknąć przycisk oznaczony plusem. Spowoduje to otworzenie kolejnego formularza, w którym uzupełniamy istotne pola – nazwa, typ kolumny oraz wymagane ograniczenia.

Po wpisaniu wszystkich informacji przestrzeń robocza powinna prezentować się następująco:

EuroModeler tabele

W tym momencie możemy przejść do definiowania relacji pomiędzy obiektami. W tym celu wystarczy kliknąć PPM na tabeli Malarz i z menu wybrać New > Relationship > One-to-Many, ponieważ zakładamy, że każdy malarz może być autorem więcej niż jednego obrazu. Wówczas kursor zmieni się w sposób sugerujący wybranie drugiej tabeli będącej w relacji. Po wybraniu zostaniemy poproszeni o uzupełnienie danych relacji, w tym jej nazwy ułatwiającej odnalezienie w modelu.

EuroModeler relationship

Jak widać, efekt końcowy wygląda analogicznie do oryginalnych diagramów w formie znanej z prac naukowych. Z tą różnicą, że można łatwiej śledzić połączenia, ponieważ są one wyróżnione kolorami. Jest to szczególnie przydatne podczas analizy większych modeli, gdzie połączenia często się krzyżują.

Automatyczna generacja kodu

Czym jest dobre narzędzie, jeśli nie można z jego pomocą w prosty sposób wykonać więcej niż jednego zadania? Mówi się, że jedną z największych zalet programisty jest lenistwo, bo to najlepsza motywacja do automatyzowania. Pod tym względem EuroModeler jest idealnym rozwiązaniem dla leniuchów, ponieważ automatyzacja jest jedną z głównych możliwości tego programu.

Stworzenie diagramu ER pociąga za sobą możliwość wygenerowania kodu SQL, który
utworzy projektowaną bazę danych zgodnie z wymaganiami wybranej wersji
PostgreSQL.

sql generacja kodu

Jak widać na załączonym zrzucie ekranu, formularz pozwala również zajrzeć do wewnętrznego formatu aplikacji opartego o XML, z którego następnie generowany jest SQL. Jak widać, całość jest bardzo prosta, wygodna i intuicyjna.

Na zakończenie, chciałbym przypomnieć osobom zainteresowanym o ofercie naszych autoryzowanych szkoleń z administracji bazą danych w oparciu o silnik PostgreSQL. W czasie ich trwania podejmowana jest również tematyka projektowania baz danych oraz modelowania z wykorzystywaniem diagramów ER, także w oparciu o wykorzystanie EuroModelera.

Podsumowanie

Projektowanie schematu bazy danych przy pomocy EuroModelera pozwala przyspieszyć proces rozwoju aplikacji z wykorzystaniem uznanej metodyki projektowej – diagramów ER. Ponadto pozwala na bezpośrednie wygenerowanie kodu, który można wykorzystać podczas rozwoju aplikacji bez potrzeby odtwarzania go ze schematu. Zyskuje na tym również dokumentacja projektowa, gdyż w ten sposób będzie ona zawsze aktualna. Pozwala to na ułatwienie wprowadzania zmian oraz późniejszego utrzymania przez cały cykl życia aplikacji. W następnym artykule cyklu przyjrzymy się, jak można włączyć moduł EuroModeler do już istniejących projektów wykorzystujących PostgreSQL.

EuroModeler część pierwsza
EuroModeler część druga ten materiał

Chcesz być na bieżąco? Obserwuj nasz profil w serwisie LinkedIn.

Autorzy

Artykuły na blogu są pisane przez osoby z zespołu EuroLinux. 80% treści zawdzięczamy naszym developerom, pozostałą część przygotowuje dział sprzedaży lub marketingu. Dokładamy starań, żeby treści były jak najlepsze merytorycznie i językowo, ale nie jesteśmy nieomylni. Jeśli zauważysz coś wartego poprawienia lub wyjaśnienia, będziemy wdzięczni za wiadomość.