Training, Open Source computer languages

PerlPHPPythonMySQLhttpd / TomcatTclRubyJavaC and C++LinuxCSS

Search our site for:
Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
MySQL - table design and initial testing example
"Examples are either simple as to be trivial, or too complex to understand" said a delegate - so this afternoon I accepted his challenge to come up with some thing in between. And the example is for some MySQL table design and design testing, with a Perl program to access and tabulate the data.

Scenario - A table of CUSTOMERS each of whom has a number of order REQUESTS each of which includes a number of line ITEMS. (3 tables so far!) A table of STORES each of which has a number of AISLES, each of which has a number of different PRODUCTS on it. That's six tables now. The items table contains a product id column, so that all the tables can be linked together.


Customer, request, item tables


Store, aisle, product tables

# Note - all fields start with same letter in each table
# Note - all tables have a unique id field
# Note - all tables first letter in unique
# Note - all table names are singular
# Note - sample data includes 2 records at each level so
# that we can test the dynamics but keep it as simple as poss
(Don't you love comments - those come from the test file!)

Here are the results of various reports:



Here is the "base" query behind all the joins and reports:

select c_name,p_name,i_count,p_price,a_name,s_name from
((store
join aisle on sid = a_sid)
join product on aid = p_aid)
join
((customer
join request on cid = r_cid )
join item on rid=i_rid)
on pid = i_pid ;


and you can see all the code used here. The output is here.

Finally - the Perl program's source is here.
(written 2007-11-06 16:35:12)

 
Associated topics are indexed under
S154 - MySQL - Designing an SQL Database System

Back to
Wiltshire - speaker / after dinner talker offer
Previous and next
or
Horse's mouth home
Forward to
Closer than you think - the next step

Some other Articles
Arrays in Tcl - a demonstration
Buffering up in Tcl - the empty coke can comparison
Melksham v Ely
Closer than you think - the next step
MySQL - table design and initial testing example
Wiltshire - speaker / after dinner talker offer
Castle Lodge Hotel, Ely, Cambridgeshire
The Learning Perl crew, October 2007
National Speaker - now to get the talk ready
A Golf Club Decision - Perl to Java
1696 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

© WELL HOUSE CONSULTANTS LTD., 2008: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 707126 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho