Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> Re: Oracle8's new features - what are they
Joshua Duhl wrote:
>
> Finn Ellebaek Nielsen wrote:
> >
> > Mike Yukish wrote:
> > >
> > > In article
> > > <Pine.NEB.3.95.970521115910.1209B-100000_at_cripplecock.sarc.city.ac.uk>,
> > > Akmal B Chaudhri <akmal_at_no_spam.uk> wrote:
> > >
> > > > On 19 May 1997, Walter Roberts wrote:
> > > >
> > > > > Oracle8 will support larger, more demanding OLTP (online transaction
> > > > > processing) and data warehousing applications with ...
> > > > >
> > > >
> > > > [snip]
> > > >
> > > > Doesn't sound as though there is an awful lot of OO there.
> > >
> > > There isn't. Oracle8 is not an OO database. No polymorphism, no
> > > inheritance. The major add ons are in the ability to partition the tables
> > > across machines, operate on individual partitions without taking the whole
> > > DB down, handle huge files better, parallel queries, index only tables,
> > > improved password management, language support,...
> > >
> > > Not a slam, its just what it is.
> >
> > I agree that it's very sad that polymorphism and inheritance is not supported in
> > 8.0, but please don't overlook the user-defined object types with properties
> > (can be other object types as well) and methods.
>
> Whoa there... there ain't no "object types" they're just
> abstract data types. Big difference. And I don't see
> where you get the "methods" from. Where's the encapsulation?
> Version 8 is no more OO than Version 7. It's focus is on
> larger scale and some abstract data type support. But this
> is a far, far cry from supporting objects. Supporting
> inheritance is the biggest problem they have in supporting
> objects.
OK, encapsulation is missing as well. What do you mean no methods? Take a look at the following example:
CREATE TYPE Address AS OBJECT
(
street VARCHAR2(40),
city VARCHAR2(30),
state CHAR(2),
zip CHAR(10)
);
CREATE TYPE Person AS OBJECT
( first_name VARCHAR2(15),
last_name VARCHAR2(30),
addr Address,
birthday DATE,
MEMBER FUNCTION age() RETURN NUMBER
);
The Person object has the age() method (member funciton) attached.
CREATE TABLE people OF Person;
SELECT p.first_name, p.last_name, p.age(), p.addr
FROM people p
WHERE p.age() > 35;
so the method age() is invoked on the Person object used in the people table.
Cheers,
Finn
-- -------------------------------------------------------------------------------- Finn Ellebaek Nielsen Oracle Associated Senior Consultant Ellebaek Consulting E-mail: ellebuk_at_post3.tele.dk Niels Ebbesens Vej 9, 3. th. Mobile Phone: +45 20 32 49 25 DK-1911 Frederiksberg C Mobile Phone SMS: 20324925_at_sms.tdm.dk (Subject) Denmark Private Phone: +45 33 25 34 50 -------------------------------------------------------------------------------- "Life is a beach and then you dive" "Divers do it deeper"Received on Thu May 22 1997 - 00:00:00 CDT