Witam,

niedawno rozpocząłem pracę, która polega na technicznym wsparciu pracy niewielkiego działu kontrolingu. Firma nie jest duża, jednak ze względu na to, że prowadzi działalność polegającą na oferowaniu usług informatycznych na całym świecie, do bazy wpływa sporo danych.

Problem polega na tym, że baza ta nie jest relacyjna (Lotus Notes). Ponadto na tej bazie nie ma możliwości stworzenia mniej lub bardziej skomplikowanych obliczeń do analizy tych danych. W związku z tym dane z bazy Lotusowej są zaciągane do bazy SQL-owej i na tej podstawie tworzone są później odpowiednie raporty.

Zaciąganie tych danych polega na tym, że w bazie Lotusowej tworzone są widoki. Możemy o tym myśleć tak samo jak o widoku w zwykłym SQL-u. Jest to po prostu tabela z pewnymi danymi (bez żadnych kluczy).

Ponieważ Lotus Notes nie jest bazą relacyjną to po zaciągnięciu danych na serwer SQL-owy nadal nie mamy bazy relacyjnej - żadna z tabel nie ma klucza głównego, obcego, nie wspominając o jakiś indeksach czy wyzwalaczach.

Jak myślicie, czy jest to jakiś standard czy jednak coś tu nie gra? Zawsze miałem do czynienia z relacyjnymi bazami zatem jestem przyzwyczajony do takich rzeczy jak relacje, klucze itp. co moim zdaniem ułatwia np. tworzenie SQL-owych widoków i gwarantuje spójność oraz poprawne działanie takiej bazy. Ponadto dzięki temu, kiedy coś się psuje w raporcie, możemy szybko wyjaśnić dlaczego.

Chciałbym poznać wasze opinie na ten temat.