Article View: pl.comp.objects
Article #18Re: Czy systemy moga byc w ogole obiektowe
From: Michal Kolano
Date: Tue, 21 Nov 1995 00:00
Date: Tue, 21 Nov 1995 00:00
66 lines
3684 bytes
3684 bytes
Dyskusja o zwiazku relacyjnych baz danych i programowania obiektowego jest bardzo interesujaca. Jesli moge wtracic swoje trzy grosze, to warto byc moze zauwazyc iz nowoczesne bazy danych ( SQL Serwer, SQL Base, Oracle ... ) dysponuja mechanizmami pytan prekompilowanych ( stored commands ) oraz tkz. trigerow. Mechanizmy te mozna w uproszczeniu traktowac jako "metody" - zadeklarowane w bazie danych akcje, ktore w obpowiednim momencie zostana podjete na przechowywanych danych. Akcje te wykona samodzielnie serwer - odciazajac siec komputerowa oraz stacje robocze ( co jest bardzo efektywne i zgodnie z modelem przetwarzania klient-serwer ) Oczywiscie takie podejscie jest bardzo ogolne - zgadzam sie z Robertem iz nie istnieje mozliwosc bezposredniego przelozenia schematu obiektowego na diagram zwiazkow encji ( oczywiscie rowniez w kierunku odwrotnym - diagramu ER na schemat klas). Problem pojawia sie szczegolnie na styku: obiekty w aplikacji - baza danych. Trudno bowiem rozstrzygnac jakie skladowe ( obiekty ) modelowanej rzeczywistosci przechowywac w pamieci systemu komputerowego i jak dlugo. W literaturze dotyczacej DMBS Gupta znalazlem informacje iz bardzo niewiele projektow zwiazanych z DBMS zostalo zrealizowanych w calosci ( a nawet w czesci ) obiektowo. Warto takze zastanowic sie na poziomem mechanizmow OOP, jakie wbudowane sa w jezyki 4GL otaczajace serwery DBMS. Moje doswiadczenia z wskazuja iz mozliwosci tworzenia obiektowych aplikacji w tych jezykach sa mocno ograniczone ( np. w jakim 4GL da sie rozwiazac problem rombu dziedziczenia ? ). Twierdzenia iz duze aplikacje bazodanowe pisze sie glownie w C++ ( tak slyszalem ) sa moim zdaniem mocno przesadzone. Jezeli chodzi o przyklad Czlowiek <- Kobieta <- Matka to rozwiazaniem problemu moze byc np. nastepujacy schemat relacji Czlowiek: id_czlowieka - primary key atrbuty specyficzne czlowieka ... Kobieta id_kobieta - primary key atrybuty specyficzne kobiety ... id_czlowieka - foreign key referrences Czlowiek(id_czlowieka) Matka id_matka - primary key atrybuty specyficzne matki ... id_kobieta - foreign key referrences Kobieta(id_kobieta) Rozwiazaniem dostepow ( akcesorow ) do obiektow moga byc tutaj perspektywy ( view ). Przykladowo dostep do klasy Kobieta mozna by zapewnic poprzez stworzenie nastepujacej perspektywy. create view as select C.atrybuty specyficzne czlowieka, K.atrybuty specyficzne kobiety from czlowiek C, kobieta K where K.id_czlowieka=C.id_czlwieka Ten sposob pociaga za wymog aby DBMS potrafil wykonywac polecenia insert, update, delete skierowane do perspektywy - albo przynajmniej udostepnic mechanim, ktory w tej materii pozostawi otwarta furtke uzytkownikowi. Duzo wiekszym problemem sa jednak metody - zaden ze znanych mi systemow nie zapewnia dziedziczenia ( nie mowiac o polimorfizmie ) metod ( np. dziedziczenia prekompilowanych komend lub trigerow na perspektywy ) . Czytalem ze gdzies w swiecie sprzdaje sie juz komercyjne systemy baz danych obiektowych. Moze ktos zna temat i chcialby sie podzielic swoimi doswiadczeniami? Michal Kolano Politechnika Slaska, Instytu Informatyki
Technical Details
Message-ID:
<48t92k$oo9@bilbo.nask.org.pl>Path:
mbox-mo1.pugleaf.net!unknown!not-for-mailReferences:
<95112023034670@cig.com>Show Full Headers
Complete Article Headers
From: Michal Kolano <mkolano> Subject: Re: Czy systemy moga byc w ogole obiektowe Date: 1995/11/21 Message-ID: <48t92k$oo9@bilbo.nask.org.pl> X-Deja-AN: 119835425 references: <95112023034670@cig.com> organization: Politechnika Slaska x-url: news://news.nask.org.pl/95112023034670@cig.com mime-version: 1.0 newsgroups: pl.comp.objects x-mailer: Mozilla 1.12 (X11; I; HP-UX A.09.05 9000/755) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit