DBD-TreeData
view release on metacpan or search on metacpan
long_name => "Pennsylvania Avenue Northwest",
short_name => "Pennsylvania Ave NW",
types => [ "route" ]
},
{
long_name => "Washington",
short_name => "Washington",
types => [ "locality", "political" ]
},
... etc ...,
],
Would create the following tables:
<main_table>
address_component_groups
address_components
type_groups
types
In this case, C<<< address_components >>> has most of the columns and data, but it also has a tie to an ID of C<<< address_component_groups >>>.
Since C<<< types >>> points to an array, it will have its own dedicated table. That table would have data like:
type_id â type
âââââââââªââââââââââââââââ
1 â street_number
2 â establishment
3 â route
4 â locality
5 â political
... â ...
Most of the C<<< type_groups >>> table would be a 1:1 match. However, the last component entry has more than one value in the C<<< types >>> array, so the
C<<< type_group_id >>> associated to that component would have multiple entries (4 & 5). Duplicate values are also tracked, so that IDs are reused.
=head1 CAVEATS
=head2 DBI E<sol> DBD::AnyData Conflict
As of the time of this writing, the latest version of L<DBI> (1.623) and the latest version of L<DBD::AnyData> (0.110) do not work together.
Since TreeData relies on L<DBD::AnyData> for table creation, you will need to downgrade to L<DBI> 1.622 to use this driver, until a new
version of L<DBD::AnyData> comes out.
=head1 AVAILABILITY
The project homepage is L<https://github.com/SineSwiper/DBD-TreeData/wiki>.
The latest version of this module is available from the Comprehensive Perl
Archive Network (CPAN). Visit L<http://www.perl.com/CPAN/> to find a CPAN
site near you, or see L<https://metacpan.org/module/DBD::TreeData/>.
=for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan
=head1 SUPPORT
=head2 Internet Relay Chat
You can get live help by using IRC ( Internet Relay Chat ). If you don't know what IRC is,
please read this excellent guide: L<http://en.wikipedia.org/wiki/Internet_Relay_Chat>. Please
be courteous and patient when talking to us, as we might be busy or sleeping! You can join
those networks/channels and get help:
=over 4
=item *
irc.perl.org
You can connect to the server at 'irc.perl.org' and join this channel: #dbi then talk to this person for help: SineSwiper.
=back
=head2 Bugs / Feature Requests
Please report any bugs or feature requests via L<L<https://github.com/SineSwiper/DBD-TreeData/issues>|GitHub>.
=head1 AUTHOR
Brendan Byrd <BBYRD@CPAN.org>
=head1 COPYRIGHT AND LICENSE
This software is Copyright (c) 2013 by Brendan Byrd.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)
( run in 2.125 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )