| |||||||||||
| |||||||||||
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 fromand 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
Some other Articles
Arrays in Tcl - a demonstrationBuffering 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 1754 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, 35, 36 at 50 posts per pageThis 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). |
| ||||||||||
PH: 0800 043 8225 or 01225 708225 • FAX: 0845 8382 405 or 01225 707126 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho | |||||||||||