Project

General

Profile

« Previous | Next » 

Revision 11509

mappings/VegCore.htm: regenerated from wiki. added taxon_determination__is_current, taxon_determination__is_original.

View differences:

VegCore.htm
6 6
<meta name="description" content="Redmine" />
7 7
<meta name="keywords" content="issue,bug,tracker" />
8 8
<meta content="authenticity_token" name="csrf-param" />
9
<meta content="Yz4P5k8yO+6rJlhAhGjy/1DCYu920nDJAmj22B4hHWU=" name="csrf-token" />
9
<meta content="ciNzO8lxj/O5m3NyCihHkEJu17VioR1Ove6ji+mOC7A=" name="csrf-token" />
10 10
<link rel='shortcut icon' href='/nceas/favicon.ico?1347421715' />
11 11
<link href="/nceas/stylesheets/jquery/jquery-ui-1.9.2.css?1364512407" media="all" rel="stylesheet" type="text/css" />
12 12
<link href="/nceas/stylesheets/application.css?1364512407" media="all" rel="stylesheet" type="text/css" />
......
91 91
<h1 >VegCore data dictionary<a href="#VegCore-data-dictionary" class="wiki-anchor">&para;</a></h1>
92 92

  
93 93

  
94
	<p><strong>VegCore</strong> is a vegetation exchange schema which combines <strong>380+</strong> terms and <strong>36</strong> tables from <strong><a href="#Sources" class="wiki-page">existing exchange schemas</a></strong></p>
94
	<p><strong>VegCore</strong> is a vegetation exchange schema which combines <strong>380+</strong> terms and <strong>38</strong> tables from <strong><a href="#Sources" class="wiki-page">existing exchange schemas</a></strong></p>
95 95

  
96 96

  
97 97
	<a name="Examples"></a>
......
146 146
<h1 >Tables<a href="#Tables" class="wiki-anchor">&para;</a></h1>
147 147

  
148 148

  
149
	<p>The schema makes extensive use of inheritance, which can be implemented in <a href="http://stackoverflow.com/questions/3579079/how-can-you-represent-inheritance-in-a-database#3579462" class="external">several ways</a>. The tables are shown in the ERD using <a href="http://stackoverflow.com/questions/3579079/how-can-you-represent-inheritance-in-a-database#3579462" class="external">class table inheritance</a> (option 3 in the link), which is considered the best practice for most database engines. However, <em>if and only if</em> <a href="http://www.postgresql.org/docs/9.1/static/ddl-inherit.html" class="external">PostgreSQL-style inheritance</a> is available, it's actually better to use <a href="http://stackoverflow.com/questions/3579079/how-can-you-represent-inheritance-in-a-database#3579462" class="external">concrete table inheritance</a> (option 2), which avoids both the need to insert into each superclass table separately, and the need to join to superclass tables when selecting<sup><a href="#fn1">1</a></sup>. When this is not available, you can also get these benefits via <a href="http://stackoverflow.com/questions/3579079/how-can-you-represent-inheritance-in-a-database#3579462" class="external">single table inheritance</a> (option 1, which is the denormalized, full_occurrence format) at the expense of not having separate tables for the separate subclasses.</p>
149
	<p>The schema makes extensive use of inheritance, which can be implemented in <a href="http://stackoverflow.com/questions/3579079/how-can-you-represent-inheritance-in-a-database#3579462" class="external">several ways</a>. The tables are shown in the ERD using <a href="http://stackoverflow.com/questions/3579079/how-can-you-represent-inheritance-in-a-database#3579462" class="external">class table inheritance</a> (option 3 in the link), which is considered the best practice for most database engines. However, <em>if and only if</em> <a href="http://www.postgresql.org/docs/9.1/static/ddl-inherit.html" class="external">PostgreSQL-style inheritance</a> someday supports foreign keys<sup><a href="#fn3">3</a></sup>, it's actually better to use <a href="http://stackoverflow.com/questions/3579079/how-can-you-represent-inheritance-in-a-database#3579462" class="external">concrete table inheritance</a> (option 2), which avoids both the need to insert into each superclass table separately, and the need to join to superclass tables when selecting<sup><a href="#fn2">2</a></sup>. Until this is available, you can also get these benefits via <a href="http://stackoverflow.com/questions/3579079/how-can-you-represent-inheritance-in-a-database#3579462" class="external">single table inheritance</a> (option 1, which is the denormalized, full_occurrence format) at the expense of being messier (not having separate tables for the separate subclasses).</p>
150 150

  
151 151

  
152
	<p id="fn1" class="footnote"><sup>1</sup> at the cost of slightly slower index scans when there is a large number of subclasses and rows are evenly distributed between them (because each subclass index needs to be scanned separately)</p>
152
	<p id="fn2" class="footnote"><sup>2</sup> at the cost of slightly slower index scans when there is a large number of subclasses and rows are evenly distributed between them (because each subclass index needs to be scanned separately).<br />also, when inserting into a subclass, you need to explicitly check that the pkey doesn't exist in any superclass (or sibling subclass), because unique indexes don't include superclass rows.</p>
