perspektywy w systemach baz danych

background image

Perspektywy (views) w systemach baz danych:

aktualny stan technologii

*

Robert Wrembel

3ROLWHFKQLND3R]QDVND,QVW\WXW,QIRUPDW\NL

XO3LRWURZR$3R]QD

e–mail: Robert.Wrembel@cs.put.poznan.pl

Abstrakt

%DUG]R ZD*Q\P PHFKDQL]PHP Z V\VWHPDFK ED] GDQ\FK ]DUyZQR UHODF\MQ\FK UHODF\MQR±

obiektowych, jak i obiektowych jest perspektywa. Intuicyjnie, perspektywa jest swego rodzaju „oknem”,
SU]H] NWyUH X*\WNRZQLN ED]\ GDQ\FK ZLG]L XGRVWSQLDQH SU]H] QL GDQH : WUDG\F\MQ\FK V\VWHPDFK

UHODF\MQ\FKED]GDQ\FKSHUVSHNW\Z\VZ\NRU]\VW\ZDQHPLQGRRJUDQLF]HQLDLDXWRU\]DFMLGRVWSXGR

GDQ\FK ]DSHZQLHQLD ORJLF]QHM QLH]DOH*QRFL GDQ\FK SU]H] RGVHSDURZDQLH DSOLNDFML RG VFKHPDWX
konceptualnego bazy danych, (3) uproszczenia schematu bazy danych, (4) prezentowania tych samych
GDQ\FK Z Uy*Q\ VSRVyE ,QQ Z\NRU]\VW\ZDQ V]HURNR G]LHG]LQ ]DVWRVRZD SHUVSHNW\Z V PDJD]\Q\

=DGDQLHPSHUVSHNW\ZMHVWWXWDMLQWHJUDFMDGDQ\FKSRFKRG]F\FK]Uy*Q\FKJHRJUDILF]QLHUR]SURV]RQ\FK

(UyGHáRUD]PDWHULDOL]RZDQLHZ\QLNyZF]DVRFKáRQQ\FK]DS\WDW\SX2/$3'RWHJRFHOXVVWRVRZDQH
tzw. perspektywy materializowane.

: DUW\NXOH ]RVWDá\ SU]HGVWDZLRQH SHUVSHNW\Z\ Z V\VWHPDFK UHODF\MQ\FK L UHODF\MQR±RELHNWRZ\FK
zilustrowane systemem Oracle, oraz koncepcje perspektyw obiektowych i semistrukturalnych. Omówione
]RVWDá\ UyZQLH* ]DJDGQLHQLD ]ZL]DQH ] Z\NRU]\VWDQLHP PDWHULDOL]RZDQ\FK SHUVSHNW\Z Z PDJD]\QDFK
danych.

1. Wprowadzenie

:V\VWHPDFKUHODF\MQ\FKLUHODF\MQR±RELHNWRZ\FKSHUVSHNW\ZDMHVWVWUXNWXUORJLF]QRSDUWR

]DS\WDQLH GR ED]\ GDQ\FK XPR*OLZLDMF GRVWS GR SRG]ELRUX DWU\EXWyZ L UHNRUGyZ MHGQHM OXE

ZLHOX WDEHO 2]QDF]D WR *H SHUVSHNW\ZD QLH SRVLDGD ZáDVQ\FK GDQ\FK OHF] XGRVWSQLD W\ONR WH

GDQH NWyUH V Z\QLNLHP ]DS\WDQLD M GHILQLXMFHJR ,QDF]HM MHVW Z SU]\SDGNX W]Z perspektywy
zmaterializowanej

DQJPDWHULDOL]HGYLHZ3HUVSHNW\ZDWDNDSRVLDGDZáDVQHWUZDáHGDQH±EGFH

Z\QLNLHP]PDWHULDOL]RZDQLDGDQ\FKZ\]QDF]RQ\FKSU]H]]DS\WDQLHGHILQLXMFHWSHUVSHNW\Z

5R]ZLMDMFH VL JDá]LH SU]HP\VáX KDQGOX PHG\F\Q\ QDXNL Z\PDJDM VNáDGRZDQLD L

SU]HWZDU]DQLD RJURPQ\FK LORFL GDQ\FK 'DQH V ]Z\NOH SU]HFKRZ\ZDQH Z V\VWHPDFK

LQIRUPDW\F]Q\FK SRVLDGDMF\FK Uy*QH VWUXNWXU\ L Z\NRU]\VWXMF\FK Uy*QH PRGHOH GDQ\FK QS
hierarchiczne, relacyjne, obiektowe), w dokumentach tekstowych, czy arkuszach kalkulacyjnych.

3RQLHZD* SU]HGVLELRUVWZD LQVW\WXFMH RUJDQL]DFMH SURGXFHQFL GDQ\FK V F]VWR JHRJUDILF]QLH

UR]SURV]RQHZLFVDPHGDQHPDMUyZQLH*FKDUDNWHUUR]SURV]RQ\+HWHURJHQLF]QRüLUR]SURV]HQLH

LQIRUPDFML XWUXGQLD GR QLFK GRVWS L LFK DQDOL] = WHJR SRZRGX LVWQLHMH SRWU]HED LQWHJUDFML W\FK
informacji.

: SUDNW\FH VWRVXMH VL GZLH WHFKQRORJLH LQWHJUDFML GDQ\FK W]Z system sfederowanych baz

danyc

K DQJ IHGHUDWHG GDWDEDVH V\VWHP L WHFKQRORJL magazynu danych (ang. data warehouse)

>@ : REX SU]\SDGNDFK SHUVSHNW\Z\ V Z\NRU]\VW\ZDQH MDNR PHFKDQL]P ]LQWHJURZDQHJR

GRVWSXGRGDQ\FK

: V\VWHPDFK PDJD]\QyZ GDQ\FK GDQH V HNVSORURZDQH ]D SRPRF ]áR*RQ\FK ]DS\WD

]DZLHUDMF\FKRGNLONXGRNLONXG]LHVLFLXRSHUDFMLáF]HQLDILOWURZDQLDJUXSRZDQLDLDJUHJRZDQLD

GDQ\FK 6 WR W]Z ]DS\WDQLD W\SX 2/$3 DQJ 2Q /LQH $QDO\WLFDO 3URFHVVLQJ =H Z]JOGX QD

]áR*RQRü ]DS\WD 2/$3 RUD] UR]PLDU\ DGUHVRZDQ\FK SU]H] QLH GDQ\FK F]DV Z\NRQDQLD W\FK

*

Praca wspierana z

JUDQWX.RPLWHWX%DGD1DXNRZ\FKQU7&

background image

84

Robert Wrembel

]DS\WD PR*H WUZDü G]LHVLWNL PLQXW D QDZHW JRG]LQ\ .OXF]RZ\P SUREOHPHP VWDMH VL ZLF

HIHNW\ZQRüV\VWHPXED]\GDQ\FK-HGQ\P]UR]ZL]D]ZLNV]DMF\FKHIHNW\ZQRüV\VWHPXMHVW

PDWHULDOL]RZDQLHF]FLRZ\FKSRUHGQLFKZ\QLNyZQDMF]FLHMZ\NRQ\ZDQ\FK]DS\WD]DSRPRF
perspektyw zmaterializowanych.

6WUXNWXUDQLQLHMV]HJRDUW\NXáXMHVWQDVWSXMFDZSXQNWDFKGUXJLPWU]HFLPLF]ZDUW\P]RVWDQ

omówione odpowiednio koncepcje perspektywy relacyjnej, obiektowej i relacyjno–obiektowej.

3XQNWSLW\MHVWSRZLFRQ\]DJDGQLHQLRPLQWHJUDFMLGDQ\FK]DSRPRFSHUVSHNW\Z3XQNWV]yVW\
omawia perspektywy zmaterializowane w Oracle8i. Punkt siódmy prezentuje koncepcje

SHUVSHNW\Z\VHPLVWUXNWXUDOQHMDSXQNWyVP\SRGVXPRZXMHDUW\NXá

2. Perspektywa relacyjna

3RGVWDZRZHZáDVQRFLSHUVSHNW\Z\

3HUVSHNW\ZDVWRVRZDQDZV\VWHPDFKUHODF\MQ\FKSRVLDGDQDVWSXMFHZáDVQRFLSRU>@
1.

3HUVSHNW\ZD ED]XMH QD WDEHODFK QD LQQ\FK SHUVSHNW\ZDFK OXE MHGQRF]HQLH QD WDEHODFK L
perspektywach, nazywanych odpowiednio tabelami i perspektywami bazowymi (ang. base
tables, base views).

2.

=X*\WNRZHJRSXQNWXZLG]HQLDSHUVSHNW\ZDPDVWUXNWXUWDNVDPMDNWDEHODDZLFMHVW

]ELRUHPUHNRUGyZRRNUHORQ\FKDWU\EXWDFK1DSR]LRPLHIL]\F]Q\PSHUVSHNW\ZDUy*QLVL

RGWDEHOLW\P*HQLHSRVLDGDZáDVQ\FKGDQ\FK:NRQVHNZHQFMLQDDWU\EXWDFKSHUVSHNW\Z\

QLHPR*QDGHILQLRZDüLQGHNVyZ

3.

: VáRZQLNX ED]\ GDQ\FK SHUVSHNW\ZD MHVW SU]HFKRZ\ZDQD Z SRVWDFL ]DS\WDQLD M

GHILQLXMFHJR =DS\WDQLH VNLHURZDQH GR SHUVSHNW\Z\ MHVW áF]RQH ] ]DS\WDQLHP M

GHILQLXMF\PDQDVWSQLHWDNSU]HWZRU]RQH]DS\WDQLHMHVWNLHURZDQHGRWDEHOED]RZ\FK

2.2. Cele stosowania perspektywy

:WUDG\F\MQ\FKV\VWHPDFKUHODF\MQ\FKED]GDQ\FKSRGVWDZRZHFHOHVWRVRZDQLDSHUVSHNW\ZV

QDVWSXMFH

1.

$XWRU\]DFMDGRVWSXGRGDQ\FK
3RQLHZD*SHUVSHNW\Z\XGRVWSQLDMW\ONRSRG]ELyUUHNRUGyZLLFKDWU\EXWyZ]DZDUW\FKZ

WDEHODFK ED]RZ\FK XNU\ZDM Z WHQ VSRVyE GDQH SU]HG QLHXSRZD*QLRQ\P X*\WNRZQLNLHP

8*\WNRZQLF\RWU]\PXMSUDZDGRVWSXGRSHUVSHNW\ZQDWRPLDVWQLHRWU]\PXMSUDZGRVWSX
do tabel bazowych.
3U]\NáDGHP VWRVRZDQLD SHUVSHNW\Z GR XNU\FLD SHZQ\FK LQIRUPDFML MHVW VáRZQLN ED]\

GDQ\FK:UDPDFKWHJRVáRZQLNDZ\Uy*QLDVLSHUVSHNW\Z\SU]H]QDF]RQHGODX*\WNRZQLNyZ
bazy danych (np. w systemie Oracle: user_db_links, user_triggers) oraz perspektywy

SU]H]QDF]RQH GOD DGPLQLVWUDWRUyZ ED]\ GDQ\FK XGRVWSQLDMFH ZLFHM LQIRUPDFML QL*

SHUVSHNW\Z\GODX*\WNRZQLNyZQSZV\VWHPLHOracle: dba_db_links, dba_triggers).

2.

8áDWZLHQLHGRVWSXGRGDQ\FK
: SU]\SDGNX F]VW\FK RGZRáD GR W\FK VDP\FK WDEHO SU]\ SRPRF\ W\FK VDP\FK OXE

QLH]QDF]QLH]PRG\ILNRZDQ\FKVNRPSOLNRZDQ\FK]DS\WD]DOHFDVLX*\FLHW\FK]DS\WDGR

]GHILQLRZDQLD RGSRZLHGQLHM SHUVSHNW\Z\ 2GZRáDQLD GR WHM SHUVSHNW\Z\ XPR*OLZLDM

SREUDQLHW\FKVDP\FKGDQ\FKFRSRSU]HGQLROHF]]DSRPRF]QDF]QLHSURVWV]\FK]DS\WD
3U]\NáDGHPVWRVRZDQLDSHUVSHNW\ZZFHOXXáDWZLHQLDGRVWSXGRGDQ\FKMHVWVáRZQLNED]\
danych, np. w systemie Oracle: perspektywy dba_tablespaces, dba_data_files,
dba_rollback_segs.

3.

0R*OLZRüSUH]HQWRZDQLDW\FKVDP\FKGDQ\FKZUy*Q\VSRVyE

background image

Perspektywy (views) w systemach baz danych: aktualny stan technologii

85

:GHILQLFMLSHUVSHNW\Z\PRJZ\VWSLüQSZ\UD*HQLDDU\WPHW\F]QHRSHUXMFHQDDWU\EXWDFK

WDEHOED]RZ\FKLOLWHUDáDFK8PR*OLZLDWRZVWSQHSU]HWZRU]HQLHGDQ\FK]WDEHOED]RZ\FKL

LFKSUH]HQWDFMZSRVWDFLIRUPDFLHSUHIHURZDQHMSU]H]X*\WNRZQLND

4.

/RJLF]QDQLH]DOH*QRüGDQ\FK
$SOLNDFMHNRU]\VWDMFH]ED]\GDQ\FK]DSRPRFSHUVSHNW\ZQLHZ\PDJDMPRG\ILNDFMLZ
przypadku zmodyfikowania tabel bazowych. W przypadku zmiany schematu tabel bazowych

QDOH*\ ]PRG\ILNRZDü Z\áF]QLH GHILQLFM RGSRZLHGQLFK SHUVSHNW\Z WDN DE\ LFK VFKHPDW

SR]RVWDáWDNLMDNSRSU]HGQLR:yZF]DVDSOLNDFMHQLHEGZ\PDJDá\*DGQHMPRG\ILNDFML

5.

0R*OLZRüZSURZDG]HQLDGRGDWNRZHJRSR]LRPXRJUDQLF]HLQWHJUDOQRFLRZ\FK
2JUDQLF]HQLD WH V ]DZDUWH Z GHILQLFML SHUVSHNW\Z\ L UR]V]HU]DM OLVW RJUDQLF]H

LQWHJUDOQRFLRZ\FK ]ZL]DQ\FK ] WDEHODPL ED]RZ\PL QS NODX]XOD with check option w
systemie Oracle).

3HUVSHNW\Z\]PDWHULDOL]RZDQHSR]ZDODMGRGDWNRZRPLQQD

1.

,QWHJUDFMGDQ\FKSRFKRG]F\FK]UR]SURV]RQ\FKKRPR±LKHWHURJHQLF]Q\FK(UyGHáGDQ\FK

RUD] XQLH]DOH*QLHQLH X*\WNRZQLNyZ RG NRQLHF]QRFL GRVWSX GR UR]SURV]RQ\FK GDQ\FK

(UyGáRZ\FK

2.

0DWHULDOL]RZDQLHF]FLRZ\FKZ\QLNyZQDMF]FLHMZ\NRQ\ZDQ\FK]DS\WD2/$3SU]H]FR

PR*OLZHMHVWVNUyFHQLHF]DVXRGSRZLHG]LQDWDNLH]DS\WDQLD

2.3. Rodzaje perspektyw

=H Z]JOGX QD SRVWDü ]DS\WDQLD GHILQLXMFHJR SHUVSHNW\Z SHUVSHNW\Z\ PR*QD SRG]LHOLü QD

proste i

]áR*RQH3HUVSHNW\ZDMHVWSURVWMH*HOL]DS\WDQLHMGHILQLXMFH

RGZRáXMHVLZ\áF]QLHGRMHGQHMWDEHOLED]RZHM

QLH Z\NRU]\VWXMH IXQNFML M]\ND 64/ Z FHOX SU]HWZDU]DQLD ZDUWRFL DWU\EXWyZ

XGRVWSQLDQ\FKSU]H]SHUVSHNW\Z

QLHZ\NRU]\VWXMHZDUWRFLZ\OLF]DQ\FKQSpensja*podatek;

QLHZ\NRU]\VWXMHIXQNFMLJUXSRZ\FKQSVXPDUHGQLD

nie wykorzystuje klauzul connect by oraz start with (system Oracle);

nie wykorzystuje operatora distinct

LRSHUDWRUyZ]ELRURZ\FKQSVXPDF]üZVSyOQD

a1

a2

a3

a4

a5

a4

a5

a1

a2

a3

a4

a5

tabela bazowa T1

perspektywa V1

perspektywa V2

5\V3HUVSHNW\Z\ED]XMFHQDSRMHG\QF]HMWDEHOL

1DU\VXQNXSU]HGVWDZLRQRGZLHSHUVSHNW\Z\W\SXSURVWHJRED]XMFHQDWDEHOLT

1

. Pierwsza z

nich, oznaczona jako V

1

XGRVWSQLD ZV]\VWNLH DWU\EXW\ Z\EUDQ\FK UHNRUGyZ QDWRPLDVW

perspektywa V

2

XGRVWSQLDZ\EUDQHDWU\EXW\ZV]\VWNLFKUHNRUGyZWDEHOLED]RZHM

background image

86

Robert Wrembel

'UXJLP URG]DMHP SHUVSHNW\Z\ MHVW SHUVSHNW\ZD ]áR*RQD 'OD WHJR URG]DMX SHUVSHNW\Z\

]DS\WDQLH M GHILQLXMFH QLH VSHáQLD SU]\QDMPQLHM MHGQHJR ZDUXQNX SU]HGVWDZLRQHJR GOD
perspektywy prostej.

3U]\NáDGSHUVSHNW\Z\RSDUWHMRGZLHWDEHOHED]RZHSU]HGVWDZLRQRQDU\VXQNX3HUVSHNW\ZD

WDNDPR*HXGRVWSQLDüSRG]ELyUSRáF]RQ\FKUHNRUGyZZ\EUDQHDWU\EXW\ZV]\VWNLFKSRáF]RQ\FK
rekordów lub podzbioru tych rekordów.

a1

a2

a3

b2

b3

tabela bazowa T1

perspektywa V3

a1

a2

a3

a4

a5

b1

b2

b3

tabela bazowa T2

5\V3HUVSHNW\ZDED]XMFDQDGZyFKWDEHODFK

5RG]DMSHUVSHNW\Z\GHF\GXMHRPR*OLZRFLDFKXDNWXDOQLDQLDGDQ\FKSU]H]QLXGRVWSQLDQ\FK

(zob. punkt 1.5).

3U]HWZDU]DQLH]DS\WDNLHURZDQ\FKGRSHUVSHNW\Z\

'R SHUVSHNW\Z\ PR*QD VL RGZRá\ZDü Z ]DS\WDQLDFK Z WDNL VDP VSRVyE MDN GR WDEHO :

SU]\SDGNX VNLHURZDQLD ]DS\WDQLD GR SHUVSHNW\Z\ V\VWHP ]DU]G]DQLD ED] GDQ\FK áF]\ WR

]DS\WDQLH]]DS\WDQLHPGHILQLXMF\PSHUVSHNW\ZPLQ

w klauzuli select

SRMDZLD VL ZVSyOQD F]ü ]ELRUX DWU\EXWyZ Z\VSHF\ILNRZDQ\FK Z

]DS\WDQLXX*\WNRZQLNDL]DS\WDQLXGHILQLXMF\PSHUVSHNW\Z

w klauzuli where

SRMDZLDM VL ZDUXQNL Z\ERUX SRFKRG]FH ]DUyZQR ] ]DS\WDQLD

X*\WNRZQLNDMDNLGHILQLFMLSHUVSHNW\Z\áF]RQHRSHUDWRUHPand).

1DVWSQLHWDNSU]HWUDQVIRUPRZDQH]DS\WDQLHMHVWNLHURZDQHGRWDEHOED]RZ\FKSHUVSHNW\Z\

Innym rodzajem perspektywy, jest tzw. perspektywa in–line, która jest tworzona dynamicznie w

F]DVLH Z\NRQDQLD ]DS\WDQLD 3HUVSHNW\ZD WDND WR ]DS\WDQLH Z\VWSXMFH Z NODX]XOL from innego

]DS\WDQLD -DNR SU]\NáDG Z\NRU]\VWDQLD WHJR URG]DMX SHUVSHNW\Z\ UR]ZD*P\ ]DS\WDQLH

Z\]QDF]DMFHSLüSLHUZV]\FKVNOHSyZNWyUHVSU]HGDá\WRZDU\]DQDMZLNV]NZRW-HVWWRW]Z
zapytanie typu top–N.

'DQHVGZLHWDEHOHsklepy i VSU]HGD*RVFKHPDWDFKSU]HGVWDZLRQ\FKSRQL*HM

SQL> desc sklepy

Name Null? Type

----------- -------- ----

SKLEP_ID NOT NULL NUMBER(3)

NAZWA NOT NULL VARCHAR2(20)

MIASTO NOT NULL VARCHAR2(15)

SQL> desc sprzedaz

Name Null? Type

----------- -------- ----

PRODUKT_ID NUMBER(4)

L_SZTUK NUMBER(3)

CENA_JEDN NUMBER(7,2)

DATA DATE

SKLEP_ID NUMBER(3)

3U]\NáDGRZH]DS\WDQLHZV\VWHPLHOracle8i]SHUVSHNW\ZW\SXin–line]RVWDáRSU]HGVWDZLRQH

SRQL*HM

select

*

from

(select nazwa, sum(l_sztuk*cena_jedn)

from sprzedaz sp, sklepy sk

background image

Perspektywy (views) w systemach baz danych: aktualny stan technologii

87

where sp.sklep_id=sk.sklep_id

group by nazwa

order by sum(l_sztuk*cena_jedn) desc)

