"Schema
In RDBMS terms, a Schema is a collection of tables, indexes,
views, etc. in a database. Feature and RDBMS schemas do not correspond 1:1.
A Feature Schema may be stored in different RDBMS schemas and an RDBMS schema
might be composed of multiple logical schemas."
http://fdo.osgeo.org/glossary.html
As a result of this loose definition we have no simple standard for schema and class naming across providers.
Here are some examples of different schema & class names currently in use in FDO
OSGEO.SHP reports Default:shpfilenamespot the pattern ?
OSGEO.Gdal reports default:default
KingOracle reports KingOra:ZAC~BUILDINGOUTLINES~SHPGEOM
OSGEO.OGR reports OGRSchema:BUILDING
MySql reports Fdoreports:aquifer_property
SDF reports what ever was set as the schema name
PostGIS has been reformed following this discussion
http://www.nabble.com/Is-there-a-Feature-class-naming-convention-to15021175s18162.html#a15021175
http://trac.osgeo.org/fdo/ticket/310
I really don't see the need to inject provider names into the mix? ever.
It's really confusing for people new to FDO, here's a few ideas to make
things simple
1. Providers which don't support multiple schemas, should report an empty schema,
all their content lives in that single schema ( ie was default).
2. Providers which have native schemas with multiple real schemas,
should represent those available schemas to GetSchemas unless over-ridden
in the connection string or by custom mappings.
3. The tables in the user schema are listed in empty schema (default) conceptually
potentially twice.
4. Class names for databases are normally tablename, unless qualified which
then has ~COLUMN_NAME appended. (Coz if the are multiple geometries, FDO requires
to know which one is the identifier)
5. Class names for file based providers is based on their file name as current
6. Drumroll, The empty schema ":watercourses" could be also just "watercourses"
so lets see that means
OSGEO.SHP reports filenamewhat's peoples thoughts on this?
OSGEO.Gdal reports filename
KingOracle reports schema:tablename or if connected as "schema" then just tablename
OSGEO.OGR reports filename
MySql reports schema:tablename or if connected as "schema" then just tablename
SDF still reports what ever you like as a schema name
3 comments:
Zac,
Your proposal of all 6 points sounds very reasonable to me. What I'd suggest is to write a kind of more formal RFC document and send out asking for comments to the fdo-internals.
In fact, collecting comments from FDO architects on this would help users, at least me :-), to understand all this schema naming magic in FDO, its weak and strong requirements, etc.
Good job! Thansk!
Interesting ideas. I would write up a more formal document and send out to the community. I agree with you that the naming mechanisms have each provider have adopted have been somewhat diverse and should be re-evaluated now that we have a number of providers to compare and contrast.
Greg Boone
Autodesk
here's the follow up discussion on fdo-internals
http://www.nabble.com/Standardising-FDO-Schema%27s-td19212488.html
Post a Comment