Title: Dimensions of a view mechanism designing Jacek Leszczylowski jacekipipan'waw'pl
1Dimensions of a view mechanism designingJacek
Leszczylowskijacek_at_ipipan.waw.pl
- General objectives
- A simple example of an object database
- Two examples of object based views
- a view with stored components
- a view derived from another view
- Basic notions of the virtual objects approach
- Object Views development
- Dimensions of a view mechanism design
2Object based views - what do we expect?
- create view Good_Income_Employee(name,
salary) by select NAME from EMP where
1000 lt SAL lt 1950 - a view defines virtual data, which are
efficiently derived from the stored data - purpose - conceptualization and
customization - autonomy via restriction -
integration of heterogeneous databases (remote,
legacy) - schema unification and evolution
- capabilities - renaming and hiding attributes of
stored data - introducing virtual and stored
attributes of virtual and stored data -
deriving virtual data from a collection of stored
and virtual data - allowing modification of
virtual data - persistence of virtual data -
generality, non-triviality and universality of
basic view concepts - elegant integration and
orthogonality with the underlying concepts
3A toy database
Please note typing
4VIEW derived (from employees) objects having
attributes name (derived) and donation (stored)
5VIEW derived (from employees) objects having
attributes name (derived) and donation (stored)
6VIEW generous donors who donate at least 400
derive it from derived donors objects
7VIEW generous donors who donate at least 400
derive it from derived donors objects
8The basic notions of the virtual object approach
- view (possibly parametric) is considered as
collection of stored (ordinary) and derived data
Note operations available for the derived data
can be considered as part of a database view - virtual objects possessing virtual identity,
name and content (value, objects) view -
view can be populated by one virtual object -
average - each virtual object can be derived
from a collection of objects (some of them can be
virtual) the stored and derived object used
to derive virtual ones are generators of the
virtual objects - virtual objects can reside
in one place or be distributed over a database
- virtual identity built in an uniform way from
representation objects identifiers and
generators - minimal materialization - a view (virtual
objects) is not materialized but represented
(always) by one stored special object called
representation object - operations (procedures and methods) are
(re)defined as procedures operating over database
- view classes can be abstract, contain view
definition and have virtual instances - separation of a view definition and a view
creation creating view creating virtual
objects and giving names to those virtual
objects within a programming environment. - virtual references (objects identities) - the
only means to access virtual objects - representation binders (living in stack
sections) are of the form
(identifier, virtual reference, virtuals) with
the flag virtuals are single entities to
represent all virtual objects known within the
environment under a name
9Object Views development
- only four basic new notions virtual object,
view class representation object,
representation binder - orthogonality of the notions wrt all notions
(new and all) - views on views - separation of - view definition - located
within view class - (re)defined operations (in
case of abstract view class) - view activation
(creation of virtual objects) - encapsulation of view related data within the
representation objects - generality - deriving virtual data from a
collection of stored and virtual data - persistence of virtual data
- transparency - users do not differentiate
between stored data and virtual data
- to amalgamate hierarchies (of standard and view
classes) - stored and virtual objects to be instances of
standard and view classes - to develop more sophisticated examples reaching
the design borders - to extend the existing ODRA implementation to
include the notions
10Dimensions of a view mechanism designing
- Views vs types, classes, roles and interfaces
- views as types
- hierarchies of views combining with (abstract)
classes - Generators of virtual objects seeds and a
state of a view - Places one or many different o of
- view definition
- evaluation of the generating query
- virtual objects (in one place/distributed) are
they related to (real) classes - Stored and virtual links to view definitions and
virtual objects - Views one element vs many elements
- Twin views parallel and nested
- Parametricity of views and its definitions
- Procedures/methods with definitions, views and
virtual objects patameters