Taxa (table)

From Species File Help
(Difference between revisions)
Jump to: navigation, search
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
'''tblTaxa''' contains taxon names at all ranks, including synonyms and other non valid names.
 
'''tblTaxa''' contains taxon names at all ranks, including synonyms and other non valid names.
  
    TaxonNameID, integer, 4 bytes, unique identifier for the taxon name.  This number can be used to enter the database at this name.
+
*TaxonNameID, integer, 4 bytes, unique identifier for the taxon name.  This number can be used to enter the database at this name.
    FileID, integer, 4 bytes, = tblFiles.FileID
+
*FileID, integer, 4 bytes, = tblFiles.FileID
    TaxonNameStr, text, 300 characters maximum.  A series of TaxonNameID in text form and separated by "-".  
+
*TaxonNameStr, text, 300 characters maximum.  A series of TaxonNameID in text form and separated by "-".  
        If a taxon is at genus rank and is not a synonym, the text of TaxonNameID is followed by "g".  This makes forming binomial names more efficient.
+
**If a taxon is at genus rank and is not a synonym, the text of TaxonNameID is followed by "g".  This makes forming binomial names more efficient.
        If a taxon is at subgenus rank and is not a synonym, the text of TaxonNameID is followed by "s".
+
**If a taxon is at subgenus rank and is not a synonym, the text of TaxonNameID is followed by "s".
        For all taxa immediately subordinate to the apex taxon, TaxonNameStr begins with the TaxonNameID of the apex taxon followed by "-" (or "g-" if the apex taxon is at genus rank) and the TaxonNameID of the subordinate.
+
**For all taxa immediately subordinate to the apex taxon, TaxonNameStr begins with the TaxonNameID of the apex taxon followed by "-" (or "g-" if the apex taxon is at genus rank) and the TaxonNameID of the subordinate.
        The chain of TaxonNameIDs grows moving down the hierarchy by adding "-" and the TaxonNameID (and "g" or "s" when appropriate).
+
**The chain of TaxonNameIDs grows moving down the hierarchy by adding "-" and the TaxonNameID (and "g" or "s" when appropriate).
        For all taxa outside the primary scope, TaxonNameStr begins with "0-".
+
**For all taxa outside the primary scope, TaxonNameStr begins with "0-".
            For genera outside the primary scope (needed for tblTaxa.OriginalGenusID), TaxonNameStr begins with "0-0-".
+
***For genera (and rarely other ranks) outside the primary scope, TaxonNameStr begins with "0-0-". This is needed for tblTaxa.OriginalGenusID, for genera in nomenclator information for citations, and for taxa providing images or sounds.
            For context taxa outside the primary scope, TaxonNameStr begins with "0-1-".  Such taxa provide some context around the apex taxon.
+
***For context taxa outside the primary scope, TaxonNameStr begins with "0-1-".  Such taxa provide some context around the apex taxon.
            For taxa previously within the primary scope but now outside, TaxonNameStr begins with "0-2-".  This enables finding such taxa in searches so that users can be told about the change in status.
+
***For taxa previously within the primary scope but now outside, TaxonNameStr begins with "0-2-".  This enables finding such taxa in searches so that users can be told about the change in status.
            For reserved values of TaxonNameID, TaxonNameStr begins with "0-3-".  These values are held in reserve for when private species files are merged.
+
***For reserved values of TaxonNameID, TaxonNameStr begins with "0-3-".  These values are held in reserve for when private species files are merged.
            For family-group taxa outside the primary scope (needed for tblTypeSpecies.FirstFamGrpNameID), TaxonNameStr begins with "0-4-".
+
***For family-group taxa outside the primary scope (needed for tblTypeSpecies.FirstFamGrpNameID), TaxonNameStr begins with "0-4-".
    RankID, integer, 4 bytes, = tblRanks.RankID, number for rank in hierarchy
+
*RankID, integer, 4 bytes, = tblRanks.RankID, number for rank in hierarchy
    Name, text, 30 characters maximum, name of taxon
+
*Name, text, 30 characters maximum, name of taxon
    Parens, boolean, enclose author name in parens?
+
*Parens, boolean, enclose author name in parens?
    AboveID, integer, 4 bytes, = tblTaxa.TaxonNameID of the next higher taxon in the hierarchy.  If this taxon is a synonym or other not valid name, then this is the TaxonNameID for the valid taxon.  AboveID cannot be the TaxonNameID for a genus having subgenera or a species having subspecies:  In those cases, use the TaxonNameID of the nominotypical subgenus or subspecies.
+
*AboveID, integer, 4 bytes, = tblTaxa.TaxonNameID of the next higher taxon in the hierarchy.  If this taxon is a synonym or other not valid name, then this is the TaxonNameID for the valid taxon.
    LikeNameID, integer 4 bytes, = 0 unless this is a special case.  Special cases are
+
*LikeNameID, integer 4 bytes, = 0 unless this is a special case.  Special cases are
        Valid or temporary taxa
+
**Valid or temporary taxa
            Genus, then = tblTaxa.TaxonNameID of subgenus by same name
+
***Genus, then = tblTaxa.TaxonNameID of subgenus by same name
            Subgenus, then = tblTaxa.TaxonNameID of genus by same name
+
***Subgenus, then = tblTaxa.TaxonNameID of genus by same name
            Species, then = tblTaxa.TaxonNameID of subspecies by same name
+
***Species, then = tblTaxa.TaxonNameID of subspecies by same name
            Subspecies, then = tblTaxa.TaxonNameID of species by same name
+
***Subspecies, then = tblTaxa.TaxonNameID of species by same name
    Extinct, integer, 1 byte, 0 = extinct, 1 = extant; if NameStatus > 2, then Extinct is NULL.) Could be changed to allow additional values such as threatened, endangered and presumed extirpated.
+
*Extinct, integer, 1 byte, 0 = extant, 1 = extinct; if NameStatus = 7 (synonym), then the value of Extinct is ignored.  Could be changed to allow additional values such as threatened, endangered and presumed extirpated.
    RefID, integer, 4 bytes, = tblRefs.RefID for the original description of the taxon.  CAUTION:  For family-group taxa, this is the first use of the name in its current form.  The author and date for priority are based on the first use of any name based on the same type genus.  To locate this information, trace via tblTypeGenera.GenusNameID to tblTypeSpecies.FirstFamGrpNameID to tblTaxa.RefID of that first name.  For taxa above superfamily rank, RefID is always 0.  Taxa at a rank above species and below subgenus also have RefID = 0.
+
*HasPreHolocene, bit, 0 = no fossils, 1 = one or more fossils are known to exist; if NameStatus = 7 (synonym), then the value of HasPreHolocene is ignored.
    NecAuthor, text, 200 characters maximum, author who used name correctly sometimes with additional information
+
*HasModern, bit, 0 = no Recent specimens, 1 = one or more Recent specimens are known to exist; if NameStatus = 7(synonym), then the value of HasModern is ignored.
    DataFlags, integer, 2 bytes, with bitwise flags for type of data present
+
*RefID, integer, 4 bytes, = tblRefs.RefID for the original description of the taxon.  CAUTION:  For family-group taxa, this is the first use of the name in its current form.  The author and date for priority are based on the first use of any name based on the same type genus.  To locate this information, trace via tblTypeGenera.GenusNameID to tblTypeSpecies.FirstFamGrpNameID to tblTaxa.RefID of that first name.  For taxa above superfamily rank, RefID is always 0.  Taxa at a rank above species and below subgenus also have RefID = 0.
        1 = image
+
*NecAuthor, text, 200 characters maximum, author who used name correctly sometimes with additional information
        2 = sound
+
*DataFlags, integer, 2 bytes, with bitwise flags for type of data present
        4 = link to other website
+
**1 = image
        8 = specimen data
+
**2 = sound
        0x10 (16) = scrutiny
+
**4 = link to other website
        0x20 (32) = key group
+
**8 = specimen data
        0x40 (64) = supplementary information
+
**0x10 (16) = scrutiny
        0x80 (128) = common name
+
**0x20 (32) = key group
        0x100 (256) = related taxon
+
**0x40 (64) = supplementary information
        0x200 (512) = automatic link to other website
+
**0x80 (128) = common name
        0x400 (1024) = ecological relationship
+
**0x100 (256) = related taxon
        0x800 (2048) = valid taxon name string (used exclusively in spTestAboveIDvsTaxonNameStr)
+
**0x200 (512) = automatic link to other website
        0x1000 (4096) = has specimen(s) with latitude/longitude data useable for maps, applies to taxa at rank tribe or lower
+
**0x400 (1024) = ecological relationship
    AccessCode, integer, 4 bytes, = tblAccessCodes.AccessCode
+
**0x800 (2048) = valid taxon name string (used exclusively in spTestAboveIDvsTaxonNameStr)
    NameStatus, integer, 1 byte
+
**0x1000 (4096) = has specimen(s) with latitude/longitude data useable for maps, applies to taxa at rank tribe or lower
        0 = valid
+
*AccessCode, integer, 4 bytes, = tblAccessCodes.AccessCode
        2 = temporary name for use until a valid name is provided (subordinate names limited to temporary names and synonyms)
+
*NameStatus, integer, 1 byte
        4 = nomen nudum, must be at lower rank than parent (subordinate names limited to nomina nuda)
+
**0 = valid
        5 = nomen dubium, must be at lower rank than parent (subordinate names limited to nomina nuda and dubia)
+
**2 = temporary name for use until a valid name is provided (subordinate names limited to temporary names and synonyms)
        7 = synonym (subordinate taxa not allowed)
+
**4 = nomen nudum, must be at lower rank than parent (subordinate names limited to nomina nuda)
    StatusFlags, integer, 4 bytes, interpreted bitwise
+
**5 = nomen dubium, must be at lower rank than parent (subordinate names limited to nomina nuda and dubia)
        1 = informal name, compatible only with tblTaxa.NameStatus = 2 or 7
+
**7 = synonym (subordinate taxa not allowed)
        2 = subsequent misspelling, compatible only with tblTaxa.NameStatus = 7
+
*StatusFlags, integer, 4 bytes, interpreted bitwise.  We have run out of bits.  To solve this, some flags will be moved to a new column UnavailFlags.
        4 = unjustified emendation, compatible only with tblTaxa.NameStatus = 7
+
**1 = informal name, compatible only with tblTaxa.NameStatus = 2 or 7. Will be moved to UnavailFlags.
        8 = nomen nudum, compatible only with tblTaxa.NameStatus = 2 or 4 when rank is less than parent rank or = 7 when rank is same as parent
+
**2 = subsequent misspelling, compatible only with tblTaxa.NameStatus = 7. Will be moved to UnavailFlags.
        0x10 (16) = nomen dubium, compatible only with tblTaxa.NameStatus = 5 when rank is less than parent rank or = 7 when rank is same as parent
+
**4 = unjustified emendation, compatible only with tblTaxa.NameStatus = 7. New value will be 1.
        0x20 (32) = incertae sedis, compatible only with tblTaxa.NameStatus = 0 or 2
+
**8 = nomen nudum, compatible only with tblTaxa.NameStatus = 2 or 4 when rank is less than parent rank or = 7 when rank is same as parent. Will be moved to UnavailFlags.
        0x40 (64) = required emendation, compatible only with tblTaxa.NameStatus = 0, 2 or 7
+
**0x10 (16) = nomen dubium, compatible only with tblTaxa.NameStatus = 5 when rank is less than parent rank or = 7 when rank is same as parent. New value will be 2.
        0x80 (128) = nomen protectum, compatible only with tblTaxa.NameStatus = 0 or 7
+
**0x20 (32) = incertae sedis, compatible only with tblTaxa.NameStatus = 0 or 2. New value will be 4.
        0x100 (256) = suppressed, compatible only with tblTaxa.NameStatus = 7
+
**0x40 (64) = required emendation, compatible only with tblTaxa.NameStatus = 0, 2 or 7. New value will be 8.
        0x200 (512) = misapplied, compatible only with tblTaxa.NameStatus = 2, 4, 5 or 7
+
**0x80 (128) = nomen protectum, compatible only with tblTaxa.NameStatus = 0 or 7. New value will be 0x10.
        0x400 (1024) = preoccupied (genus-group names), compatible only with tblTaxa.NameStatus = 2 or 7
+
**0x100 (256) = suppressed, compatible only with tblTaxa.NameStatus = 7. Will be moved to UnavailFlags.
        0x800 (2048) = primary homonym (species-group names), compatible only with tblTaxa.NameStatus = 2 or 7
+
**0x200 (512) = misapplied, compatible only with tblTaxa.NameStatus = 2, 4, 5 or 7. Will be moved to UnavailFlags.
        0x1000 (4096) = secondary homonym (species-group names), compatible only with tblTaxa.NameStatus = 2 or 7
+
**0x400 (1024) = preoccupied (genus-group names), compatible only with tblTaxa.NameStatus = 2 or 7. Will be moved to UnavailFlags.
        0x2000 (8192) = nomen oblitum, compatible only with tblTaxa.NameStatus = 7
+
**0x800 (2048) = primary homonym (species-group names), compatible only with tblTaxa.NameStatus = 2 or 7. Will be moved to UnavailFlags.
        0x4000 (16384) = unnecessary replacement name, compatible only with tblTaxa.NameStatus = 7
+
**0x1000 (4096) = secondary homonym (species-group names), compatible only with tblTaxa.NameStatus = 2 or 7. New value will be 0x20.
        0x8000 (32768) = incorrect original spelling, compatible only with tblTaxa.Namestatus = 2, 4, 5 or 7
+
**0x2000 (8192) = nomen oblitum, compatible only with tblTaxa.NameStatus = 7. New value will be 0x40.
        0x10000 (65536) = other, explained by tblTaxa.Comment, compatible only with tblTaxa.NameStatus = 2 or 7
+
**0x4000 (16384) = unnecessary replacement name, compatible only with tblTaxa.NameStatus = 7. New value will be 0x80.
        0x20000 (131072) = unavailable, other reason, compatible only with tblTaxa.NameStatus = 2 or 7
