perspektywy w systemach baz dan Nieznany

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 XGRVW SQLDQH SU]H] QL GDQH : WUDG\F\MQ\FK V\VWHPDFK

UHODF\MQ\FKED]GDQ\FKSHUVSHNW\Z\VZ\NRU]\VW\ZDQHPLQGR  RJUDQLF]HQLDLDXWRU\]DFMLGRVW SXGR

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\ZMHVWWXWDM  LQWHJUDFMDGDQ\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 GRVW S 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] XGRVW SQLD W\ONR WH

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

 DQJPDWHULDOL]HGYLHZ 3HUVSHNW\ZDWDNDSRVLDGDZáDVQHWUZDáHGDQH±E GFH

Z\QLNLHP]PDWHULDOL]RZDQLDGDQ\FKZ\]QDF]RQ\FKSU]H]]DS\WDQLHGHILQLXMFHW SHUVSHNW\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]HGVL ELRUVWZD LQVW\WXFMH RUJDQL]DFMH SURGXFHQFL GDQ\FK  V F] VWR JHRJUDILF]QLH

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

LQIRUPDFML XWUXGQLD GR QLFK GRVW S 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

GRVW SXGRGDQ\FK

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

]DZLHUDMF\FKRGNLONXGRNLONXG]LHVL FLXRSHUDFMLáF]HQLDILOWURZDQLDJUXSRZDQLDLDJUHJRZDQLD

GDQ\FK 6 WR W]Z ]DS\WDQLD W\SX 2/$3 DQJ 2Q /LQH $QDO\WLFDO 3URFHVVLQJ  =H Z]JO GX 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  ZL F

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

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

6WUXNWXUDQLQLHMV]HJRDUW\NXáXMHVWQDVW SXMFDZSXQNWDFKGUXJLPWU]HFLPLF]ZDUW\P]RVWDQ

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

3XQNWSLW\MHVWSRZL FRQ\]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\FKSRVLDGDQDVW SXMFHZáDVQRFL SRU>@ 
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\ZDPDVWUXNWXU WDNVDPMDNWDEHODDZL FMHVW

]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\PDQDVW SQLHWDNSU]HWZRU]RQH]DS\WDQLHMHVWNLHURZDQHGRWDEHOED]RZ\FK

2.2. Cele stosowania perspektywy

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

QDVW SXMFH

1.

$XWRU\]DFMDGRVW SXGRGDQ\FK
3RQLHZD*SHUVSHNW\Z\XGRVW SQLDMW\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]\PXMSUDZDGRVW SXGRSHUVSHNW\ZQDWRPLDVWQLHRWU]\PXMSUDZGRVW SX
do tabel bazowych.
3U]\NáDGHP VWRVRZDQLD SHUVSHNW\Z GR XNU\FLD SHZQ\FK LQIRUPDFML MHVW VáRZQLN ED]\

GDQ\FK:UDPDFKWHJRVáRZQLNDZ\Uy*QLDVL SHUVSHNW\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 XGRVW SQLDMFH ZL FHM LQIRUPDFML QL*

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

2.

8áDWZLHQLHGRVW SXGRGDQ\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]DOHFDVL X*\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áDWZLHQLDGRVW SXGRGDQ\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*OLZLDWRZVW SQHSU]HWZRU]HQLHGDQ\FK]WDEHOED]RZ\FKL

LFKSUH]HQWDFM ZSRVWDFL IRUPDFLH SUHIHURZDQHMSU]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]DVDSOLNDFMHQLHE GZ\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.

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

RUD] XQLH]DOH*QLHQLH X*\WNRZQLNyZ RG NRQLHF]QRFL GRVW SX 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]JO GX QD SRVWDü ]DS\WDQLD GHILQLXMFHJR SHUVSHNW\Z  SHUVSHNW\Z\ PR*QD SRG]LHOLü QD

proste i

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

RGZRáXMHVL Z\áF]QLHGRMHGQHMWDEHOLED]RZHM

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

XGRVW SQLDQ\FKSU]H]SHUVSHNW\Z 

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

QLHZ\NRU]\VWXMHIXQNFMLJUXSRZ\FK QSVXPDUHGQLD 

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

nie wykorzystuje operatora distinct

LRSHUDWRUyZ]ELRURZ\FK QSVXPDF] ü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

 XGRVW SQLD ZV]\VWNLH DWU\EXW\ Z\EUDQ\FK UHNRUGyZ QDWRPLDVW

perspektywa V

2

XGRVW SQLDZ\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*HXGRVW SQLDü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]QLXGRVW SQLDQ\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\Z PLQ

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).

1DVW SQLHWDNSU]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\VW SXMFH 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\]DQDMZL NV]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\WDQLH ZV\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 XGRVW SQLDQ\FK SU]H] SHUVSHNW\Z  V
ograniczone.

-H*HOLSHUVSHNW\ZDMHVWSURVWDLGRGDWNRZRXGRVW SQLDZV]\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]W SHUVSHNW\Z LMHXVXZDü

W systemie Oracle

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

GRVW SQH]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]RVWDMSXVWH SU]\ZVWDZLDQLX LQLHVPRG\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 ]HZQ WU]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]\ QDVW SXMFH 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\ZQDVW SXMF\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]W SHUVSHNW\Z QDOH*\]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]\VWXMHVL VáRZDNOXF]RZHinsert, update, deleteXPR*OLZLDMFH

]GHILQLRZDQLH Z\]ZDODF]D UHDJXMFHJR RGSRZLHGQLR QD ZVWDZLHQLH XDNWXDOQLHQLH XVXQL FLH

UHNRUGyZGRVW SQ\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]JO GXFRUD]

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 QDVW SXMFH NRQFHSFMH RELHNW KHUPHW\F]QRü NODV 

dziedziczenie i polimorfizm.

Obiekt.

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

UHSUH]HQWXMF\ZV\VWHPLHNRPSXWHURZ\PHQFM PRGHORZDQHJRZLDWDU]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

PHWRGQLHMHVWGRVW SQDGODSURJUDPyZQD]\ZDVL KHUPHW\F]QRFL DQJHQFDSVXODWLRQ ']L NL

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\SRVLDGDMFHWDNVDPVWUXNWXU LPHWRG\VJUXSRZDQHZNODV (ang.

FODVV .ODVDMHGQRF]HQLHGHILQLXMHVWUXNWXU  ]DSRPRFDWU\EXWyZ L]DFKRZDQLHVL  ]DSRPRF

PHWRG ZV]\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]RQHL OXE PHWRG\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]JO GX 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\Z GHILQLXMHVL MDNRIXQNFM VNáDGRZDQNWyUHMZ\QLNLHP

G]LDáDQLDMHVWNROHNFMDRELHNWyZZ\]QDF]RQ\FKSU]H]W IXQNFM )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 ]

GZyFKHOHPHQWyZ  GHILQLFMLVWUXNWXU\NODV\ZLUWXDOQHML  ]DS\WDQLDOXEPHWRG\Z\]QDF]DMFHM

RELHNW\GRVW SQH]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 ZL NV] 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\GRVW SQH]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\]RPLXQDVW SXMF\FKNODVED]RZ\FKKomputer, 1DS G&', 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

QDVW SXMF\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, 1DS G&' 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

SURMHNFM Z\EUDQ\FKDWU\EXWyZ:SRGREQ\VSRVyEZ\ZLHG]LRQRNODV ZLUWXDOQV_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 QDVW SXMFH PHFKDQL]P\

obiektowe (por. [9, 19]):

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

PR*OLZRüGHILQLRZDQLDRSHUDFML PHWRG QDW\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*QDVL RGZRá\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

E GUHSUH]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*RQDWDEHOD DQJQHVWHGWDEOH  SRU>@ 

3RZ\*V]HW\S\SRVáX*MDNRNRQVWUXNWRU\RELHNWyZXGRVW SQLDQ\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\SXRELHNWRZHJR ZQDV]\PSU]\SDGNX

TypKomputer

GHILQLXMFHJRW\SGDQ\FKGRVW SQ\SU]H]SHUVSHNW\Z ov_komputery. W momencie

RGZRáDQLDVL Z]DS\WDQLXGRWHMSHUVSHNW\Z\WZRU]RQHVMHMZ\VWSLHQLDWMGRVW SQHSU]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

QDVW SQLHWUDQVIRUPRZDQH]DSRPRFRSHUDWRUDmultiset GR]ELRUXZLHORHOHPHQWRZHJRDQDVW SQLH

]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]HGVL ELRUVWZD LQVW\WXFMH RUJDQL]DFMH SURGXFHQFL GDQ\FK  V F] VWR JHRJUDILF]QLH

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

LQIRUPDFMLXWUXGQLDGRQLFKGRVW SLLFKDQDOL] =WHJRSRZRGXQLH]E GQHVWDMHVL ZSURZDG]HQLH

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

ZVSRPQLDQRLQWHJUDFM GDQ\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]W ED] 1DVW SQLH

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\FK R]QDF]RQHMDNR(UyGáRGDQ\FK, 2 i

3

]NWyU\FKND*GDSRVLDGDVZyMZáDVQ\PRGHOGDQ\FKLVFKHPDW R]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\ü XGRVW SQLDQ\ 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]DMHJRSRUHGQLFWZHPGRVW SGR

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

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

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

WUDQVIRUPRZDQHGRPRGHOXPDJD]\QXILOWURZDQHLáF]RQHDQDVW SQLH]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\VW SXMHZGHILQLFMLSHUVSHNW\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\UHZULWLQJ 3URFHVWHQMHVWQLHZLGRF]Q\GODX*\WNRZQLND

3HUVSHNW\ZD ]PDWHULDOL]RZDQD IL]\F]QLH SU]HFKRZXMH UHNRUG\ E GFH 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\EyZ SRU

>@ SHáQ\P complete) lub przyrostowym (fast 7U\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]E GQ\ MHVW G]LHQQLN Z NWyU\P WUDQVDNFMD E G]LH ]DSLV\ZDáD

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

RGZLH*DQHW\ONRSHUVSHNW\Z\SURVWH SRUSXQNW 

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\Z ZED]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 QLHE G]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\WDQLDMHVWQDVW SXMF\

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\FKLVSRVyEGRVW SX

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

F] FLHMZ\NRU]\VWXMHVL GRWHJRFHOXM ]\N;0/ ]RE>@ GREU]HQDGDMF\VL GRRSLVXW]Z
danych semistrukturalnych

 DQJVHPLVWUXFWXUHGGDWD Z\VW SXMF\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]\SDGNXXGRVW SQLDQLDGDQ\FKZIRUPDFLH;0/EDUG]RZD*Q\PPHFKDQL]PHPVWDMVL

perspektywy. Ich zadaniem jest w tym przypadku:

LQWHJUDFMDGRVW SQ\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

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

XGRVW SQLDLQIRUPDFMHQDWHPDWXOLFL]QDMGXMF\FKVL QDQLFKRELHNWyZGR]ZLHG]DQLD'UXJDED]D
jest przewodnikiem gastronomicznym po Poznaniu i zawiera informacje na temat ulic i

]QDMGXMF\FKVL QDQLFKUHVWDXUDFML.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

QDVW SXMFHMSRVWDFL QDZLDVNODPURZ\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

GRVW SXLLQWHJUDFM ]LQQ\PL(UyGáDPLGDQ\FK'DQHSU]HNV]WDáFRQHSU]H]W DSOLNDFM VGRVW SQH

]DSRPRFSU]HJOGDUNL:::OXELQQHMDSOLNDFMLNOLHQWD QSSURJUDPXZ-DYD 

UyGáR GDQ\FK ;0/

VHUZHU GDQ\FK ;0/

VHUZHU SHUVSHNW\Z ;0/

SU]HJOGDUND :::

DSOLNDFMD ]HZQ WU]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\

1DVW SQLH 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\WUDQVIRUPDFM GDQ\FKVHPLVWUXNWXUDOQ\FKGRVWUXNWXUDOQ\FKLRGZURWQLH

7.2. Otwarte problemy badawcze

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

ZLHOX(UyGHáGDQ\FKZVLHFL,QWHUQHW:FHOXVNUyFHQLDGRVW SXGRGDQ\FKLXQLH]DOH*QLHQLDVL RG

background image

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

97

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

GDQ\FKXGRVW SQLDQ\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 ] QDVW SXMF\FK
czynników:

1.

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

QLHGRVW SQHFRXQLHPR*OLZLDRGZLH*HQLHSHUVSHNW\Z\

2.

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

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

GDQ\FK QLHNRQLHF]QLHED]GDQ\FK .RV]WWDNLPXVLUyZQLH*XZ]JO GQLDüF]DV\GRVW SXGR

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

3.

2GZLH*DQLH SU]\URVWRZH Z ZLHOX SU]\SDGNDFK QLH E G]LH PR*OLZH ]H Z]JO GX 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]E GQ\PZV\VWHPDFK ED] GDQ\FK &HOH MHM VWRVRZDQLD V

ZLHORUDNLH PLQ RJUDQLF]HQLH L DXWRU\]DFMD GRVW SX 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*OLZLLQWHJUDFM GDQ\FKZVLHFL,QWHUQHW2EHFQLHZLHOHRURGNyZQDXNRZ\FK PLQ

,15,$8QLZHUV\WHW\6WDQIRUGL:DVKLQJWRQ SURZDG]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:
perspektywy w systemach baz danych
Systemy Baz Danych (cz 1 2)
Planowanie systemow projekt 053 Nieznany
48 USTAWA o systemie oceny zgo Nieznany (2)
1 MSG i system GSid 8585 Nieznany (2)
Jak postawic system w 5 min prz Nieznany
Komputerowy system do?dań?ektywności metaheurystyki ''System Mrówek'' w zakresie optymalizacji dyskr
17 Obsluga systemu finansowo ks Nieznany (2)
dobrucki,systemy operacyjne, op Nieznany
,systemy operacyjne,koordynacja Nieznany (2)
05 System Informacjiid 5845 Nieznany
PERSPEKTYW ROZWOJU AZJI I PACYF Nieznany (2)
Analiza systemu dystrybucji pal Nieznany
glowny system pamieciowygsp LDY Nieznany
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
fras,systemy wbudowane, pytania Nieznany

więcej podobnych podstron