Krótki tutorial modelowania baz danych w SQL Power Architect – cz. 2 – Tworzenie modelu bazy danych, generowanie pliku SQL

Poprzedni artykuł pokazał w jaki sposób zainstalować pod systemem Windows darmowe oprogramowanie SQL Power Architect „Krótki tutorial modelowania baz danych w SQL Power Architect – cz.1”. W tym poście krok po kroku utworzymy prosty model bazy danych i na jego podstawie wygenerujemy skrypt SQL dla systemu baz danych MySQL.

A zatem uruchamiamy SQL Power Architect.

SQL Power Architect

Aby zapisać już teraz nasz projekt, nad którym rozpoczniemy pracę, klikamy na ikonkę dyskietki lub z menu wybieramy File-> Save Project:

SQL Power Architect

lub na klawiaturze wybieramy Ctrl+S.

Pojawi się okno wyboru miejsca zapisu, wybieramy folder (u mnie jest to Pulpit) a w pole File Name wpisujemy nazwę naszego projektu, u mnie jest to LibraryProject.

SQL Power Architect

Operację zatwierdzamy przyciskiem Save.

Teraz tworzymy pierwszą tabelę bazy danych o nazwie publisher. Klikamy na ikonę tabeli:

SQL Power Architect

a następnie klikamy w puste miejsce na płótnie. Pojawi się okienko podobne do poniższego:

SQL Power Architect

W pierwsze dwa pola wpisujemy nazwę tabeli, a więc publisher, a w kolejne nazwę klucza podstawowego, który będzie tabela posiadała. Ja nazywam klucz w taki sposób: poprzedzam słowo id nazwa tabeli i oddzielającym je znakiem podkreślenia. W naszej bazie jest to publisher_id.

SQL Power Architect

Z listy Table Colour i Text Colour możemy wybrać kolor tła i tekstu dla tabeli w naszym modelu. ustawienia zatwierdzamy przyciskiem OK.

SQL Power Architect

Na płótnie można zauważyć prostą tabelę. Tabela nie posiada jeszcze kolumn, więc wstawmy dwie kolumny: id, name. Kolumna id będzie kluczem głównym. Klikamy na tabelę na płótnie lub na węzeł z jej nazwą w eksploratorze projektu. Następnie klikamy na ikonę kolumny:

SQL Power Architect

lub klikamy prawym przyciskiem myszy na węźle z tabelą i wybieramy New Column

SQL Power Architect

lub wybieramy na klawiaturze C. Pojawi się okno Column Properties of New Column:

SQL Power Architect

Uzupełniamy je danymi. W pole Logical name i pole Physical Name wpisujemy nazwę kolumny. Wpiszmy id. Zaznaczmy box przy In Primary Key, aby zaznaczyć, że ma to być klucz podstawowy tabeli. Z listy Type wybieramy typ danych, w przypadku klucza głównego wybierzmy Integer, czyli liczbę całkowitą. Jeśli chcemy, aby wartości całkowite klucza były generowane automatycznie zaznaczamy box przy Auto Incremet i z listy wybieramy Yes.

SQL Power Architect

Klikamy na przycisk OK, aby zatwierdzić dane i dodać kolumnę. W tabeli pojawi się kolumna id z PK oznaczającym klucz główny tabeli. Kolumny klucza podstawowego (tu jedna o nazwie id) pojawiają się zawsze w górnym polu:

SQL Power Architect

Teraz czas na dodanie kolumny tekstowej o nazwie name:

SQL Power Architect

Tym razem z listy Type wybraliśmy varchar, bo jest to typ danych tekstowy. Operację zatowierdzamy przyciskiem OK. W oknie programu w tabeli pojawi się kolejna kolumna ( o nazwie name) i w drugiej części tabeli bo nie nie należy do klucza głównego:

SQL Power Architect

Tabela gotowa. W podobny sposób tworzymy tabelę book z kolumnami: id, title, publisher_id, gdzie id to klucz główny. Klikamy na ikonę tabeli, następnie na płótno i uzupełniamy okienko:

SQL Power Architect

Potem tak jak w przypadku poprzedniej tabeli, klikamy na ikonę kolumny i dodajemy kolumnę id:

SQL Power Architect

Klikamy na OK i dodajemy kolumnę title:

SQL Power Architect

Klikamy na OK i wstawiamy kolumnę publisher_id, która będzie kluczem obcym odnoszącym się do klucza głównego w tabeli publisher:

publisher_id

Klikamy na OK. mamy już dwie tabele.

SQL Power Architect

