Zapewne pisałeś już (a może właśnie ją piszesz) aplikacje, w której wykorzystywałeś bazę danych. Zapewne Twoja aplikacja była wpisana w technologii .net, więc zapewne korzystałeś z silnik Microsoft SQL Server, w któreś z jego edycji. Zapewne też, w którymś z momentów chciałeś sobie stworzyć (albo ktoś Ci kazał -dokumentacja) ładny przejrzysty schemat bazy danych (taki jak poniżej). Oraz zapewne chciałeś, aby wszystko było fajnie wyciągnięte z bazy danych, abyś nie musiał robić tego ręcznie oraz abyś mógł ten schemat w bardzo łatwy sposób zaktualizować.
Microsoft w swoim pakiecie biurowym – Office - posiada bardzo fajną aplikację to tworzenia wszelkiej maści diagramów – Visio (osoby, które są studentami, na których wydziale działa MSDN AA mogą sobie ściągnąć Visio za darmo). Nie będę się rozpisywał o tym programie ale wszystkich odsyłam do strony produktu.
Jednym z diagramów jakie możemy stworzyć w Visio jest Database Model Diagram, czyli poszukiwany przez nasz model bazy danych. Diagram ten można znaleźć w grupie diagramów Software and Database.
Po stworzeniu nowego diagramu bazy danych wybieramy z menu Database (lewy alt + a), a następnie Reverse Engineer… (lewy alt + e). Pojawi się nam okienko kreatora jak poniżej:
W tym oknie możemy wybrać sobie już wcześniej utworzone źródło danych, z którego możemy pobrać schemat. Sprawdzić jakie mamy zainstalowane sterowniki do Visio, dzięki których jesteśmy w stanie wyciągnąć informacje z różnych typów aplikacji (np. Microsoft SQL Server, Microsoft Access, Oracle Server i inne). Możemy również stworzyć nowe źródło danych. Tą opcję właśnie trzeba wybrać (oczywiście tylko za pierwszym razem).
Powyżej znajduje się pierwsze okno kreatora tworzenia nowego źródła danych. Do wyboru są trzy opcje określające typ źródła.
- File Data Source – informacje zostaną zapisane w pliku, ta opcja jest przydatna wtedy, gdy zamierzamy na przykład wrzucić schemat do repozytorium i umożliwić aktualizację schematu innych osobom w projekcie, dzięki tej opcji nie będą musiały sami tworzyć źródła
- User Data Source – informacje zostaną zapisane w systemie, dostęp do nich będzie miał tylko ten użytkownik
- System Data Source – podobnie jak w powyższym typie, informacje zostaną zapisane w systemie ale skorzystać z nich będzie mógł każdy użytkownik. Jeśli pracujesz w systemie Windows Vista lub Windows 7 z włączonym User Account Control to przed pojawieniem się powyższego okna dostałeś informację o braku odpowiednich uprawnień i opcja System Data Source jest niedostępna. Aby się tego pozbyć wystarczy uruchomić Visio z prawami administratora, co może nie być takie łatwe* (czemu? zobacz na koniec wpisu).
Po wybraniu typu źródła (podczas tworzenia wpisu wybrałem User Data Source, przy innych typach mogą pojawić się dodatkowe okna w kreatorze) wybieramy przycisk Next, po czym pojawi się okno:
W tym oknie musimy wybrać sterownik dla źródła danych. Wybieramy SQL Server oraz naciskamy przycisk Next.
Powyżej znajduje się ostatnie okno kreatora tworzenia nowego źródła danych, w którym znajduje się podsumowanie. Naciskamy przycisk Finish. Teraz możemy przejść do właściwego konfigurowania źródła danych z Micorosft SQL Server.
Nadajemy nazwę źródła oraz jego opis. Następnie wpisujemy adres serwera Microsoft SQl.
Wybieramy sposób autoryzacji (Windows lub Sql Server) i wprowadzamy ewentualne dane (login i hasło).
Wybieramy bazę, której chcemy wyciągnąć schemat.
Możemy ustawić sobie jeszcze kilka bardziej zaawansowanych opcji (nie będę ich opisywał) i naciskamy Finish.
Wyświetli się nam podsumowanie stworzonego źródła danych. Możemy sprawdzić, czy wszystko jest tak jak należy oraz przetestować źródło danych za pomocą przycisku Test Data Source…
Gdy już mamy stworzone źródło danych możemy przejść do wyciągnięcia odpowiednich danych z bazy. W tym celu w kreatorze Reverse Engineer Wizard (jak powyżej) wybieramy utworzone źródło danych i klikamy Next.
Możemy zostać poproszeni o nazwę użytkownika i hasło do serwera.
Wybieramy jakiego typu rzeczy chcemy importować z bazy.
Teraz zaznaczamy konkretne elementy bazy jakie chcemy mieć na schemacie.
Wybieramy, że chcemy dodać elementy na aktualną stronę i klikamy Next.
Ostatnie podsumowanie i za chwilę po naciśnięciu przycisku Finish możemy cieszyć się naszym wspaniałym diagramem :D
W każdej chwili możemy zaktualizować schemat bazy wybierając z menu Database => Refresh Model… Pojawi się kreator, którego okna są podobne do powyższych.
Obecnie najnowsza wersji Microsoft Office Visio domyślnie nie współpracuje z Microsoft SQL Server 2008, aby móc wyciągnąć schemat bazy z tej wersji silnika Microsoftu trzeba zainstalować dodatek do Visio, który można pobrać ze strony Microsoftu. Niestety dodatek nie jest idealny czasami mogą wystąpić problemy oraz błędy.
Jeśli znacie jakieś inne narzędzia do tego celu to podzielcie się wiedzą w komentarzach. Może istnieje coś fajniejszego niż Visio :D
* Trochę się zdziwiłem, że jak chciałem uruchomić Visio z uprawnieniami administratora to w menu start w menu kontekstowym nie było opcji Run as administrator (Windows 7 RC ang.). Klikając na szybko zauważyłem, że nie ma tej opcji tylko dla aplikacji w ramach pakietu Office, ciekawe dlaczego? Ale wystarczyło znaleźć plik Visio.exe na dysku (domyślnie c:\Program Files\Microsoft Office\Office12\) i już można było uruchomić je z uprawnieniami admina.