N ajogólniej rzecz biorąc, przez stru k tu rę rozum ie się zestaw elementów i ich powiązań.
Logiczna stru k tu ra danych w yrażana je st w postaci ze
staw ów inform acji reprezentujących p u nkt widzenia użyt
kownika. Elem entam i stru k tu ry logicznej są dane (zwykle na poziomie zapisu), powiązane określonym i relacjam i.
Zestaw em logicznym może być, na przykład, grupa zapisów: zamówienie, odbiorca, wyrób, połączonych taką wspólną cechą jak sym bol wyrobu. Elem enty zestawu lo
gicznego są więc wskazyw ane przez powiązania logiczne (np. klucze lub odsyłacze adresowe) i mogą pochodzić z różnych zbiorów fizycznych. W ystępowanie logicznych s tru k tu r danych jest istotną cechą baz danych.
Przez fizyczną stru k tu rę danych rozumie się układ w p a
mięci kom putera w yrażany w postaci takich kom ponen
tów, jak:
— zbiór fizyczny, czyli najw iększa jednostka danych z punktu w idzenia system u operacyjnego
— blok, ciyli porcja przesianych danych pomiędzy u rzą
dzeniem w ejścia-w yjścia i pam ięcią operacyjną
— zapis, czyli porcja danych rozpatryw ana jako całość z p u nktu widzenia instrukcji czytania-pisania w progra
mie użytkowym
— segm ent fizyczny zapisu, czyli ciąg kolejnych pól za
pisu, obsługiw any jako jednostka danych przez system zarządzania bazą danych, odpow iadający zapisowi zbioru klasycznego
— agregat danych, czyli pole grupowe identyfikow ane adresem początku lub końca pola i jego długością
— pozycja, czyli pole elem entarne (najm niejsza jednostka danych identyfikow ana poprzez adres b ajtu lub znaku po
czątku albo końca pola i jego długość)
— b ajt lub znak, czyli najm niejsza jednostka pamięciowa identyfikow ana poprzez adres
— bit, czyli elem entarna część bajtu (lub znaku), służąca do odw zorow ania w artości „bitowej” 0 lub 1.
W klasycznym system ie form aty i kolejność pól dekla
row ane są w program ach użytkowych, co oznacza, że po kom pilaoji (po zam ianie nazw na adresy) nab ierają one sztywnego ch arak teru i każda zm iana stru k tu ra ln a w y
m aga zmian program owych. Zrealizowanie koncepcji w y
dzielenia zapisu danych poza program do specjalnego zbioru, zwanego zwykle słownikiem danych lub schematem, nastąpiło poprzez oprogram ow anie system ów zarządzania bazą danych. W w arunkach banku danych możliwe są pewne (zależnie od pakietu) zm iany opisowe i przesunię
cia stru k tu raln e bez m odyfikacji program ów użytkowych.
Możliwości powyższe określa się jako zabezpieczenie nie
zależności danych od program ów użytkowych (data inde- pendence).
N ajwiększy efekt zastosowań zrealizowanych w techno
logii banku w stosunku do wcześniejszych technologii daje
„żonglowanie” stru k tu rą logiczną. Polega ono na elastycz
nym dobieraniu takich logicznych zestawów danych, które się sk ład ają wyłącznie z danych niezbędnych do realizacji określonego zadania. Program użytkowy operuje więc na
stosunkowo , prostych układach danych, zaś system zarzą
dzania bazą danych w ykonuje skom plikow ane czynności związane z udostępnieniem danych, adresow aniem pow ią
zań, dokonując konw ersji stru k tu r logicznych na fizyczne (i odwrotnie). W efekcie te same dane mogą w ielokrotnie wchodzić do różnych zestawów logicznych, w ystępując ty l
ko raz w stru k tu rach fizycznych.
P ierw otne ukierunkow anie system ów na stru k tu ry fi
zyczne w ynika z tego, że podobnie jak ręczne systemy ew idencyjne, odw zorowują one głównie zew nętrzne (do
kum entacyjne) oznaki zjaw isk gospodarczych, co przejaw ia się w prostym układzie rejestracyjnym , w którym zapis (rekord) odpow iada dokum entowi źródłowemu lub zesta
wieniu. Oznacza to, że stru k tu ra fizyczna jest równocześ
nie sposobem kum ulow ania danych dla określonego prze
kroju ewidenćyjno-sprawozdawczego. Usztywnienie układu danych w pływ a ujem nie na odwzorowanie zjaw isk gospo
darczych, które przejaw iają się w w ielostronnym pow ią
zaniu zdarzeń (patrz rys. 1).
ZMIl zrno
R y s. 1. P o d s t a w o w e p o w i ą z a n i a i n f o r m a c y j n e w z a r z ą d z a n i u p r z e d s i ę b i o r s t w e m p r z e m y s ł o w y m
P R O B L E M A T Y K A B A Z Y D A N Y C H
Nie wszystkie zjaw iska i ' zdarzenia zostają uwzględnione podczas analizy i projektow ania system u. Zapotrzebowanie na inform acje pojaw ia się zwykle przy pow staniu określo
nej sytuacji produkcyjnej, zaopatrzeniowej, kadrow ej, itp.
Wówczas uzew nętrznia się możliwość określenia zakresu potrzebnych inform acji, danych źródłowych, powiązań in form acyjnych i algorytm ów przetw arzania. Ponieważ sy
tuacje powyższe mogą być niepow tarzalne a term in do
starczenia niezbędnych inform acji jest zw ykle krótki, k la
syczne metody budowy system u okazują się mało przydatne i zbyt kosztowne. Rozwiązanie polegać może na zabezpie
czeniu możliwości w prow adzania zmiennych pow iązań in form acyjnych i sukcesywnej rozbudowy lub re stru k tu ra li
zacji zbiorów maszynowych. Pod uwagę należy rów nież wziąć prognozowanie w artości inform acji. Zadanie obsługi procesów decyzyjnych jest bowiem o tyle trudne, że o ile decyzja dotyczy przyszłości, to dane w zbiorach opisują przeszłość. Prognozowanie wym aga z reguły użycia odpo
wiednich modeli zjaw isk gospodarczych. Algorytmy m ode
lowe obejm ują m. in. powiązania zaburzeń n a poziomie zasobów (ściśle mówiąc, ich kluczy) i atrybutów . Pow ią
zanie kluczy dotyczy np. m ateriału i wyrobu, który z niego pow staje. A trybutam i zdarzeń są np. cel, miejsce, spraw a, data, skutek (dane ilościowo-wartościowe), przy
czyna, spraw ca zdarzenia (rip. dostawca). K lasyfikacja zasobów" (obiektów ). jest zm ienna, zależnie od powiązań.
Ten sam elem ent może być w jednym przypadku atry b u tem (np. spraw cą w zamówieniu lub dostawie), zaś w in nym — obiektem (np. w płatności). Musi to być uwzględ
nione w budowie logicznych stru k tu r danych, m. in. przez stosowanie łańcuchow ania danych i" techniki inw ersyjnej.
Metody w iązania danych prow adzą nas do podstawowego zagadnienia, jakim są typy stru k tu r danych.
TYPY LOGICZNYCH STRUKTUR DANYCH
Logiczne stru k tu ry danych mogą być tworzone w ' roz
m aity sposób, zależnie od konkretnych rozwiązań pakie
towych. Podstaw ow e typy stru k tu r przedstaw ione są na rysunkach 2—7. Oznaczenia elem entów strukturalnych na tych rysunkach naw iązują do przykładu powiązań infor
m acyjnych podanych na rys. 1.
W strukturze liniowej (rys. 2) każdy elem ent je st po
wiązany w zasadzie tylko z sąsiednimi elem entam i
(po-M E 1 ME2 ME3 HEL MES
o — —o — o ---o -o
R y s . 2. S t r u k t u r y l i n i o w e
a ) S t r u k t u r a l i n i o w a p r o s t a ( l i s t a p r o s t a ) M E — m a t e r i a ł y i . e l e m e n t y z k o o p e r a c j i
b) S t r u k t u r a l i n i o w a z ło ż o n a h i e r a r c h i z o w a n a ( s t r u k t u r a l i s t u j ą c a ) — w a r i a n t y 1, 2 i 3
D S — d o s t a w c y
R W — r e k l a m a c j e w y s ł a n e Z W - z a m ó w i e n i a w y s ł a n e
D M — d o s t a w y m a t e r i a ł ó w i e l e m e n t ó w z k o o p e r a c j i
O — o --- - o O - c
001 002 OD3 ODL 0D5
c) S t r u k t u r a l i n i o w a z a m k n i ę t a ( p i e r ś c i e n i o w a ) O D — o d b i o r c y
przednim i następnym ), przy czym każdy elem ent jest rów nopraw ny. Liczba elem entów może być powiększona w strukturze listowej (listującej), której elem entam i mogą być listy (podlisty). Można wprowadzić częściową h ie ra r
chizację listy, jeśli jej elem enty traktow ane są jako n ad rzędne w stosunku do podlisty.
W stru k tu rach hierarchicznych (rys. 3) elem enty rozło
żone są według grafu drzewa, rozpoczynając od elem entu początkowego, który nie jest podporządkow any żadnem u innem u elementowi. Pozostałe elem enty łączy relacja nad
rzędności i podrzędności, przebiegająca ściśle w edług grafu.
R y s . 3. S t r u k t u r a h i e r a r c h i c z n a W — w y r o b y
Z — z e s p o ły
E — e l e m e n t y (c z ę ś c i) M — m a t e r i a ł y
U w a g a : p r z e z p o w t a r z a n i e e l e m e n t ó w w s p ó l n y c h ( n p . E2) u z y s k u j e m y s t r u k t u r ę p s e u d o s i e c i o w ą .
Z reguły nie ogranicza się liczby węzłów (poziomów hie
rarchicznych) i liczby elem entów wychodzących z węzła.
Specyficzną właściwością stru k tu r hierarchicznych jest to, że każdy elem ent może mieć pow iązania z wieloma ele
m entam i na niższym poziomie, lecz w stosunku do niego samego może występow ać tylko jeden elem ent nadrzędny.
Właściwość ta nie odnosi się do elem entu początkowego.
W stru k tu rach sieciowych (rys. 4) teoretycznie każdy elem ent może być powiązany z każdym. S truktury takie nazyw am y swobodnymi. W praktyce stru k tu ry sieciowe podlegają pewnym ograniczeniom. Na przykład, w pakie
cie IMS (Inform ation M anagem ent System) budow ane są poprzez łączenie cząstkowych stru k tu r hierarchicznych, przy czym funkcję łącznika spełniają odsyłacze adresowe zastępujące określone węzły stru k tu r cząstkowych. Dzięki odsyłaczom adresow ym (którym i są zwykle ścieśnione adresy dyskowe) możliwe jest otrzym anie wielu stru k tu r logicznych z różnych fizycznych drzew, nie powodując pow tarzania segmentów.
W ograniczonych stru k tu rach sieciowych pow iązania są wyznaczane przez wskazanie określonych zapisów lub zbio
rów. Łączy je zwykle stosunek nadrzędności-podrzędności, z tym, że nie jest zawężany do poziomów wyznaczonych grafem drzew a i sprowadza się do relacji binarnych (po
między dwoma elementami). Zbiór zapisów nadrzędnych określany jest jako MASTER, zaś zbiór rekordów pod
porządkow anych jako CHAIN. W yszukiwanie inform acji może rozpocząć się od dowolnego rekordu dowolnego zbio
ru MASTER i przejść do określonych zbiorów CHAIN, w skazanych przez odsyłacze (więzi) adresowe. W stru k - a turach sieciowych DBTG-CODASYL ’) w yróżnia się ze
staw (zbiór) logiczny SET, którym jest opatrzony nazw ą typów rekordów opisany w schem acie DDL (Data
De-l) D B T G -C O D A S Y L — g r u p a r o b o c z a D a t a B a s e T a s k G r o u p w o r g a n i z a c j i C O D A S Y L ( C o n f e r e n c e o n D a t a S y s t e m s L a n g u a g e s), p o w o ł a n e j w 1S59 r o k u w U S A w z w i ą z k u z o p r a c o w y w a n i e m j ę z y k a C O B O L .
35
P > i t & R L E M A T V K A B A Z V D A H / Y C H
Wektor danej 1
Wektor danej 2 1
\Lp.
l ..
Wektor k lu c z a symbol wyrobu 1 1
I 2
512562 I 3
I ¿ i s i 6
Hfektor oowiozon scription Language) przez SET ENTRY. W celu odróżnie
nia tego pojęcia od terminu „data set” stosowanego w systemie operacyjnym OS firmy IBM będziemy tutaj uży
wać określenia DBTG-SET.
Stosowanie ograniczonych struktur sieciowych wynika niewątpliwie z faktu, że utrzymywanie swobodnego mo
delu sieciowego było niezwykle złożone i maszyno chłonne.
Jeśli przyjmiemy za J. W. Forresterem, że w modelach zarządzania przedsiębiorstwem występuje od 30 do 3000 zmiennych, daje to od 1760 do ok. 18 000 000 dwukierun
kowych powiązań sieciowych. Dalej, jeśli za D. W. Apple- tonem [1] przyjmiemy, że większość decyzji podejmowa
nych w przedsiębiorstwie opiera się na informacji wpro
wadzonych z 400 do 800 danych elementarnych, daje to co najmniej 1053411259X10669 potencjalnych informacji.
Jako kontrpropozycję w stosunku do struktur siecio
wych, w latach 1970—1971 E. F. Codd opracował relacyjny model danych. W strukturach relacyjnych baza danych opi
sywana jest poprzez znormalizowane relacje tablicowe notacji języka SQUARE; przykład relacji przedstawiony na rys. 5 można opisać następująco: PLAN (WYRÓB, ZAMÓWIENIE, PLPROD, PLSPRZED). Ze względu na
powiązania i dostawcami
P rzykbd tablicy re la c ji
c) S ie ć c z ą s t k o w y c h s t r u k t u r w g k o n c e p c j i C O D A S Y L U
DBTG-SET ma następujące właściwości:
— dowolna liczba zestawów logicznych' może być zdefinio
wana w bazie
— zestaw musi mieć pojedynczy typ zapisu OWNER
— w zestawie obowiązuje określony porządek (SET OR
DER)
— typ rekordu może być określony jako OWNER w jed
nym lub więcej zestawach
— typ zapisu może być określony jako MEMBER w jed
nym lub więcej zestawach
— typ zapisu może być zarówno OWNER jak i MEMBER, ale w różnych zestawach (nie może to mieć miejsca w jednym zestawie).
R y s . 4. S t r u k t u r y s i e c i o w e
W E — w y r o b y i e l e m e n t y w y r o b ó w Z M — z a m ó w i e n i a o t r z y m a n e P T — p o z y c j e p o r t f e l u z a m ó w i e ń Z P — z l e c e n i a p r o d u k c y j n e
P S — p o z y c j e p l a n ó w p r o d u k c j i i s p r z e d a ż y P Z — p o z y c j e p l a n u z a o p a t r z e n i a
W S — w y s y ł k a w y r o b ó w i e l e m e n t ó w w y r o b ó w O D — o d b i o r y
Z O — z a p ł a t y o t r z y m a n e O D — o d b i o r c y
a ) S w o b o d n a s t r u k t u r a s i e c i o w a
b ) S i e ć c z ą s t k o w y c h s t r u k t u r h i e r a r c h i c z n y c h w g k o n c e p c j i IM S
R y s . 5. S t r u k t u r a r e l a c y j n a ( t a b l i c e r e l a c j i )
bezpośrednie odwołani^ do wartości elementów kolumn (zwanych domenami)^" każda z nich musi być opatrzona unikalnym identyfikatorem. Ponadto znormalizowana ta
blica powinna spełniać warunki:
— nie jest wymagane uporządkowanie kolumn i wierszy
— wszystkie wiersze są różne (pod względem wartości)
— wszystkie elementy kolumny są tego samego typu
— każdy element tablicy jest polem elementarnym
— ze względu na zależności „jeden-do-jeden” w tablicy nie mogą znajdować się grupy powtarzalne Crepeating groups), elementy same będące relacjami oraz elementy zależne tylko od części klucza lub zależne od innych elementów niż klucze.
Dzięki normalizacji otrzymujemy stosunkowo prostą (zwo
lennicy struktur relacyjnych twierdzą, że najprostszą) strukturę, dogodną dla operacji zasilania i wyszukiwania.
Ponadto wprowadzenie nowych relacji do bazy nie w pły
wa na istniejące już tablice, jednakże może powodować redundancję (powtarzanie) danych. Pod względem liczby wdrożeń pakietowych struktury relacyjne znacznie ustę
pują strukturom zaproponowanym przez CODASYL.
Struktury wektorowe (rys. 6) — zastosowane m. in. w pakiecie ROBOT, opracowanym przez firmę SOFTWARE SCIENCES — stanowią przewrót w technologii przetwa
rzania danych, zakładając odejście od powszechnie
uzna-R y s . 6. S t r u k t u r a w e k t o r o w a ( p r z y k ł a d ) nazwa wyrobu
odkurzacz alfa
36
P R O B L E M A T Y K A B A Z Y D A N Y C H
nej jednostki fizycznej danych, jaką jest zapis (rekord) n a rzecz ciągu w artości jednej danej, zwanego w ektorem . Zbiór zapisów zam ieniany jest („cięty” pionowo) na szereg wektorów, wśród których w ystępuje w ektor identyfikacyj
ny (przechowujące klucze) oraz w ektory danych. W za
jem ne podporządkow anie w ektorów odbyw a się poprzez względną pozycję elem entu (nr kolejny), według której można z pow rotem odtworzyć zapis konw encjonalny. Do tw orzenia stru k tu r logicznych służą w ektory powiązań (link vector), utrzym yw ane przez oprogram ow anie pakietu na podstaw ie deklaracji w skazujących na poła (wektory danych lub w ektor klucza), według których organizowane są powiązania.
Struktury inwcrsyjnc (rys. 7) polegają na tw orzeniu w tórnych zbiorów (wtórnych w stosunku do bazy danych),
R y s . 7. S t r u k t u r y i n w c r s y j n e
a ) S t r u k t u r a i n w e r s y j n a ( o d w r ó c o n a ) z w y k ł a
b) S t r u k t u r a o d w r ó c o n a l i s t u j ą c a
spełniających rolę skorowidzów pośredniczących w w y
szukiw aniu inform acji. Zbiory te um ożliw iają dostęp do bazy danych na " podstaw ie wartości pól elem entarnych (nie będących kluczami), zwanych desjjryptoram i, dostar
czając klucze lub adresy dyskowe zapisów bazy danych.
Na przykład, deskryptoram i mogą być wartości określa
jące znajomość języka angielskiego. K artoteka inw ersyjna może dostarczać num ery ew idencyjne pracow ników zna
jących biegle język angielski. Dla deskryptorów i dla ad re sów tworzone są zwykle odrębne zbiory maszynowe. W zwykłej stru k tu rze inw ersyjnej, w zbiorze inw ersyjnym , przechow yw ane są w szystkie adresy, zaś w stru k tu rze li
stującej jed y n ie początkowe adresy list organizowanych w bazie danych. Ponadto rozróżnia się pełne i cząstkowe zbiory inw ersyjne. Pełne zbiory pokryw ają całą zaw ar
tość bazy danych (każde pole jest deskryptorem ). D aje to możliwość odtw orzenia bazy danych w przypadku jej znisz
czenia, pow oduje jednak bardzo znaczne nakłady pam ię
ciowe, w ielokrotnie większe niż sama baza danych. W p ra k tyce preferow ane są zbiory cząstkowe (zwykle stosowane dla atry b u tó w o niskim stopniu rozpowszechnienia w za
pisach bazy — w bazie inform acji kadrow ych cechą taką są np. odznaczenia państwowe, dla których sekw encyjne przeszukiw anie bazy byłoby nieracjonalne).
UTRZYMYWANIE I DOBÓR STRUKTUR DANYCH