Database
 sql >> Baza danych >  >> RDS >> Database

Filtrowanie tabel w IRI Workbench

IRI Workbench udostępnia szereg funkcji do pracy z wieloma tabelami w bazie danych. Zawiera kreatory do:baz danych profili; klasyfikować kolumny; podzbiór, maskowanie i migracja danych; generować dane testowe; itp.

Narzędzia w IRI Workbench mogą pomóc w wyborze tabel dostępnych dla tych kreatorów, a także w konkretnym diagramie relacji lub w skanowaniu tabel w poszukiwaniu wzorców lub kolekcji wrażliwych wartości. Przy zbyt wielu tabelach w bazie danych wizualizacja, wybieranie i skanowanie wszystkich danych i metadanych może być przytłaczające. Jednym z rozwiązań tego problemu z przeciążeniem danych jest filtrowanie tabel, które są widoczne w określonym czasie.

Filtry

Łatwiej jest pracować jednocześnie z mniejszymi zestawami stołów. Zazwyczaj kilkaset powiązanych tabel na raz to rozsądna ilość. Na szczęście w IRI Workbench istnieje mechanizm ograniczający listę wyświetlanych tabel za pomocą filtra.

Odfiltrowane tabele są wykluczane z listy w Eksploratorze źródeł danych, głównym widoku struktury bazy danych. Nie pojawiają się one również na listach wyboru w kreatorach i są pomijane podczas skanowania danych w całym schemacie, co przyspiesza klasyfikację danych trudnych do znalezienia. Zmniejszenie liczby tabel do pewnego logicznego zestawu z rozsądną ilością danych ułatwia użytkownikowi skupienie się na zadaniu. Można utworzyć wiele profili połączeń, aby wyświetlać tylko te tabele związane z określonym zadaniem.

Proste filtrowanie według nazwy tabeli jest wbudowaną funkcją projektu Eclipse Data Tools Platform (DTP), która służy do uzyskiwania dostępu do bazy danych w IRI Workbench. Można go jednak używać tylko do określania nazw tabel, które rozpoczynają się, zawierają lub kończą określonymi ciągami znaków lub nie zaczynają się na nich. Czasami potrzebne jest bardziej wyrafinowane podejście.

DTP umożliwia również wybór listy nazw tabel do włączenia lub wyłączenia na podstawie schematu. Obejmuje to załadowanie wszystkich nazw tabel na stronę kreatora, a następnie zastosowanie zaznaczenia znacznikiem wyboru do wszystkich nazw tabel, które mają zostać uwzględnione lub wykluczone. Działa to dobrze w przypadku małej liczby tabel, ale szybko staje się niemożliwe do zarządzania, gdy lista tabel rozrasta się do tysięcy, a nawet dziesiątek tysięcy.

Istnieje stosunkowo łatwe obejście, które umożliwia wybór tabeli według nazwy na podstawie zewnętrznej listy dostarczonej przez użytkownika. Ta lista może zostać wygenerowana przez zewnętrzne narzędzie lub w wyniku zapytania SQL. Tytułem przykładu, ten post pokaże krok po kroku, jak można tego dokonać.

Przygotuj listę stołów

Do zbudowania listy tabel można użyć wielu różnych metod zapytań. Jedną z przydatnych metod jest odfiltrowanie wszystkich tabel, które mają zero wierszy danych. Jednak w tym konkretnym przykładzie zapytanie SQL zostanie użyte do wyodrębnienia listy tabel do uwzględnienia w filtrze na podstawie dopasowania do nazw tabel. Lista wybranych tabel będzie krótka, aby ułatwić naśladowanie przykładu. Ta sama technika zadziała przy filtrowaniu tabel na podstawie znacznie dłuższej listy.

Tabele będące przedmiotem zainteresowania w tym przykładzie mają dwa formaty, albo zaczynają się od litery D, po której następuje dowolny znak, a następnie podkreślenie, albo zaczynają się od ciągu „IRI_”. Po każdym wzorze może następować dowolna liczba dodatkowych znaków.

Podkreślenie zostało celowo wybrane jako znak zainteresowania, ponieważ w ustrukturyzowanym języku zapytań (SQL) podkreślenie reprezentuje pojedynczy znak wieloznaczny. Dlatego użycie podkreślenia w wyrażeniu filtru DTP lub w instrukcji SQL nie jest proste.

Ten przykład jest oparty na bazie danych Oracle i pokaże, jak uciec przed znakiem podkreślenia, aby można go było użyć dosłownie w klauzuli where zapytania. Zapytanie, które wygeneruje listę tabeli spełniającą powyższe kryteria:

SELECT TABLE_NAME
  FROM ALL_TABLES 
  WHERE ( 
    TABLE_NAME LIKE 'D_\_%' ESCAPE '\' OR 
    TABLE_NAME LIKE 'IRI\_%' ESCAPE '\' 
  ) 
  AND OWNER LIKE 'SCOTT'
;

Zwróć uwagę na użycie odwrotnego ukośnika, aby uciec przed znakiem podkreślenia, gdziekolwiek powinien być interpretowany dosłownie. To zapytanie może zostać wykonane z Scrapbooka plik w IRI Workbench. Wyniki zostaną wyświetlone w Wynikach SQL okno widoku. Ustaw kursor w edytorze plików SQL Scrapbook, kliknij prawym przyciskiem myszy menu kontekstowe i wybierz Wykonaj wszystko .

Zapytanie będzie również musiało zostać uruchomione oddzielnie dla każdego innego schematu (WŁAŚCICIELA), który wymaga filtrowanej listy tabel. Wyniki zapytań dla różnych schematów będą przechowywane oddzielnie i przetwarzane w podobny sposób.

Wyniki będą widoczne na Result 1 zakładka w Wynikach SQL pogląd. Z menu kontekstowego tego widoku wybierz Eksportuj> Bieżący wynik . W następnym oknie dialogowym wyeksportuj wynik do folderu projektu w obszarze roboczym jako plik w formacie CSV.

Lista tabel do pliku importu profilu połączenia

Eclipse DTP udostępnia mechanizm importowania i eksportowania jednego lub więcej profili połączeń z bazą danych z lub do specjalnie zdefiniowanego pliku XML. Procedura będzie polegać na tym, aby najpierw przygotować plik CSV do wstawienia do pliku importu, następnie wyeksportować profil połączenia, który zostanie przefiltrowany, a na koniec zmodyfikować plik eksportu z listą nazw tabel jako warunkiem filtrowania.

Otwórz plik danych CSV w edytorze tekstu IRI Workbench. Plik CSV nie zostanie sformatowany dokładnie tak, jak jest to potrzebne. Najpierw usuń pierwszy wiersz, który ma nagłówek kolumny. Następnie nazwy tabel muszą być otoczone pojedynczymi cudzysłowami zamiast podwójnych, a każdą nazwę należy oddzielić przecinkiem.

Naciśnij Ctrl+F, aby wywołać Znajdź/Zamień dialog. Wprowadź następujące wzorce dla F ind: ^”(.*)”$ i R e miejsce z: „\1”, i wybierz Zwykłe e x wyciski opcja. Naciśnij przycisk Zamień A ll i zapisz plik. Plik z listą tabel jest teraz gotowy do użycia w pliku importu.

Kolejnym krokiem jest przygotowanie eksportu profilu połączenia z bazą danych bez zastosowanego filtru nazwy tabeli. Przycisk eksportu profilu połączenia znajduje się w Eksploratorze źródeł danych pasek narzędzi widoku. Wygląda jak kosz ze strzałką skierowaną w górę iw prawo. Umieść znacznik wyboru obok profilu połączenia, który wymaga filtru, i określ nazwę pliku z rozszerzeniem .xml w obszarze roboczym projektu. Pamiętaj również, aby odznaczyć Zaszyfruj zawartość pliku przed zapisaniem pliku.

Otwórz plik eksportu XML w IRI Workbench. Kliknij Źródło na dole okna edytora XML. Naciśnij klawisze Shift+Ctrl+F, aby sformatować plik XML w wielu wierszach, aby ułatwić edycję. U góry, tuż wewnątrz profilu tag, to linia z atrybutami id i nazwisko .

Przejdź do witryny, takiej jak https://www.guidgen.com/ i wygeneruj nowy identyfikator GUID, aby zastąpić wartość w id atrybut. Edytuj nazwę atrybut, aby dodać słowo „filtrowane” lub inny wskaźnik, który zidentyfikuje nowy profil połączenia.

Poniżej znajduje się widok przed i po przykładowym profilu połączenia:

Przed:

Po:

Następnie znajdź linię, która ma:

<org.eclipse.datatools.connectivity.sqm.filterSettings />

Jeśli wewnątrz tagu znajdują się dodatkowe elementy, oznacza to, że w profilu połączenia są już zastosowane filtry do schematów. Można je pozostawić na miejscu i wstawić nowe filtry tabel dla dodatkowych schematów.

W przeciwnym razie właściwości profilu połączenia można edytować, aby usunąć je przed ponownym eksportowaniem. Powyższy wiersz należy zastąpić następującym:

<org.eclipse.datatools.connectivity.sqm.filterSettings>
  <property name="::SCOTT::DatatoolsTableFilterPredicate" 
  value="IN()" />
</org.eclipse.datatools.connectivity.sqm.filterSettings>

Wróć do edytowanego pliku danych CSV z listą tabel. Zaznacz cały tekst i skopiuj go do schowka. Wróć do pliku XML i wklej zawartość schowka bezpośrednio między nawiasami w tekście bezpośrednio powyżej. Zwróć uwagę, że jeśli nazwa schematu (WŁAŚCICIEL) znajduje się we właściwości należy go zmienić, aby pasował do nazwy filtrowanego schematu.

Jeśli istnieją dodatkowe schematy z listami tabel, powtórz kroki, aby dodać dodatkową właściwość Tagi. Jeśli lista tabel powinna być wykluczona, a nie uwzględniona, wstaw słowo kluczowe NIE przed słowem IN . Wynikowy kod XML w tym prostym przykładzie pokazano poniżej. W bardziej skomplikowanej bazie danych mogą znajdować się tysiące wierszy nazw tabel. Po zakończeniu edycji wybierz Plik> Zapisz jako… i zapisz plik pod nową nazwą.

Importuj filtrowany profil połączenia

Nowo utworzony plik XML przefiltrowanego profilu połączenia można zaimportować, tworząc nową kopię wyeksportowanego profilu z zastosowanym filtrowaniem. Przycisk importowania profilu połączenia znajduje się w Eksploratorze źródeł danych pasek narzędzi widoku, tuż po lewej stronie przycisku eksportu. Wygląda jak kosz ze strzałką skierowaną w dół iw prawo. Przejdź do pliku XML, który został zmodyfikowany za pomocą listy tabeli. Jeśli profil o tej samej nazwie już istnieje, zaznacz pole, aby go zastąpić.

Na koniec otwarcie profilu połączenia i przejście do przefiltrowanego schematu powoduje wyświetlenie tylko tych tabel, które znajdują się na wyświetlonej liście:


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL WYBIERZ SUMA

  2. Potencjalne ulepszenia ASPState

  3. Beverly Hills 90210 i ZIP+4:Obsługa adresów w modelach danych

  4. Parsuj domyślne wartości parametrów za pomocą PowerShell – część 2

  5. Mit, że DROP i OBCIĄŻ TABELĘ nie są rejestrowane