| DBSchema-Sample documentation | view source | Contained in the DBSchema-Sample distribution. |
DBSchema::Sample - build and populate a realistic sample schema.
This program builds and populates a small but realistic database.
Postgres 7.4, MySQL 4.0.14 and SQLite 2.8.6 have been tested
CREATE DATABASE test
For SQLite, this step is not necessary.
DBD::SQLite and DBD::mysql have been tested
When it follows the prereqs, it installs DBIx::AnyDBD.
perl -MDBSchema::Sample -e load
Follow the prompts for DBI connection information and the tables will be built and populated.
SQLite users: (1) when this command is run, be sure to run it in a directory where there is no directory named the same as your database and if there is a file with the name of your database, that file is in fact your database. (2) the default username (undef) is just fine.
This creates the database schema discussed in "The Practical SQL Handbook by Bowman, Emerson and Darnovsky" (Addison-Wesley). It is useful to have something like this when you want to play around with a DBI wrapper (or 12) but don't feel like creating a realistic schema and populating it with sensible data.
load()
You can get a PDF of the schema to view here:
ed_id is a surrogate primary key for the authors table
At first, I didn't understand how a title could have more than one royalty, then I realized that a title has varying royalties based on the total volume sold.
roysched has title_id as a foreign key. And title_id is the primary key in titles.
pub_id is the surrogate primary key.
sales has sonum as a primary key. sonum is a foreign key in salesdetails.
T. M. Brannon, tbone@cpan.org
| DBSchema-Sample documentation | view source | Contained in the DBSchema-Sample distribution. |