IMS DB - logiczna baza danych
W bazie danych IMS obowiązuje zasada, że każdy typ segmentu może mieć tylko jednego rodzica. Ogranicza to złożoność fizycznej bazy danych. Wiele aplikacji DL / I wymaga złożonej struktury, która umożliwia segmentowi posiadanie dwóch typów segmentów nadrzędnych. Aby przezwyciężyć to ograniczenie, DL / I umożliwia administratorowi DBA implementację relacji logicznych, w których segment może mieć zarówno fizycznych, jak i logicznych rodziców. Możemy tworzyć dodatkowe relacje w ramach jednej fizycznej bazy danych. Nowa struktura danych po zaimplementowaniu relacji logicznej jest nazywana logiczną bazą danych.
Relacja logiczna
Relacja logiczna ma następujące właściwości -
Relacja logiczna to ścieżka między dwoma segmentami, które są powiązane logicznie, a nie fizycznie.
Zwykle logiczna relacja jest ustanawiana między oddzielnymi bazami danych. Ale możliwe jest istnienie relacji między segmentami jednej konkretnej bazy danych.
Poniższy obraz przedstawia dwie różne bazy danych. Jedna to baza danych Studentów, a druga to baza danych Biblioteki. Tworzymy logiczną relację między segmentem Książki wydane z bazy danych Studentów a segmentem Książki z bazy danych Biblioteki.
Tak wygląda logiczna baza danych podczas tworzenia relacji logicznej -
Logiczny segment podrzędny
Logiczny segment potomny jest podstawą relacji logicznej. Jest to fizyczny segment danych, ale w przypadku DL / I wygląda na to, że ma dwoje rodziców. Segment Książki w powyższym przykładzie ma dwa segmenty nadrzędne. Segment wydanych książek jest logicznym elementem nadrzędnym, a segment biblioteki jest fizycznym elementem nadrzędnym. Jedno wystąpienie logicznego segmentu podrzędnego ma tylko jedno wystąpienie logicznego segmentu nadrzędnego, a jedno wystąpienie logicznego segmentu nadrzędnego może mieć wiele wystąpień logicznego segmentu podrzędnego.
Logiczne bliźniaki
Logiczne bliźniaki to wystąpienia typu logicznego segmentu podrzędnego, które są podporządkowane pojedynczemu wystąpieniu typu logicznego segmentu nadrzędnego. DL / I sprawia, że logiczny segment podrzędny wygląda podobnie do rzeczywistego fizycznego segmentu podrzędnego. Jest to również znane jako wirtualny logiczny segment podrzędny.
Rodzaje relacji logicznych
DBA tworzy logiczne relacje między segmentami. Aby zaimplementować relację logiczną, DBA musi określić ją w DBDGEN dla zaangażowanych fizycznych baz danych. Istnieją trzy typy relacji logicznych -
- Unidirectional
- Dwukierunkowy wirtualny
- Dwukierunkowe fizyczne
Jednokierunkowy
Połączenie logiczne przechodzi od logicznego dziecka do logicznego rodzica i nie może być odwrotne.
Dwukierunkowy wirtualny
Umożliwia dostęp w obu kierunkach. Logiczne dziecko w swojej fizycznej strukturze i odpowiadające mu wirtualne logiczne dziecko mogą być postrzegane jako sparowane segmenty.
Dwukierunkowe fizyczne
Dziecko logiczne to fizycznie zmagazynowany podległy zarówno swoim fizycznym, jak i logicznym rodzicom. W aplikacjach wygląda to tak samo, jak dwukierunkowe wirtualne logiczne dziecko.
Zagadnienia dotyczące programowania
Zagadnienia programistyczne dotyczące korzystania z logicznej bazy danych są następujące:
Połączenia DL / I w celu uzyskania dostępu do bazy danych pozostają takie same z logiczną bazą danych.
Blok specyfikacji programu wskazuje strukturę, której używamy w naszych wywołaniach. W niektórych przypadkach nie możemy stwierdzić, że używamy logicznej bazy danych.
Relacje logiczne nadają nowy wymiar programowaniu baz danych.
Podczas pracy z logicznymi bazami danych należy zachować ostrożność, ponieważ dwie bazy danych są ze sobą zintegrowane. Jeśli zmodyfikujesz jedną bazę danych, te same modyfikacje muszą zostać odzwierciedlone w drugiej bazie danych.
Specyfikacje programu powinny wskazywać, jakie przetwarzanie jest dozwolone w bazie danych. Jeśli reguła przetwarzania zostanie naruszona, otrzymasz niepusty kod stanu.
Segment skonsolidowany
Logiczny segment podrzędny zawsze zaczyna się od pełnego, połączonego klucza docelowego elementu nadrzędnego. Jest to znane jako łączony klucz docelowy nadrzędny (DPCK). Musisz zawsze zakodować DPCK na początku obszaru we / wy segmentu dla logicznego elementu potomnego. W logicznej bazie danych połączony segment tworzy połączenie między segmentami zdefiniowanymi w różnych fizycznych bazach danych. Połączony segment składa się z następujących dwóch części -
- Logiczny segment podrzędny
- Docelowy segment nadrzędny
Logiczny segment podrzędny składa się z następujących dwóch części -
- Skonsolidowany klucz nadrzędny miejsca docelowego (DPCK)
- Logiczne dane użytkownika podrzędnego
Kiedy pracujemy z połączonymi segmentami podczas aktualizacji, może być możliwe dodanie lub zmiana danych zarówno w logicznym elemencie podrzędnym, jak i docelowym rodzicu za pomocą jednego wywołania. Zależy to również od reguł określonych przez DBA dla bazy danych. W przypadku wkładki podaj DPCK we właściwej pozycji. W przypadku zamiany lub usunięcia nie zmieniaj DPCK ani danych pola sekwencji w żadnej części połączonego segmentu.