# Mapowanie baz danych

### Narzędzie do migracji z MySQL do PostgreSQL

Konwertuj bazy danych MySQL i PostgreSQL- Wsparcie dla baz danych MySQL, PostgreSQL oraz wszystkich popularnych baz danych SQL
- Konwersja baz danych SQL na bazy danych NoSQL
- Mapowanie danych bez użycia kodu, za pomocą interfejsu graficznego
- Mapowanie danych z bazy danych do innych formatów danych lub odwrotnie
- Określ ustawienia kluczy bazy danych

- Natychmiastowa konwersja i przystępne cenowo opcje automatyzacji
- Rejestrowanie danych wyjściowych i obsługa błędów
- Zdefiniuj operacje wykonywane na tabelach bazy danych
- Bezpośrednio wysyłaj zapytania do baz danych
- Sortowanie elementów wejściowych bazy danych

## Konwersja z MySQL na PostgreSQL

Typowym zastosowaniem MapForce jest migracja danych między bazami danych MySQL i PostgreSQL. MapForce ułatwia ten proces dzięki graficznym narzędziom do mapowania danych, które pozwalają na przesuwanie i łączenie elementów, a także dzięki obszernej bibliotece filtrów i funkcji przetwarzania danych, które umożliwiają transformację danych źródłowych.

Asystent konfiguracji połączenia z bazą danych w MapForce ułatwia nawiązywanie połączeń. Połączenia z bazą danych SQLite są obsługiwane jako natywne, bezpośrednie połączenia z plikiem bazy danych SQLite. Nie są wymagane żadne dodatkowe sterowniki. Połączenia z bazą danych PostgreSQL są obsługiwane zarówno jako natywne połączenia, jak i połączenia oparte na sterownikach, za pośrednictwem interfejsów (sterowników) takich jak ODBC lub JDBC. Natywne połączenia nie wymagają żadnych sterowników.

Po załadowaniu struktur baz danych MySQL i PostgreSQL do panelu mapowania, MapForce automatycznie interpretuje schematy baz danych, umożliwia wybór dostępnych tabel i widoków oraz rozpoznaje relacje między tabelami.

[Konwersja z MySQL na PostgreSQL w programie MapForce](https://www.altova.com/images/mysql-to-postgresql-mapping.png)

Po załadowaniu wszystkich modeli danych wymaganych do mapowania bazy danych, należy zakończyć proces mapowania, po prostu przeciągając linie łączące struktury źródłowe i docelowe.

Dzięki podejściu MapForce, które nie wymaga pisania kodu, łatwo spełnić typowe wymagania dotyczące transformacji danych, na przykład:

- Konwersja z PostgreSQL na MySQL
- Migracja z PostgreSQL do MySQL
- Eksport danych z PostgreSQL do MySQL
- Konwersja z MySQL na PostgreSQL

### Filtrowanie i przetwarzanie danych {#filtering}

Wiele mapowań baz danych wymaga transformacji danych między źródłem a celem, w oparciu o warunki logiczne lub instrukcje SQL i SQL/XML. Może być konieczne wykonanie porównań logicznych, obliczeń matematycznych lub operacji na łańcuchach znaków, sprawdzenie, czy dane w bazie zawierają określone wartości, oraz wprowadzenie innych modyfikacji danych. Na powyższym zrzucie ekranu, funkcje przetwarzania danych są przedstawione jako pola znajdujące się pomiędzy liniami łączącymi model danych źródłowych i docelowych.

Funkcje przetwarzania danych umożliwiają wykonywanie zaawansowanych operacji mapowania baz danych w czasie rzeczywistym, co pozwala spełnić różnorodne potrzeby transformacji danych. 

### Natychmiastowa konwersja baz danych {#convert}

Po zdefiniowaniu mapowania, wbudowany silnik MapForce umożliwia przeglądanie i zapisywanie wyników jednym kliknięciem.

Mapowanie z MySQL do PostgreSQL generuje skrypty SQL (np. instrukcje SELECT, INSERT, UPDATE i DELETE), które są uruchamiane bezpośrednio w docelowej bazie danych, wewnątrz programu MapForce.

Po wyświetleniu podglądu wyników, będziecie mieli możliwość automatyzacji procesu transformacji danych za pomocą serwera MapForce. 

## Rejestrowanie (śledzenie) wyników działania bazy danych

Śledzenie wyników działania bazy danych umożliwia łatwe rejestrowanie wszystkich zmian wprowadzonych przez projekt mapowania do bazy danych PostgreSQL lub MySQL podczas jego działania. 

Kiedy funkcja śledzenia jest włączona, zdarzenia takie jak operacje zapisu lub aktualizacji danych w bazie, a także błędy, są rejestrowane w pliku XML, który można później analizować lub przetwarzać automatycznie. 

Śledzenie aktywności bazy danych można włączyć na poziomie komponentu bazy danych, tabeli, procedury składowanej lub pola bazy danych. Można wybrać śledzenie wszystkich komunikatów lub tylko błędów, lub też całkowicie wyłączyć śledzenie. 

Po wybraniu odpowiedniego poziomu szczegółowości śledzenia, wybrany komponent bazy danych w projekcie mapowania zostaje rozszerzony o strukturę XML, która przedstawia strukturę logów. Jeśli wolisz, aby plik logów był w formacie innym niż XML, możesz przekształcić dane z niego do innego formatu obsługiwanego przez MapForce (np. pliku tekstowego lub nawet innej bazy danych). 

Po kliknięciu przycisku "Wyjście", aby wyświetlić podgląd wyniku mapowania, można również zobaczyć przykład tego, jak będzie wyglądał dziennik śledzenia podczas wykonywania mapowania. 

[Śledzenie aktywności bazy danych w celu generowania logów podczas konwersji bazy danych](https://www.altova.com/images/database-tracing.png)

## Obsługa błędów transakcji w bazie danych

MapForce oferuje również mechanizmy obsługi transakcji baz danych, które umożliwiają cofnięcie zmian wprowadzonych w bazie danych podczas konwersji, w przypadku wystąpienia błędu, a opcjonalnie umożliwiają kontynuowanie procesu mapowania dla pozostałych danych. 

Czasami występuje błąd, który nie uniemożliwia kontynuowania procesu mapowania całej bazy danych. Przykładem może być sytuacja, w której pewne ograniczenia bazy danych uniemożliwiają zapisywanie lub aktualizowanie nieprawidłowych danych. 

Włączenie obsługi transakcji w bazie danych spowoduje, że wszystkie zmiany wprowadzone przez komponent bazy danych zostaną umieszczone wewnątrz transakcji, która zostanie cofnięta w przypadku wystąpienia błędu. Można wybrać, czy kontynuować przetwarzanie pozostałej części mapowania, czy też przerwać dalsze wykonywanie. Możliwe jest włączenie transakcji zarówno na poziomie komponentu bazy danych, jak i na poziomie akcji wykonywanych na tabelach. 

[Umożliwienie transakcji baz danych w celu obsługi błędów](https://www.altova.com/images/database-transactions.png)

To bardzo przydatne, gdy projektant mapowania danych chce przechwytywać poprawne dane wejściowe i po prostu ignorować dane nieprawidłowe.

## Zaawansowane mapowanie baz danych

Aby uzupełnić możliwości mapowania i integracji baz danych, MapForce zawiera zakładkę "Zapytanie do bazy danych" umożliwiającą bezpośrednie wykonywanie zapytań do baz danych. Po połączeniu z bazą danych za pomocą tej zakładki, MapForce wyświetla jej tabele w postaci hierarchicznej struktury drzewa w oknie przeglądarki. MapForce nie tylko migruje dane z baz MySQL i PostgreSQL. Dostępne są specjalne narzędzia wsparcia dla: 

- Żar ptak
- IBM DB2 dla platformy iSeries
- IBM DB2®
- Informix®
- MariaDB
- Microsoft Access™
- Microsoft® Azure SQL
- Microsoft® SQL Server®
- MySQL®
- Oracle®
- PostgreSQL
- Rozwój OpenEdge
- SQLite
- Sybase®
- Teradata
- MongoDB
- CouchDB 

[Wykonaj zapytanie do bazy danych podczas definiowania mapowania konwersji bazy danych](https://www.altova.com/images/mapforce_database_query.png)

Następnie można użyć zakładki edytora SQL, aby wyświetlać, edytować i wykonywać zapytania SQL. Można to zrobić, otwierając istniejące pliki SQL lub tworząc zapytania od podstaw, korzystając z funkcji przeciągania i upuszczania oraz automatycznego uzupełniania.

Można uruchomić skrypt SQL i wyświetlić wyniki w formie tabeli, a także zapisać zarówno pobrane dane, jak i sam skrypt SQL do oddzielnych plików.

### Ustawienia kluczy bazy danych {#db-key}

Ustawienia kluczy bazy danych w MapForce pozwalają na dostosowanie sposobu, w jaki wartości kluczy głównych i obcych będą dodawane do bazy danych, która jest celem mapowania danych. Można albo ręcznie wprowadzać wartości kluczy w MapForce, albo można pozwolić systemowi baz danych, aby automatycznie generował te wartości.

W sytuacjach, gdy relacje klucza głównego i/lub klucza obcego nie są wyraźnie zdefiniowane w tabelach bazy danych, MapForce umożliwia zdefiniowanie tych relacji bezpośrednio, bez wpływu na dane źródłowe.

### Zdefiniuj akcje wykonywane na tabelach bazy danych {#db-table-actions}

Podczas mapowania danych do bazy danych, MapForce umożliwia wybór operacji na tabelach bazy danych, co pozwala kontrolować sposób zapisu danych do baz danych MySQL lub PostgreSQL. Dzięki temu zyskujesz pełną elastyczność w automatyzacji nawet najbardziej zaawansowanych zadań związanych z zarządzaniem danymi.

Okno dialogowe "Akcje dla tabeli bazy danych", charakteryzujące się prostym interfejsem, umożliwia zdefiniowanie kolumn w wybranej tabeli, które będą używane do określenia, jaka akcja (INSERT, UPDATE, DELETE) powinna zostać wykonana w bazie danych.

To zapewnia bezprecedensową elastyczność w manipulowaniu wierszami baz danych w odpowiedzi na dane XML, bazy danych, EDI, XBRL, pliki tekstowe, arkusze Excel, JSON, JSON5, usługi internetowe lub inne dane z baz danych, przy użyciu narzędzia MapForce.

Dowiedz się, jak konfigurować akcje dla tabel baz danych w programie MapForce

[Dowiedz się, jak korzystać z operacji na tabelach baz danych w programie MapForce](https://www.youtube.com/watch?v=hHQmWdWVvgY)

### Wsparcie dla procedur składowanych SQL {#stored-procedures}

MapForce oferuje zaawansowane wsparcie dla procedur składowanych, które mogą być wykorzystywane jako komponenty wejściowe (procedury dostarczające wyniki) lub jako komponenty wyjściowe (procedury wstawiające lub aktualizujące dane). Alternatywnie, procedury składowane mogą być wywoływane jak funkcje, co pozwala użytkownikom dostarczać dane wejściowe, wykonywać procedurę składowaną i odczytywać/mapować dane wyjściowe do innych komponentów.

Ten zrzut ekranu pokazuje, jak w SQL Server zdefiniowano procedurę składowaną, która generuje plik XML. Procedura zwraca tabelę danych zawierającą informacje o wszystkich menedżerach znajdujących się w strukturze zarządzania powyżej określonego identyfikatora pracownika, który jest przekazywany jako parametr wejściowy – w tym przykładzie jest to stała wartość 67.

Ten parametr może również być podawany jako wartość obliczona lub jako element danych pobrany z innego miejsca w bazie danych.

MapForce udostępnia menu kontekstowe, które umożliwia użytkownikom uruchomienie zdefiniowanej procedury, aby wyświetlić strukturę danych, która będzie wykorzystana do mapowania. Wykonanie zdefiniowanego mapowania generuje wynik w formacie XML.

[Zaawansowane narzędzia do mapowania danych oferują wsparcie dla procedur składowanych](https://www.altova.com/images/mapforce_stored_procedure.png)

### Sortowanie komponentów danych wejściowych {#data_sorting}

Zapytania SQL wykonywane wewnątrz bazy danych nie zawsze są wystarczające do złożonych zadań mapowania danych. MapForce oferuje dodatkowe funkcje sortowania danych w bazie danych za pomocą komponentu SQL-WHERE/ORDER, co jest przydatne, gdy dane pobierane z bazy wymagają dodatkowej obróbki, lub gdy inne dane lub warunki w procesie mapowania wpływają na kolejność sortowania wierszy danych.

### Obsługa wartości NULL w operacjach na tabelach baz danych {#null-values}

Okno dialogowe "Akcje dla tabeli bazy danych" obsługuje porównywanie wartości NULL. Porównania uwzględniające wartości NULL stanowią ulepszony sposób obsługi baz danych zawierających takie wartości. Użytkownicy MapForce mogą skonfigurować mapowanie bazy danych, aby porównywanie danych odbywało się z uwzględnieniem wartości NULL, zgodnie z zasadami obowiązującymi dla danego typu bazy danych, który jest używany w mapowaniu.

Mapa danych, która znajduje się po prawej stronie, ma na celu aktualizację docelowej tabeli bez dodawania duplikatów. Obie tabele są zdefiniowane w taki sposób, że pole "email" może przyjmować wartość NULL, co oznacza, że w każdej z tabel mogą istnieć wpisy o identycznych nazwach, ale z wartością NULL w polu "email".

Kliknięcie ikony "Akcje" obok tabeli bazy danych TARGET otwiera okno dialogowe "Akcje bazy danych". Pole wyboru "Równe NULL" obok pola adresu e-mail pozwala programowi MapForce traktować wartości NULL w danych źródłowych i docelowych jako równoważne w celach mapowania danych, nawet jeśli zgodnie z zasadami bazy danych nie są one uważane za takie.

[Mapowanie baz danych z uwzględnieniem wartości null w MapForce](https://www.altova.com/images/mapforce-null-actions.png)

## Automatyzacja procesu mapowania baz danych za pomocą serwera MapForce

Altova [MapForce Server](../mapforce-server.md) zawiera wbudowany silnik transformacji danych, opracowany dla MapForce, który został znacznie ulepszony, aby działać w środowiskach serwerowych. Serwer MapForce umożliwia.. [przekształcenia danych](mapforce.md#powerful) Dzięki temu można przekształcać dane z PostgreSQL do MySQL lub do dowolnej kombinacji formatów, takich jak XML, bazy danych, EDI, XBRL, pliki tekstowe, Excel, JSON, Shopify, a także usługi internetowe, wykorzystując wstępnie przetworzone i zoptymalizowane mapowania danych przechowywane w plikach wykonywalnych, które są definiowane w MapForce. Serwer MapForce przenosi transformację danych na wyższy poziom, oferując funkcje serwerowe, takie jak przetwarzanie równoległe i wielowątkowe, masowe wstawianie danych do baz SQL, wsparcie dla różnych platform oraz wiele innych.

Przetwarzanie wstępne umożliwia szybszą pracę i zmniejsza zużycie pamięci dla większości mapowań danych. Serwer MapForce działa pod kontrolą serwera FlowForce, może być uruchamiany w trybie autonomicznym z linii poleceń lub programowo za pomocą interfejsu API.

Po zaprojektowaniu i przetestowaniu mapowania w MapForce, można uruchomić je za pomocą serwera MapForce, aby automatyzować procesy biznesowe, które wymagają powtarzalnych przekształceń danych.

[Automatyzacja zadań mapowania baz danych za pomocą narzędzia MapForce](https://www.altova.com/images/mapforce-server-execution-file.png)

MapForce wstępnie przetwarza i optymalizuje mapowania danych, przechowuje je w plikach wykonywalnych MapForce Server, które mogą być uruchamiane z linii komend za pomocą MapForce Server, oraz przesyła je do wykorzystania w zadaniach FlowForce Server.

Kiedy serwer MapForce działa pod kontrolą serwera FlowForce, mapowania danych są wykonywane jako etapy zadania w serwerze FlowForce, w oparciu o wyzwalacze zdefiniowane jako część tego zadania. Na przykład, nowy dokument instancji XBRL pojawia się w określonym katalogu, co uruchamia wieloetapowe zadanie w serwerze FlowForce. Najpierw plik jest weryfikowany za pomocą serwera RaptorXML+XBRL, a następnie uruchamiany jest serwer MapForce w celu wyodrębnienia określonych danych z dokumentu XBRL i wstawienia ich do bazy danych.


## Call to Action

[Istniejący klienci mogą zaktualizować oprogramowanie do najnowszej wersji, korzystając z tej strony.](download.md)
[Pobierz teraz w pełni funkcjonalną, bezpłatną 30-dniową wersję próbną programu Altova MapForce!](download.md)

