Pobieranie danych prosto z bazy Enterprise Architect – SQL

Czas czytania: 10 min.

Na początku musisz posiadać projekt osadzony na bazie danych. Następnie musisz się dostać za pomocą np:

  • PHPMyAdmin
  • Oracle SQL Developer
  • itp.

Najważniejsza tabela w bazie to “OBJECT_T“. To właśnie w niej znajdują się wszystkie elementy jakie tworzymy podczas projektowania. Oczywiście nie wszystko tam się znajduje. Istnieją inne tabele np. z warunkami początkowymi i końcowymi, czy osobna tabela zawierająca wszystkie połączenia, ale po kolei.

Wiemy już która tabela ( OBJECT_ T) zawiera wiedze merytoryczną. Czas pobawić się zapytaniami SQL:

select * from T_OBJECT where OBJECT_TYPE = 'UseCase';

Wynikiem powyższej kwerendy (zapytania) są wszystkie rekordy typu UseCase

select * from T_OBJECT where OBJECT_TYPE = 'UseCase' and status != 'Wycofany';

Zawęziliśmy wynik do wszystkich UseCase poza tymi co mają status “Wycofany”.

select * from T_OBJECT where OBJECT_TYPE = 'UseCase' and status != 'Wycofany' AND modifieddate > '20/01/01';

Zawęziliśmy wynik do daty modyfikacji. W tym przypadku wyskoczą nam wszystkie rekordy typu UseCase ze statusem innym niż “Wycofany” i datą modyfikacji od 01.01.2020 do teraz.

select * from T_OBJECT where OBJECT_TYPE = 'UseCase' and status != 'Wycofany' AND NAME like '%usuwanie%'; 

Wynikiem są wszystkie wpisy typu UseCase ze statusem innym niż “Wycofany” i w ich nazwie występuje słowo “usuwanie”.

select * from T_OBJECT where OBJECT_TYPE = 'UseCase' and status != 'Wycofany' and NOTE IS NULL;

NOTE IS NULL – często przydaje się w praktyce, aby sprawdzić, czy w projekcie nie ma wydmuszek funkcjonalności (UC) posiadających tylko nazwę, a pole NOTE jest puste.

select * from t_connector tcon 
inner join T_OBJECT obj ON obj.OBJECT_ID = tcon.start_object_id
where obj.OBJECT_TYPE = 'UseCase' and tcon.end_object_id in (select object_id FROM T_OBJECT where object_type = 'Requirement');

Powyższa kwerenda wyświetli nam wszystkie rekordy typu UseCase, które wskazują, że spełniają wymaganie biznesowe (Requirement). W tym przypadku musiałem użyć złączenia ponieważ informacja opołączeniach elementów jest zapisywana w odzielnej tabeli (T_CONNECTOR).

Niniejszym artykułem chciałem CI pokazać, że przy podstawowej znajomości SQL można wyciągać z projektu tworzonego w narzędziu EA bardzo przydatne informację.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *