DBVS IV paskaita koncepcinis modeliavimas 2015 10 16
DBVS [IV paskaita – koncepcinis modeliavimas] 2015 10 16 dr. Regimantas Pranaitis 1
tinklinis nuosekli nasa loginis Codd 10+1 koncepcinis normalizavimas odbvs hierarchinis sql chen php relation ordbvs reliacinis fizinis skaičiavimai mysql Data mining ? [I paskaita] Dėstytojo klausimai DB raidos ypatumai + arg. + pvz. Kodo taisyklės + interp. Reliacinis modelis + koment. + pvz. Ateities db + pvz. , arg. algebra … ? ? ? 60 2 70 80 90 2000 2010
? [II-III paskaitos] SQL. . 3
DB gyvavimo ciklas 4
DB gyvavimo ciklas 5
DB gyvavimo ciklas DB palaikymas 6
DB gyvavimo ciklas Projektavimas, Realizacija, Palaikymas. Priemonės xcase dbdesigner 4 Powerdesigner(Sybase) Oracle designer Wordpress. . 7
DB gyvavimo ciklas Projektavimas, Realizacija, Palaikymas. Priemonės xcase dbdesigner 4 Powerdesigner(Sybase) Oracle designer SQL server management studio . . Wordpress. . 8
Poreikių analizė 9
Poreikių analizė DB palaikymas 10
Probleminė sritis (dalykinė sritis – kam skirta DB, pvz. , fin. ) 11
Informacijos šaltiniai užsakovai, dalykinės srities ekspertai, asmenys, vykdantys dalykinėje srityje vykstančius procesus, rašytiniai šaltiniai, tiesioginis vykstančių procesų stebėjimas. 12
Pagrindiniai informacijos rinkimo metodai struktūrinis ir nestruktūrinis interviu tikslų analizė, scenarijai, formų analizė, natūralios kalbos metodai. 13
Taigi svarbu Aiškiai suvokti DB tikslus Išsiaiškinti informacinius poreikius Anketos Pokalbiai su vadybininkais Ataskaitinės formos kt. Dokumentuoti (!!) DB kuriama tik dokumentuotos info pagrindu Atlikti sukauptos info analizę [pvz. , objektai- atributai-ryšiai] 14
Koncepcinis modeliavimas. . . 15
DB trijų lygmenų struktūra (1978) Išorinis tai – kaip duomenis suvokia vartotojas Koncepcinis duomenų schema (gauta atsižvelgus į poreikius) Vidinis fizinis - vartotojui nepasiekiamas 16
Koncepcinis modeliavimas DB palaikymas 17
Koncepcinis modelis Modelis – tikrovės atvaizdas (paliktos esminės detalės) Atvaizduojama – susiejami skirtingų sričių elementai: modeliuojant tikrovę, atrenkamos detalės ir sukuriamas “teisingas” dalies tikrovės modelis (t. y. tikrovės elementai atvaizduojami modelio elementais) Objektinis modelis – tikrovė atvaizduojama objektais (o ne įrašais) Semantinis modelis – atvaizduojama realių kategorijų ir sąryšių reikšmėmis 18
Koncepcinis DB modelis Objektinis DB modelis – tai realaus pasaulio kategorijų kompiuterinis atvaizdavimas objektais, t. y. susietomis esybėmis ir atributais (o ne tradicinės failų sistemos įrašais). Objektinio vaizdavimo atveju loginė tikrovės esmė atspindima tiksliau, aiškiau (plg. su vaizdavimu, grindžiamu įrašais). (šią metodologiją taip pat galima pavadinti semantine, nes ji leidžia efektyviai atvaizduoti realių daiktų reikšmes modelio konstrukcijoje). Objektai (esybės) ir jų tarpusavio ryšiai yra pagrindiniai koncepcinio modelio elementai. Objektai dažnai išreiškiami daiktavardžiais, Ryšiai – veiksmažodžiais. 19
Koncepcinis DB modelis. Objektai – tai, ką vartotojas laiko svarbia modeliuojamos tikrovės dalimi Pvz. , žmogus, automobilis, knyga, namas ir kt. (konkretūs objektai) kompanijos, organizacijos, įvairios dalykinės operacijos ir kt. Objektinė aibė – to paties tipo objektų visuma Objektas-elementas – tai vienas konkretus objektinės aibės elementas Objektinės aibės: Leksinės, t. y. Išreiškiamos simbolių seka (galima atspausdinti) VARDAS , DATA, KIEKIS, DRAUDIMO-NUMERIS. . . Abstrakčios ŽMOGUS yra abstrakti aibė, nes žmogaus atspausdinti negalima. Galima žmogų įsivaizduoti leksiniu objektu, tokiu kaip vardas ir draudimo numeris. Tačiau draudimo numeris arba vardas gali pasikeisti, o žmogus liks tas pats. 20
Koncepcinis DB modelis. . Konkretizacija – objektinė aibė, kuri yra aibė kitos objektinės aibės dalis. Apibendrinimas – objektinė aibė, turinti viduje kitą objektinę aibę. 21
Koncepcinis DB modelis. . . Ryšiai susieja dvi objektines aibes Sudėtinė objektinė aibė – ryšys traktuojamas kaip objektinė aibė 22
Koncepcinis DB modelis. . Ryšių tipai Ryšio kardinalumas – rodo maksimalų kiekį objekto elementų, susietų su vienu kito objekto elementu. Dažniausiai domina maksimalus kardinalumas, tačiau kartais naudinga žinoti ir minimalų. Pavyzdžiui, būna taip, kad vieno objekto elementas neturi ryšio su kito objekto elementais, tai ryšio kardinalumas lygus 0. 23
Koncepcinis DB modelis. . . Funkcinis ryšys – tai ryšys, kurio maksimalus kardinalumas nors vienoje krypčių lygus vienetui. Pagrindiniai ryšių tipai: Vienas-vienas (1 -1) – maksimalus sąryšio kardinalumas abiem kryptimis lygus vienetui; Vienas-daug (1 -*) – maks. kardinalumas lygus 1 viena kryptimi, o kita > 1; Daug-daug (*-*) – jei maks. kardinalumas abiejomis kryptimis > 1 (pastarasis ryšys yra nefunkcinis). Ryšių tipai dar būna: Išimtiniai ryšiai – kai objektų dalyvavimas juose panaikina galimybę dalyvauti kituose; Apimantys ryšiai – kai objektų dalyvavimas juose automat. įtraukia tuos objektus į kitus ryšius. Rekursiniai ryšiai – tai tokie ryšiai, kai tuo paties objekto elementai yra susieti tarpusavyje. Taip pat yra privalomi ir nebūtini ryšiai. 24
Koncepcinis DB modelis. . . Atributai Paprastai objektinės aibės elementai įsivaizduojami su tam tikrais atributais, leidžiančiais atskirti vieną elementą nuo kito. Kitaip sakant, objekto atributai nusako jo savybes, charakteristikas ir požymius. Atributas – tai tarsi atskiras objektas, kuris sudaro funkcinį ryšį su kitu objektu. Atributo reikšmė vienareikšmiškai nusakyta kiekvienam atributo elementui. Bet būna ir taip, kad kai kuriems objekto elementams tam tikro atributo reikšmė neapibrėžta. Tada sakoma, kad atributas turi tuščią reikšmę šitam objekto elementui. Tuščia atributo reikšmė – tai atributo reikšmė, kuri neapibrėžta tam tikram objekto elementui. Koncepciniame modelyje svarbu skirti atributus nuo objektų, kuriuos jie apibrėžia, nes atributų reikšmės gali keistis, tuo tarpu, kai objektas, kurį jie apibrėžia, nesikeičia. Pvz. , žmogaus ūgis, svoris, plaukų spalva ir t. t. gali keistis, tačiau žmogus liks tas pats. Bet ne visi atributai keičiasi. Dažnai, labai naudingas toks atributas, kurio reikšmė nesikeičia. Tokį atributą galima panauduoti, kaip išorinį raktą. Raktas – tai atributas, kuris leidžia vienareikšmiškai nusakyti objektą. Identifikatorius – tai pirminis raktas Svetimas (išorinis) raktas – tai leksinis atributas ar jų visuma, kuri leidžia vienareikšmiškai nusakyti objektą. 25
Koncepcinis duomenų bazės modelis 26
Koncepcinis DB modelis. . . ? 27
Koncepcinis db modelis 28
DB “sodai” Kiek obuolių veislių yra Antavilių sode? Kiek vaismedžių vidutiniškai žūva per metus Žagarės sode? Koks yra obelų amžiaus vidurkis? Kiek yra slyvų su kelių veislių skiepais? 29
DB “sodai” Nudžiūvimo metai Pasodinimo metai 1 * sodas medis * * 1 * veislė rūšis 1 30 *
Paslaugų firmos DB poreikiai Firmai vadovauja savininkė. Firma tiekia įvairius patiekalus vaišėms, vestuvėms ir pan. Veikla. Firma turi keletą pastovių klientų. Pasitaiko ir atsitiktiniai klientai. Kiekvieno užsakymo sąmata skaičiuojama pagal šiuos duomenis: patiekalo rūšis, patiekalo paruošimas ir serviravimas. Po to įvertinama vienos porcijos kaina. Gauta suma dauginama iš maksimalaus laukiamų svečių skaičiaus. Ši informacija įrašoma sąmatoje ir po to įvedama į kompiuterį. Darbuotojų užmokestis. Kiekvieno užsakymo pelno 20% sumokama darbą atlikusiam darbuotojui. Jeigu užsakymą vykdė 2 ar daugiau darbuotojų, tuomet jie pasidalina tuos 20%. Atlyginimas sumokamas kas 2 savaitės. Savininkė perka produktus ir inventorių. Ji taip pat stebi, kas vykdo užsakymus, paskaičiuoja visų darbuotojų atlyginimus. Savininkė apmoka ir visas kitas sąskaitas. Pirkiniai. Viskas perkama kreditan. Tiekėjai įvairūs. Savininkė apmoka sąskaitas per 30 dienų, nors apmokėjus anksčiau, būtų suteikta nuolaida. Darbų paskirstymas. Darbuotojams užduotys skiriamos atsižvelgiant į įgūdžius ir užimtumą. Vienkartinius darbus dažniausiai atlieka savininkės šeimos nariai. Darbai paskirstomi mažiausiai savaitei į priekį. Atlikus užsakymą, savininkė paruošia ataskaitą, kurioje išvardijami panaudoti įrenginiai, kas atliko darbą, kiek laiko dirbta. Reklama. Užsakymai dažniausiai gaunami asmeninių pažinčių dėka. Daugelis sužino apie firmą iš jos klientų. Be to, savininkė dar spausdina reklaminius lapelius, kurie platinami vietinėse parduotuvėse, kuriose lankosi potencialūs klientai. Kartais paduodami skelbimai į vietinį laikraštį. Finansinė padėtis. Firma ofiso neturi. Kadangi visa veikla vyksta namuose, tai išlaidos nėra didelės. Steigiant firmą, buvo išlaidų įrengimams. Dabar turimų lėšų pakanka deramai organizuoti veiklą. Pagrindines išlaidas sudaro išlaidos produktams ir darbuotojų atlyginimams. Pelnas skaičiuojamas iš užsakymo kainos atėmus išlaidas produktams ir darbuotojų atlyginimams. 31
Paslaugų firmos DB . . . 32
Kas toliau? DBVS temos pasirinkimas [originali arba, pvz. , paslaugų firmos] DB poreikių nustatymas ir analizė koncepcinis modelis bei jo pavertimas reliaciniu DB realizavimas. . antroji aktualija - php-mysql 33
Konceptualaus modelio pavertimo reliaciniu taisyklės 1. Konceptualaus modelio objektai reliaciniame modelyje pavirsta lentelėmis, atributai - laukais, objektų ryšiai - lentelių laukų ryšiais. 2. 1 -1 ryšys tarp lentelių nustatomas susiejant lentelių laukus-raktus. 3. 1 -* ryšys tarp lentelių nustatomas papildant "*" lentelę antrosios ("1") lentelės lauku-raktu. 4. *-* ryšys tarp lentelių nustatomas sukuriant trečiąją lentelę su abiejų pirmųjų lentelių laukais-raktais. Pastaba: Panašių taisyklių (jų teisingumą galima įrodyti) yra ir daugiau. Pavyzdžiui, konceptualųjį modelį paverčiant reliaciniu dar naudojamasi rekursinio ryšio, sudėtinio objekto, konkretizacijos pavertimo reliaciniu modeliu ir kitomis taisyklėmis. 34
Pertrauka Klausimai? [Db aktualijoms http: //www. booksites. net/download/connbegg/download. htm] 35
Internetinės duomenų bazės tikriausiai jos yra perspektyviausios pasaulinis archyvas (www. archive. org ) vukf (www. kf. vu. lt, …) delfi (www. delfi. lt) LR seimas (www. lrs. lt) – oracle pagrindu. . DB – informacinių sistemų (IS) pagrindas ir t. t. šaltiniai www. w 3 schools. com Ir kt. 36
Atsiskaitymai Paskelbti darbai Įdiegta ir panaudota TVS [~wordpress] Php-mysql jungtis+sąsaja [php/mysql] a) sql, mysql (demo) b) phpmyadmin, paprasta db (demo) c) php intarpas, php-mysql jungtis (demo) d) php-mysql sąsaja (demo) Aktualios temos [sem] Wp aktualia Php-mysql aktualija Rdb projektas [*-*, 1 -1] Db kūrimo planas + realizacija Testai Wp, SQL [spalis] Php-mysql sąsaja [gruodis] DBVS testas [egz] 37
- Slides: 37