Automatyczne generowanie zawartości bazy danych
Transkrypt
Automatyczne generowanie zawartości bazy danych
XIII Konferencja PLOUG .RFLHOLVNR 3D(G]LHUQLN $XWRPDW\F]QHJHQHURZDQLH]DZDUWRFL bazy danych Sebastian Wajrych, Adam Pelikant 3ROLWHFKQLNDàyG]ND,QVW\WXWMechatroniki i Systemów Informatycznych [email protected], [email protected] Abstrakt. Wszystkie projekty (internetowe, GHVNWRSRZHLWG]DZLHUDMFHED] GDQ\FKERU\NDMVL QD SHZQ\P HWDSLH ] SUREOHPHP braku danych. Zarówno SURJUDPLVWDGHYHORSHU MDN L WHVWHU FKFLDáE\ VSUDZG]Lü G]LDáDQLH QRZR GRGDQHM IXQNFMRQDOQRFL 2F]\ZLFLH SUDZGRSRGREQLHREDME G]PXV]HQLX]XSHáQLüED] SRUFMGDQ\FKSRWU]HEQ\FKGRVSUDZG]HQLDIUDJPHQWXSURJUDPXNWyU\PDNWXDOQLH VL ]DMPXM7DNLHUR]ZL]DQLHPDGZDSRZD*QHPLQXV\3RSLHUZV]H]GX*\PSUDZGRSRGRELHVWZHPSURJUDPLVWDQLHXF]HVWQLF]\á wSURFHVLHDQDOL]\LZ\JHQHURZDQHSU]H]QLHJRGDQHZZL NV]RFLQLHE GRGSRZLDGDá\GDQ\PGRFHORZ\PREVáXJLZDQHJREL]QHVX QS 2UGHU 2UGHU 2UGHU 'UXJLP UyZQLH SRZD*Q\P SUREOHPHP MHVW EUDN VSyMQRFL GDQ\FK W]Q *H Johna Smitha znajdziemy w jednym module jako konsultanta Call &HQWHUDZGUXJLPMDNRG\UHNWRUDWHMVDPHMMHGQRVWNL7DNLHGDQHNRPSOHWQLHQLHQDGDMVL GR SUH]HQWDFMLDSOLNDFMLNOLHQWRZL1LHPR*HRQ]REDF]\üG]LDáDQLDV\VWHPXZVZRLPNRQWHNFLHDFR]DW\PLG]LHPR*HRGF]Xü*HQLH UR]XPLHP\MHJREL]QHVX]DWHPQLHE G]LHP\ZVWDQLHVSHáQLüMHJRZ\PDJD'RGDWNRZRVWUDFLOLP\FHQQH]DVRE\GODZ\JHQHURZDQLD EH]X*ytecznych danych. Informacja o autorach. 0JU LQ* 6HEDVWLDQ :DMU\FK DEVROZHQW :\G]LDáX (OHNWURWHFKQLNL (OHNWURQLNL ,QIRUPDW\NL L $XWRPDW\NL 3ROLWHFKQLNLàyG]NLHMNLHUXQNX,QIRUPDW\NDVSHFMDOQRü%D]\GDQ\FKLV\VWHP\HNVSHUWRZH Profesor QDG]ZGUKDELQ*$GDP3HOLNDQWMHGQD]QDMEDUG]LHMGRZLDGF]RQ\FKRVyEZDGPLQLVWUDFMLLREVáXG]HV\VWHPyZbazodanoZ\FKQD3ROLWHFKQLFHàyG]NLHM3U]HZRGQLF]F\L]DáR*\FLHONRáDQDXNRZHJRRWHPDW\FHED]GDQ\FK]U]HV]DMFHJRVWXGHQWyZFKFF\FK UR]ZLMDüVZRMHXPLHM WQRFLL]DLQWHUHVRZDQLDQDW\PSROX%DUG]R*\F]OLZDRVREDNWyUDF] VWREDUG]LHMZLHU]\ZXPLHM WQRFLVZ\FK SRGRSLHF]Q\FKQL*RQLVDPL=DZV]HVNRU\GRSRPRF\SU]\UR]ZL]\ZDQLXQRZ\FKSUREOHPyZVWXGHQWyZ]ZL]DQ\FK]ED]DPLGDQ\FK =DZV]HSU]HGVWDZLDMDVQRVZRMHFHOHLRF]HNLZDQLDZ]JO GHPGDQHMSUDF\SRPLPR*HF] VWRVWRWUXGQH]DJDGQLHQLD1DVWDZLRQ\QD SUDNW\F]QH VWRVRZDQLH QRZ\FK QDU] G]L L WHFKQRORJLL LQIRUPDW\F]Q\FK -HJR GHZL] V VáRZD $OEHUWD (LQVWHLQD 5R]ZL]XM ZV]\VWNR SURVWRDOHQLHSURFLHM Automatyczne generowanie zawartRFLED]\GDQ\FK 277 Wszystkie projekty (internetowe, GHVNWRSRZHLWG]DZLHUDMFHED] GDQ\FKERU\NDMVL na pewnym etapie z problemem braku danych. Zarówno programista-developer jak i tester FKFLDáE\ VSUDZG]Lü G]LDáDQLH QRZR GRGDQHM IXQNFMRQDOQRFL 2F]\ZLFLH SUDZGRSRGREQLH REDM E G ]PXV]HQL X]XSHáQLü ED] SRUFM GDQ\FK SRWU]HEQ\FK GR VSUDZG]HQLD NDZDáND SURJUDPXNWyU\PDNWXDOQLHVL ]DMPXM 7DNLH UR]ZL]DQLH PD GZD SRZD*QH PLQXV\ 3R SLHUZV]H ] GX*\P SUDZGRSRGRELHVWZHP SURJUDPLVWDQLHXF]HVWQLF]\áZSURFHVLHDQDOL]\LZ\JHQHURZDQHSU]H]QLHJRGDQHZZL NV]RFL QLH E G RGSRZLDGDá\ GDQ\P GRFHORZ\P REVáXJLZDQHJR EL]QHVX QS 2UGHU 2UGHU 2UGHU 'UXJLP UyZQLH SRZD*Q\P SUREOHPHP MHVW EUDN VSyMQRFL GDQ\FK W]Q *H Johna Smitha znajdziemy w jednym module jako konsultanta Call Center, a w drugim jako dyrektora tej samej jedQRVWNL7DNLHGDQHNRPSOHWQLHQLHQDGDMVL GRSUH]HQWDFMLDSOLNDFMLNOLHQWRZL1LHPR*HRQ]REaF]\ü G]LDáDQLD V\VWHPX Z VZRLP NRQWHNFLH D FR ]D W\P LG]LH PR*H RGF]Xü *H QLH UR]XPLHP\ MHJREL]QHVX]DWHPQLHE G]LHP\ZVWDQLHVSHáQLüMHJRZ\PDJD'RGDWNRZRVWUDFLOLP\FHQQH ]DVRE\GODZ\JHQHURZDQLDEH]X*\WHF]Q\FKGDQ\FK .ROHMQ\PSUREOHPHPMHVWEUDNPR*OLZRFLZ\NU\FLDLXVXQL FLDZLHOXEá GyZ]DUyZQRQDHWapie GHYHORSPHQWXMDNLQDHWDSLHWHVWyZ,ZW\PSU]\SDGNXUyZQLH*WUDFLP\FHQQH]DVRE\ 5R]ZL]DQLH PyJáE\ E\ü V\VWHP DXWRPDW\F]QHM JHQHUDFML GDQ\FK $E\ PyJá RQ ]DVSRNRLü wSHáQLQDV]HSRWU]HE\SRZLQLHQVSHáQLüNLONDSRGVWDZRZ\FK]DáR*H 'DQHZMDNQDMZL NV]\PVWRSQLXPXV]RGSRZLDGDüGDQ\PUHDOQ\P 3U]\NáDGRZRMH*HOLSU]\JRWRZXMHP\SROVNZLWU\Q ]DMPXMFVL VSU]HGD*ÄWRSRZHM´PX]yNLWRUHGQLDZLHNXMHMX*\WNRZQLNyZZ\QLHVLHODW]RGFK\OHQLHPVWDQGDUGRZ\PODWDX*\tkownicy o nazwisku 1RZDNE GVWDQRZLüD.RZDOVNLZV]\VWNLFKX*\WNRZQLNyZVHUZiVX7DNLHLQIRUPDFMHPR*HP\X]\VNDüEH]SRUHGQLRRGNRQVXOWDQWyZQDSRGVWDZLHEDGDU\QNX OXEZ\NRU]\VWXMFLVWQLHMFHED]\GDQ\FKNOLHQWD 6\VWHPPXVLE\üZ\GDMQ\ *HQHUDFMDGX*HMLORFLGDQ\FKMHVWF]DVRFKáRQQD'ODWHJRQDOH*\WDNRSUDFRZDüDOJRU\WP\LLFK LPSOHPHQWDFM DE\ ]PLQLPDOL]RZDü F]DV JHQHUDFML 3RQDGWR SRZLQLHQ RQ E\ü PR*OLZ\ GR REOiF]HQLDLZQDMJRUV]\PSU]\SDGNX]DOH*HüOLQLRZRRGOLF]E\JHQHURZDQ\FKGDQ\FK 6\VWHPPXVLXPR*OLZLDüáDWZUR]EXGRZ : SU]\SDGNX WZRU]HQLD WHJR W\SX V\VWHPX QLH MHVW PR*OLZH QD HWDSLH DQDOL]\ SU]HZLG]HQLH ZV]\VWNLFKW\SyZRUD]VSRVREyZJHQHURZDQLDGDQ\FK5R]EXGRZDPR*HSROHJDüQDSU]\NáDGQD GRGDQLX WDN SURVWHM IXQNFMRQDOQRFL MDN QRZ\ W\S UR]NáDGX VWDW\VW\F]QHJR REVáXJLZDQ\ SU]H] V\VWHP -H*HOL FKFLHOLE\P\ GR JHQHUDFML GDQ\FK Z\NRU]\VWDü ED] GDQ\FK NOLHQWD EG( VHUZLV ]HZQ WU]Q\V\VWHPUyZQLH*PXVLGDZDüPR*OLZRüáDWZHJRGRGDQLDWDNLHJRUR]ZL]DQLD 6\VWHPPXVLZ\VWDZLDü$3, :FHOXOHSV]HMLQWHJUDFML]QDU] G]LDPLdeveloperskimi takimi jak np. Eclipse system musi wyVWDZLDü $3, XPR*OLZLDMFH Z\NRQDQLH ZL NV]RFL RSHUDFML 1D MHJR SRGVWDZLH E G]LH PR*QD VWZRU]\üRGSRZLHGQLHZW\F]NL 6áRZQLNVWUXNWXU\±Structure Dictionary 1DOH*\VRELHRGSRZLHG]LHüQDS\WDQLHMDNLHGDQHZHMFLRZHVQDPSRWU]HEQHDE\P\PRJOL Z\JHQHURZDü GDQH VSHáQLDMFH SRZ\*V]H Z\PDJDQLD $QDOL]XMF SU]\SDGNL X*\FLD L SLHUZV]H 278 Sebastian Wajrych, Adam Pelikant Z\PDJDQLH V\VWHPX áDWZR ]DXZD*\ü *H SRWU]HEXMHP\ ]ZL ]áHJR RSLVX FKDUDNWHU\VW\NL GDQ\FK 0R*HP\ZW\PFHOXZ\NRU]\VWDüSRSXODUQHUR]NáDG\ VWDW\VW\F]QH L LFK VXSHUSR]\FM 3RWU]HEuMHP\UyZQLH*ÄSRMHPQLND´QD]DSLVDQLHPRGHOXGDQ\FK0DMFFDá\F]DVZSDPL FLGUXJLHZ\PaJDQLH GRW\F]FH áDWZRFL UR]EXGRZ\ RUD] HODVW\F]QRFL V\VWHPX PR*HP\ ]DXZD*\ü *H MHGQ z podVWDZRZ\FKVWUXNWXUVSHáQLDMF\FKWH]DáR*HQLDVVáRZQLNL3URSRQXM ]DVWRVRZDQLHVáRZQLND XPR*OLZLDMFHJRXWZRU]HQLHKLHUDUFKLL3U]\NáDGRZVWUXNWXU SU]HGVWDZLDWDEHOD 7DEHOD6WUXNWXUDVáRZQLND Id kolumny Nazwa kolumny Typ danych :DUWRü GRP\OQD NULL 1 DIC_ID NUMBER Brak NOT NULL 2 DIC_PARENT_ID NUMBER Brak NOT NULL 3 DIC_TYPE VARCHAR2(255 BYTE) Brak NOT NULL DIC_DESCRIPTION VARCHAR2(255 BYTE) Brak NULL 5 DIC_DATA_TYPE CHAR(1 BYTE) Brak NULL DIC_NUMBER_VAL UE NUMBER Brak NULL 6 DIC_STRING_VALU E VARCHAR2(4000 BYTE) Brak NULL 7 8 DIC_DATE_VALUE DATE Brak NULL 4 DIC_ID±LGHQW\ILNDWRUSR]\FMLVáRZQLND.ROXPQDNOXF]DJáyZQHJR DIC_PARENT_ID±LGHQW\ILNDWRUURG]LFDZLHUV]HZVáRZQLNXPRJWZRU]\üKLHUDUFKLH DIC_TYPE ± W\S VáRZQLND MHVW WR XQLNDWRZ\ áDFXFK WHNVWRZ\ QLH ZL NV]\ QL* ELWyZ RNUHODMF\W\SGDQHJRVáRZQLNDQS67RNUHODW\SVáRZQLNDGHILQLXMF\Z ]HáWDEHOL DIC_DESCRIPTIONRSLVVáRZQLNDMHVWWRáDFXFKWHNVWRZ\GRELWyZVWDQRZLF\RSLV ]QDF]HQLDGDQHJRVáRZQLND3DUDPHWUQLHRERZL]NRZ\ DIC_DATA_TYPE W\S GDQ\FK VáRZQLND MHVW WR SROH W\SX FKDU ZLHONRFL MHGQHJR ]QDNX 0R*HSU]\MPRZDüMHGQ]SRQL*V]\FKZDUWRFL • V – dane typu znakowego • N – dane typu numerycznego • D – dane typu datowego • O – dane innego typu; DIC_NUMBER_VALUE±GDQHW\SXQXPHU\F]QHJRZSU]\SDGNXJG\W\SGDQ\FKVáRZQLND MHVWXVWDZLRQ\QD 1 EG( 2 SU]HFKRZXMHGDQHQXPHU\F]QHVáRZQLND-HVWWRSDUDPHWUQLHREoZL]NRZ\DOH]DOH*Q\RGZ\EUDQHJRW\SXVáRZQLND DIC_STRING_VALUEGDQHW\SX]QDNRZHJRZSU]\SDGNXJG\W\SGDQ\FKVáRZQLNDMHVW XVWDZLRQ\QD 9 EG( 2 SU]HFKRZXMHGDQH]QDNRZHGRELWyZ-HVWWRSDUDPHWUQLHRERZLzNRZ\DOH]DOH*Q\RGZ\EUDQHJRW\SXVáRZQLND Automatyczne generowanie zawartRFLED]\GDQ\FK 279 DIC_DATE_VALUEGDQHW\SXGDW\ZSU]\SDGNXJG\W\SGDQ\FKVáRZQLNDMHVWXVWDZLRQ\ QD ' EG( 2 SU]HFKRZXMHGDQHGDW\VáRZQLND-HVWWRSDUDPHWUQLHRERZL]NRZ\DOH]DOH*Q\RG Z\EUDQHJRW\SXVáRZQLND 3U]\NáDGRZD VWUXNWXUD ]DZLHUDMFD GHILQLFM WDEHOL &8672056 GOD NWyUHM E G]LH RGE\ZDáD VL JHQHUDFMDLGHILQLFM JHQHUDFMLGODNROXPQ\%,57+B'$7(SU]HGVWDZLDGLDJUDP Diagram 1. Definicja podstawowej strukutry w SD 6WRVXMFWHJRW\SXVWUXNWXU GRGDQLHQRZHJRUR]NáDGXQLHVWDQRZL*DGQHJRSUREOHPX:\VWDrF]\]GHILQLRZDüQRZ\W\SVáRZQLNDLMHJRZ ]á\SRGU] GQH:GDOV]HMF] FLDUW\NXáXVWRVRZDá E G VNUyW6'Structure GLFWLRQDU\ZRGQLHVLHQLXGRSRZ\*V]HJRVáRZQLNDVWUXNWury. 6áRZQLNGDQ\FK±'DWDDictionary .ROHMQ\P ZD*Q\P HOHPHQWHP MHVW PLHMVFHJG]LHSU]HFKRZXMHP\GDQH HZLGHQF\MQH WDNLH MDN HOHPHQW\DGUHVXLPLRQDQD]ZLVNDLWG3R*GDQ\PMHVWDE\GDQHWDNLHGDZDá\VL UyZQLH*KLHUDrFKL]RZDüQSSDVWZDÆ miasta Æ ulice. 280 Sebastian Wajrych, Adam Pelikant Diagram 2. Definicja podstawowej strukutry w DD :FHOXSU]HFKRZ\ZDQLDWHJRW\SXGDQ\FKPR*HP\UyZQLH*Z\NRU]\VWDüVWUXNWXU\VáRZQLNowe. Wykorzystamy rozbudowany o pola trzech atrybutów SD. :\VWDUF]\WRMHGQDNGOD]DSLVDQLDZDUWRFLSR]\FMLVáRZQLND]F] VWRWOLZRFLZ\VW SRZDQLDL VXPVNXPXORZDQGODGDQHJRW\SX-H*HOLFKFLHOLE\P\QS]DSLVDüF] VWRWOLZRüZ\VW SRZDQLD SRV]F]HJyOQ\FKQD]ZLVNZND*G\P]ZRMHZyG]WZ]DVDGQ\PE\áRE\XWZRU]HQLHRVREQHMWDEHOLQD DWU\EXW\ EG( X*\FLH PDFLHU]\ 7DN SRZVWDá VWUXNWXU E G]LHP\ RNUHODü PLDQHP VáRZQLND Ganych (Data Dictionary) w skrócie DD. Algorytm generacji danych 0DP\ MX*]DSLV PRGHOX GDQ\FK L GHILQLFM JHQHURZDQ\FK GDQ\FK =DVWDQyZP\ VL WHUD]QDG DOJRU\WPHPJHQHUDFML3RZLQLHQVNáDGDüVL ]PLQLPXPWU]HFKID] • przygotowania • generacji danych • oczyszczenia struktury Przygotowanie struktury :WHMID]LHQDSRGVWDZLHGHILQLFMLPRGHOXGDQ\FKWZRU]RQDMHVWVWUXNWXUDQLH]DZLHUDMFDMHVzF]H *DGQ\FK GDQ\FK 'OD SyO GOD NWyU\FK ]GHILQLRZDQR ZDUWRü ] VHNZHQFML WZRU]RQH V RGSoZLHGQLHVHNZHQFMHLSURFHGXU\Z\]ZDODQH7ZRU]RQHVUyZQLH*WDEHOHSRPRFQLF]H Generacja danych :WHMID]LHRGE\ZDVL ZáDFLZDJHQHUDFMDGDQ\FK(OHPHQWDUQ\P ]GDU]HQLHP MHVWJHQHUDFMD GDQ\FKGODMHGQHJRSRODZMHGQ\PZLHUV]XGODGDQHMWDEHOL,WDNGODND*GHMWDEHOLn razy (gdzie n 281 Automatyczne generowanie zawartRFLED]\GDQ\FK WR OLF]ED JHQHURZDQ\FK ZLHUV]\ ]RVWDMH Z\ZRáDQD JHQHUDFMD HOHPHQWDUQD GOD ND*GHM NROXPQ\ tabeli. Start Przygotowanie struktury Oczyszczanie struktury Utworzenie tabel Usuwanie sekwencji Utworzenie sekwencji Usuwanie procedur wyzwalanych Utworzenie procedur wyzwalanych Usuwanie tabel pomocniczych Utworzenie tabel pomocniczych Koniec Generacja danych 'ODND*GHMWDEHOLW 'ODND*GHJRZLHUV]DJHQHUDFMLQ 'ODND*GHMNROXPQ\NWyUDPDQLHXVWDZLRQ ZDUWRüGRP\OQEG(]sekwencji *HQHUXMZDUWRüSROD 6\VWHPXPR*OLZLDQDNáDGDQLHJHQHUDFMLW]Q*HPR*HP\Z\JHQHURZDüGDQH]NLONXUy*Q\FK W\SyZ VáRZQLNyZ OXE UR]NáDGyZ VWDW\VW\F]Q\FK 3RZLHG]P\ *H SU]\WRF]RQD ZF]HQLHM MDNR SU]\NáDG ZLWU\QD LQWHUQHWRZD UR]V]HU]D RIHUW R PX]\N URFNRZ ODW 3UDZGRSRGREQLH ]yVNDP\UyZQLH*NOLHQWyZRNRáRURNX*\FLD]DWHPPXVLP\QDáR*\üGUXJLUR]NáDGVWDW\VW\F]Q\ :W\PFHOX6'XPR*OLZLDGHILQLRZDQLHGODGDQHJRSRODWDEHOLNLONXURG]DMyZJHQHUDFMLJHQHUXMF\FK RF]\ZLFLH WHQ VDP W\S GDQ\FK 1DWRPLDVW VDP DOJRU\WP JHQHUDFML ]RVWDMH Z]ERJDFRQ\ o moGXá GHF\GXMF\ NWyU\ ]H ]GHILQLRZDQ\FK UR]NáDGyZ GOD GDQHJR ZLHUV]D JHQHUDFML Z n-tym NURNXZ\EUDü Oczyszczanie struktury 2VWDWQLID]MHVWRF]\V]F]DQLDVWUXNWXU\]H]E GQ\FKGDQ\FKSRWU]HEQ\FKMHG\QLHGRSURFHVX JHQHUDFML7DNLPLRELHNWDPLVQSWDEHOHSRPRFQLF]HF]\VHNZHQFMHLtriggery. Testy prototypów =DSURSRQRZDQH UR]ZL]DQLH ]RVWDáR VSUDZG]RQH Z SUDNW\FH Z\NRU]\VWXMF SODWIRUP 2UDFOH J 3U]HSURZDG]RQR UyZQLH* WHVW\ Z\GDMQRFLRZH V\VWHPX RUD] ]EDGDQR ]DOH*QRü czasu generacji od liczby generowanych rekordów. 282 Sebastian Wajrych, Adam Pelikant Tabela 1. Konfiguracja URGRZNLVNDWHVWRZHJR Parametr :DUWRü Baza danych Oracle 10g (10.2.01) z Apache HTTP Server i mod_plsql System operacyjny Microsoft Windows XP Professional Wersja 2002 Dodatek Service Pack 2 Procesor AMD Athlon XP 2200+ (1.81GHz) 3DPL üRSHUDF\MQD 1 GB -DNR SU]\NáDG RPyZLRQD ]RVWDQLH JHQHUDFMD OLF]E ] UR]NáDGHP QRUPDOQ\P =DGDQLHP WHVWX E\áR]REUD]RZDQLHSU]\URVWXF]DVXJHQHUDFMLOLF]E]UR]NáDGHPQRUPDOQ\PZ]DOH*QRFLRGOLF]E\ NROXPQLOLF]E\JHQHURZDQ\FKUHNRUGyZ:F]DVLHWHVWXZ\JHQHURZDQRáF]QLHUHNRrGyZGODLNROXPQ=DF]\QDMFRGUHNRUGyZQDNRF]F]NURNLHP3U]yEOL*RQ\F]DVWHVWXZ\QLyVáJRG]LQ\PLQXW\ Wykres 1=DOH*QRFLF]DVXJHQHUDFMLOLF]E]UR]NáDGHPQRUPDOQ\PGODNROXPQRGOLF]E\JHQHURZanych wierszy =RWU]\PDQ\FKZ\QLNyZZLGDü*HF]DVJHQHUDFML]DOH*\ZSURVWSURSRUFMRQDOQLHRGOLF]E\Jenerowanych wierszy. &LHNDZHZ\QLNLGDMREOLF]HQLDSURFHQWRZHJRSU]\URVWXF]DVXJHQHUDFML cNROXPQZ]JO GHP JHQHUDFMLGODMHGQHMNROXPQ\1DMSURFLHMZ\UD]LüWRZ]RUHP Automatyczne generowanie zawartRFLED]\GDQ\FK 283 Gdzie: – procentowa zmiana czasu generacji jednej kolumny przy generowaniu n wierszy z c kolumQDPLZ]JO GHPF]DVXJHQHUDFMLn wierszy jednokolumnowych. – czas generacji n wierszy o c kolumnach. – czas generacji n wierszy jednokolumnowych Wykres 2=PLDQDF]DVXJHQHUDFMLMHGQHMNROXPQ\Z]DOH*QRFLRGOLF]E\NROXPQ =DNRF]HQLH Zbudowanie prototypu systemu PR*OLZLDMFHJRDXWRPDW\F]QJHQHUDFM GDQ\FKVSHáQLDMFHJR SRF]WNRZH ]DáR*HQLD SR]ZDOD ZQLRVNRZDü *H PR*OLZH MHVW VWZRU]HQLH SRáQRZDUWRFLRZHJR V\VWHPXNWyU\SRVLDGDEDUG]RV]HURNLREV]DU]DVWRVRZDQLD1DOH*DáRE\SRVWDZLüQDFLVNQDVWZoU]HQLH PRGXáX XPR*OLZLDMFHJR LQWHJUDFM ] ]HZQ WU]Q\PL V\VWHPDPL DQDOLW\F]Q\PL SRQLHZD* SURFHV U F]QHJR ZSURZDG]DQLD GHILQLFML VWUXNWXU\ MHVW SRQRZQLH SURFHVHP F]DVRFKáRQnym. SysWHPGRFHORZ\ZLQLHQXPR*OLZLDüSRGáF]HQLHGRV\VWHPXDQDOLW\F]QHJRLSREUDQLHRGSRwiednich LQIRUPDFMLLQDLFKSRGVWDZLHZ\JHQHURZDüGHILQLFM stuktury i generacji. Bibliografia Steven Feuerstein, Charles Dye, John Beresniewicz, 2000. Oracle Builtin Packages. O’REILLY, http://www.unix.org.ua/orelly/oracle/bipack/index.htm Joe Celko, 2005-2007. Morgan's Library. Pages Sound Oracle Users Group, http://www.psoug.org/library.html Eric W. Weisstein at MathWorld. Electronic doument, 2005 http://mathworld.wolfram.com Oracle 10g Documentation, 2007 http://www.oracle.com/technology/documentation/index.html ,QWHUQHWRZ\SRGU F]QLNVWDW\VW\NLStatSoft, Inc. 1984-2005 http://www.statsoft.pl/textbook/stathome.htm