Temat: system dla grupy kapitałowej z branży budowlanej
Roman Frania:
a tu Panie Jaroslawie sie nie zgadzam (oczywiscie jesli chodzi o Axapte... :))
Napisałem "chyba" bo taką informację dostałem ale nie sprawdzałem tego ;) osobiście
gdzie jak gdzie - ale w Dynamics AX baza danych jest jak najbardziej znormalizowana (i oczywiscie zdenormalizowana dla potrzeb raportowych w AX) i korzystanie z ODBC - Excel lub Access jest jak najbardziej możliwe.
Normalizacja to inny proces niż odwzorowanie danych w RDBMS. Możliwe są trzy procesy powstawania bazy danych w RDBMS:
1. modelowane są dane np. całej organizacji, aplikacje sie do tego modelu dostosowują, baza zawsze stanowi sobą w pełni samodzielny twór: za pomoca zapytań SQL można model danych odtworzyć nie mając rzadnej wiedzy o apliakcjach
2. dane i ich relacje są narzucone wewnętrznym modelem danych aplikacji, która zapisuje je w RDBMS, baza ta poza danymi przechowuje także wszystkie informacje o relacjach między nimi czyli cały model danych
3. Jak wyżej, jednak relacje miedzy danymi są ukryte w aplikacji, RDBMS przechowuje jedynie tablice bez informacji o relacjach między nimi.
Normalizacja danych nie ma tu nic do samej bazy, normalizuje się model danych, informacje o relacjach między tablicami nie muszą być przechowywane w bazie danych, mogą być zaszyte np. w aplikacji i opisach obiektów.
Dobrze zaprojektowane duże systemy mają warstwowy model owszem jednak warstwa fizyczna danych nie wymusza mapowania obiektowo-relacyjnego (ORM) i nie każda aplikacja tak jest tworzona. O ile wiem baza danych Axapty bez samej Axapty i ludzi znających jej model jest bezwartościowa (ewentualnie proszę mnie poprawić).
Dobrze zaprojektowane systemy to np. samodzielna relacyjna baza danych i aplikacja z niej korzystająca, obiekty utrwalane w aplikacji są dopiero mapowane na model danych w RDBMS (robi sie to zarówno w systemach pisanych w .NET jak i Java a teraz nawet w PHP5), służy do tego np. Hibernate.
O ile pamiętam moje konsultacje z ludźmi od Axapty, to maja dobrą opinię o samym systemie tak bardzo złą o sposobie jego udokumentowania a raczej braku takiej dokumentacji (np. model dziedziny systemu trzeba sobie wykukać z kodu).
Oczywiscie, jesli ma sie jakas wiedze developerska z AX jest to latwiejsze - jesli sie nie ma takiej wiedzy - jest to rowniez mozliwe aczkolwiek zajmie troszke wiecej czasu. Znajomosc tabel i pol (pojedzmy po szczegolach) jest bardzo pomocna w tej kwestii. Uczestniczylem w wielu projektach, gdzie zespol BI wyspecyfikowal liste tabel i pol, ktore chce "ciagnac" z bazy AX - a zespol Axaptowy dokonal mapowania na fizyczne nazwy pol i tabel znajdujace sie w bazie danych.
Ano musiał tego jednak dokonać....
Te dane wystarczyly zespolowi BI do stworzenia DTSow (bo bylo to w 2000) i do ladowania do hurtowni danych. A pozniej to juz mozna robic z tym co sie chce, uzyc Eureki - jak kolega wspomnial, lub ProClarity, Cognosa, Analysis Services.. lub jak kto chce Excela :)
Zgadzam sie, ze bez znajomosci struktury danych w Dynamics AX (okolo 2000+ tabel w zaleznosci od wersji) i setkach pol w zdenormalizowanych tabelach takich jak Zamowienie Sprzedazy czy Klienci jest zadaniem troszke karkolomnym - ale nie niemozliwym.
:)
Osobiscie polecam jakies dobrego "znawce" developera lub architekta Axapty i sprawa zostanie zamknieta w ciagu kilku dni.
No bez takie guru tutaj ani rusz ... sam dostęp do bazy nic nie daje....
pozdrawiam[edited]Jarosław