File Info : >>
Contents :
1 - 23 2 - 23 10. Objektins technologijos reliacinse DBVS x Reliacins DBVS tiek Lietuvoje tiek ir visame pasaulyje paplit nepalyginamai pla iau negu vis kit tip DBVS kartu pamus. x Grsm viespatavimui" kelia tik objektins DBVS. x RDBVS krjai pripazsta OT privalumus ir diegia jas isplsdami RDBVS ir SQL galimybes. x Siuolaikins 10.1. Objektins duomen bazs x RDB grindziamas grieztais matematiniais apibrzimais. x ODB griezto teorinio pagrindo neturi. x ODB bdingi objektins technologijos principai: Objektai. Duomenys organizuojami objektais. Klass. RDB duomen tipas kei iamas hierarchine klase. Paveldimumas. Objektai paveldi protvi savybes. Atributai. Taip modeliuojamos objekto charakteristikos. Pranesimai ir metodai. Objektai bendrauja pranesimais. Inkapsuliacija. Vidin objekto sandara paslpta. Objekt identifikatoriai. Objektai atskiriami pagal OID. RDBVS reliacinmis DBVS. vadinamos objektinmis- 3 - 23 4 - 23 Pagrindinis ODB privalumas - dalykinei sri iai bdingos duomen struktros vaizdavimas objektais vieningas: DB-je ir taikomojoje programoje. ODB trkumai: OID - svoka yra artima nuorodos duomenis svokai kuri buvo bdinga ikireliacinms DB ODB neturi griezto matematinio pagrindo standartizavimo problemos. Komercini RDBVS krjai atsizvelgdami OT privalumus ir siekdami islaikyti turimas pozicijas rinkoje dieg daug svok kurios anks iau buvo bdingos tik ODBVS. RDBVS issaugodamos visus reliacinio modelio privalumus gavo nauj bruoz (nauji SQL sakiniai) tapo objektinmis-reliacinmis DBVS (ORDBVS). 5 - 23 6 - 23 10.2. Objektins-reliacins duomen bazs Siekiant perimti geruosius ODB bruozus RDB-se diegta: x Dideli duomen objektai. x Vartotojo apibrziami duomen tipai. x Struktriniai duomen tipai. x Vartotojo apibrziamos funkcijos. x Objekt identifikatoriai. x Duomen aktyvumas. Papildzius ORDB dideliais objektais ir kitomis objektinmis priemones pradti kurti reliaciniai pltiniai (angl. relational extender): DB2 Relational Extenders" Oracle Data Options" Informix Data Blades". 7 - 23 8 - 23 Reliaciniai pltiniai funkcionuojantys ORDBVS DB2: x Grafinis pltinys. Palaikomi formatai: GIF JPEG BMP TIFF. Pradiniai perzirai gali pateikti nedidel vaizdo fragment atlikti kontekstin vaizd paiesk ir pan. x Video pltinys. Leidzia operuoti populiariausiais formatais: MPEG1 MPEG2 AVI Quicktime automatiskai segmentuoti rasus pagal scenos pasikeitimus surasti scenos atstov ir pan. x Audio pltinys. Duomen formatai: AIFF MIDI WAVE MP3. Funkcijos leidzia suzinoti daugel ras charakteristik. x Erdvinis pltinys(angl. spatial extender) erdvinei informacijai apie geografinius objektus saugoti ir apdoroti. x Tekst pltinys (angl. text extender) kuris: palaiko vairiais tekst procesoriais (Microsoft Word Word Perfect AmiPro) sukurtus tekstus sukuria spec. tipo indeksus kontekstinei (pagal zodzius j dalis ir frazes) paieskai tekstuose tekstai gali bti sudaryti vairiomis kalbomis (angl vokie i prancz ir pan.) paieskose gali bti atsizvelgiama zodzi sinonimus bei formas. 9 - 23 10 - 23 Uzklausa naudojanti tekst pltinio funkcij CONTAINS: SELECT Nr Pavard FROM Vykdytojai WHERE CONTAINS( CV csstazuots (sVokietijas sPranczijas) ) 0 10.3. Nauj duomen tip apibrzimas Naudojant bazinius tipus sakiniu CREATE TYPE galima apibrzti naujus tipus (user-defined type): CREATE TYPE Valiuta AS DECIMAL(15 2) CREATE TYPE Litai AS DECIMAL(15 2) NOT sJAVs)c Automatiskai sukuriama: x funkcija naujo tipo reiksms gavimui is bazinio x funkcija bazinio tipo reiksms gavimui is naujojo x galimyb lyginti tarpusavyje apibrziamojo tipo reiksmes: ir kt. Raktiniai zodziai DISTINCT ir WITH COMPARISONS paseno. 11 - 23 12 - 23 Vartotojo apibrzti tipai vartojami kaip standartiniai: ALTER TABLE Projektai ADD Vert Valiuta Valiuta ALTER TABLE Projektai ADD Vert Litais Litai Sukrus nauj tip automatiskai generuojama funkcija naujojo tipo reiksmms sukurti INSERT INTO Projektai (Nr Pavadinimas Vert Valiuta Vert Litai) VALUES( 4 cInventoriaus apskaitac Valiuta(10000.00) Litai(40000.00)) SELECT Pavadinimas FROM Projektai WHERE Vert Valiuta Valiuta(1000.00) SELECT Pavadinimas FROM Projektai WHERE Vert Litais Litai(1000.00) SELECT Pavadinimas FROM Projektai WHERE Vert Valiuta 1000 neteisingas SELECT Pavadinimas FROM Projektai WHERE Vert Valiuta Vert Litais neteisingas 13 - 23 14 - 23 Lyginant reikalingas tip suvienodinimas: SELECT Pavadinimas FROM Projektai WHERE DECIMAL(Vert Valiuta) DECIMAL(Vert Litais) sintaks teisinga ta iau logiskai ji neprasminga. SELECT Pavadinimas FROM Projektai WHERE DECIMAL(Vert Valiuta) * 3.4528 DECIMAL(Vert Litais). Ta iau jei kursas yra kintamas tai pastarj uzklaus tenka parametrizuoti. Papras iausias bdas parametrizuoti naujos funkcijos. 15 - 23 10.4. Nauj funkcij apibrzimas Reiskinys Valiuta(10) + Valiuta(20) yra neteisingas jei duomen tipui Valiuta nebuvo apibrzta sudties operacija. Neapibrzus funkcij reiksmes galima tik lyginti Valiuta(10) Valiuta(20) CREATE FUNCTION ss (Valiuta Valiuta) RETURNS Valiuta SOURCE ss (DECIMAL(15 2) DECIMAL(15 2)) CREATE FUNCTION s*s(Valiuta DECIMAL(10 5)) RETURNS Valiuta SOURCE s*s(DECIMAL(15 2) DECIMAL(10 5)) 16 - 23 UPDATE Projektai SET Vert Valiuta Vert Valiuta + Valiuta(1000) WHERE Nr 4 CREATE FUNCTION Sum Valiuta(Valiuta) RETURNS Valiuta SOURCE SUM(DECIMAL(15 2)) SELECT Sum Valiuta(Vert Valiuta) FROM Projektai Apibrziamas funkcijas galima realizuoti SQL reiskiniais: CREATE FUNCTION Valiuta Litai(X Valiuta) RETURNS Litai LANGUAGE SQL CONTAINS SQL RETURN Litai(DECIMAL(X * 3.4528)) CONTAINS SQL reiskinyje nra vykdoma jokia uzklausa. Alternatyva READS SQL DATA. 17 - 23 18 - 23 Skaliarin funkcija nurodyto argumentu vykdytojo visiems projektams skiriam valandoms apskai iuoti: CREATE FUNCTION Sum Valandos(Nr INTEGER) RETURNS INTEGER LANGUAGE SQL NOT DETERMINISTIC NO EXTERNAL ACTION READS SQL DATA RETURN (SELECT SUM(Valandos) FROM Vykdymas WHERE Vykdytojas Nr) NOT DETERMINISTIC apskai iuojant funkcijos reiksm tai pa iai argumento reiksmei gali bti gaunami skirtingi rezultatai NO EXTERNAL ACTION nepasikeis jokio isorinio objekto bsena SELECT Pavard Sum Valandos(Nr) FROM Vykdytojai SELECT frazje esantys reiskiniai skai iuojami kiekvienai eilutei. Todl si uzklausa struktriskai panasi uzklaus su koreliuota daline uzklausa. 19 - 23 20 - 23 Daugelis DBVS leidzia apibrzti isorines funkcijas. Isorine vadinama funkcija kuri: realizuota kuria bazine programavimo kalba jos vykdomasis (masininis) kodas yra DLL-e duomen bazje yra saugoma tik funkcijos ssajos apibrzimas. Tarkime lit konvertavimo valiut funkcija realizuota C kalba. Paruosus vykdomj modul su funkcijos kodu DB-ei pranesama apie funkcijos egzistavim ir ssaj: CREATE FUNCTION Litai Valiuta(Litai) RETURNS Valiuta EXTERNAL NAME ckonvertavimas litai valiutac LANGUAGE C PARAMETER STYLE SQL DETERMINISTIC NO SQL NO EXTERNAL ACTION 21 - 23 22 - 23 JAVA kalba: CREATE FUNCTION Litai Valiuta(Litai) RETURNS Valiuta EXTERNAL NAME cValiutos:Konvertavimas.litai2valiuta( java.math.BigDecimal)c LANGUAGE JAVA PARAMETER STYLE JAVA DETERMINISTIC NO EXTERNAL ACTION -EXTERNAL NAME nurodoma: 9 C: bibliotekos (DLL) vardas (konvertavimas) ir joje esan ios funkcijos vardas(litai valiuta) 9 JAVA: JAR vardas (Valiutos) klass vardas (Konvertavimas) jos metodo vardas (litai2valiuta) ir argumento klass vardas (java.math.BigDecimal). LANGUAGE programavimo kalba (C JAVA) nuo kurios pvz. gali priklausyti parametr perdavimo tvarka PARAMETER STYLE argument atitikimo stilius NO SQL funkcijos kne nra SQL sakini (CONTAINS SQL). 23 - 23 SELECT Pavadinimas Vert Valiuta + Litai Valiuta(Vert Litais) AS sBendra vert valiutas FROM Projektai DBVS pasiruosdama vykdyti uzklaus su kreipiniu isorin funkcij sintaksin analiz atlieka pasitelkusi tik sakiniu CREATE FUNCTION apibrzt ssaj.
- Rating :
- Surf Anonymously!
- File Type : .pdf
- Page size : 170 x 240
- Length : 3 pages
- File Size: 68.5 kb
- Virus Tested : No
- Verified : 2013-03-22
- Source: www.mif.vu.lt
INFO HASH : 41dcdf6cdc4a74a03eb6c0c497fc6488c410da16
blog comments powered by Disqus

Download now