+
**0x8000 (32768) = incorrect original spelling, compatible only with tblTaxa.Namestatus = 2, 4, 5 or 7. Will be moved to UnavailFlags.
        0x40000 (262144) = junior synonym, compatible only with tblTaxa.NameStatus = 7
+
**0x10000 (65536) = other, explained by tblTaxa.Comment, compatible only with tblTaxa.NameStatus = 0, 2 or 7. New value will be 0x100.
        0x80000 (524288) = nomen novum, compatible only with tblTaxa.Namestatus = 0, 2, or 7
+
**0x20000 (131072) = unavailable, other reason, compatible only with tblTaxa.NameStatus = 2 or 7.
        0x100000 (1048576) = original name, used only for family-group names, compatible only with tblTaxa.NameStatus = 7
+
**0x40000 (262144) = junior synonym, compatible only with tblTaxa.NameStatus = 7.
        0x200000 (2097152) = subsequent name, used only for family-group names, compatible with any tblTaxa.NameStatus value
+
**0x80000 (524288) = nomen novum, compatible only with tblTaxa.Namestatus = 0, 2, or 7.
        0x400000 (4194304) = junior homonym for species-group name not specified as primary or secondary, compatible only with tblTaxa.NameStatus = 2 or 7
+
**0x100000 (1048576) = original name, used only for family-group names, compatible only with tblTaxa.NameStatus = 7.
        0x800000 (8388608) = lapsus calami, compatible only with tblTaxa.NameStatus = 2, 4, 5 or 7
+
**0x200000 (2097152) = subsequent name, used only for family-group names, compatible with any tblTaxa.NameStatus value.
        0x1000000 (16777216) = corrected lapsus calami, compatible only with tblTaxa.NameStatus = 0, 2 or 7
+
**0x400000 (4194304) = junior homonym for species-group name not specified as primary or secondary, compatible only with tblTaxa.NameStatus = 2 or 7.
        0x2000000 (33554432) = nomen nudum made available, compatible only with tblTaxa.NameStatus = 0, 2 or 7
+
**0x800000 (8388608) = lapsus calami, compatible only with tblTaxa.NameStatus = 2, 4, 5 or 7.
        Notes about StatusFlags
+
**0x1000000 (16777216) = corrected lapsus calami, compatible only with tblTaxa.NameStatus = 0, 2 or 7. **0x2000000 (33554432) = nomen nudum made available, compatible only with tblTaxa.NameStatus = 0, 2 or 7.
            Type data for taxa is available based on rank and name status:
+
**Notes about StatusFlags.
                No type data for ranks above superfamily.
+
***Type data for taxa is available based on rank and name status:
                No type data for ranks of subgenus through superfamily with name status of misapplied (0x200).
+
****No type data for ranks above superfamily.
                No type data for ranks above species and below subgenus.
+
****No type data for ranks of subgenus through superfamily with name status of misapplied (0x200).
                No type data for ranks of species level and below for emendation (unjustified and required), misspelling, nomen nudum, unnecessary replacement, nomen novum, and misapplied (0x8424E)  OR  NameStatus = 4 (nomen nudum).
+
****No type data for ranks above species and below subgenus.
            Age qualification is required for the following NameStatus values:
+
****No type data for ranks of species level and below for emendation (unjustified and required), misspelling, nomen nudum, unnecessary replacement, nomen novum, and misapplied (0x8424E)  OR  NameStatus = 4 (nomen nudum).
                Junior synonym must not be older than the valid name.
+
***Age qualification is required for the following NameStatus values:
                Unjustified emendation, misspelling, and unnecessary replacement must not be older than the correct name.
+
****Junior synonym must not be older than the valid name.
                Incorrectly formed name must not be younger than the justified emendation name.
+
****Unjustified emendation, misspelling, and unnecessary replacement must not be older than the correct name.
                Nomen novum must not be younger than the homonym replaced.
+
****Incorrectly formed name must not be younger than the justified emendation name.
                Nomen oblitum must not be younger than the valid name.
+
****Nomen novum must not be younger than the homonym replaced.
            Taxa may have more than one status flag set.  However, there are restrictions for certain status values.  Unless stated below, more than one status flag may be set:
+
****Nomen oblitum must not be younger than the valid name.
                Emendation is not compatible with misspelling, unnecessary replacement, nomen nudum, incorrect original spelling, and misapplied.
+
***Taxa may have more than one status flag set.  However, there are restrictions for certain status values.  Unless stated below, more than one status flag may be set:
                Misspelling is not compatible with with emendation, unnecessary replacement, nomen nudum, incorrect original spelling, junior synonym, and misapplied.
+
****Emendation is not compatible with misspelling, unnecessary replacement, nomen nudum, incorrect original spelling, and misapplied.
                Unnecessary replacement is not compatible with emendation, misspelling, junior synonym, and misapplied.