153 153

  
154 154

  
155
	<p id="fn3" class="footnote"><sup>3</sup> "A serious limitation of the inheritance feature is that indexes (including unique constraints) and foreign key constraints only apply to single tables, not to their inheritance children. This is true on both the referencing and referenced sides of a foreign key constraint." (<a href="http://www.postgresql.org/docs/9.3/static/ddl-inherit.html#DDL-INHERIT-CAVEATS" class="external">PostgreSQL: Inheritance > Caveats</a>)</p>
156

  
157

  
155 158
	<p><a href="http://VegCore.vegpath.org/ERD/"><img src="http://vegpath.org/VegCore/ERD/VegCore.ERD.png" title="VegCore schema: click for hyperlinked version" alt="VegCore schema: click for hyperlinked version" /></a></p>
156 159

  
157 160

  
......
2887 2890

  
2888 2891

  
2889 2892
	<a name="identificationType"></a>
2890
<h2  style="padding-left:2em;"><a href="#identificationType" class="wiki-page">identificationType</a><a href="#identificationType" class="wiki-anchor">&para;</a></h2>
2893
<h2  style="padding-left:2em;"><a href="#identificationType" class="wiki-page">identificationType</a> <img src="_" style="padding-left: 1em;font-size: small;font-weight: normal;" title="from" alt="from" /> <a href="http://vegbank.org/vegbank/views/dba_tabledescription_detail.jsp?view=detail&#38;wparam=taxoninterpretation&#38;entity=dba_tabledescription&#38;where=where_tablename#interpretationType"><img src="_" style="font-size: small;" title="VegBank" alt="VegBank" /></a><a href="#identificationType" class="wiki-anchor">&para;</a></h2>
2891 2894

  
2892 2895

  
2893 2896
	<a name="interpretationType"></a>
......
2897 2900
	<p style="padding-left:5em;">Named like: <a href="#Identification" class="wiki-page">Identification</a></p>
2898 2901

  
2899 2902

  
2903
	<a name="taxon_determination__is_current"></a>
2904
<h2  style="padding-left:2em;"><a href="#taxon_determination__is_current" class="wiki-page">taxon_determination__is_current</a> <img src="_" style="padding-left: 1em;font-size: small;font-weight: normal;" title="from" alt="from" /> <a href="http://VegBank.vegpath.org?taxoninterpretation.currentInterpretation"><img src="_" style="font-size: small;" title="VegBank" alt="VegBank" /></a><a href="#taxon_determination__is_current" class="wiki-anchor">&para;</a></h2>
2905

  
2906

  
2907
	<a name="currentInterpretation"></a>
2908
<h3  style="padding-left:4em;"><img src="_" style="padding: 0 0.3em 3pt 0.65em;font-weight: normal;" title="Synonym:" alt="Synonym:" /> <a href="#currentInterpretation" class="wiki-page">currentInterpretation</a> <img src="_" style="padding-left: 1em;font-size: small;font-weight: normal;" title="from" alt="from" /> <a href="http://VegBank.vegpath.org?taxoninterpretation.currentInterpretation"><img src="_" style="font-size: small;" title="VegBank" alt="VegBank" /></a><a href="#currentInterpretation" class="wiki-anchor">&para;</a></h3>
2909

  
2910

  
2911
	<a name="taxon_determination__is_original"></a>
2912
<h2  style="padding-left:2em;"><a href="#taxon_determination__is_original" class="wiki-page">taxon_determination__is_original</a> <img src="_" style="padding-left: 1em;font-size: small;font-weight: normal;" title="from" alt="from" /> <a href="http://VegBank.vegpath.org?taxoninterpretation.originalInterpretation"><img src="_" style="font-size: small;" title="VegBank" alt="VegBank" /></a><a href="#taxon_determination__is_original" class="wiki-anchor">&para;</a></h2>
2913

  
2914

  
2915
	<a name="originalInterpretation"></a>
2916
<h3  style="padding-left:4em;"><img src="_" style="padding: 0 0.3em 3pt 0.65em;font-weight: normal;" title="Synonym:" alt="Synonym:" /> <a href="#originalInterpretation" class="wiki-page">originalInterpretation</a> <img src="_" style="padding-left: 1em;font-size: small;font-weight: normal;" title="from" alt="from" /> <a href="http://VegBank.vegpath.org?taxoninterpretation.originalInterpretation"><img src="_" style="font-size: small;" title="VegBank" alt="VegBank" /></a><a href="#originalInterpretation" class="wiki-anchor">&para;</a></h3>
2917

  
2918

  
2900 2919
	<a name="identifiedBy"></a>
2901 2920
<h2  style="padding-left:2em;"><a href="#identifiedBy" class="wiki-page">identifiedBy</a> <img src="_" style="padding-left: 1em;font-size: small;font-weight: normal;" title="from" alt="from" /> <a href="http://rs.tdwg.org/dwc/terms/#identifiedBy"><img src="_" style="font-size: small;" title="DwC" alt="DwC" /></a><a href="#identifiedBy" class="wiki-anchor">&para;</a></h2>
2902 2921

  

Also available in: Unified diff