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">¶</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">¶</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">¶</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&wparam=taxoninterpretation&entity=dba_tabledescription&where=where_tablename#interpretationType"><img src="_" style="font-size: small;" title="VegBank" alt="VegBank" /></a><a href="#identificationType" class="wiki-anchor">¶</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">¶</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">¶</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">¶</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">¶</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">¶</a></h2>
|
2902 |
2921 |
|
mappings/VegCore.htm: regenerated from wiki. added taxon_determination__is_current, taxon_determination__is_original.