+
****Misspelling is not compatible with with emendation, unnecessary replacement, nomen nudum, incorrect original spelling, junior synonym, and misapplied.
                Nomen nudum is not compatible with emendation, misspelling, junior synonym, and misapplied.
+
****Unnecessary replacement is not compatible with emendation, misspelling, junior synonym, and misapplied.
                Incorrect original spelling is not compatible with misspelling, unnecessary replacement, nomen nudum, and misapplied.
+
****Nomen nudum is not compatible with emendation, misspelling, junior synonym, and misapplied.
                Junior synonym is not compatible with misspelling, unnecessary replacement, nomen nudum, and misapplied.
+
****Incorrect original spelling is not compatible with misspelling, unnecessary replacement, nomen nudum, and misapplied.
                Misapplied is not compatible with emendation, misspelling, unnecessary replacement, nomen nudum, incorrect original spelling, junior synonym, and misapplied.
+
****Junior synonym is not compatible with misspelling, unnecessary replacement, nomen nudum, and misapplied.
                Note that, theoretically, the following status values may be used in combination with any other status value, but in some cases this may be illogical:  Junior homonym, suppressed by ruling, unavailable (other reason), incertae sedis, nomen dubium, nomen oblitum, nomen novum, nomen protectum, unnamed.
+
****Misapplied is not compatible with emendation, misspelling, unnecessary replacement, nomen nudum, incorrect original spelling, junior synonym, and misapplied.
    OriginalGenusID, integer, 4 bytes, = tblTaxa.TaxonNameID, used only for species-group taxa other than a species that has subspecies, TaxonNameID for the genus in which the species was originally described, = 0 if unknown, -1 identifies cases where the previously recorded original genus did not exist when the species was described.  If a genus and subgenus have the same name, use the TaxonNameID of the subgenus.
+
****Note that, theoretically, the following status values may be used in combination with any other status value, but in some cases this may be illogical:  Junior homonym, suppressed by ruling, unavailable (other reason), incertae sedis, nomen dubium, nomen oblitum, nomen novum, nomen protectum, unnamed.
    Distribution, text, 400 characters maximum.
+
*OriginalGenusID, integer, 4 bytes, = tblTaxa.TaxonNameID, used only for species-group taxa other than a species that has subspecies, TaxonNameID for the genus in which the species was originally described, = 0 if unknown, -1 identifies cases where the previously recorded original genus did not exist when the species was described.  If a genus and subgenus have the same name, use the TaxonNameID of the subgenus.
    Ecology, text, 400 characters maximum.
+
*Distribution, text, 400 characters maximum.
    Comment, text, 400 characters maximum, explanation relating to the status of the name.
+
*Ecology, text, 400 characters maximum.
    ExpertID, integer, 4 bytes, = tblExperts.ExpertID for the person recorded as expert for this taxon
+
*Comment, text, 400 characters maximum, explanation relating to the status of the name.
    ExpertReason, integer, 1 byte, reason expert assigned, 0 = no expert assigned, 1 = by default, 2 = by hierarchy only, 3 = by hierarchy and geography, 11 = cascaded by default, 12 = cascaded by hierarchy only, 13 = cascaded by hierarchy and geography
+
*ExpertID, integer, 4 bytes, = tblExperts.ExpertID for the person recorded as expert for this taxon
        When a new taxon is created or a taxon becomes valid, the ExpertID is copied from the new AboveID.  If the ExpertID and ExpertReason of the AboveID is 0, the new/now valid taxon values are also 0.  If the ExpertReason of the AboveID is less than 10 (but greater than 0), add 10 to the ExpertReason of the AboveID to derive the ExpertReason value for the new/now valid taxon.  Use the same ExpertReason value for the new/now valid taxon if the ExpertReason of the AboveID is greater than 9.
+
*ExpertReason, integer, 1 byte, reason expert assigned, 0 = no expert assigned, 1 = by default, 2 = by hierarchy only, 3 = by hierarchy and geography, 11 = cascaded by default, 12 = cascaded by hierarchy only, 13 = cascaded by hierarchy and geography
    CurrentConceptRefID, integer, 4 bytes, = tblRefs.RefID, identifies the reference that initiated the currently accepted concept.  If there is no currently accepted concept for the name, then this is the reference that terminated the concept.
+
**When a new taxon is created or a taxon becomes valid, the ExpertID is copied from the new AboveID.  If the ExpertID and ExpertReason of the AboveID is 0, the new/now valid taxon values are also 0.  If the ExpertReason of the AboveID is less than 10 (but greater than 0), add 10 to the ExpertReason of the AboveID to derive the ExpertReason value for the new/now valid taxon.  Use the same ExpertReason value for the new/now valid taxon if the ExpertReason of the AboveID is greater than 9.
    LifeZone, integer, 1 byte, bit values:
+
*CurrentConceptRefID, integer, 4 bytes, = tblRefs.RefID, identifies the reference that initiated the currently accepted concept.  If there is no currently accepted concept for the name, then this is the reference that terminated the concept.
        1 = Marine
+
*LifeZone, integer, 1 byte, bit values:
        2 = Brackish
+
**1 = Marine
        4 = Freshwater
+
**2 = Brackish
        8 = Terrestrial
+
**4 = Freshwater
    LastUpdate, smalldatetime, date and time row last updated
+
**8 = Terrestrial
    ModifiedBy, integer, 4 bytes, FileUserID of the signon that made the change
+
*LastUpdate, smalldatetime, date and time row last updated
    CreatedOn, smalldatetime, date and time row was created
+
*ModifiedBy, integer, 4 bytes, FileUserID of the signon that made the change
    CreatedBy, integer, 4 bytes, FileUserID of the signon that created the row
+
*CreatedOn, smalldatetime, date and time row was created
 +
*CreatedBy, integer, 4 bytes, FileUserID of the signon that created the row
 
[[Category:TaxaTables]]
 
[[Category:TaxaTables]]
 +
[[Category:Tables]]

Latest revision as of 18:17, 21 January 2014

tblTaxa contains taxon names at all ranks, including synonyms and other non valid names.

  • TaxonNameID, integer, 4 bytes, unique identifier for the taxon name. This number can be used to enter the database at this name.
  • FileID, integer, 4 bytes, = tblFiles.FileID
  • TaxonNameStr, text, 300 characters maximum. A series of TaxonNameID in text form and separated by "-".
    • If a taxon is at genus rank and is not a synonym, the text of TaxonNameID is followed by "g". This makes forming binomial names more efficient.
    • If a taxon is at subgenus rank and is not a synonym, the text of TaxonNameID is followed by "s".
    • For all taxa immediately subordinate to the apex taxon, TaxonNameStr begins with the TaxonNameID of the apex taxon followed by "-" (or "g-" if the apex taxon is at genus rank) and the TaxonNameID of the subordinate.
    • The chain of TaxonNameIDs grows moving down the hierarchy by adding "-" and the TaxonNameID (and "g" or "s" when appropriate).
    • For all taxa outside the primary scope, TaxonNameStr begins with "0-".
      • For genera (and rarely other ranks) outside the primary scope, TaxonNameStr begins with "0-0-". This is needed for tblTaxa.OriginalGenusID, for genera in nomenclator information for citations, and for taxa providing images or sounds.
      • For context taxa outside the primary scope, TaxonNameStr begins with "0-1-". Such taxa provide some context around the apex taxon.
      • For taxa previously within the primary scope but now outside, TaxonNameStr begins with "0-2-". This enables finding such taxa in searches so that users can be told about the change in status.
      • For reserved values of TaxonNameID, TaxonNameStr begins with "0-3-". These values are held in reserve for when private species files are merged.
      • For family-group taxa outside the primary scope (needed for tblTypeSpecies.FirstFamGrpNameID), TaxonNameStr begins with "0-4-".
  • RankID, integer, 4 bytes, = tblRanks.RankID, number for rank in hierarchy
  • Name, text, 30 characters maximum, name of taxon
  • Parens, boolean, enclose author name in parens?
  • AboveID, integer, 4 bytes, = tblTaxa.TaxonNameID of the next higher taxon in the hierarchy. If this taxon is a synonym or other not valid name, then this is the TaxonNameID for the valid taxon.
  • LikeNameID, integer 4 bytes, = 0 unless this is a special case. Special cases are
    • Valid or temporary taxa
      • Genus, then = tblTaxa.TaxonNameID of subgenus by same name
      • Subgenus, then = tblTaxa.TaxonNameID of genus by same name
      • Species, then = tblTaxa.TaxonNameID of subspecies by same name
      • Subspecies, then = tblTaxa.TaxonNameID of species by same name
  • Extinct, integer, 1 byte, 0 = extant, 1 = extinct; if NameStatus = 7 (synonym), then the value of Extinct is ignored. Could be changed to allow additional values such as threatened, endangered and presumed extirpated.
  • HasPreHolocene, bit, 0 = no fossils, 1 = one or more fossils are known to exist; if NameStatus = 7 (synonym), then the value of HasPreHolocene is ignored.
  • HasModern, bit, 0 = no Recent specimens, 1 = one or more Recent specimens are known to exist; if NameStatus = 7(synonym), then the value of HasModern is ignored.
  • RefID, integer, 4 bytes, = tblRefs.RefID for the original description of the taxon. CAUTION: For family-group taxa, this is the first use of the name in its current form. The author and date for priority are based on the first use of any name based on the same type genus. To locate this information, trace via tblTypeGenera.GenusNameID to tblTypeSpecies.FirstFamGrpNameID to tblTaxa.RefID of that first name. For taxa above superfamily rank, RefID is always 0. Taxa at a rank above species and below subgenus also have RefID = 0.
  • NecAuthor, text, 200 characters maximum, author who used name correctly sometimes with additional information
  • DataFlags, integer, 2 bytes, with bitwise flags for type of data present
    • 1 = image
    • 2 = sound
    • 4 = link to other website
    • 8 = specimen data
    • 0x10 (16) = scrutiny
    • 0x20 (32) = key group
    • 0x40 (64) = supplementary information
    • 0x80 (128) = common name
    • 0x100 (256) = related taxon
    • 0x200 (512) = automatic link to other website
    • 0x400 (1024) = ecological relationship
    • 0x800 (2048) = valid taxon name string (used exclusively in spTestAboveIDvsTaxonNameStr)
    • 0x1000 (4096) = has specimen(s) with latitude/longitude data useable for maps, applies to taxa at rank tribe or lower
  • AccessCode, integer, 4 bytes, = tblAccessCodes.AccessCode
  • NameStatus, integer, 1 byte
    • 0 = valid
    • 2 = temporary name for use until a valid name is provided (subordinate names limited to temporary names and synonyms)
    • 4 = nomen nudum, must be at lower rank than parent (subordinate names limited to nomina nuda)
    • 5 = nomen dubium, must be at lower rank than parent (subordinate names limited to nomina nuda and dubia)
    • 7 = synonym (subordinate taxa not allowed)
  • StatusFlags, integer, 4 bytes, interpreted bitwise. We have run out of bits. To solve this, some flags will be moved to a new column UnavailFlags.
    • 1 = informal name, compatible only with tblTaxa.NameStatus = 2 or 7. Will be moved to UnavailFlags.
    • 2 = subsequent misspelling, compatible only with tblTaxa.NameStatus = 7. Will be moved to UnavailFlags.
    • 4 = unjustified emendation, compatible only with tblTaxa.NameStatus = 7. New value will be 1.
    • 8 = nomen nudum, compatible only with tblTaxa.NameStatus = 2 or 4 when rank is less than parent rank or = 7 when rank is same as parent. Will be moved to UnavailFlags.
    • 0x10 (16) = nomen dubium, compatible only with tblTaxa.NameStatus = 5 when rank is less than parent rank or = 7 when rank is same as parent. New value will be 2.
    • 0x20 (32) = incertae sedis, compatible only with tblTaxa.NameStatus = 0 or 2. New value will be 4.
    • 0x40 (64) = required emendation, compatible only with tblTaxa.NameStatus = 0, 2 or 7. New value will be 8.
    • 0x80 (128) = nomen protectum, compatible only with tblTaxa.NameStatus = 0 or 7. New value will be 0x10.
    • 0x100 (256) = suppressed, compatible only with tblTaxa.NameStatus = 7. Will be moved to UnavailFlags.
    • 0x200 (512) = misapplied, compatible only with tblTaxa.NameStatus = 2, 4, 5 or 7. Will be moved to UnavailFlags.
    • 0x400 (1024) = preoccupied (genus-group names), compatible only with tblTaxa.NameStatus = 2 or 7. Will be moved to UnavailFlags.
    • 0x800 (2048) = primary homonym (species-group names), compatible only with tblTaxa.NameStatus = 2 or 7. Will be moved to UnavailFlags.
    • 0x1000 (4096) = secondary homonym (species-group names), compatible only with tblTaxa.NameStatus = 2 or 7. New value will be 0x20.
    • 0x2000 (8192) = nomen oblitum, compatible only with tblTaxa.NameStatus = 7. New value will be 0x40.
    • 0x4000 (16384) = unnecessary replacement name, compatible only with tblTaxa.NameStatus = 7. New value will be 0x80.
    • 0x8000 (32768) = incorrect original spelling, compatible only with tblTaxa.Namestatus = 2, 4, 5 or 7. Will be moved to UnavailFlags.
    • 0x10000 (65536) = other, explained by tblTaxa.Comment, compatible only with tblTaxa.NameStatus = 0, 2 or 7. New value will be 0x100.
    • 0x20000 (131072) = unavailable, other reason, compatible only with tblTaxa.NameStatus = 2 or 7.
    • 0x40000 (262144) = junior synonym, compatible only with tblTaxa.NameStatus = 7.
    • 0x80000 (524288) = nomen novum, compatible only with tblTaxa.Namestatus = 0, 2, or 7.
    • 0x100000 (1048576) = original name, used only for family-group names, compatible only with tblTaxa.NameStatus = 7.
    • 0x200000 (2097152) = subsequent name, used only for family-group names, compatible with any tblTaxa.NameStatus value.
    • 0x400000 (4194304) = junior homonym for species-group name not specified as primary or secondary, compatible only with tblTaxa.NameStatus = 2 or 7.
    • 0x800000 (8388608) = lapsus calami, compatible only with tblTaxa.NameStatus = 2, 4, 5 or 7.
    • 0x1000000 (16777216) = corrected lapsus calami, compatible only with tblTaxa.NameStatus = 0, 2 or 7. **0x2000000 (33554432) = nomen nudum made available, compatible only with tblTaxa.NameStatus = 0, 2 or 7.
    • Notes about StatusFlags.
      • Type data for taxa is available based on rank and name status:
        • No type data for ranks above superfamily.
        • No type data for ranks of subgenus through superfamily with name status of misapplied (0x200).
        • No type data for ranks above species and below subgenus.
        • No type data for ranks of species level and below for emendation (unjustified and required), misspelling, nomen nudum, unnecessary replacement, nomen novum, and misapplied (0x8424E) OR NameStatus = 4 (nomen nudum).
      • Age qualification is required for the following NameStatus values:
        • Junior synonym must not be older than the valid name.
        • Unjustified emendation, misspelling, and unnecessary replacement must not be older than the correct name.
        • Incorrectly formed name must not be younger than the justified emendation name.
        • Nomen novum must not be younger than the homonym replaced.
        • Nomen oblitum must not be younger than the valid name.
      • Taxa may have more than one status flag set. However, there are restrictions for certain status values. Unless stated below, more than one status flag may be set:
        • Emendation is not compatible with misspelling, unnecessary replacement, nomen nudum, incorrect original spelling, and misapplied.
        • Misspelling is not compatible with with emendation, unnecessary replacement, nomen nudum, incorrect original spelling, junior synonym, and misapplied.
        • Unnecessary replacement is not compatible with emendation, misspelling, junior synonym, and misapplied.
        • Nomen nudum is not compatible with emendation, misspelling, junior synonym, and misapplied.
        • Incorrect original spelling is not compatible with misspelling, unnecessary replacement, nomen nudum, and misapplied.
        • Junior synonym is not compatible with misspelling, unnecessary replacement, nomen nudum, and misapplied.
        • Misapplied is not compatible with emendation, misspelling, unnecessary replacement, nomen nudum, incorrect original spelling, junior synonym, and misapplied.
        • Note that, theoretically, the following status values may be used in combination with any other status value, but in some cases this may be illogical: Junior homonym, suppressed by ruling, unavailable (other reason), incertae sedis, nomen dubium, nomen oblitum, nomen novum, nomen protectum, unnamed.
  • OriginalGenusID, integer, 4 bytes, = tblTaxa.TaxonNameID, used only for species-group taxa other than a species that has subspecies, TaxonNameID for the genus in which the species was originally described, = 0 if unknown, -1 identifies cases where the previously recorded original genus did not exist when the species was described. If a genus and subgenus have the same name, use the TaxonNameID of the subgenus.
  • Distribution, text, 400 characters maximum.
  • Ecology, text, 400 characters maximum.
  • Comment, text, 400 characters maximum, explanation relating to the status of the name.
  • ExpertID, integer, 4 bytes, = tblExperts.ExpertID for the person recorded as expert for this taxon
  • ExpertReason, integer, 1 byte, reason expert assigned, 0 = no expert assigned, 1 = by default, 2 = by hierarchy only, 3 = by hierarchy and geography, 11 = cascaded by default, 12 = cascaded by hierarchy only, 13 = cascaded by hierarchy and geography
    • When a new taxon is created or a taxon becomes valid, the ExpertID is copied from the new AboveID. If the ExpertID and ExpertReason of the AboveID is 0, the new/now valid taxon values are also 0. If the ExpertReason of the AboveID is less than 10 (but greater than 0), add 10 to the ExpertReason of the AboveID to derive the ExpertReason value for the new/now valid taxon. Use the same ExpertReason value for the new/now valid taxon if the ExpertReason of the AboveID is greater than 9.
  • CurrentConceptRefID, integer, 4 bytes, = tblRefs.RefID, identifies the reference that initiated the currently accepted concept. If there is no currently accepted concept for the name, then this is the reference that terminated the concept.
  • LifeZone, integer, 1 byte, bit values:
    • 1 = Marine
    • 2 = Brackish
    • 4 = Freshwater
    • 8 = Terrestrial
  • LastUpdate, smalldatetime, date and time row last updated
  • ModifiedBy, integer, 4 bytes, FileUserID of the signon that made the change
  • CreatedOn, smalldatetime, date and time row was created
  • CreatedBy, integer, 4 bytes, FileUserID of the signon that created the row
Personal tools
Namespaces

Variants
Actions
Navigation
Species Files
Wiki
Toolbox