MEETING 3/12/97 CLASSIFICATION Attendees: Serge, Jason, Roy, Vasilis, Yue, Janet, Michael. very lively discussion with a lot of misunderstanding. ***************************************************** CLASS: set of objects with the same structure in Lorel: structure may be not exclusive e.g., name and address and perhaps more Class/type: All objects with that structure Class/extent: A set of objects with that structure ***************************************************** SPECIFICATION OF A CLASS: alternatives 1. all objects with a certain pattern (e.g., with a name and address) 2. all objects satisfying a certain (complex) predicates 3. all objects returned by a query 4. by extend (Michael -> explict insert/delete + constraint checking) All objects in a class have the same structure The "type" is either explicit (3. - the pattern), derived (2. and 3.), enforced by the system (4. - constraint) Yue's question: what is the difference between a view and a class? Answer is unclear: a class is a view by intent in 1./2. (by extent in 3.) that returns a set of objects? [4. is not a view but stored info] ***************************************************** WHERE IS THE CLASSIFICATION: 1. in the database -- this is re-introducing types in OEM Serge's heretic belief: one cannot live only with OEM but in an ODMG+OEM world. *** like workspace this is an extension to OEM/LOREL 2. only in a view -- do not change the OEM world. ***************************************************** WHAT IS IT GOOD FOR: 1. view specification: I can decide to view all PERSON objects differently in a view, e.g., hide their salary. classification becomes mixed with other view specification features (Jason) 2. application programming: a programming language such as C++ expects some types. The current API ignores types so is hard to use (Roy). 3. interface: it is easier to say that I want people who make more that 10K. Difference with a view? 4. query processing: I define the class PERSON and I want an index on all PERSON. Or I store differently all objects in class PERSON. ***************************************************** ORTHOGONAL ISSUES 1. Is the classification automatic (Svetlazar's work) or is it DBA specified? 2. validation (Vassilis): should we validate a class by verifying that it makes sense (in general or in a particular database)