• Nie Znaleziono Wyników

Jedną z podstaw ow ych korzyści płynących z TB D jest możliwość zastosow ania nowych konstrukcji języko­

wych, a tym sam ym zwolnienie program istów z uciąż­

liwego tw orzenia własnych procedur. Projektantow i sys­

tem u pozw ala to na bardziej jednoznaczne ujęcie dynam i­

ki w projekcie systemu i zaoferowanie m odelu bardziej zbliżonego do rzeczywistości.

O pisane typy baz danych umożliwiły stworzenie no­

wych języków do m anipulow ania danym i tem poralnym i oraz zadaw ania pytań. Z aproponow ano wiele koncepcji teoretycznych, które m ożna podzielić na dwie główne grupy:

1. Języki oparte o istniejące języki zapytań.

2. N owe konstrukcje stw orzone specjalnie dla potrzeb technologii TBD.

Pierwsza grupa języków stanow i rozszerzenie w ybra­

nego, istniejącego języka o klauzule, które umożliwiają kom unikację z TBD. D o tej grupy zaliczyć m ożna np.

H istorical Query Language H Q U E L [12] i Tem poral Q uery Language T Q U E L [8].

N owe języki obecnie opracow yw ane są oparte na tradycyjnych zasadach, ja k na przykład Legol 2.0, języki graficzne dwu- i trójwymiarowe, gdzie czas reprezen­

tow any jest ja k o trzeci wymiar tradycyjnej bazy danych, Time-By-Example [13] oraz języki wykorzystujące nowe operatory logiczne np.: czasową rów ność = T, koniunkcję A N D t , negację N O T x [4] i inne.

Ze względu na zakres zastosow ań wyróżnić m ożna trzy grupy języków:

29

p u b lik a c je

1. uwzględniające czas rzeczywisty (HSQ L, TSQL), 2. uwzględniające czas rzeczywisty i transakcyjny

(TSQL2),

3. pozw alające form ułow ać pytania dotyczące dynam iki pow iązań i konstrukcji relacji (SQL/SE) [10].

Rezygnując z przedstaw ienia form alnych podstaw k o n ­ strukcji języka, aby zaprezentow ać nowe możliwości zadaw ania pytań posłużym y się jednym z p ro p o n o w a­

nych rozszerzeń języka SQ L - językiem T SQ L (Tem poral SQL) w odniesieniu do danych z tablic CEN A 2 (CENA) I D O STA W CA 2 (DOST) [5] [6].

K onstrukcja języka w ym aga przeprow adzenia n o r­

malizacji czasowej. Czas jest więc atrybutem całej relacji, poniew aż je d n a relacja może zawierać tylko jeden a t­

rybut, którego w artości zm ieniają się w czasie.

1. Deklaracja tablic

Definicja tablic w T SQ L jest pod o b n a ja k w standardzie SQL, uzupełniona o dodatkow e, specjalnie stw orzone atrybuty, zaznaczające, że relacja jest relacją tem poralną.

C E N A (T ow ar, Cena, Ts, T E), D O ST (T ow ar, D ostaw ca, T s, T E),

gdzie Ts i Te oznaczają odpow iednio czas początkow y (TIM E-STA R T) i końcow y (T IM E -E N D ) interwału, w którym w artość atry b u tu przyjm ow ała określoną w ar­

tość. D la oznaczenia tego odstępu czasu w prow adzono op erato r .IN TERV A L. Oczywiście program ista jest zwol­

niony z program ow ej obsługi czasu, gdyż wszystkie związane z tym czynności przejm uje SZBD.

2. Klauzula W HEN

K lauzula W H E N jest p o d o b n a do ju ż stosow anej klauzu­

li W H E R E , z tą różnicą, że określa się w niej zależności dotyczące czasu. W tej klauzuli m ożna posłużyć się predefiniowanym i operatoram i czasowymi:

[ t l , 12] B E F O R E [t3 . t4 ] « t2<t3 [ t l , t2 ) D U R IN G [t3 , M ] o ł l i t 3 A t 2 ś t4 i [t 1, t2 ] A F T E R [13,14] o tl > t 4

[ t l , t2 ] E Q U IV A L E N T [t3 , t4] o tl = t 3 a t2 = t4 i [ t l , t2 ] A D J A C E N T [t3 , t4 ] o (t3 -t2 ) » 1 v ( t l - t 4 ) - 1 [ t l , t2 ] O V E R L A P [t3 , t4 ] o t l ś t 4 a t3<;t2 i [ t l , t2 ] F O L L O W S [t3 , t4 ] o ( t l - t 4 ) - 1 [ t l . t2 ] P R E C E D E S [t3 , t4 ] o O - \ 2 = l

gdzie t l , t 2 , ... oznaczają odpow iednie chronony.

Użycie tej klauzuli w raz z operatoram i pozw ala na zadaw anie pytań typu:

Jakie były ceny łyżek gdy ich dostaw cą była firm a A?

S E L E C T c e n a F R O M C E N A

W H E R E C E N A t o w a r = D O S T .to w a r A N D D O S T .to w a r= 'ły żk i' A N D D O S T .d o s ta w c a - A'

W H E N C E N A .1 N T E R V A L O V E R L A P D O S T .IN T E R V A L

Jak a firma dostarczała widelce przed firmą, k tó ra dostarcza je obecnie?

S E L E C T B d o staw c a F R O M D O S T A , D O S T B W H E R E A to w a r - B to w a r

A N D A .to w a r= ‘w idclce’

A N D A T IM E -E N D = n a d a l W H E N B .IN T E R V A L B E F O R E A .IN T E R V A L itd.

3. Klauzula TIME-SLICE

K ażde pytanie o dane zm ienne w czasie m ożna uściślić przy pom ocy klauzuli T IM E -S L IC E , dzięki której m ożna wskazać, jakiego okresu czasu rzeczywistego dotyczy pytanie. O prócz jaw nego w skazania badanego okresu (M O N T H , YEAR, DAY,...), m ożna to również uczynić przy pom ocy stałej N O W oznaczającej aktualny czas. Np.

gdybyśmy chcieli ograniczyć zasięg pierwszego pytania do ostatnich trzech miesięcy w ystarczyłoby do pytania dopisać:

T IM E -S L IC E m onth [N O W - 3, N O W ]

gdybyśm y zaś chcieli uzyskać informacje z lat 1990-1993:

T IM E -S L IC E year [1990, 1993],

4. Klauzula M O VING W INDOW

Bardzo pożyteczną jest form uła M O V IN G W IN D O W , pozw alająca na przeglądanie bazy w określonym prze­

dziale czasu. Zwłaszcza w procesie analizy szeregów czasowych i diagnozow ania, wyszukiwanie takich szcze­

gólnych okresów może pom óc w ustaleniu istotnych zm ian w działaniu systemu. Przykładow e pytanie może brzmieć:

Wyświetl tow ary, których dostaw cy zmienili się więcej niż 3 razy w okresach trzymiesięcznych.

S E L E C T to w a r F R O M D O S T

M O V IN G W IN D O W 3 m o n th s H A V IN G C O U N T (* )> 3

5. Klauzule określania kolejności FIRST, SECOND, TH IR D, nTH, LAST

Dzięki tym klauzulom m ożna odpow iedzieć n a pytania o kolejne zm iany w artości atry b u tó w np.:

K to był drugim w kolejności dostaw cą łyżek?

S E L E C T S E C O N D D o s ta w c a F R O M D O S T

W H E R E T O W A R - ‘ły ż k i’

Przytoczone przykłady są jedynie niewielką częścią zaproponow anych rozszerzeń języka SQL. W literaturze definiowanych jest wiele propozycji i tylko od wiedzy p ro jek tan ta i program isty zależy w ybór odpow iedniego narzędzia.

Zastosow anie odpow iedniego m odelu danych nie jest jedynym w arunkiem , który musi być spełniony, aby możliwe było użycie now ych konstrukcji językowych.

Język m anipulacji danym i jest jedynie uzewnętrzeniem możliwości SZBD, tak więc jego rozbudow a jest kolej­

nym w arunkiem w prow adzenia wym iaru czasu do bazy danych.

* * *

Technologia TB D stanow i odpow iedź na w yzwania sto ­ jące przed nowoczesnymi SI. Dzięki jej zastosow aniu SI

będą mogły lepiej odw zorow yw ać rzeczywistość i lepiej zaspokajać potrzeby użytkow ników . P ro jek tan to m i p ro ­ gram istom pozwoli szybciej, łatwiej i wydajniej tworzyć SI, w których istotną rolę odgryw a dynam ika zmian.

p u b lik a c je

Technologia ta jest pow iązana z innym i rozwijającymi się obszaram i badań nad bazam i danych: wielo wersyjny mi

skich odpow iedników niektórych, specjalistycznych ter­

m inów angielskich. Św iadom i niedoskonałości zap ro p o ­ now anych rozw iązań będą wdzięczni za wszelkie uwagi i propozycje dotyczące polskiej term inologii dla om aw ia­

nej dziedziny.

LITERATURA

[1] Kania K., Goluchowski J.: Zagadnienia reprezentacji czasu w klasy­

cznych systemach baz danych. Informatyka 7/1996

[2] Kania K„ Goluchowski J.: Reprezentacja czasu w modelach koncep­

tualnych SI. Informatyka 8/1996

[3] Ling D., Bell D.: Modelling and Managing Time in Database Systems. The Computer Journal, vol. 35, no. 4, 1992

[4] Llewellyn M., Bassiouni M.Historical Database Views.Information and Software Technology, vol. 33, no. 2, 1991

[5] Navathe S., Ahmed R.: TSQL: A Language Interface for History Database, w: Temporal Aspects in Information Systems. Rolland G, Bodart F., Leonard M. (Eds.) North-Holland, Amsterdam, 1988 [6] Navathe S., Ahmed R.: Temporal Extension to the Relational Model

and SQL. w: Temporal Databases. The Benjamin/Cummings Pub­

lishing Company Inc., 1993

[7] Snodgrass R., Ahn ¡.Temporal Databases. Computer, no. 19, 1986 [8] Snodgrass R.: The Temporal Query Language TQUEL. ACM

TODS 12, 1987

[9] Snodgrass R.: Temporal Databases. Materiały konferencji Theories and Methods of Spatio-Temporal Reasoning in Geographic Space, Piza, 1992

[10] Roddick J.F. SQL/SE A Query Language Extension for Databases Supporting Schema Evolution, SIGMOD RECORD, vol. 21, no. 2, 1992

[11] Tansel A.: Modelling Temporal Data. Information and Software Technology, vol. 32, no. 8, 1990

[12] Tansel A.: A Historical Query Language. Information Sciences, no.

53, 1991

[13] Tansel A., Erol Arkun M., Ozsoyoglu G.: Time-by-Example Query Language for Historical Databases. IEEE Transaction on Software Engineering, vol. 15, no. 4, 1989.

Wykorzystanie strukturalnych technik...

dokończenie ze s. 16

W szystkie diagram y m uszą być weryfikowane przez przedstawicieli użytkow nika. W eryfikacja ta odbyw a się najczęściej w kilku etapach i każda następna konsultacja zbliża w sposób „iteracyjny” do m odelu praw idłow o opisującego stan rzeczywisty.

P o etapie weryfikacji diagram ów , opisujących stan aktualny, buduje się model systemu docelowego, w k tó ­ rym ponow nie w wyniku kilku spotkań z użytkownikiem uzgadnia się wprow adzenie zm ian w strukturze organiza­

cyjnej przedsiębiorstw a oraz sposobie przepływu infor­

macji w ynikających z w drożenia systemu powielanego.

Zdecydowaliśm y się na w ykorzystanie w pracach anali­

tycznych najnow szych m etod grom adzenia i przetw arza­

nia danych. W reprezentow anej przez nas firmie, w związ­

ku z rozproszeniem terytorialnym , istnieje kilka działów analiz. D latego, w celu ujednolicenia sposobu tw orzenia dokum entacji i prezentacji danych, zdecydowaliśmy się na wykorzystywanie tych samych narzędzi, którym i są oprócz EasyCASE: U R D (User Requirem ents D ocum ent - specyfikacja w ym agań użytkownika), SRS (Software Requirem ents Specyfication - specyfikacja w ym agań na oprogram ow anie) oraz analizę SW O T (Strenghts, W eak­

ness, O pportunities, Threathnes).

Z dobyte przez nas dośw iadczenia dowodzą, że sztukę pracy z EasyCASE opanow uje się bardzo szybko a umie­

jętność ta w połączeniu z odpow iednim przygotow aniem m erytorycznym analityka pozwala mu w znacznej mierze uspraw nić proces analizy systemu informacyjnego. Z d ru ­ giej strony graficzna prezentacja wyników analizy jest bez większych problem ów interpretow ana przez osoby, k o ­ rzystające z jej wyników, i pozw ala uniknąć pracochłon­

nego sporządzania, niezbyt w końcu skutecznych, opisów słownych.

N a koniec należy podkreślić, że pakiet EasyCASE zaw iera również inne, nie mniej cenne m echanizmy wspo­

m agające procesy analizy i projektow ania systemów inform atycznych, których omówienie przekracza ramy niniejszego artykułu.

P aw eł W iechccki i Piotr Kuboszek są pracownikami Działu Analiz Systemów Zarządzania

; w firm ie Computer Systems For Business International S.A.

Szanowni Czytelnicy!

Złośliwy chochlik drukarski działał w numerze 8/96. W artykule „OB! OK! - obiektowy system zarzadzania bazą danych” Pana Macieja Piaseckiego zamiast tabeli nr 1 wstawił jej lustrzane odbicie. Redakcja serdecznie przeprasza czytelników i autora za ten błąd.

T abela 1. Typy proste oraz typy predefiniow ane danych w systemie OBiOK!

nazwa typu opis nazwa typu opis

C H A R typ znakowy (c h ar) T IM E predefiniowana klasa C + +

C D ataT im e zapewniająca reprezentację danych typu czas (ale bez daty)

S T R IN G ciąg znaków (char*) DATE predefiniowana klasa C + +

C D ataD ate reprezentująca date (ale bez czasu) B Y T E liczba całkow ita bez znaku

(unsigned s h o rt ¡nt)

FU LLD A T E predefiniowana klasa C + + C D a ta Fu 11 Da te reprezentująca pełne dane o dacie: data i czas IN T E G E R liczby całkowite (int) G R A P H IC S predefiniowana klasa C + +

C D a ta G ra p h ic s reprezen­

tująca dowolny format danych graficznych o charakterze dynam icznym (np. film video) D O U B L E liczby zm iennoprzecin­

kowe o dużej precyzji (double)

<typ obiektowy> dowolna klasa danych zdefiniow ana w schemacie bazy

t e r m i n o lo g ia

Powiązane dokumenty