where

rownum < 6;

0R*OLZRFLPRG\ILNRZDQLDGDQ\FKSRSU]H]SHUVSHNW\Z

: ]DS\WDQLDFK SHUVSHNW\ZD PR*H E\ü VWRVRZDQD Z VSRVyE LGHQW\F]Q\ MDN WDEHOD 1DWRPLDVW

PR*OLZRFL EH]SRUHGQLHJR PRG\ILNRZDQLD GDQ\FK XGRVWSQLDQ\FK SU]H] SHUVSHNW\Z V
ograniczone.

-H*HOLSHUVSHNW\ZDMHVWSURVWDLGRGDWNRZRXGRVWSQLDZV]\VWNLHDWU\EXW\NWyU\FKZDUWRüMHVW

RERZL]NRZD not null WR ]D SRPRF WDNLHM SHUVSHNW\Z\ PR*QD ZVWDZLDü GDQH GR MHM WDEHOL

ED]RZHMPRG\ILNRZDüGDQHZLGRF]QHSU]H]WSHUVSHNW\ZLMHXVXZDü

W systemie Oracle

LQIRUPDFMH QD WHPDW DWU\EXWyZ SHUVSHNW\Z NWyUH PR*QD XDNWXDOQLDü V

GRVWSQH]DSRPRFSHUVSHNW\Z\VáRZQLNDGDQ\FKUSER_UPDATABLE_COLUMNS.

-H*HOL SHUVSHNW\ZD SURVWD ]DZLHUD DWU\EXW\ Z\OLF]DQH SU]H] IXQNFMH 64/ OXE Z\UD*HQLD

DU\WPHW\F]QH WR ]D MHM SRPRF PR*QD VWDZLDü L PRG\ILNRZDü GDQH SRG ZDUXQNLHP *H ZDUWRFL

Z\OLF]DQHSR]RVWDMSXVWHSU]\ZVWDZLDQLXLQLHVPRG\ILNRZDQH1DWRPLDVWXVXZDQLHUHNRUGyZ

MHVW]DZV]HPR*OLZH

-H*HOL QDWRPLDVW SHUVSHNW\ZD MHVW RSDUWD R SRáF]HQLH WR PR*QD SU]H] QL XDNWXDOQLDü GDQH

SRFKRG]FH Z\áF]QLH ] WDEHOL ]DZLHUDMFHM NOXF] REF\ foreign key). Usuwanie rekordów jest

UyZQLH* PR*OLZH MHGQDN ZDUXQNL Z\ERUX UHNRUGyZ PXV] ]RVWDü Z\VSHF\ILNRZDQH ]

Z\NRU]\VWDQLHP DWU\EXWyZ WDEHOL ]DZLHUDMFHM NOXF] REFH LOXE DWU\EXWyZ SRáF]HQLRZ\FK
Wstawianie rekordów jest zabronione.

-H*HOL SHUVSHNW\ZD ED]XMH QD áF]HQLX WDEHO Z VFKHPDW JZLD]G\ SRU U\VXQHN D ZyZF]DV

RSHUDFMH PRG\ILNRZDQLD L XVXZDQLD PRJ GRW\F]\ü Z\áF]QLH WDEHOL T

3

1DWRPLDVW MH*HOL

SHUVSHNW\ZD ED]XMH QD WDEHODFK áF]RQ\FK Z KLHUDUFKL SRU U\VXQHN E WR RSHUDFMH

PRG\ILNRZDQLDLXVXZDQLDGDQ\FKPRJGRW\F]\üZ\áF]QLHWDEHOLT

6

.

T1

T4

T3

T5

T2

T6

a)

b)

5\VàF]HQLHWDEHOZVFKHPDWJZLD]G\LKLHUDUFKL

-H*HOL SHUVSHNW\ZD MHVW RSDUWD R SRáF]HQLH ]HZQWU]QH DQJ RXWHU MRLQ ZyZF]DV MHG\Q

PR*OLZRSHUDFMMHVWZ\V]XNLZDQLHGDQ\FK]DMHMSRPRF

3RZ\*V]H RJUDQLF]HQLD PR*QD ]DVWSLü ZáDVQ\P VSRVREHP PRG\ILNRZDQLD ]DZDUWRFL WDEHO

ED]RZ\FKSHUVSHNW\Z\'RWHJRFHOXVáX*\Z\]ZDODF]instead-of definiowany dla perspektywy.

-DNR SU]\NáDG Z\NRU]\VWDQLD WHJR Z\]ZDODF]D UR]ZD*P\ WU]\ QDVWSXMFH WDEHOH

klienci_poznan,

klienci_krakow,

klienci_pozostali

ND*GD R LGHQW\F]Q\P VFKHPDFLH

SU]HGVWDZLRQ\PSRQL*HM

SQL> desc klienci_poznan

Nazwa NULL? Typ

---------------- -------- ------------

KLIENT_ID NUMBER(2)

NAZWISKO VARCHAR2(10)

MIASTO VARCHAR2(10)

7DEHOHWHSRVáX*\á\GR]GHILQLRZDQLDSHUVSHNW\Z\ZQDVWSXMF\VSRVyE

background image

88

Robert Wrembel

create view

v_klienci

as

select * from klienci_poznan

union

select

* from klienci_krakow

union

select

* from klienci_pozostali;

:FHOX]DSHZQLHQLDPR*OLZRFLZVWDZLDQLDUHNRUGyZSU]H]WSHUVSHNW\ZQDOH*\]GHILQLRZDü

dla niej wyzwalacz instead-of

3U]\NáDGRZ\NRGWDNLHJRZ\]ZDODF]D]RVWDáSU]HGVWDZLRQ\SRQL*HM

create or replace trigger

v_kl_modyfikacja

instead of insert on

v_klienci

begin

if :new

PLDVWR 3R]QD

then insert into klienci_poznan

values (:new.klient_id, :new.nazwisko, :new.miasto);

elsif :new.miasto='Kraków'

then insert into klienci_krakow

values (:new.klient_id, :new.nazwisko, :new.miasto);

else

insert into klienci_pozostali

values (:new.klient_id, :new.nazwisko, :new.miasto);

end if;

end

;

Klauzula instead of

XPR*OLZLD ZVND]DQLH ]GDU]HQLD NWyUH VSRZRGXMH XUXFKRPLHQLH

Z\]ZDODF]D:NODX]XOLWHMZ\NRU]\VWXMHVLVáRZDNOXF]RZHinsert, update, deleteXPR*OLZLDMFH

]GHILQLRZDQLH Z\]ZDODF]D UHDJXMFHJR RGSRZLHGQLR QD ZVWDZLHQLH XDNWXDOQLHQLH XVXQLFLH

UHNRUGyZGRVWSQ\FK]DSRPRFSHUVSHNW\Z\

3. Perspektywa obiektowa

5R]ZLMDMFH VL G]LHG]LQ\ ]DVWRVRZD V\VWHPyZ LQIRUPDW\F]Q\FK WDNLH MDN NRPSXWHURZH

wspomaganie projektowania (CAD), komputerowe wspomaganie wytwarzania (CAM), systemy

ZVSRPDJDQLD LQ*\QLHULL RSURJUDPRZDQLD &$6( F]\ JHRJUDILF]QH V\VWHP\ LQIRUPDF\MQH *,6

Z\PDJDM PRGHOL GDQ\FK XPR*OLZLDMF\FK PRGHORZDQLH RELHNWyZ R ]áR*RQ\FK VWUXNWXUDFK L

VNRPSOLNRZDQ\FK SRZL]DQLDFK ] LQQ\PL RELHNWDPL RUD] PRGHORZDQLH ZáDVQRFL G\QDPLF]Q\FK

RELHNWyZ5HODF\MQ\PRGHOGDQ\FKMHVW]E\WXERJLGODWHJRW\SX]DVWRVRZD=WHJRZ]JOGXFRUD]

F]FLHM Z\NRU]\VWXMH VL RELHNWRZH ED]\ GDQ\FK NWyUH áF] Z VRELH FHFK\ WHFKQRORJLL RELHN

WRZ\FK]FHFKDPLV\VWHPyZ]DU]G]DQLDED]DPLGDQ\FK

3.1. Koncepcje modelu obiektowego

0RGHO RELHNWRZ\ MHVW RSDUW\ R QDVWSXMFH NRQFHSFMH RELHNW KHUPHW\F]QRü NODV

dziedziczenie i polimorfizm.

Obiekt.

-HGQ ] SRGVWDZRZ\FK NRQFHSFML SRGHMFLD RELHNWRZHJR MHVW obiekt (ang. object),

UHSUH]HQWXMF\ZV\VWHPLHNRPSXWHURZ\PHQFMPRGHORZDQHJRZLDWDU]HF]\ZLVWHJR:áDVQRFL

VWDW\F]QH HQFML V PRGHORZDQH ]D SRPRF DWU\EXWyZ RELHNWX D MHM ZáDVQRFL G\QDPLF]QH ± ]D

SRPRFRSHUDFMLZ\NRQ\ZDQ\FKQDRELHNFLH2SHUDFMHWHV]ZDQHmetodami (ang. methods). Zbiór
wszystkich metod obiektu stanowi jego interfejs.

=PLDQDVWDQXRELHNWXWMZDUWRFLMHJRDWU\EXWyZPR*H]RVWDü]UHDOL]RZDQDW\ONR]DSRPRF

RGSRZLHGQLHM PHWRG\ :áDVQRü RELHNWX SROHJDMFD QD W\P *H MHJR VWUXNWXUD L LPSOHPHQWDFMD

PHWRGQLHMHVWGRVWSQDGODSURJUDPyZQD]\ZDVLKHUPHW\F]QRFLDQJHQFDSVXODWLRQ']LNL

KHUPHW\F]QRFL ]PLDQD LPSOHPHQWDFML VWUXNWXU\ RELHNWyZ L PHWRG QLH ZSá\ZD QD SRSUDZQRü

background image

Perspektywy (views) w systemach baz danych: aktualny stan technologii

89

SUDF\ LQQ\FK SURJUDPyZ RGZRáXMF\FK VL GR W\FK RELHNWyZ MHOL W\ONR LFK LQWHUIHMV SR]RVWDMH
niezmieniony.

.D*G\ RELHNW SRVLDGD XQLNDOQ\ LGHQW\ILNDWRU NWyU\ MHVW QDGDZDQ\ SU]H] V\VWHP Z PRPHQFLH

tworzenia obiektu.

Klasa.

:V]\VWNLHRELHNW\SRVLDGDMFHWDNVDPVWUXNWXULPHWRG\VJUXSRZDQHZNODV (ang.

FODVV.ODVDMHGQRF]HQLHGHILQLXMHVWUXNWXU]DSRPRFDWU\EXWyZL]DFKRZDQLHVL]DSRPRF

PHWRGZV]\VWNLFKVZRLFKLQVWDQFML']LHG]LQDPLDWU\EXWyZNODV\PRJE\üZDUWRFLHOHPHQWDUQH

WDNLH MDN OLF]E\ áDFXFK\ ]QDNyZ OXE ZDUWRFL ]áR*RQH WDNLH MDN OLVW\ L ]ELRU\ ']LHG]LQDPL

DWU\EXWyZ PRJ E\ü UyZQLH* LQQH NODV\ ± Z W\P SU]\SDGNX NODV\ V SRáF]RQH W]Z ]ZL]NLHP
kompozycji

DQJ FRPSRVLWLRQ UHODWLRQVKLSV =ZL]NL WDNLH XPR*OLZLDM PRGHORZDQLH VWUXNWXU

]áR*RQ\FK

Dziedziczenie.

0RGHORELHNWRZ\XPR*OLZLDZ\ZRG]HQLHQRZ\FKNODV]NODVMX*LVWQLHMF\FK

0HFKDQL]P WHQ QD]\ZD VL dziedziczeniem DQJ LQKHULWDQFH .ODVD Z\ZLHG]LRQD QD]\ZD VL

SRGNODV DQJ VXEFODVV D NODVD ] NWyUHM Z\ZLHG]LRQR LQQ ± QDGNODV EG( VXSHUNODV (ang.

VXSHUFODVV $WU\EXW\ L PHWRG\ QDGNODV\ V G]LHG]LF]RQH SU]H] ZV]\VWNLH SRGNODV\ ] QLHM

Z\ZLHG]LRQH 3RGNODVD PR*H UyZQLH* ]DZLHUDü GRGDWNRZH DWU\EXW\ L OXE GRGDWNRZH PHWRG\

DWU\EXW\RG]LHG]LF]RQHLOXEPHWRG\RG]LHG]LF]RQHNWyUH]RVWDá\SU]HGHILQLRZDQHORNDOQLH1D

VNXWHN G]LHG]LF]HQLD Z ZLHOX NODVDFK LVWQLHM WDNLH VDPH PHWRG\ DOH RSHUXMFH QD Uy*Q\FK

RELHNWDFK:Z\QLNXSU]HGHILQLRZDQLDZSRGNODVLHPHWRGRG]LHG]LF]RQ\FKPRJLVWQLHüPHWRG\R

WDNLFK VDP\FK QD]ZDFK OHF] Uy*QLFH VL VHPDQW\N L LPSOHPHQWDFM 7D ZáDVQRü QD]\ZD VL
polimorfizmem (ang. polymorphism).

3.2. Koncepcje perspektywy obiektowej

.RPHUF\MQH V\VWHP\ ]DU]G]DQLD RELHNWRZ\PL ED]DPL GDQ\FK QS O2 (Ardent Software) i

V\VWHP\ VNáDGRZDQLD GDQ\FK RELHNWRZ\FK QS GemStone (Servio Corporation), ObjectStore
(Object Design), Objectivity/DB (Objectivity), Poet (Poet Software), VERSANT (Versant Object

7HFKQRORJ\ QLH ZVSLHUDM PHFKDQL]PX SHUVSHNW\Z 1DWRPLDVW LVWQLHMH NLOND V\VWHPyZ

SURWRW\SRZ\FK Z NWyU\FK ]DLPSOHPHQWRZDQR WHQ PHFKDQL]P 3RQLHZD* QLH LVWQLHMH MHGQDN

VWDQGDUG GHILQLXMF\ SHUVSHNW\Z RELHNWRZ WUXGQR PyZLü R MHGQR]QDF]QHM GHILQLFML WDNLHM

SHUVSHNW\Z\ : V\VWHPDFK SURWRW\SRZ\FK L RSUDFRZDQLDFK QDXNRZ\FK PR*QD Z\Uy*QLü F]WHU\

SRGVWDZRZH SRGHMFLD GR GHILQLFML SHUVSHNW\Z\ RELHNWRZHM ]DS\WDQLH IXQNFMD NODVD ZLUWXDOQD

VFKHPDW 6]HUV]H RPyZLHQLH NRQFHSFML SHUVSHNW\Z RELHNWRZ\FK &]\WHOQLN PR*H ]QDOH(ü Z >

@ =H Z]JOGX QD RJUDQLF]RQ OLF]E VWURQ QLQLHMV]HJR DUW\NXáX NRQFHSFMH SHUVSHNW\Z

RELHNWRZ\FK]RVWDQSU]HGVWDZLRQHZVNUyFLH

: SRGHMFLX SLHUZV]\P > @ SHUVSHNW\Z GHILQLXMH VL MDNR ]DS\WDQLH SRGREQLH MDN

SHUVSHNW\Z UHODF\MQ RSHUXMFH QD NODVDFK 7DNLH UR]ZL]DQLH PD MHGQDN W ZDG *H ]áR*RQD

VWUXNWXUDNODVED]RZ\FK]ZL]NLNRPSR]\FMLG]LHG]LF]HQLD]RVWDMHVSáDV]F]RQDZ]DS\WDQLX:

]ZL]NX ] SRZ\*V]\P NRQFHSFMD WD QLH MHVW RGSRZLHGQLD Z ]DVWRVRZDQLDFK SURMHNWRZ\FK JG]LH

ZD*QHMHVW]DFKRZDQLH]áR*RQHMVWUXNWXU\GDQ\FK

:SRGHMFLXGUXJLP>@SHUVSHNW\ZGHILQLXMHVLMDNRIXQNFMVNáDGRZDQNWyUHMZ\QLNLHP

G]LDáDQLDMHVWNROHNFMDRELHNWyZZ\]QDF]RQ\FKSU]H]WIXQNFM)XQNFMDPR*H]DZLHUDüZDUXQNL

Z\ERUXRGSRZLHGQLFKRELHNWyZ1LHMHVWMHGQDNPR*OLZDUHVWUXNWXUDOL]DFMDGDQ\FK(UyGáRZ\FK

W koncepcji trzeciej (por. [20]) perspektywa jest definiowana jako klasa, tzw. klasa wirtualna, a

w koncepcji czwartej (por. [20, 21]) – jako schemat

]áR*RQ\]ZLHOXNODVZLUWXDOQ\FKSRáF]RQ\FK

]ZL]NDPLG]LHG]LF]HQLDLNRPSR]\FML:REXW\FKNRQFHSFMDFKGHILQLFMDSHUVSHNW\Z\VNáDGDVL]

GZyFKHOHPHQWyZGHILQLFMLVWUXNWXU\NODV\ZLUWXDOQHML]DS\WDQLDOXEPHWRG\Z\]QDF]DMFHM

RELHNW\GRVWSQH]DSRPRFWHMNODV\WMSHUVSHNW\Z\.ODVDZLUWXDOQDMHVWGHILQLRZDQDZRSDUFLX

RW]ZNODV\ED]RZH=DS\WDQLHMHVWIRUPXáRZDQHZRELHNWRZ\PM]\NX]DS\WD24/VNáDGQLL

IXQNFMRQDOQRFL SU]\SRPLQDMF\P M]\N 64/ OHF] SRVLDGDMF\P ZLNV] IXQNFMRQDOQRü

=DS\WDQLH WDNLH PR*H Z\NRU]\VW\ZDü PLQ NODV\F]QH RSHUDWRU\ SURMHNFML VHOHNFML SRáF]HQLD

background image

90

Robert Wrembel

RSHUDWRU\ ]ELRURZH JUXSRZDQLH RSHUDFMH QD DWU\EXWDFK RUD] Z\ZRáDQLD PHWRG NODV ED]RZ\FK

2ELHNW\GRVWSQH]DSRPRFSHUVSHNW\Z\PRJE\üUyZQLH*Z\]QDF]DQHZVSRVyESURFHGXUDOQ\±

]DSRPRFRELHNWRZHJRM]\ND*/ZVSLHUDQHJRSU]H]ED]GDQ\FK

W przypadku perspektywy obiektowej definiowanej jako pojedyncza klasa powstaje problem

umieszczenia takiej klasy w hierarchii dziedziczenia klas bazowych. Na skutek utworzenie klasy

ZLUWXDOQHMKLHUDUFKLDG]LHG]LF]HQLDF]VWRZ\PDJDSU]HEXGRZ\SRWR DE\ QRZ NODV ZLUWXDOQ

XPLHFLüZHZáDFLZ\PPLHMVFXWHMKLHUDUFKLL-HVWWRZDGWHJRUR]ZL]DQLD

RAMModul

czas_dostepu : Integer
pojemnoscMB : Integer

RAMSlot

Procesor

typ : char*

CPURadiator

PlytaGlowna

typ_plyty : char*

ram_slot : RAMSlot

ram_slot : RAMSlot

cpu : CPU

cpu : CPU

rad : CPURadiator

rad : CPURadiator

NapedCD

Dysk

pojemnoscGB : Integer

Komputer

producent

plyta : PlytaGlow na

plyta : PlytaGlow na

cdrom : NapedCD

cdrom : NapedCD

dysk : Dysk

dysk : Dysk

5\V3U]\NáDGRZ\VFKHPDWED]RZ\

: FHOX ]LOXVWURZDQLD NRQFHSFML SHUVSHNW\Z\ GHILQLRZDQHM MDNR VFKHPDW UR]ZD*P\ VFKHPDW

ED]RZ\]áR*RQ\]RPLXQDVWSXMF\FKNODVED]RZ\FKKomputer, 1DSG&', Dysk, 3á\WD*áyZQD,
CPURadiator, Procesor, RamSlot i

5$00RGXá .ODV\ WH V SRáF]RQH ]ZL]NDPL NRPSR]\FML

6FKHPDWWHQZQRWDFML80/>@]RVWDáSU]HGVWDZLRQ\QDU\VXQNX

V_Komputer

producent
dysk
napedCD

V_RAM

nr_slotu : Integer

nr_banku : Integer

czas_dostepu : Integer

pojemnoscMB : Integer

V_PlytaGlowna

cpu_radiator_moc

porcesor_ty p

ply ta : V_PlytaGlowna

ply ta : V_PlytaGlowna

ram : V_RAM

ram : V_RAM

5\V3U]\NáDGRZDSHUVSHNW\ZDRELHNWRZD]GHILQLRZDQDMDNRVFKHPDW

1D SRGVWDZLH NODV WHJR VFKHPDWX XWZRU]RQR VFKHPDW SHUVSHNW\Z\ ]áR*RQ\ ] WU]HFK

QDVWSXMF\FK NODV V_Komputer, 9B3á\WD*áyZQD i V_RAM, przedstawiony na rysunku 5. Klasa
wirtualna V_Komputer

]RVWDáDZ\ZLHG]LRQD]NODVED]RZ\FKKomputer, 1DSG&' i Dysk przez ich

SRáF]HQLH L SURMHNFM Z\EUDQ\FK DWU\EXWyZ =ELyU Z\VWSLH NODV\ V_Komputer PR*H ]RVWDü

RJUDQLF]RQ\ GR Z\EUDQ\FK RELHNWyZ VSHáQLDMF\FK RGSRZLHGQLH ZDUXQNL .ODVD 9B3á\WD*áyZQD

]RVWDáDZ\ZLHG]LRQD]NODVED]RZ\FK3á\WD*áyZQD, CPURadiator i ProcesorSU]H]LFKSRáF]HQLHL

SURMHNFMZ\EUDQ\FKDWU\EXWyZ:SRGREQ\VSRVyEZ\ZLHG]LRQRNODVZLUWXDOQV_RAM z klas
bazowych

5$00RGXá i RAMSlot 'R WDN ]GHILQLRZDQ\FK NODV VFKHPDWX SHUVSHNW\Z\ PR*QD

Z\GDZDü]DS\WDQLDZM]\NX24/WDNMDNGRNODVED]RZ\FK

4. Perspektywa relacyjno–obiektowa w Oracle8

Perspektywa relacyjno–obiektowa jest nowym rodzajem perspektywy, wprowadzonym w

relacyjno–obiektowej bazie danych Oracle8.

background image

Perspektywy (views) w systemach baz danych: aktualny stan technologii

91

4.1. Rozszerzenia obiektowe w SZBD Oracle8

6\VWHP =DU]G]DQLD %D] 'DQ\FK Oracle8 ]RVWDá UR]V]HU]RQ\ R QDVWSXMFH PHFKDQL]P\

obiektowe (por. [9, 19]):

PR*OLZRüGHILQLRZDQLDZáDVQ\FKW\SyZGDQ\FKR]áR*RQHMVWUXNWXU]H

PR*OLZRüGHILQLRZDQLDRSHUDFMLPHWRGQDW\SDFK

PR*OLZRü Z\NRU]\VWDQLD SUHGHILQLRZDQ\FK W\SyZ GDQ\FK UHSUH]HQWXMF\FK NROHNFMH

RELHNWyZRUD]SUHGHILQLRZDQ\FKPHWRGRSHUXMF\FKQDW\FKNROHNFMDFK

WR*VDPRü RELHNWyZ ]UHDOL]RZDQ ]D SRPRF XQLNDOQ\FK LGHQW\ILNDWRUyZ RELHNWyZ DQJ
object identifiers) nadawanych przez system;

SU]HFL*DQLHQD]ZPHWRG

W Oracle8

UR]OX(QLRQRMHGQDNZáDVQRüKHUPHW\F]QRFLRELHNWyZ2]QDF]DWR*HGRDWU\EXWyZ

RELHNWXPR*QDVLRGZRá\ZDü]DUyZQR]DSRPRFPHWRGMDNUyZQLH*EH]SRUHGQLR±DGUHVXMF
wybrany atrybut. Oracle8

QLHZVSLHUDPHFKDQL]PXG]LHG]LF]HQLDLSy(QHJRZL]DQLD

7UZDáRü Z\VWSLH GDQHJR W\SX WM RELHNWyZ UHDOL]XMH VL SRSU]H] ]DSLVDQLH LFK Z WDEHOL

]ZL]DQHM]W\PW\SHP

4.2. Definicja perspektywy relacyjno–obiektowej

3HUVSHNW\Z\ UHODF\MQR±RELHNWRZH XPR*OLZLDM RGZ]RURZDQLH UHODF\MQHJR PRGHOX GDQ\FK Z

PRGHORELHNWRZ\LRGZURWQLHRGZ]RURZDQLHPRGHOXRELHNWRZHJRZUHODF\MQ\7DQRZDZáDVQRü

XPR*OLZLD SUDF VWDU\FK DSOLNDFML UHODF\MQ\FK QD VWUXNWXUDFK GDQ\FK PRGHOX RELHNWRZHJR

3HUVSHNW\Z\ RELHNWRZH XPR*OLZLDM UyZQLH* EXGRZDQLH RELHNWRZ\FK DSOLNDFML SUDFXMF\FK QD
relacyjnych bazach danych.

W celu zilustrowania sposobu definiowania nieskomplikowanej perspektywy relacyjno–

obiektowej w Oracle8

UR]ZD*P\SRQL*V]\SU]\NáDG=Dáy*P\*HZED]LHLVWQLHMGDQHUHODF\MQH

przechowywane w dwóch tabelach komputery i dyski

RVFKHPDWDFKSU]HGVWDZLRQ\FKSRQL*HM

SQL> desc komputery

Nazwa NULL? Typ

-------------- -------- ------------

KOMP_ID NOT NULL NUMBER(2)

TYP_PLYTY NOT NULL VARCHAR2(10)

RAM NOT NULL NUMBER(3)

PROCESOR VARCHAR2(15)

SQL> desc dyski

Nazwa NULL? Typ

--------------- -------- ------------

DYSK_ID NOT NULL NUMBER(4)

KOMP_ID NUMBER(2)

POJEMNOSCGB NOT NULL NUMBER(5,1)

PRODUCENT NOT NULL VARCHAR2(20)

'DQHWHPDME\üSUH]HQWRZDQHZIRUPDFLHRELHNWRZ\P:W\PFHOX]RVWDQ]GHILQLRZDQHGZD

W\S\RELHNWRZHLSHUVSHNW\ZDGRNRQXMFDRGSRZLHGQLHMWUDQVIRUPDFML7\S\RELHNWRZHTypDysk i
TypKomputer

EGUHSUH]HQWRZDá\VWUXNWXU\RELHNWRZHGODGDQ\FKSRFKRG]F\FKRGSRZLHGQLR]

tabel dyski i komputery

'HILQLFMHW\FKW\SyZSRGDQRSRQL*HM

create or replace type

TypDysk as object

(dysk_id number(4),

pojemnoscGB number(5,1),

producent varchar2(20));

create

or replace type TypNestedDysk as table of TypDysk;

create or replace type

TypKomputer as object

(komp_id number(4),

typ_plyty varchar2(10),

ram number(3),

procesor varchar2(15),

dysk TypNestedDysk);

background image

92

Robert Wrembel

Typ o nazwie TypNestedDysk

SRVáX*\GR]DLPSOHPHQWRZDQLDNROHNFMLG\VNyZ]DPRQWRZDQ\FK

ZGDQ\PNRPSXWHU]H-HVWWRNROHNFMDW\SX]DJQLH*G*RQDWDEHODDQJQHVWHGWDEOHSRU>@

3RZ\*V]HW\S\SRVáX*MDNRNRQVWUXNWRU\RELHNWyZXGRVWSQLDQ\FKSU]H]UHODF\MQR±RELHNWRZ

SHUVSHNW\Z-HMGHILQLFMD]RVWDáDSU]HGVWDZLRQDSRQL*HM

create or replace view

ov_komputery

of

TypKomputer

with object identifier

(komp_id)

as

select

komp_id, typ_plyty, ram, procesor,

cast (multiset (select TypDysk(dysk_id, pojemnoscGB, producent)

from dyski

where komp_id=k.komp_id) as TypNestedDysk)

from

komputery k;

Klauzula of

SRZ\*V]HJRSROHFHQLD, VáX*\GRZVND]DQLDW\SXRELHNWRZHJRZQDV]\PSU]\SDGNX

TypKomputer

GHILQLXMFHJRW\SGDQ\FKGRVWSQ\SU]H]SHUVSHNW\Zov_komputery. W momencie

RGZRáDQLDVLZ]DS\WDQLXGRWHMSHUVSHNW\Z\WZRU]RQHVMHMZ\VWSLHQLDWMGRVWSQHSU]H]QL

RELHNW\ 2ELHNW\ WH QLH V WUZDáH L QLH SRVLDGDM LGHQW\ILNDWRUyZ :áDVQRü WR*VDPRFL Z\PDJD

MHGQDN DE\ ZV]\VWNLH RELHNW\ E\á\ MHGQR]QDF]QLH LGHQW\ILNRZDQH : FHOX ZVND]DQLD ]ELRUX

DWU\EXWyZ MHGQR]QDF]QLH LGHQW\ILNXMF\FK RELHNW MHVW Z\NRU]\VW\ZDQD NODX]XOD with object
identifier

:SRZ\*V]\PSU]\NáDG]LHDWU\EXWHPNOXF]RZ\PMHVWkomp_id.

'OD ND*GHJR UHNRUGX SU]HWZDU]DQHJR SU]H] ]DS\WDQLH GHILQLXMFH SHUVSHNW\Z V Z\]QDF]DQH

ZDUWRFLDWU\EXWyZkomp_id, typ_plyty, ram, procesor i dysk. Atrybut dysk ]RVWDá]GHILQLRZDQ\MDNR

NROHNFMD G\VNyZ : FHOX Z\]QDF]HQLD ZDUWRFL DWU\EXWX dysk, jest uruchamiane podzapytanie

VNRUHORZDQHNWyUH]DSRPRFNRQVWUXNWRUDTypDysk tworzy obiekty typu TypDysk2ELHNW\WHV

QDVWSQLHWUDQVIRUPRZDQH]DSRPRFRSHUDWRUDmultiset GR]ELRUXZLHORHOHPHQWRZHJRDQDVWSQLH

]DSRPRFRSHUDWRUDcast ... as, do kolekcji typu TypNesteDysk.

3U]\NáDGRZH]DS\WDQLHGRSHUVSHNW\Zov_komputeryLMHJRZ\QLNSU]HGVWDZLRQRSRQL*HM

SQL> select typ_plyty plyta, procesor, dysk from ov_komputery;

PLYTA

PROCESOR

Dysk(DYSK_ID, POJEMNOSCGB, PRODUCENT)

------ ----------

---------------------------------------------

ATX

PentiumII

TypNestedDysk( TypDysk(1, 7,1, 'Seagate'),

TypDysk(2, 10,2, 'Western Digital'))

ATX2

PentiumIII

TypNestedDysk( TypDysk(3, 20,5, 'Fujitsu'),

TypDysk(4, 12, 'Maxtor'),

TypDysk(5, 10, 'Maxtor'))

,QWHJUDFMDGDQ\FK]DSRPRFSHUVSHNW\Z

5R]ZLMDMFH VL JDá]LH SU]HP\VáX KDQGOX PHG\F\Q\ QDXNL Z\PDJDM VNáDGRZDQLD

L SU]HWZDU]DQLD GX*\FK LORFL GDQ\FK 'DQH WH V ]Z\NOH SU]HFKRZ\ZDQH Z V\VWHPDFK

LQIRUPDW\F]Q\FK SRVLDGDMF\FK Uy*QH VWUXNWXU\ L Z\NRU]\VWXMF\FK Uy*QH PRGHOH GDQ\FK QS
hierarchiczne, relacyjne, obiektowe), w dokumentach tekstowych, czy arkuszach kalkulacyjnych.

3RQLHZD* SU]HGVLELRUVWZD LQVW\WXFMH RUJDQL]DFMH SURGXFHQFL GDQ\FK V F]VWR JHRJUDILF]QLH

UR]SURV]RQHZLFVDPHGDQHPDMUyZQLH*FKDUDNWHUUR]SURV]RQ\+HWHURJHQLF]QRüLUR]SURV]HQLH

LQIRUPDFMLXWUXGQLDGRQLFKGRVWSLLFKDQDOL]=WHJRSRZRGXQLH]EGQHVWDMHVLZSURZDG]HQLH

PHFKDQL]PyZ XPR*OLZLDMF\FK LQWHJUDFM UR]SURV]RQ\FK L KHWHURJHQLF]Q\FK GDQ\FK -DN

ZVSRPQLDQRLQWHJUDFMGDQ\FKPR*QD]UHDOL]RZDüZV\VWHPLHVIHGHURZDQ\FKED]GDQ\FKOXEZ
magazynie danych (ang. data warehouse) [10].

: SRGHMFLX SLHUZV]\P X*\WNRZQLN RSHUXMH QD JOREDOQ\P ]LQWHJURZDQ\P VFKHPDFLH ED]\

GDQ\FK =DS\WDQLH X*\WNRZQLND MHVW GHNRPSRQRZDQH QD ]DS\WDQLD NLHURZDQH GR ORNDOQ\FK ED]

background image

Perspektywy (views) w systemach baz danych: aktualny stan technologii

93

GDQ\FK'HNRPSR]\FMDWDMHVWUHDOL]RZDQDSU]H]PRGXáSURJUDPRZ\W]Zmediator. 'RND*GHM]

ORNDOQ\FKED]GDQ\FKMHVWNLHURZDQH]DS\WDQLHZM]\NXÄUR]XPLDQ\P´SU]H]WED]1DVWSQLH

Z\QLNL ND*GHJR ] ]DS\WD V WUDQVIRUPRZDQH GR PRGHOX Z NWyU\P ]DLPSOHPHQWRZDQR VFKHPDW

JOREDOQ\ ILOWURZDQH L áF]RQH Z MHGHQ ]ELyU GDQ\FK Z\QLNRZ\FK $UFKLWHNWXU WDNLHJR V\VWHPX
przedstawiono na rysunku 6.

NRQZHUWHU

NRQZHUWHU

UyGáR GDQ\FK

NRQZHUWHU

VFKHPDW ]LQWHJURZDQ\

UyGáR GDQ\FK

UyGáR GDQ\FK

VFKHPDW (UyGáRZ\

VFKHPDW (UyGáRZ\

VFKHPDW (UyGáRZ\

VFKHPDW ORNDOQ\

VFKHPDW ORNDOQ\

VFKHPDW

HNVSRUWRZDQ\

VFKHPDW ORNDOQ\

ORNDOQ\

PRGHO GDQ\FK

ZVSyOQ\

PRGHO GDQ\FK

VFKHPDW

X*\WNRZQLND

VFKHPDW

JOREDOQ\

Rys. 6. Architektura systemu z sfederowanych baz danych

1DU\VXQNXW\PLQWHJURZDQHVWU]\(UyGáRZHED]\GDQ\FKR]QDF]RQHMDNR(UyGáRGDQ\FK, 2 i

3

]NWyU\FKND*GDSRVLDGDVZyMZáDVQ\PRGHOGDQ\FKLVFKHPDWR]QDF]RQHMDNRschemat lokalny

1, 2 i 3).

=DGDQLHP PRGXáX konwertera jest transformowanie danych z modelu (formatu)

Z\NRU]\VW\ZDQHJR Z (UyGOH GR MHGQROLWHJR PRGHOX LQWHJUDF\MQHJR QS UHODF\MQHJR UHODF\MQR±
obiektowego, obiektowego, semistrukturalnego. Schematy przetransformowane do wspólnego
modelu oznaczono jako

VFKHPDW (UyGáRZ\ , 2 i 3 'OD ND*GHJR PRGHOX GDQ\FK (UyGáRZ\FK

NRQLHF]QHMHVW]DVWRVRZDQLHVSHF\ILF]QHJRPRGXáXkonwertera1LHFDá\VFKHPDW(UyGáRZ\PXVL

E\ü XGRVWSQLDQ\ Z V\VWHPLH VIHGHURZDQ\P :\EyU F]FL VFKHPDWX (UyGáRZHJR SRGOHJDMFHJR

LQWHJUDFML UHDOL]XMH VL ]D SRPRF SHUVSHNW\Z QD U\VXQNX UHSUH]HQWRZDQ\FK SU]H] schemat
eksportowany

'RSLHURVFKHPDW\HNVSRUWRZDQHSRGOHJDMLQWHJUDFMLLZFKRG]ZVNáDGschematu

zintegrowanego.

1DVFKHPDFLH]LQWHJURZDQ\PRSHUXMX*\WNRZQLF\UHDOL]XMF]DMHJRSRUHGQLFWZHPGRVWSGR

KHWHURJHQLF]Q\FKLUR]SURV]RQ\FK(UyGHáGDQ\FK1DVFKHPDFLH]LQWHJURZDQ\PPRJUyZQLH*E\ü

]GHILQLRZDQH SHUVSHNW\Z\ VWDQRZLFH W]Z VFKHPDW X*\WNRZQLND RJUDQLF]DMFH GRVWS W\ONR GR
wybranych informacji.

: SRGHMFLX GUXJLP WM PDJD]\QX GDQ\FK UR]SURV]RQH L KHWHURJHQLF]QH GDQH V

WUDQVIRUPRZDQHGRPRGHOXPDJD]\QXILOWURZDQHLáF]RQHDQDVWSQLH]DSLVDQHZMHGQ\PPLHMVFX

± PDJD]\QLH GDQ\FK =DS\WDQLD X*\WNRZQLNyZ V NLHURZDQH GR PDJD]\QX $UFKLWHNWXUD
integracyjna systemu magazynu danych jest podobna do tej z rysunku 6.

6. Perspektywa zmaterializowana

Kolejnym rodzajem perspektywy jest tzw. perspektywa zmaterializowana (ang. materialized

YLHZ -HGQ\P ] ]DGD SHUVSHNW\Z\ ]PDWHULDOL]RZDQHM MHVW VNUyFHQLH F]DVX Z\NRQ\ZDQLD

VNRPSOLNRZDQ\FK F]DVRFKáRQQ\FK ]DS\WD ]DZLHUDMF\FK SRáF]HQLD L JUXSRZDQLD

0DWHULDOL]RZDQLH GDQ\FK PD Z W\P SU]\SDGNX VHQV MH*HOL Z V\VWHPLH F]VWR SRMDZLDM VL

background image

94

Robert Wrembel

]DS\WDQLDLGHQW\F]QHOXESRGREQHGRWHJRNWyUHZ\VWSXMHZGHILQLFMLSHUVSHNW\Z\'RGDWNRZR

GDQHZWDEHODFKED]RZ\FKWDNLHMSHUVSHNW\Z\QLHSRZLQQ\XOHJDüF]VWHPXPRG\ILNRZDQLX-H*HOL

Z V\VWHPLH SRMDZL VL ]DS\WDQLH NWyUH PR*H ]RVWDü Z\NRQDQH ] Z\NRU]\VWDQLHP
zmaterializowanych perspektyw, zamiast korzystania z tabel bazowych, wówczas optymalizator

]DS\WD VNRQVWUXXMH RGSRZLHGQLH ]DS\WDQLH GR W\FK SHUVSHNW\Z -HVW WR W]Z zamiana zapytania

DQJTXHU\UHZULWLQJ3URFHVWHQMHVWQLHZLGRF]Q\GODX*\WNRZQLND

3HUVSHNW\ZD ]PDWHULDOL]RZDQD IL]\F]QLH SU]HFKRZXMH UHNRUG\ EGFH Z\QLNLHP ]DS\WDQLD M

GHILQLXMFHJR3HUVSHNW\ZD]PDWHULDOL]RZDQDPR*HE\üLQGHNVRZDQDLSDUW\FMRQRZDQDSRGREQLH

MDNWDEHOD0R*QDUyZQLH*GODQLHM]GHILQLRZDüSDUDPHWU\VNáDGRZDQLDLSU]HVWU]HWDEHO

W przypadku zmaterializowanej perspektywy, podobnie jak w przypadku migawki, powstaje

SUREOHPXDNWXDOQLDQLDMHM]DZDUWRFLZSU]\SDGNXPRG\ILNRZDQLD]DZDUWRFLWDEHOED]RZ\FKWHM
perspektywy. System Oracle

XPR*OLZLDRGZLH*DQLHSHUVSHNW\Z\ZMHGQ\P]GZyFKWU\EyZSRU

>@SHáQ\Pcomplete) lub przyrostowym (fast7U\ESHáQ\SROHJDQDSRQRZQ\PZ\NRQDQLX

]DS\WDQLD GHILQLXMFHJR SHUVSHNW\Z L Z\SHáQLHQLX MHM DNWXDOQ\PL GDQ\PL 7U\E SU]\URVWRZ\

SROHJDQDSU]HVáDQLXGRSHUVSHNW\Z\W\ONRW\FKUHNRUGyZNWyUHVL]PLHQLá\RGF]DVXRVWDWQLHJRMHM

RGZLH*HQLD : W\P SU]\SDGNX QLH]EGQ\ MHVW G]LHQQLN Z NWyU\P WUDQVDNFMD EG]LH ]DSLV\ZDáD

]PLDQ\GRNRQDQHQDGDQ\FKZWDEHODFKED]RZ\FKSHUVSHNW\Z\:WU\ELHSU]\URVWRZ\PPRJE\ü

RGZLH*DQHW\ONRSHUVSHNW\Z\SURVWHSRUSXQNW

2GZLH*DQLH SHUVSHNW\Z\ PR*H ]RVWDü ]UHDOL]RZDQH Z WU\ELH V\QFKURQLF]Q\P OXE

DV\QFKURQLF]Q\P 7U\E V\QFKURQLF]Q\ SROHJD QD RGZLH*HQLX SHUVSHNW\Z\ QDW\FKPLDVW SR

]DNRF]HQLXWUDQVDNFMLPRG\ILNXMFHMGDQHZMHMWDEHODFKED]RZ\FK7U\EDV\QFKURQLF]Q\SROHJD

QDRNUHVRZ\PRGZLH*DQLXSHUVSHNW\Z\]RNUHORQ\PLQWHUZDáHPOXEPDQXDOQLHWMQD*GDQLH

X*\WNRZQLND

'R PDQXDOQHJR RGZLH*DQLD ]PDWHULDOL]RZDQHM SHUVSHNW\Z\ QDOH*\ Z\NRU]\VWDü SDNLHW

systemowy DBMS_MVIEW

Z U]HF]\ZLVWRFL V\QRQLP GR SDNLHWX DBMS_SNAPSHOT Z VNáDG

NWyUHJRZFKRG]SURFHGXU\XPR*OLZLDMFHRGZLH*DQLHSHUVSHNW\Z\

3RQL*HMSU]HGVWDZLRQRSU]\NáDGRZHSROHFHQLHWZRU]FH]PDWHULDOL]RZDQSHUVSHNW\ZZED]LH

danych Oracle8i.

create materialized view

suma_sprzedazy

build immediate

refresh complete

enable query rewrite

as

select

nazwa, sum(l_sztuk*cena_jedn) suma

from sprzedaz sp, sklepy sk

where sp.sklep_id=sk.sklep_id

group by nazwa;

Klauzula build immediate powoduje zmaterializowanie perspektywy natychmiast po jej

XWZRU]HQLX 3HUVSHNW\ZD MHVW RGZLH*DQD Z VSRVyE SHáQ\ NODX]XOD refresh complete). Klauzula
enable query rewrite

XPR*OLZLD Z\NRU]\VWDQLH SHUVSHNW\Z\ GR ]DPLDQ\ ]DS\WDQLD 3HUVSHNW\ZD

XWZRU]RQD]NODX]XOdisable query rewrite QLHEG]LHZ\NRU]\VW\ZDQDGR]DPLDQ\]DS\WDQLDGR
momentu jej uaktywnienia poleceniem:

alter

materialized view nazwa_perspektywy

enable

query rewrite;

O tym, czy zmaterializowana perspektywa zostanie wykorzystana do zamiany zapytania

GHF\GXM GRGDWNRZR WU]\ SDUDPHWU\ NRQILJXUDF\MQH LQVWDQFML OPTIMIZER_MODE,
QUERY_REWRITE_ENABLED i QUERY_REWRITE_INTEGRITY. Zamiana zapytania jest

PR*OLZDW\ONRZyZF]DVJG\

1.

System wykorzystuje optymalizator kosztowy, tj. (1) parametr konfiguracyjny instancji
OPTIMIZER_MODE

SU]\MPXMHZDUWRüchoose i (2) dla tabel bazowych zebrano statystyki.

background image

Perspektywy (views) w systemach baz danych: aktualny stan technologii

95

2.

Parametr konfiguracyjny QUERY_REWRITE_ENABLED

SU]\MPLHZDUWRütrue.

3RZ\*V]H SDUDPHWU\ PR*QD UyZQLH* PRG\ILNRZDü GOD SRMHG\QF]HM VHVML X*\WNRZQLND

8*\WNRZQLNZ\GDMF\]DS\WDQLHPXVLSRVLDGDüXSUDZQLHQLHV\VWHPRZHQuery Rewrite lub Global
Query Rewrite
.

Po utworzeniu perspektywy suma_sprzedazy

Z Z\*HM RSLVDQ\ VSRVyE ]RVWDQLH RQD

Z\NRU]\VWDQDGRZ\]QDF]HQLDZ\QLNyZSRQL*V]HJR]DS\WDQLD

select

nazwa, sum(l_sztuk*cena_jedn) suma

from

sprzedaz sp, sklepy sk

where

sp.sklep_id=sk.sklep_id

having sum

(l_sztuk*cena_jedn) > 30000

group

by nazwa;

3ODQZ\NRQDQLDWHJR]DS\WDQLDMHVWQDVWSXMF\

Execution Plan

---------------------------------------------------

0 SELECT STATEMENT Optimizer=CHOOSE

1 0 TABLE ACCESS (FULL) OF 'SUMA_SPRZEDAZY'

: SU]\SDGNX SRQL*V]HJR ]DS\WDQLD QLH ]RVWDQLH MHGQDN Z\NRU]\VWDQD SHUVSHNW\ZD

VXPDBVSU]HGD*\, a jego wynik zostanie wyznaczony przy pomocy tabel bazowych.

select

nazwa, sum(l_sztuk*cena_jedn) suma

from

sprzedaz sp, sklepy sk

where

sp.sklep_id=sk.sklep_id

and

VNPLDVWR 3R]QD

group

by nazwa;

Execution Plan

----------------------------------------------------------

0 SELECT STATEMENT Optimizer=CHOOSE

1 0 SORT (GROUP BY)

2 1 NESTED LOOPS

3 2 TABLE ACCESS (FULL) OF 'SKLEPY'

4 2 TABLE ACCESS (FULL) OF 'SPRZEDAZ'

7. Perspektywa semistrukturalna

,QWHUQHWLWHFKQRORJLD:HE]UHZROXFMRQL]RZDá\VSRVyESUH]HQWRZDQLDGDQ\FKLVSRVyEGRVWSX

GR QLFK 'RW\FKF]DV GDQH E\á\ SXEOLNRZDQH QDMF]FLHM Z IRUPDFLH +70/ 2EHFQLH FRUD]

F]FLHMZ\NRU]\VWXMHVLGRWHJRFHOXM]\N;0/]RE>@GREU]HQDGDMF\VLGRRSLVXW]Z
danych semistrukturalnych

DQJVHPLVWUXFWXUHGGDWDZ\VWSXMF\FKZ,QWHUQHFLH

'DQH VHPLVWUXNWXUDOQH FKDUDNWHU\]XM VL W\P *H QLH PDM FLOH RNUHORQHM VWUXNWXU\ :

SU]\SDGNX WDEHOL UHODF\MQHM ZV]\VWNLH MHM UHNRUG\ SRVLDGDM DWU\EXW\ RNUHORQH VFKHPDWHP WHM

WDEHOL 3U]\NáDGRZR ZV]\VF\ NOLHQFL V RSLVDQL QXPHUHP 1,3 LPLHQLHP QD]ZLVNLHP DGUHVHP

QXPHUHPIDNVXLWHOHIRQX,QDF]HMMHVWZSU]\SDGNXGDQ\FKVHPLVWUXNWXUDOQ\FK&]üGDQ\FKPR*H

SRVLDGDüSHZQHDWU\EXW\DLQQ\FKQLHSRVLDGDü3U]\NáDGRZRF]üNOLHQWyZPR*HE\üRSLVDQD

W\ONRQXPHUHP1,3QD]ZLVNLHPLWHOHIRQHPDLQQDF]üNOLHQWyZ±W\ONRQD]ZLVNLHPLDGUHVHP

:SU]\SDGNXXGRVWSQLDQLDGDQ\FKZIRUPDFLH;0/EDUG]RZD*Q\PPHFKDQL]PHPVWDMVL

perspektywy. Ich zadaniem jest w tym przypadku:

LQWHJUDFMDGRVWSQ\FKZ,QWHUQHFLHLQIRUPDFMLRUy*QHMVWUXNWXU]H

XPR*OLZLHQLHQDGDQLDFLOHRNUHORQHMVWUXNWXU\GDQ\PVHPLVWUXNWXUDOQ\P

background image

96

Robert Wrembel

: SU]\SDGNX SHUVSHNW\Z ;0/ NOXF]RZ NZHVWL MHVW M]\N ]DS\WD NWyU\ XPR*OLZLáE\

wyszukanie odpowiednich danych semistrukturalnych i prezentowanie ich w formacie perspektywy

;0/ 0LPR *H SURZDG]RQH V LQWHQV\ZQH SUDFH EDGDZF]H > @ M]\N WDNL NWyU\ E\áE\

VWDQGDUGHPMHV]F]HQLHSRZVWDá

-DNR SU]\NáDG SRWU]HE\ SHUVSHNW\Z ;0/ UR]ZD*P\ GZLH ED]\ GDQ\FK ] ]DZDUWRFL

XGRVWSQLDQ Z ,QWHUQHFLH 3LHUZV]D ] QLFK MHVW SU]HZRGQLNLHP WXU\VW\F]Q\P SR 3R]QDQLX L

XGRVWSQLDLQIRUPDFMHQDWHPDWXOLFL]QDMGXMF\FKVLQDQLFKRELHNWyZGR]ZLHG]DQLD'UXJDED]D
jest przewodnikiem gastronomicznym po Poznaniu i zawiera informacje na temat ulic i

]QDMGXMF\FKVLQDQLFKUHVWDXUDFML.D*GDUHVWDXUDFMDSRVLDGDPHQX7XU\VWDRGZLHG]DMF\3R]QD

FKFLDáE\ ]DSODQRZDü Z\FLHF]N Z WDNL VSRVyE DE\ QD MHM WUDVLH ]QDMGRZDá\ VL UyZQLH* GREUH

UHVWDXUDFMHW]QFKFLDáE\RQX]\VNDü]LQWHJURZDQHLQIRUPDFMHSRFKRG]FH]REXED]GDQ\FKQSZ

QDVWSXMFHMSRVWDFLQDZLDVNODPURZ\R]QDF]D]ELyUZ\VWSLH

{dzielnica, {ulica, {obiekt do zwiedzania}, {restauracja, {menu} } } }

,QQ\PLVáRZ\WXU\VWDFKFLDáE\Z\GDü]DS\WDQLHÄSRND*ZV]\VWNLHXOLFH6WDUHJR0LDVWDZUD]]

RELHNWDPLGR]ZLHG]DQLDLUHVWDXUDFMDPLDGODND*GHMUHVWDXUDFMLSRND*MHMPHQX”.

7.1. Koncepcje

-H*HOLFKRG]LRSHUVSHNW\Z\VHPLVWUXNWXUDOQHWRLVWQLHMWU]\SURWRW\SRZHV\VWHP\Active View

[1, 3] i Ozone [3, 12] oraz MIRO Web [6]. Architektura systemu Active View

]RVWDáDSU]HGVWDZLRQD

na rysunku 7.

6HUZHUHP GDQ\FK ;0/ PR*H E\ü ED]D GDQ\FK OXE GRZROQH LQQH UHSR]\WRULXP SRVLDGDMFH

PR*OLZRü SUH]HQWRZDQLD GDQ\FK Z IRUPDFLH ;0/ : RSLV\ZDQHM SURWRW\SRZHM LPSOHPHQWDFML
serwerem danych jest obiektowa baza danych O2

SU]HFKRZXMFD GDQH ;0/ Z RELHNWRZ\FK

VWUXNWXUDFKGDQ\FK6HUZHUHPSHUVSHNW\Z;0/MHVWDSOLNDFMDQDSLVDQDZM]\NX-DYD$SOLNDFMDWD

MHVW RGSRZLHG]LDOQD ]D UHVWUXNWXUDOL]DFM GDQ\FK ]JRGQLH ] GHILQLFM SHUVSHNW\Z\ DXWRU\]DFM

GRVWSXLLQWHJUDFM]LQQ\PL(UyGáDPLGDQ\FK'DQHSU]HNV]WDáFRQHSU]H]WDSOLNDFMVGRVWSQH

]DSRPRFSU]HJOGDUNL:::OXELQQHMDSOLNDFMLNOLHQWDQSSURJUDPXZ-DYD

UyGáR GDQ\FK ;0/

VHUZHU GDQ\FK ;0/

VHUZHU SHUVSHNW\Z ;0/

SU]HJOGDUND :::

DSOLNDFMD ]HZQWU]QD

Rys. 7. Architektura systemu Active View

3RGREQH UR]ZL]DQLH GR RPyZLRQHJR

Z\*HM ]DVWRVRZDQR Z V\VWHPLH MIRO
Web
. Polega ono na przetransformowaniu
danych semistrukturalnych do struktur
relacyjno–obiektowych i przechowywanie
tak przetworzonych danych w bazie
relacyjno–obiektowej (Oracle8).
Konwersja danych jest realizowana przez

RGSRZLHGQL

PRGXá

SURJUDPRZ\

1DVWSQLH NRU]\VWDMF ] PHFKDQL]PyZ

ED]\

GDQ\FK

PR*QD

]GHILQLRZDü

perspektywy relacyjno–obiektowe na tych

GDQ\FK OXE Z\NRU]\VWDü RSURJUDPRZDQLH

Z-DYDV\PXOXMFHSHUVSHNW\Z\

W systemie Ozone

GDQH VHPLVWUXNWXUDOQH V PRGHORZDQH MDNR JUDI D LPSOHPHQWRZDQH MDNR

kolekcje par

HW\NLHWD ZDUWRü! JG]LH ZDUWRFL PR*H E\ü FLJ ]QDNyZ OLF]ED GDWD LWS OXE

ZVND]DQLH GR LQQHJR Z]áD JUDIX 3HUVSHNW\ZD MHVW UHSUH]HQWRZDQD SU]H] RELHNW W]Z proxy,

XPR*OLZLDMF\WUDQVIRUPDFMGDQ\FKVHPLVWUXNWXUDOQ\FKGRVWUXNWXUDOQ\FKLRGZURWQLH

7.2. Otwarte problemy badawcze

-DN ZVSRPQLDQR MHGQ\P ] ]DGD SHUVSHNW\Z\ VHPLVWUXNWXUDOQHM MHVW ]DSHZQLHQLH GRVWSX GR

ZLHOX(UyGHáGDQ\FKZVLHFL,QWHUQHW:FHOXVNUyFHQLDGRVWSXGRGDQ\FKLXQLH]DOH*QLHQLDVLRG

background image

Perspektywy (views) w systemach baz danych: aktualny stan technologii

97

F]DVRZHM QLHGRVWSQRFL Z]áyZ VLHFL EDUG]R SR*GDQ\P MHVW PR*OLZRü ]PDWHULDOL]RZDQLD

GDQ\FKXGRVWSQLDQ\FKSU]H]WDNSHUVSHNW\Z

Jednak w przypadku perspektyw XML problem uaktualniania zmaterializowanych perspektyw

MHVW ]QDF]QLH WUXGQLHMV]\ QL* Z SU]\SDGNX NODV\F]Q\FK ED] GDQ\FK :\QLND WR ] QDVWSXMF\FK
czynników:

1.

'UyGáD GDQ\FK NWyUH Z\NRU]\VWDQR GR ]PDWHULDOL]RZDQLD SHUVSHNW\Z\ PRJ E\ü F]DVRZR

QLHGRVWSQHFRXQLHPR*OLZLDRGZLH*HQLHSHUVSHNW\Z\

2.

7UXGQRRV]DFRZDüNRV]WZ\NRQDQLD]DS\WDRGZLH*DMF\FKWDNSHUVSHNW\ZSRQLHZD*MHM

GHILQLFMD ;0/ ]Z\NOH RGZRáXMH VL GR ZLHOX UR]SURV]RQ\FK L KHWHURJHQLF]Q\FK (UyGHá

GDQ\FKQLHNRQLHF]QLHED]GDQ\FK.RV]WWDNLPXVLUyZQLH*XZ]JOGQLDüF]DV\GRVWSXGR

ND*GHJR]Z]áyZLSU]HSXVWRZRüVLHFL:\VWSXMZLFSUREOHP\RSW\PDOL]DFML]DS\WD

3.

2GZLH*DQLH SU]\URVWRZH Z ZLHOX SU]\SDGNDFK QLH EG]LH PR*OLZH ]H Z]JOGX QD EUDN

G]LHQQLND RSHUDFML QD GDQ\FK (UyGáRZ\FK 3RFLJD WR ]D VRE NRQLHF]QRü RGZLH*DQLD

SHáQHJRFRPR*HE\üRSHUDFMF]DVRFKáRQQ

8. Podsumowanie

3HUVSHNW\ZDMHVWPHFKDQL]PHPQLH]EGQ\PZV\VWHPDFK ED] GDQ\FK &HOH MHM VWRVRZDQLD V

ZLHORUDNLH PLQ RJUDQLF]HQLH L DXWRU\]DFMD GRVWSX GR GDQ\FK ]DSHZQLHQLH ORJLF]QHM

QLH]DOH*QRFL GDQ\FK XSURV]F]HQLH VFKHPDWX ED]\ GDQ\FK LQWHJUDFMD L WUDQVIRUPDFMD GDQ\FK

PDWHULDOL]RZDQLH F]VWR Z\NRU]\VW\ZDQ\FK F]DVRFKáRQQ\FK ]DS\WD 0HFKDQL]P WHQ MHVW

ZVSLHUDQ\ SU]H] ZV]\VWNLH UHODF\MQH L UHODF\MQR±RELHNWRZH V\VWHP\ ]DU]G]DQLD ED]DPL GDQ\FK

DOHQLH]RVWDá]DLPSOHPHQWRZDQ\Z*DGQ\P]NRPHUF\MQ\FKV\VWHPyZRELHNWRZ\FKED]GDQ\FK

5R]ZyMV\VWHPyZLQWHUQHWRZ\FKZ\PXV]DZSURZDG]HQLHPHFKDQL]PXSHUVSHNW\ZUyZQLH*GR

WHFKQRORJLL:HE2ELHFXMF\PMHVWZW\PSU]\SDGNXM]\N;0/3HUVSHNW\Z\GHILQLRZDQHZW\P

M]\NXXPR*OLZLLQWHJUDFMGDQ\FKZVLHFL,QWHUQHW2EHFQLHZLHOHRURGNyZQDXNRZ\FKPLQ

,15,$8QLZHUV\WHW\6WDQIRUGL:DVKLQJWRQSURZDG]LSUDFHEDGDZF]HQDGLQWHJUDFM:HE¶X]D

SRPRFM]\ND;0/

Bibliografia

1. Abiteboul S., Amann B., Cluet S., Milo T., Vianu V.: Active views for electronic

FRPPHUFH0DWHULDá\

konferencyjne: Conférences sur les Bases de Donées, 1998

2. Abiteboul S., Buneman P., Suciu D.: Data on the Web: from relations to semistructured data and XML.

Morgan Kaufmann Publishers, 2000, ISBN 1-55860-622-X

3. Abiteboul S.: On Views and XML. SIGMOD

5HFRUG9RO1RJUXG]LH

4. Ault M.: Oracle8i Administration and Management. Wiley Computer Publishing, 2000, ISBN 0-471-

35453-8

5. Booch G., Rumbaugh J., Jacobson I.: The Unified Modeling Language User Guide. Addison–Wesley,

1999, ISBN 0-201-57168-4

6. Bouganim L., Chan–Sine–Ying T., Tuyet–Tram Dang–Ngoc, Darroux J.L., Gardarin G., Sha F.: MIRO

Web: Integrating Multiple Data Sources through Semistructured Data

7\SHV0DWHULDá\NRQIHUHQF\MQH

Very Large DataBases, 1999

7. Cattell R., G., G., Barry D., Berler M., Eastman J., Jordan D., Russel C., Shadow O., Stanienda T.,

Velez F.: Object Database Standard: ODMG 3.0, Morgan Kaufmann Publishers, 2000

8. Ceri S., Fraternali P., Paraboschi S.: XML: Current Developments and Future Challenges for the

Database

&RPPXQLW\ 0DWHULDá\ NRQIHUHQF\MQH

Advances in Database Technology – EDBT’2000,

LNCS 1777

9. Dokumentacja RDBMS Oracle8i, rel. 8.1.6

background image

98

Robert Wrembel

10. Elmargamid A., Rusinkiewicz M., Sheth A.: Management of Heterogeneous and Autonomous

Database Systems. Morgan Kaufmann Publishers, Inc. 1999, ISBN 1-55860-216-X

11. Gupta A., Mumick I.S.: Materialised Views: Techniques, Implementations, and Applications. MIT Press,

1999, ISBN 0-262-57122-6

12. Lahiri T., Abiteboul S., Widom J.: Ozone: Integrating structured and semistructured data.

www.db.stanford.edu/tlahiri/ozone.pdf

13.

0DWHULDá\V]NROHQLRZH2UDFOH3ROVND2UDFOHL1HZ

Features for Administrators

14. S. I. Yoo, H. J. Chang, An Object–Oriented Query Model Supporting Views, in Object Technologies for

Advanced Software, First JSSST Int. Symposium, Japan, 1993, vol. 742 of LNCS, 1993

15. Subieta K.,

3áRG]LH - 2EMHFW 9LHZV DQG 4XHU\ 0RGLILFDWLRQ 0DWHULDá\ NRQIHUHQF\MQH

th

IEEE

International Baltic Workshop on Databases & Information Systems, Lithuania, 2000

16.

7UDF]\N7:SURZDG]HQLHGRM]\ND;0/,QIRUPDW\ND

17. Wieczerzycki W., Wrembel R.: Perspektywy w obiektowych bazach danych. Informatyka 10/95

18. Wieczerzycki W., Wrembel R.: Perspektywy w relacyjnych bazach danych. Informatyka 8/95

19. Wrembel R. Jezierski J.,

=DNU]HZLF] 0 6\VWHP =DU]G]DQLD %D] 'DQ\FK 2UDFOH L 2UDFOH

Wydawnictwo NAKOM, 1999, ISBN 83-86969-34-2

20. Wrembel R.: Object-Oriented Views: Virtues and

/LPLWDWLRQV 0DWHULDá\ NRQIHUHQF\MQH

th

International Symposium on Computer and Information Sciences – ISCIS’98, 1998


Wyszukiwarka

Podobne podstrony:
Systemy Baz Danych (cz 1 2)
SBD wyklad 4, student - informatyka, Systemy Baz Danych
SBD wykład 2, student - informatyka, Systemy Baz Danych
SBD wykład 3, student - informatyka, Systemy Baz Danych
SBD wykład 1, student - informatyka, Systemy Baz Danych
SYSTEM B, student - informatyka, Systemy Baz Danych
R. 6-2 Struktura OBD-przyklad 1, Uczelniane, Semestr 2, Zaawansowane Systemy Baz Danych, WYKŁ [OZaik
Systemy Baz Danych (cz 1 3)
perspektywy w systemach baz dan Nieznany
Systemy Baz Danych (cz 1 0)
Systemy Baz Danych (cz 1 2)
Systemy baz danych 10
Wprowadzenie do systemow baz danych wprsys
Systemy baz danych Kompletny podrecznik Wydanie II 2
Wprowadzenie do systemow baz danych wprsys
Systemy baz danych w7
Systemy baz danych Kompletny podrecznik Wydanie II

więcej podobnych podstron