You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metamodel.apache.org by Apache Wiki <wi...@apache.org> on 2013/08/01 11:53:01 UTC

[Metamodel Wiki] Update of "SchemaAndTableSemantics" by KasperSorensen

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Metamodel Wiki" for change notification.

The "SchemaAndTableSemantics" page has been changed by KasperSorensen:
https://wiki.apache.org/metamodel/SchemaAndTableSemantics

Comment:
Added 'Schema and table semantics' page

New page:
= Schema and table semantics =

Since the datastore types that MetaModel support are widely different, one might question "what does a schema or a table mean?" for eg. Excel spreadsheets, CSV files etc.

On this page we will answer such questions. In the table below there's a list of MetaModel modules and an explanation of the semantics of schemas and tables.

||'''Module'''||'''Schema'''||'''Table'''||
||JDBC||A database schema, as defined by JDBC.||A database TABLE, VIEW or other tabular structure in a schema.||
||!OpenOffice||A database schema, as defined by JDBC.||A database TABLE, VIEW or other tabular structure in a schema.||
||CSV||A handle to the CSV file. If the file does not exist, schema will be empty. Always has default schema and virtual information schema.||The actual file structure, based on the column name line.||
||Excel||A handle to the Excel spreadsheet. If the file does not exist, schema will be empty. Always has default schema and virtual information schema.||A sheet in the spreadsheet||
||Fixed width||A handle to the Fixed value width file. Always has default schema and virtual information schema.||The actual file structure, based on the column name line.||
||Access||A handle to the Access file. Always has default schema and virtual information schema.||The tables in the Access database file.||
||XML (SAX)||A handle to the XML file. Always has default schema and virtual information schema.||A certain position in the XML tree, defined by a user's xpath expression. Each table also has xpath expressions for each column, which define the values of the rows in a table.||
||XML (DOM)||A handle to the XML file. Always has default schema and virtual information schema.||All tables are virtual representations of recurring combinations of XML elements. The actual generation of tables depend on whether you perform manual or automatic "flattening" (denormalization) of tables||
||MongoDB||A MongoDB database.||A MongoDB collection with a virtual table model, which represent the properties of the documents in the collection.||
||Salesforce.com||A handle to the web services of Salesforce||A type of Salesforce.com SObject.||
||SugarCRM||A handle to the web services of SugarCRM||A SugarCRM 'module'.||

= Semantics of "Create table" =

In addition to understanding "what is a table?" it is also useful to know what it means to "create" a table, as it is facilitated by !MetaModel 2.0 and onwards.

||'''Module'''||'''Create table semantics'''||
||JDBC||Issue a CREATE TABLE statement to the database.||
||CSV||Create or overwrite the CSV file with a (new) table structure. If multiple files should be created, then create a new CsvDataContext and issue the createTable operation there.||
||Excel||Creates a new sheet in the Excel spreadsheet.||
||MongoDB||Creates a new collection in the MongoDB database.||
||CouchDB||Creates a new CouchDB database.||
||POJO (Java objects)||Creates a new collection of Java objects (Map based).||