IRI Workbench предоставя редица функции за работа в множество таблици в база данни. Той включва съветници за: профилиране на бази данни; класифицира колони; подмножество, маскиране и мигриране на данни; генерират тестови данни; и др.
Инструментите в IRI Workbench могат да ви помогнат да изберете кои таблици са достъпни за тези съветници, както и в конкретна диаграма на връзката или в сканиращи таблици за модели или колекции от чувствителни стойности. С твърде много таблици в база данни може да бъде непосилно да визуализирате, избирате и сканирате всички данни и метаданни. Едно решение на този проблем с претоварване на данни е да филтрирате таблиците, които са видими във всеки конкретен момент.
Филтри
По-лесно е да се работи с по-малки набори от маси наведнъж. Обикновено няколкостотин свързани таблици наведнъж са разумна сума. За щастие, в IRI Workbench има механизъм за ограничаване на списъка с показани таблици с помощта на филтър.
Таблиците, които са филтрирани, се изключват от списъка в Data Source Explorer, основният изглед в структурата на базата данни. Те също не се появяват в списъците за избор в съветниците и се пропускат по време на сканиране на данни в цялата схема, ускорявайки класификацията на трудни за намиране данни. Намаляването на броя на таблиците до някакъв логически набор, с управляемо количество данни, улеснява потребителя да се съсредоточи върху задачата. Могат да бъдат създадени множество профили за свързване, за да се покажат само онези таблици, свързани с конкретна задача.
Простото филтриране по име на таблица е вградена функция на проекта Eclipse Data Tools Platform (DTP), който се използва за достъп до база данни в IRI Workbench. Въпреки това, той може да се използва само за определяне на имена на таблици, които започват или не започват, съдържат или завършват с определени символни низове. Има моменти, когато е необходим по-сложен подход.
DTP също така позволява избор на списък с имена на таблици за включване или изключване на базата на схема. Това включва зареждане на всички имена на таблици в страница на съветника и след това прилагане на избор на отметка към всички имена на таблици, които да бъдат включени или изключени. Това работи добре за малък брой таблици, но бързо става неуправляем, когато списъкът с таблици нарасне до хиляди или дори десетки хиляди.
Има сравнително лесно заобикаляне, което позволява избор на таблица по име, въз основа на външен списък, предоставен от потребителя. Този списък може да бъде генериран от външен инструмент или в резултат на SQL заявка. Като пример, тази публикация ще покаже стъпка по стъпка как това може да бъде постигнато.
Подгответе списък с таблици
Много различни методи на заявка могат да се използват за изграждане на списъка с таблици. Един полезен метод е да филтрирате всички таблици, които имат нулеви редове с данни. Въпреки това, в този конкретен пример, SQL заявка ще бъде използвана за извличане на списък с таблици за включване във филтъра въз основа на съвпадение с имената на таблиците. Списъкът с избрани таблици ще бъде кратък, за да направи примера по-лесен за следване. Същата техника ще работи за филтриране на таблици въз основа на много по-дълъг списък.
Интересните таблици в този пример имат два формата, те или започват с буквата D, последвана от произволен знак и след това долна черта, или започват с низа „IRI_“. След това всеки модел може да бъде последван от произволен брой допълнителни знаци.
Подчертаването беше нарочно избрано като символ, който представлява интерес, тъй като в езика на структурираните заявки (SQL) долното подчертаване представлява единичен заместващ знак. Следователно използването на долно черта в израз на DTP филтър или SQL израз не е лесно.
Този пример е базиран на база данни на Oracle и ще покаже как да избягате от символа за долно подчертаване, така че да може да се използва буквално в клаузата where на заявка. Заявката, която ще създаде списък с таблица, отговарящ на горните критерии:
SELECT TABLE_NAME FROM ALL_TABLES WHERE ( TABLE_NAME LIKE 'D_\_%' ESCAPE '\' OR TABLE_NAME LIKE 'IRI\_%' ESCAPE '\' ) AND OWNER LIKE 'SCOTT' ;
Обърнете внимание на използването на обратна наклонена черта за избягване на символа за долно подчертаване, където и да е той трябва да се тълкува буквално. Тази заявка може да бъде изпълнена от SQL Scrapbook файл в IRI Workbench. Резултатите ще бъдат показани в SQL резултати прозорец за изглед. С курсора в редактора на файлове на SQL Scrapbook щракнете с десния бутон за контекстното меню и изберете Изпълни всичко .
Заявката също ще трябва да се изпълнява отделно за всяка друга схема (СОБСТВЕНИК), която се нуждае от филтриран списък с таблици. Резултатите от заявките за различни схеми ще се съхраняват отделно и ще се обработват по подобен начин.
Резултатите ще се виждат в Резултат 1 раздела в SQL резултати изглед. От контекстното меню на този изглед изберете Експортиране> Текущ резултат . В следващия диалогов прозорец експортирайте резултата в папката на проекта в работното пространство като CSV форматиран файл.
Списък с таблици към файл за импортиране на профил на връзка
Eclipse DTP предоставя механизъм за импортиране и експортиране на един или повече профили за връзка с база данни от или към специално дефиниран XML файл. Процедурата тук ще бъде първо да подготвите CSV файла за вмъкване във файла за импортиране, след това да експортирате профила на връзката, който ще бъде филтриран, и накрая да промените файла за експортиране със списъка с имена на таблици като условие за филтриране.
Отворете CSV файла с данни в текстовия редактор на IRI Workbench. CSV файлът няма да бъде форматиран точно както е необходимо. Първо, изтрийте първия ред, който има заглавие на колоната. След това имената на таблиците трябва да бъдат рамкирани с единични кавички вместо двойни кавички и запетаята трябва да разделя всяко име.
Натиснете Ctrl+F, за да изведете Намиране/Замяна диалогов прозорец. Въведете следните шаблони за F инд: ^”(.*)”$ и R д место с: ‘\1’, и изберете Regular e x пресии опция. Натиснете Замяна А ще бутон и след това запишете файла. Файлът със списък на таблицата вече е готов за използване във файла за импортиране.
Следващата стъпка е да подготвите експортиране на профила за връзка с базата данни без приложен филтър за имена на таблица. Бутонът за експортиране на профил на връзка е в Data Source Explorer преглед на лентата с инструменти. Изглежда като кошница със стрелка, сочеща нагоре и надясно. Поставете отметка до профила за връзка, който се нуждае от филтъра, и посочете име на файл с разширение .xml в работното пространство на проекта. Също така не забравяйте да премахнете отметката от Шифроване на съдържанието на файла поле, преди да запишете файла.
Отворете файла за експортиране на XML в IRI Workbench. Щракнете върху Източник раздел в долната част на прозореца на XML редактора. Натиснете Shift+Ctrl+F, за да форматирате XML на няколко реда, за да улесните редактирането му. Близо до горната част, точно вътре в профила tag, е ред с атрибутите id и име .
Отидете на уебсайт като https://www.guidgen.com/ и генерирайте нов GUID, за да замените стойността в id атрибут. Редактирайте име атрибут, за да добавите думата „filtered“ или някакъв друг индикатор, който ще идентифицира новия профил на връзката.
По-долу е изглед преди и след на примерния профил за връзка:
Преди:
След:
След това намерете реда, който съдържа:
<org.eclipse.datatools.connectivity.sqm.filterSettings />
Ако вече има допълнителни елементи вътре в етикета, това означава, че вече има филтри, приложени към схемите в профила на връзката. Те могат да бъдат оставени на място и да се вмъкнат нови филтри за таблица за допълнителни схеми.
В противен случай свойствата на профила на връзката могат да бъдат редактирани, за да се премахнат, преди да се експортират отново. Редът по-горе трябва да бъде заменен със следното:
<org.eclipse.datatools.connectivity.sqm.filterSettings> <property name="::SCOTT::DatatoolsTableFilterPredicate" value="IN()" /> </org.eclipse.datatools.connectivity.sqm.filterSettings>
Върнете се към редактирания CSV файл с данни със списъка с таблици. Изберете целия текст и го копирайте в клипборда. Върнете се към XML файла и поставете съдържанието на клипборда директно между скобите в текста непосредствено по-горе. Имайте предвид, че ако името на схемата (OWNER) е в свойството маркер, той трябва да бъде променен, за да съответства на името на схемата, която се филтрира.
Ако има допълнителни схеми със списъци с таблици, повторете стъпките, за да добавите допълнително свойство етикети. Ако списък с таблица трябва да бъде изключен, а не включен, поставете ключовата дума НЕ пред думата IN . Полученият XML в този прост пример е показан по-долу. В по-сложна база данни може да има хиляди редове с имена на таблици. Когато всичко редактиране приключи, изберете Файл> Запиши като... и запазете файла под ново име.
Импортирайте профила на филтрираната връзка
Новосъздаденият XML файл с филтриран профил на връзка може да бъде импортиран, създавайки ново копие на експортирания профил, с приложено филтриране. Бутонът за импортиране на профил на връзка се намира в Data Source Explorer преглед на лентата с инструменти, точно вляво от бутона за експортиране. Изглежда като кошница със стрелка, сочеща надолу и надясно. Прегледайте XML файла, който е променен със списъка с таблици. Ако вече съществува профил със същото име, поставете отметка в квадратчето, за да го презапишете.
И накрая, отварянето на профила на връзката и придвижването до филтрираната схема води до показване само на тези таблици, които са в списъка: