Click here to load reader

Objektno-orijentisani pristupi u modelima · PDF fileObjektno-orijentisani pristupi u modelima podataka Objektno-orijentisani i objektno-relacioni sistemi Objektno-orijentisani pristupi

  • View
    241

  • Download
    7

Embed Size (px)

Text of Objektno-orijentisani pristupi u modelima · PDF fileObjektno-orijentisani pristupi u modelima...

  • Objektno-orijentisani pristupi

    u modelima podataka

    Objektno-orijentisani i objektno-

    relacioni sistemi

    Objektno-orijentisani pristupi u modelima podataka

    Sistemi baza podataka

  • 2 / 144

    Sadraj

    Motivacija

    Osnovni objektno-orijentisani koncepti

    Objektno-orijentisani model podataka

    Objektno-relacioni model podataka

    Poreenje objektnih modela podataka

    Objektno-orijentisani pristupi u modelima podataka

  • Motivacija

    Problemi relacionih baza podataka

    problem ogranienog broja tipova podataka

    integer, date, string, itd.

    pogodan za tradicionalne sisteme

    koji obuhvataju dominantno alfanumerike (tekstualno

    orijentisane) podatke

    problem brzog rasta koliine podataka

    postaju kritine odreene karakteristike SUBP-ova

    kontrola konkurentnog izvravanja

    oporavak od greaka

    indeksiranje

    performanse upita

    izraajnost upitnog jezika

    3 / 144 Objektno-orijentisani pristupi u modelima podataka

  • Motivacija

    Zahtevi nove generacije aplikacija

    esta upotreba kompleksnih podataka

    tradicionalno smetenih izvan baze podataka

    datoteke operativnog sistema

    specijalizovane strukture podataka

    zahtev za proirenjem SUBP-ova konceptom

    kompleksnog tipa

    novi domeni primene

    CAM/CAD sistemi

    geoinformacioni sistemi

    multimedijalni sistemi

    4 / 144 Objektno-orijentisani pristupi u modelima podataka

  • Motivacija

    Reenje

    upotreba objektno-orijentisanih koncepata u bazama

    podataka

    Baze podataka sa OO konceptima podravaju

    laku integraciju sa OO programskim jezicima

    kompleksne tipove

    za smetanje velikih podataka

    slike, video, veliki tekstualni podaci itd.

    duge transakcije

    specifikaciju strukture i operacija nad podacima

    5 / 144 Objektno-orijentisani pristupi u modelima podataka

  • Motivacija

    Baze podataka sa OO konceptima

    Objektno-orijentisane baze podataka

    nastale pod uticajem objektno-orijentisanih programskih

    jezika

    jezici proireni funkcionalnostima SUBP-ova

    alternativa relacionim bazama

    kompleksni tipovi igraju glavnu ulogu

    Objektno-relacione baze podataka

    proirenje relacionih baza

    predstavljaju objedinjenje relacione i objektne paradigme

    6 / 144 Objektno-orijentisani pristupi u modelima podataka

  • 7 / 144

    Sadraj

    Motivacija

    Osnovni objektno-orijentisani koncepti

    Objektno-orijentisani model podataka

    Objektno-relacioni model podataka

    Poreenje objektnih modela podataka

    Objektno-orijentisani pristupi u modelima podataka

  • Osnovni objektno-orijentisani koncepti

    Pojam objektno-orijentisano (OO)

    potie od objektno-orijentisanih programskih jezika

    kasne 1960. godine jezik SIMULA

    1970. godine Smaltalk

    isti objektno-orijentisani jezik

    1979. godine C++

    hibridni objektno-orijentisani jezik

    1991. godine Python

    viestruke paradigme

    1995. godine Java

    2000. godine C#

    8 / 144 Objektno-orijentisani pristupi u modelima podataka

  • Osnovni objektno-orijentisani koncepti

    Osnovna OO pravila

    svaki entitet iz realnog sveta modeluje se objektom

    svaki objekat poseduje jedinstveni identifikator

    svaki objekat je instanca i okarakterisan je atributima

    i metodama

    skup atributa je osnova strukture objekta

    vrednost atributa moe predstavljati objekat ili skup objekata

    skup metoda definie ponaanje

    vrednosti atributa definiu stanje objekta

    promena ili pristup stanju vri se slanjem poruka

    pozivanjem metoda nad objektom

    9 / 144 Objektno-orijentisani pristupi u modelima podataka

  • Osnovni objektno-orijentisani koncepti

    Osnovna OO pravila

    objekti koji zadovoljavaju istu osobinu (predikat)

    grupiu se u jednu klasu

    svaki objekat je instanca klase kojoj pripada

    svi objekti klase zadovoljavaju istu strukturu i ponaanje,

    definisano klasom

    klasa se moe definisati specijalizacijom jedne ili

    vie postojeih klasa

    potklasa nasleuje atribute i metode natklase

    10 / 144 Objektno-orijentisani pristupi u modelima podataka

  • Objekat

    privremeni objekat

    objekat koji postoji samo tokom izvrenja programa, u

    memorijskoj zoni programa

    ogranienog ivotnog veka, najdue do zavretka programa

    perzistentni objekat

    objekat koji je uskladiten u bazi podataka

    ima neogranien ivotni vek

    sa obezbeenim pristupom od strane vie programa

    11 / 144 Objektno-orijentisani pristupi u modelima podataka

    Osnovni objektno-orijentisani koncepti

  • Osnovni objektno-orijentisani koncepti

    Klasa

    skup atributa (promenljivih, varijabli)

    koncept atributa analogan je konceptu atributa u relacionom

    modelu

    atribut moe biti vidljiv izvan klase i skriven

    skup operacija

    operacija predstavlja specifikaciju ponaanja objekta

    operacija se moe izvriti nad objektima date klase

    objekat predstavlja skup vrednosti atributa klase

    nad kojim se mogu primenjivati operacije klase

    vrednostima skrivenih atributa ne moe se pristupiti direktno

    ve korienjem namenski specificiranih operacija

    princip enkapsulacije

    12 / 144 Objektno-orijentisani pristupi u modelima podataka

  • Osnovni objektno-orijentisani koncepti

    Glavni koncepti OO modela

    identitet objekta

    konstruktor tipa

    enkapsulacija operacija

    kompatibilnost izmeu programskih jezika

    hijerarhija tipova i nasleivanje

    ekstent

    polimorfizam operacija

    13 / 144 Objektno-orijentisani pristupi u modelima podataka

  • 14 / 144

    Osnovni objektno-orijentisani koncepti

    Identitet objekta

    Strukture kompleksnih tipova

    Enkapsulacija i skladitenje objekata

    Hijerarhija tipova i nasleivanje

    Polimorfizam operacija

    Objektno-orijentisani pristupi u modelima podataka

  • Identitet objekta

    Cilj OO modela podataka

    da svaki realni entitet bude predstavljen jednim

    objektom u BP

    za razliku od relacionog modela podataka, kod kojeg jedan

    realni entitet moe biti dekomponovan u vie torki relacija

    efekat: olakano ouvanje integriteta i identiteta objekta

    Jedinstvena identifikacija objekta

    tipino identifikator objekta

    eng. object identificator (OID)

    nije vidljiv korisnicima

    jedinstven za svaki objekat

    koristi se za uspostavljanje veza izmeu objekata

    15 / 144 Objektno-orijentisani pristupi u modelima podataka

  • Identitet objekta

    Identifikator objekta

    nepromenljiv

    vrednost identifikatora objekta uvek je stalna

    od momenta kreiranja, do momenta unitenja objekta

    ne zavisi od vrednosti ostalih atributa objekta

    svaka vrednost OID-a iskoriava se samo jednom

    vrednosti OID-ova izbrisanih objekata ne koriste se nikada

    ponovo

    16 / 144 Objektno-orijentisani pristupi u modelima podataka

  • Identitet objekta

    Identifikator objekta

    nain formiranja vrednosti OID-a

    upotrebom fizike adrese objekta

    problem nastaje prilikom promene adrese

    pointer sa stare adrese na novu adresu

    karakteristian za prve OO SUBP-ove

    poboljane performanse dobavljanja objekata

    upotrebom long integer tipa

    uobiajeno u savremenim OO SUBP-ovima

    omogueno je prevoenje vrednosti OID-a u fiziku adresu

    objekta

    upotreba hash map preslikavanja

    17 / 144 Objektno-orijentisani pristupi u modelima podataka

  • Identitet objekta

    Literal (vrednost)

    nad primitivnim (prostim) tipom podatka

    moe da egzistira kao poseban koncept

    literal sa OID-om

    literal kojem je pridruena vrednost OID-a

    identine vrednosti literala mogu biti oznaene razliitim

    vrednostima OID-a

    karakteristino za prve OO modele

    literal bez OID-a

    nad primitivnim (prostim) tipom podatka, koji moe da

    egzistira iskljuivo u okviru objekta

    ne moe se referencirati direktno, kao objekat

    karakteristino za savremene OO modele

    18 / 144 Objektno-orijentisani pristupi u modelima podataka

  • 19 / 144

    Osnovni objektno-orijentisani koncepti

    Identitet objekta

    Strukture kompleksnih tipova

    Enkapsulacija i skladitenje objekata

    Hijerarhija tipova i nasleivanje

    Polimorfizam operacija

    Objektno-orijentisani pristupi u modelima podataka

  • Strukture kompleksnih tipova

    Tip objekta i tip literala

    definie strukturu objekta, odnosno literala

    skup atributa koji opisuje neki entitet iz realnog sveta

    moe da bude proizvoljne kompleksnosti

    u relacionim sistemima, podaci o jednom entitetu

    nalaze se, esto, u vie torki razliitih relacija

    u objektnim sistemima dozvoljeno je definisanje

    kompleksnih tipova putem konstruktora tipa

    atomiki konstruktor

    konstruktor torke (srukture)

    konstruktor kolekcije

    konstruktor tipa predstavlja pravilo za kreiranje novih

    tipova, upotrebom postojeih

    20 / 144 Objektno-orijentisani pristupi u modelima podataka

  • Strukture kompleksnih tipova

    Konstruktor tipa

    atomiki konstruktor

Search related