The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Locale::Object::DB::Schemata - schema documentation for the Locale::Object database

VERSION

0.11

DESCRIPTION

This module documents the database used by the Locale::Object modules.

THE DATABASE

The database of locale information used by the Locale::Object modules uses DBD::SQLite, and contains several tables.

the 'country' table

    CREATE TABLE country (
        code_alpha2           char(2),
        code_alpha3           char(3),
        code_numeric          smallint,
        name                  char(100),
        name_native           char(100),
        primary_language      char(3),
        main_timezone         tinyint,
        uses_daylight_savings char(3),
        PRIMARY KEY           (code_alpha2)
    );

    * code_alpha2 , code_alpha3, code_numeric and name are data from ISO 3166 - see http://ftp.ics.uci.edu/pub/ietf/http/related/iso3166.txt. * name_native, primary_language, main_timezone and uses_daylight_savings are currently empty, but will be utilized in a forthcoming release of these modules.

the 'currency' table

    CREATE TABLE currency (
        country_code   char(2),
        name           char(100),
        code           char(3),
        code_numeric   smallint,
        symbol         char(20),
        subunit        char(100),
        subunit_amount smallint,
        PRIMARY KEY  (country_code)
    );

* country_code contains ISO 3166 two-letter country codes, as in the previous table.

* name and code contain ISO 4217 three-letter codes and names for world currencies - see http://fx.sauder.ubc.ca/iso4217.html.

* symbol, subunit and subunit_amount contain currency symbols, subunits (such as cents) and the amounts of subunits that comprise a single currency unit (such as 100 [cents in a dollar]). This data was sourced from http://fx.sauder.ubc.ca/currency_table.html.

the 'continent' table

    CREATE TABLE continent (
        country_code char(2),
        name         char(13),
        PRIMARY KEY  (country_code)
    );
#
* C<country_code> contains ISO 3166 two-letter codes again, and C<name> contains associated continent names (Africa, Asia, Europe, North America, Oceania and South America). Sourced from L<http://www.worldatlas.com/cntycont.htm>.

the 'language' table

    CREATE TABLE language (
        code_alpha2  char(2),
        code_alpha3  char(3),
        name         char(100),
        PRIMARY KEY  (code_alpha2)
    );

    * code_alpha2 contains 2-letter ISO 639-1 language codes. See http://www.loc.gov/standards/iso639-2/englangn.html.

    * code_alpha3 contains 3-letter ISO 639-2. There two parts of ISO 639-2, B (for 'bibliographic') and T (for 'terminology'), which differ in 23 instances out of the full list of 464 codes. For simplicity, this module uses the ISO 639-2/T versions. For more information, see the URL above and also http://www.loc.gov/standards/iso639-2/develop.html.

    * name contains the standard names of languages in English as defined by ISO 639.

In addition to the quoted sources, I also got some information from the fabulous http://www.nationmaster.com/.

AUTHOR

Earle Martin <EMARTIN@cpan.org>

http://purl.oclc.org/net/earlemartin/

CREDITS

See the credits for Locale::Object.

LEGAL

Copyright 2003 Fotango Ltd. All rights reserved. http://opensource.fotango.com/

This module is released under the same license as Perl itself, and is provided on an "as is" basis. The author and Fotango Ltd make no warranties of any kind, either expressed or implied, as to the accuracy and/or utility of any results obtained from its use. However, if you do find something wrong with the results, please let the author know. Thanks.