Teraz połączymy je za pomocą relacji. Klikamy na ikonę relacji Non-identifying lub kolejną z linią nieprzerywaną Indentifying, wszytsko zależy od tego jak nam będzie potrzebna do naszej relacji między tabelami. W tym przypadku jest to relacja Non-Identifying:

SQL Power Architect

Po wybraniu ikony relacji klikamy na kolumnę w jednej tabeli (w tabeli publisher kolumna id) i kolumnę w drugiej (w tabeli book kolumna publisher_id).

SQL Power Architect

Aby sprawdzić, czy relacja jest oparta o właściwe kolumny, klikamy na linię relacji na diagramie. Zaznaczy się na czerwono wraz z kolumnami łączącymi tabele.

SQL Power Architect

Ja widać teraz w tabeli book nie jest wzięta pod uwagę właściwa kolumna, prawidłowo powinna być publisher_id, klucz obcy. Klikamy więc na ikonę relacji (ostatnia na pasku ikona). Pojawi się okno właściwości tej relacji.

SQL Power Architect

W tabeli book poprawiamy złączenie jako One and more, ponieważ książka powinna posiadać wydawcę, a może on występować w tej tabeli więcej niż raz. Przechodzimy teraz do kolejnej zakładki Mappings. I tu jak widać połączenie w tabeli book jest do id.

SQL Power Architect

Poprawiamy przesuwając koniec połączenia do publish_id.

SQL Power Architect

Teraz jest prawidłowo, więc zmiany zatwierdzamy przyciskiem OK. Na diagramie zobaczymy na czerwono zaznaczone połączenie już poprawione.

SQL Power Architect

A jak poradzić sobie z połączeniem wiele do wielu? Utworzymy jeszcze tabelę author i tabelę pośrednią dla tabel book i author o nazwie author_book. Utworzymy na początek tabelę author:

SQL Power Architect

SQL Power Architect

Teraz tworzymy tabelę z 2 kolumnami: author_id i book_id, które będą kluczami obcymi wskazującymi na klucze główne tabeli author i book, które będą jednocześnie tworzyły klucz główny złożony. Najpierw tworzymy tabelę:

SQL

Teraz dodajemy kolumnę author_id:

SQL

i kolumnę book_id:

SQL

Tabela wygląda tak:

SQL

Teraz klikamy na ikonę relacji Non-identifying, a następnie na kolumnę id w tabeli book i kolumnę book_id w tabeli author_book. Otrzymamy połączenie tabeli book z tabelą author_book:

sql

Klikając na diagramie na linie połączenia widzimy błędne połączenie kolumn. Klikamy na ikonę właściwości relacji, aby to poprawić w zakładce Mappings:

 

Zmiany zatwierdzamy przyciskiem OK. Jesli wszystko jest prawidłowo:

sql

przechodzimy do łączenia w ten sam sposób tabeli author i tabeli author_book. I tu również poprawiamy łączenie właściwych kolumn:

sql

Pozostaje jeszcze tylko kliknąć na ostatnią kolumnę w tabeli author_book o nazwie id i klawiszem Delete ją usunąć:

sql

Mamy klucze obce (oznaczenie FK), nie mamy jednak klucza głównego złożonego z tych kolumn. Jak to zrobić? Klikamy na nazwę tabeli na diagramie i prawym przyciskiem myszy wybieramy z menu Index Properites i nazwa indeksu/klucza podstawowego, którego nazwę wpisywaliśmy podczas tworzenia tabeli.

sql

Pojawi się okno właściwości klucza:

sql

Zaznaczamy kolumny, które chcemy traktować jako klucz główny. Zauważ, że Primary Key jest już domyślnie zaznaczone:

sql

Klikamy na OK, aby zatwierdzić zmiany. A oto model całej naszej bazy danych:

Obok nazw kolumn w tabeli author_book pojawiło się P oznaczające klucz główny.

Aby wygenerować na podstawie tak stworzonego modelu baz danych skrypt SQL nalezy wybrac z paska narzędzi ikonkę SQL:

sql data model

Pojawi się okienko, w którym wybieramy system baz danych, z którym ma być zgodny wygenerowany skrypt SQL:

sql

Następnie wpisujemy w pole Database nazwę bazy danych, u nas jest to library.

sql

Dane zatwierdzamy przyciskiem OK. Pojawi się okno ze skryptem SQL. Możemy go zapisać za pomocą przycisku Save.

sql

Dla osób preferujących wersję video, są dostępne 2 filmy na kanale LikeData na YouTube, zapraszam do oglądania i komentowania:

 

 

Dodaj komentarz

Twój adres email nie zostanie opublikowany.