|
[ Black @ 10.06.2002. 16:00 ] @
| Studiram na FONu tako da sam upoznat sa nekim elementarinim pojmovima vezanim za baze podataka i informacione sisteme. Procitao sam da su se do skora najvise koristile relacione baze podataka a da se u novije vreme prelazi na objektno orijentisane baze podataka. Upoznat sam sa osnovama objektno orijentisanog programiranja, znam da se Access koristi za ralizovanje relacionih baza podataka manjeg obima ali nikako ne mogu da sklopim celu sliku o ovim pojmovima. Da li bi neko mogao da mi malo pojasni razliku imedje relacione i objektno orijentisane baze podataka i eventualno navede neke postupke i alate koji se koriste u praksi prilikom realizacije istih ?
Hvala unapred. |
[ dwarf @ 11.06.2002. 01:42 ] @
Samo da kazem da bih i ja voleo da cujem ovako nesto, ako neko ima iskustva sa OO bazama, neka kaze ili neka navede neku literaturu.
[ ljuban @ 11.06.2002. 09:59 ] @
E pa ljudi ovako ja radim sa Oracle-om pa sve sto mogu da vam kazem bice vezano za Oracle. Nemam konkretnog iskustva jer i sama pomisao na Oracle pa jos objektni nema bas mnogo perspektive pogotovu ovde. Sto se tice relacionih baza ja mislim da je o njima sv jasno i da nema potrebe o njima da se govori. Imam cini mi se i par knjiga koje su namenjene OO projektovanju i programiranju u bazi. Ako vas to interesuje onda mogu da nastavim ali za sada toliko.
Pozdrav
[ lenny @ 11.06.2002. 13:48 ] @
Citat: Black:
Da li bin eko mogao da mi malo pojasni razliku imedje relacione i objektno orijentisane baze podataka
Hvala unapred.
Ovde u Novom Sadu na ETF-u smo imali Informacione Sisteme, i obradili smo i ovu temu (4. godina).
Pojam relacionih baza se pojavio negde na pocetku '70-ih godina. Zasnovan je na relacionoj algebri. Podaci se prakticno cuvaju u tabelama. Jedna tabela opisuje jednu pojavu iz realnog zivota, ili vezu izmedu tih pojava, npr. student, student_slusa_predmet... U ovom primeru vrste sadrze podatke o pojedinacnim studentima, kolone tabele sadrze podatke npr. ime, prezime, broj indeksa.
Jedan od najpoznatijih sistema za upravljanje relacionim bazama je MySQL.
Objektno orijentisani model su isto izmislili jos odavno (stariji od 20 godina), ali tada nije postojao dovoljno snazan hardver za to.
OO model je blizi ljudskom nacinu razmisljanja (ipak nase pamcenje nije u formi tabela...). U fazi modeliranja se posmatraju objekti, entiteti iz stvarnosti, i navode se njihove vazne osobine, bez neke matematike, i vodenja racuna o tome, kako ce se to smestiti u memoriju racunara. Ima tu jos nekih prednosti, koje mozes naci u knijzi "dr. Dragan Mihajlovic : Informacioni sistemi i projektovanje baza podataka" (ima i drugih).
Postoje metode, kojima je moguce OO model prevesti u relacioni, tako da se planiranje radilo u OO modelu, koji su kasnije preveli u relacioni.
Nisam siguran sta te tacno interesuje, pa necu da mudrujem vise.
[ lenny @ 11.06.2002. 14:10 ] @
Citat: Black:
Da li bin eko mogao da mi malo pojasni razliku imedje relacione i objektno orijentisane baze podataka.
Imas detaljno o ovoj temi na : http://www.cai.com/products/jasmine/analyst/idc/14821Eat.htm
[ Riste Pejov @ 23.06.2002. 11:48 ] @
Cujem da se u zadnje vreme nesto Oracle priblizava modelu Object Relational, ali nisam upoznat time. Ali zato, PostgreSQL podrzava neke odlike objekno relacionog modela. Primer: Inheritance, User defined data types i funkcije.
Inheritance je fenomenalna stvar i moze stvarno coveku da skratu puno muke, a takodje i user defined data types, za funkcije necu da govorim jer su vec svima dobro poznati. Ukoliko pogledas Pg manual naci ces dosta o objektnosti PostgreSQL-a.
[ Iznogud @ 24.06.2002. 07:49 ] @
Citat: Black:
Da li bi neko mogao da mi malo pojasni razliku imedje relacione i objektno orijentisane baze podataka i eventualno navede neke postupke i alate koji se koriste u praksi prilikom realizacije istih ?
Hvala unapred.
Relacione baze pocivaju na entitetima i odnosima (relacijama) medju njima dok se OO baziraju na objektima i njihovim odnosima. To je samo ukratko a detaljnije objasnjavanje bi bilo zaista preobimno, a osim toga ima dosta literatire o tome - recimo od Pavala Mogina (Baze podataka) - gde su objasnjene i relacione i OO baze - mada je knjiga napisana za one koji malo bolje poznaju tu problematiku i terminologiju, tako da bi za pocetnika bila dosta ne razumnjiva.
Sto se tice alata za projektovanje, za relacione baze mislim da je najpopularniji PowerDesigner sa kojim se zaista lepo mogu prikazati ER model i iz njega generisati fizicki model podataka i na kraju naravno i baza - a sve to lepo na kraju i dokumentovati.
Za OO projektovanje mislim da je lider Rational Rose ( www.rational.com ) koji u potpunosti podrzava UML.
Pozdrav.
[ ultraKeen @ 25.06.2002. 08:27 ] @
...ali ima i slicnosti; zamislite da je heder tabele, dakle naslovi kolona sa tipom koji "nose" - klasa, a da su redovi tabele objekti... da su uvezeni kljucevi ustvari reference na redove drugih tabela, kao sto se i objekti drugih klasa koriste iz prvih klasa... temelj je isti, to bi da kazem, samo su nazivi malo promenjeni i dodat koji koncept vise, kao sto je nasledjivanje... mislimo uvek na isti nacin, od toga se ne moze pobeci, samo je u pitanju nivo apstrakcije... a ide se uvek ka sve apstraktnijem...
[ mbabuskov @ 19.07.2002. 13:25 ] @
Citat: Iznogud:
Za OO projektovanje mislim da je lider Rational Rose ( www.rational.com ) koji u potpunosti podrzava UML.
Pozdrav.
A za one koji nemaju para za RR, preporucujem OpenSource projekat: Dia
Podrzava UML, a dijagrame mozete snimiti u raznim formatima.
[ Cauchy1 @ 26.07.2005. 09:43 ] @
Nadam se da će ti korisno poslužiti sledeći citat iz jednog mog članka (Napomena SUPB označava sistem za upravljanje bazama podataka):
Pre pojave SUBP podaci su smeštani u datoteke operativnog sistema. Takav način je bio relativno dobar za mali obim podataka, ali je bio nepodesan kada je obim podataka postajao velik kako po raznovrsnosti, tako i po količini.
Na osnovu vrste objekata koji se koriste u bazi podataka (kojima upravlja SUBP) napravljena je podela na sledeće modele baza podataka:
- hijerarhijski model;
- mrežni model;
- relacioni model;
- objektno-relacioni model;
- objektno-orijentisani model;
Gledano hronološki, prvi komercijalni softver za upravljanje bazama podataka napravljen je 1964. godine. Bio je zasnovan na mrežnom modelu podataka, koje je teorijski razradio C. W. Bachman. U ovom modelu podaci su organizovani u vidu orijentisanih grafova. Osnovni jezik za programiranje u ovom modelu je Cobol, proširen funkcijama definisanim od grupe za baze podataka konzorcijuma proizvođača računara CODASYL DTBG (Conference on Data System Languages, Data Base Task Group). Softveri za upravljanje ovakvim modelima baza podataka više se ne usavršavaju.
Krajem šezdesetih godina 20. veka, pojavio se prvi komercijalni softver za upravljanje hijerarhijskim bazama podataka. U ovom modelu su podaci organizovani u vidu kolekcije hijerarhijskih struktura – stabala. Zbog ovakve prirode modela, u hijerarhijskim bazama je teško bilo ostvariti mrežne strukture podataka. Najpoznatiji sistem za upravljanje bazom podataka ovog tipa je IBM-ov IMS (Information Menagement System) sa jezikom DL/1 (Data Language 1). Kao kod mrežnog modela, i softveri za upravljanje hijerarhijskim bazama više se ne usavršavaju.
U periodu od 1970. do 1972. godine E. F. Codd je postavio teorijske temelje relacionom modelu podataka. U ovom modelu podataka podaci su organizovani u vidu dvodimenzionalnih tabela – relacija. Značajne novine koje je doneo relacioni model su odvajanje fizičke i logičke prezentacije podataka i pojava neproceduralnog jezika višeg nivoa poznatog pod nazivom SQL (“Structured Query Language” – jezik za postavljanje struktuiranih upita). Softveri za upravljanje ovim tipom baze doživeli su najveći komercijalni uspeh. Proizvode se i usavršavaju i danas. Usavršavaju se uglavnom tako što im se dodaju elementi funkcionalnosti objektnih baza.
Objektno-relacione baze podataka imaju svoje teorijske postavke u radovima M.Stonebraker-a (1990.g.) koji je definisao 13 pravila za proširenje relacionih baza u objektno-relacione. U bazama ovog tipa objekti sa kojima operiše softver za upravljanje bazom i dalje su relacije, dok korisnik operiše objektima koje je sam definisao. Softver za upravljanje bazom se sam stara o dekompoziciji složenih objekata prilikom smeštaja u bazu. Poznati proizvođači softvera za upravljanje relacionim bazama podataka dodaju svojim novijim verzijama funkcionalnosti objektno-relacionog modela. Postoje i nezavisni proizvođači softvera koji proizvode objektno-relacionu nadgradnju za poznate komercijalne relacione baze. Ipak, još uvek postoji određeni broj problema koje treba rešiti da bi objektno-relacione baze dostigle komercijalni uspeh relacionih baza.
Objektno-orijentisane baze podataka se zasnivaju na radovima M.Atkinsona (1989.g.) i standardu ODMG-93 koji je donela Object Database Menagement Group. U bazama ovog tipa korisnik operiše tipovima podataka koje je sam definisao, a softver za upravljanje bazom se sam stara o načinu smeštanja objekata u bazu. Iako je ovo najperspektivniji način organizovanja podataka, iako se već pojavilo nekoliko komercijalno raspoloživih objektno-orijentisanih baza, još uvek postoji nekoliko teorijskih i praktičnih problema koje treba rešiti da bi se došlo do sasvim zrelog proizvoda.
[ Alter Ego @ 26.07.2005. 10:16 ] @
Citat: mbabuskov: A za one koji nemaju para za RR, preporucujem OpenSource projekat: Dia
Podrzava UML, a dijagrame mozete snimiti u raznim formatima.
Da, jedino što Dia "ume" samo da crta a RR radi još ponešto. I šta znači "u potpunosti podržava UML"?
Ako ćemo da tražimo free zamenu za RR, Poseidon for UML i Borland Together Designer imaju Community izdanja. Za Together ne znam ali Poseidon je upotrebljiv i u besplatnoj verziji.
[ jablan @ 26.07.2005. 10:36 ] @
Ljudi, tred je od pre 3 godine.
Citat: Cauchy1: Usavršavaju se uglavnom tako što im se dodaju elementi funkcionalnosti objektnih baza.
Jesi li siguran? http://www.microsoft.com/sql/2005/productinfo/overview.mspx
[ Cauchy1 @ 26.07.2005. 11:27 ] @
Jesam. Reč je o osavršavanju SISTEMA ZA UPRAVLJANJE BAZOM, a tu se MS SQL još drži čvrsto relacionog modela i nema objektno-realcionih mogućnosti koje imaju konkurentske baze Oracle i DB2.
[ IdeaR @ 26.07.2005. 12:44 ] @
Mene lično interesuje da li neko ima 'hands-on' iskustvo sa objektno-relacionim i/ili objektno orjentisanim bazama podataka i kako to sve radi?
Znači neki konkretan projekat koji je zaživio, koja su iskustva, prednosti, mane, i naravno koji DBMS.
[ sekretar @ 26.07.2005. 21:25 ] @
Citat: IdeaR: Mene lično interesuje da li neko ima 'hands-on' iskustvo sa objektno-relacionim i/ili objektno orjentisanim bazama podataka i kako to sve radi?
Znači neki konkretan projekat koji je zaživio, koja su iskustva, prednosti, mane, i naravno koji DBMS.
Radio sam ja sa CACHÉ http://www.intersystems.com/cache/ par mjeseci, dok sam bio student.
Samo je upitnik ostao o svemu tu? Šta li je pisac htio da kaže... Niko u čitavom timu nije ništa pametno pronašao tu da pokaže. Čak nam je i trener ispred InterSystems dolazio.
Samo uzalud potrošeno vrijeme...
[ Dejan Topalovic @ 27.07.2005. 09:08 ] @
Citat: IdeaR: Mene lično interesuje da li neko ima 'hands-on' iskustvo sa objektno-relacionim i/ili objektno orjentisanim bazama podataka i kako to sve radi?
Znači neki konkretan projekat koji je zaživio, koja su iskustva, prednosti, mane, i naravno koji DBMS.
Evo ja radim sa Oracle OORDBMS, a konkretno sa objektima radimo u slijedecem obliku:
- imamo nekoliko tabela u kojima cuvamo geo-lokacijske podatke u obliku objekta (object type, hint: Oracle Spatial)
- imamo situaciju u kojoj externoj Java aplikaciji proslijedjujemo objekt kreiran u bazi, koji sadrzi odredjene parametre potrebne toj aplikaciji za obradu podataka
Inace, vecina stvari se moze odraditi bez koristenja objekta, tako da mi se cini da koristenje objekata direktno u bazi postaje samo stvar tehnickog dokazivanja nekog programera i project managera, a ne toliko kao stvarna potreba.
[ jablan @ 27.07.2005. 09:35 ] @
Citat: StRiPy: koristenje objekata direktno u bazi postaje samo stvar tehnickog dokazivanja nekog programera i project managera
Zaboravio si ekipe sa fakultetâ. 
[ Zidar @ 27.07.2005. 13:52 ] @
U knjizi "An Introduction to Database Systems", napisao C.J. Date, ima uporedjenje relacionih baza podataka za OO teorijom i modelima. I kaze otprilike ovako:
- Izgleda da je OO dobar za oblasti gde tradiscionalni Relacioni model zapada u nevolje, a to su:
- computer aided design and manufacturing (CAD/CAM)
- computer integrated manufacturing (CIM)
- computer aided software engineering (CASE)
- geographic information systems (GIS)
- nauka i medicina ("science nad medicine")
- uprabvljanje dokumentima ("document storage and retrieval")
- itd, gde god Relacioni modeli ne odradjuju posao bas najbolje. Probajte da u SQL ili Oracle napravite bazu koja cuva objekte za AutoCAD
Znaci, nema mnogo smisla porediti sta je bolje, to mu dodje kao jabuke i kruske. tacno je da se moze posatviati paralela tipa Class=Table, Object=Row, ali se sve ostalo razlikuje. Covek kaze da je u relacionim sistemima naglasak na deklarativnim pravilima, a u OO se to isto postze pisanjem metoda - dakle proceduralno. Relacioni sisitemi rade sa skupovima podataka (data sets), a OO sa kolekcijama, i uglavnom se procesira jedan po jedan clan kolekcije. Otud primeri za ADO tipa 'kako uraditi update na tabeli - napravite loop kroz kolekciju i za svaki clan kolekcije pozovete metod za update', dok se u relacionim sistemima to postize jednom jedinom naredbom tipa UPDATE nekatable SET Polje= netso drugo. Ovo naravno vazi samo tamo gde relacioni sistemi rade dobar posao - fiansije, magacini, kjigovodstvo, human resources. ma dakle gde je dobar relacioni model, iam gde je OO bolji, a na kraju se sve ionako strpa u neki Qracle ili MS SQL ili bilo sta drugo, pa mu posle pristupaju OO programi.
100% se slazem s onim sto StRiPy i Jablan kazu 
[ IdeaR @ 29.07.2005. 13:43 ] @
Hvala na svima na odgovorima.
Malo sam i googlao:
Koliko sam shvatio, OODBMS bi trebalo značajno da ubrzaju razvoj aplikacije zato što ne bi bilo potrebno pisati Data Tier komponente, nego se bazi pristupa kroz njen API, tj jednostavno se pozivaju njene klase(tabele - znam da analogija ne ide baš toliko) direktno iz aplikacije. To mi stvarno izgleda kao prednost, dosta posla je već odrađeno na samoj bazi.
A mana bi bila da nema standardizovanog pristupa raznim bazama, tj. svaki proizvođač ima svoj API, i onda se upada u zamku proprietary alata i vještina. Da, i SQL postaje sporedni, iako ga opet svi podržavaju zbog velike korisničke baze.
[Ovu poruku je menjao IdeaR dana 29.07.2005. u 14:44 GMT+1]
[ ivan jeremic @ 12.08.2005. 09:40 ] @
OODBMS su stvar buducnosti i tacno je da ce olaksati izradu aplikacija jer cemo moci cele klase da samo strpamo u bazu onakve kakve jesu a server ce proveriti logicku ispravnost podataka ali ce takodje dosta zakomplikovati projektovanje koje se radi u ORM-u (Object Relation Modeling).
BTW ... jedini server koji delimicno podrzava OO nacin rada je MSSQL 2005.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|