🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #20

Re: Czy systemy moga byc w ogole obiektowe

#20
From: Barbara Szydlowska
Date: Fri, 01 Dec 1995 00:00
73 lines
2891 bytes
>
>Zalozenie: Mamy trzy klasy: Czlowiek <- Kobieta <- Matka 
>(strzalki oznaczaja relacje dziedziczenia, gdzie Czlowiek 
>jest klasa pierwotna). Zalozmy, ze istnieje trzecia klasa 
>Organizacja, ktora jest dynamicznie tworzona kolekcja 
>obiektow ww. klas. I tak np. w danej chwili Organizacja moze 
>zawierac 3 obiekty typu Czlowiek, dziesiec typu Kobieta 
>i sto typu Matka. Oczywiscie klasy Czlowiek, Kobieta i Matka 
>posiadaja funkcje wirualne. 
>
>Problem: Nalezy obiekty ww. klas zapisac w relacyjnej bazie
>danych
>
Relacja_Czlowiek

ID    L_NAME    F_NAME   GENDER    NO_OF_CHILDREN 
1     Smith     John     male      0
2     Brown     Mary     female    3

....


Relacja_Kobieta = select * from Relacja_Czlowiek
                  where GENDER = 'female'

Relacja_Matka = select * from Relacja_Kobieta
                  where (NO_OF_CHILDREN > 0)

W practyce Relacja_Kobieta to jest tzw "view" tzn tylko query jest 
zapamietywane, a nie table (tak samo Relacja_Matka, ktora tez moze byc 
otrzymana bezposrednio z Relacja_Czlowiek).

Relacja_member

ID_OSOBY        ID_ORGANIZACJI
1               A
2               B
3               A
..

ORGANIZACJA_A = select * from Relacja_Czlowiek, Relacja_Member
                where ID_OSOBY = ID and ID_ORGANIZACJI = 'A'

Queries zapisane sa w Oracle SQL*PLUS. 
Jesli czegos nie rozumiesz daj znac.

Mozna to zrobic tez w inny sposob - dodajac columne ID_ORGANIZACJI do
relacji czlowiek, wtedy

ORGANIZACJA_A = select * from Relacja_Czlowiek
                where ID_ORGANIZACJI = 'A'

Czy o to Ci chodzilo?
Czlonkami organizacji sa ludzie, a kobieta tez czlowiek :).  

Powaznie mowiac. ORACLE jest druga co do wielkosci software company na 
swiecie (po Mirosoft oczywiscie). Nie sadze, ze ktos kiedykolwiek bedzie 
probowal to wszystko co zostalo napisane pod Oracle RDB przepisywac na OO 
(i odwrotnie).
Musza przyznac, ze bardzo nie lubie dyskusji na temat co jest lepsze: OO, 
czy R, functional, czy moze procedural. Mysle, ze dobrze jest spojrzec na 
ten sam problem z roznych punktow widzenia, bo tylko wtedy mozna znalezc 
najlepsze rozwiazanie. 
 
Nie mam teraz czasu zajmowac sie tym, ale wydaje mi sie, ze Lotus Notes sa 
oparte na relational+OO ideas. Bede musiala tym sie zajac w nastepnym 
semestrze, wiec moze wtedy napisze cos wiecej.

Pozdrowienia
Barbara
szy...@cs.uwindsor.ca
http://www.cs.uwindsor.ca/meta-index/people/csgrads/szydlow/mypage.html  
Technical Details
Message-ID: <49me4q$1gk@priam.umcs.lublin.pl>
Path: mbox-mo1.pugleaf.net!unknown!not-for-mail
References: <95112023034670@cig.com>

Show Full Headers
Complete Article Headers
From: Barbara Szydlowska <szy...@cs.uwindsor.ca>
Subject: Re: Czy systemy moga byc w ogole obiektowe
Date: 1995/12/01
Message-ID: <49me4q$1gk@priam.umcs.lublin.pl>
X-Deja-AN: 120722419
references: <95112023034670@cig.com>
mime-version: 1.0
newsgroups: pl.comp.objects
x-mailer: Mozilla 1.22 (Windows; I; 16bit)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit