VODataService becoming WD, then PR

Patrick Dowler patrick.dowler at nrc-cnrc.gc.ca
Mon Nov 17 11:18:52 PST 2008


On 2008-11-17 09:58:55 Ray Plante wrote:
> I'll suggest that the simpler the solution, the better it stands up to the
> "this needs to be prototyped" argument.  By prototype, I think this means
> that we can point to an actual use of this by an application.  The
> extension mechanisms hopefully provide a solution to the chicken-and-egg
> problem.
>
> One minor comment.  Table names are required to be unique within an entire
> tableset and already include any schema (or catalog) names.  Thus,
> <targetSchema> would be superfluous.
>
> more comment out there?

Sure,  I will also add that I think this metadata is vital to using real 
databases. I agree that if prototyping is required that it is on the client 
side since just implementing some metadata exposure in a service does not 
prove anything. 

However, this particular problem is well understood and relatively simple, 
which makes me think one can prove analytically that a proposed solution 
is "correct" or "sufficient". You just have to look at the syntax of the JOIN 
clause to see what is needed: a pair of tables and one or more pairs of 
columns that can be compared for equality. 

From Gerard's idea, isn't it missing the other table? That is, should it be:

<xs:complexType name="ForeignKey">
    <xs:sequence>
      <xs:element name="fromTable" type="xs:string"/>
      <xs:element name="targetTable" type="xs:string"/>
      <xs:element name="fkColumn" type="vs:FKColumn" maxOccurs="unbounded"/>
    </xs:sequence>
</xs:complexType>

(since Ray already pointed out that schema is embedded in the table name). 
Presumably fkColumn needs minOccurs="1", but maybe that is the default.

-- 

Patrick Dowler
Tel/Tél: (250) 363-6914                  | fax/télécopieur: (250) 363-0045
Canadian Astronomy Data Centre   | Centre canadien de donnees astronomiques
National Research Council Canada | Conseil national de recherches Canada
Government of Canada                  | Gouvernement du Canada
5071 West Saanich Road               | 5071, chemin West Saanich
Victoria, BC                                  | Victoria (C.-B.)



More information about the registry mailing list