Training, Open Source Programming Languages

This is page

Our email: • Phone: 01144 1225 708225

For 2023 - we are now fully retired from IT training.
We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.

Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!

I am also active in many other area and still look after a lot of web sites - you can find an index ((here))
MySQL module S154
Designing an SQL Database System
Exercises, examples and other material relating to training module S154. This topic is presented on public course MySQL

Data will be at the heart of your applications. Whilst it is possible to alter data structures later on without losing data, it is much better to get your design right at the start. This module covers the principles of analysing your database-destined data and designing a good structure for it.

Related technical and longer articles
When to denormalise your MySQL data
Mapping database rows to objects in a class
Replicating servers in MySQL - Why and how
Example - PHP form, Image upload. Store in MySQL database. Retrieve.
Many to many table mapping (Pivot tables)

Articles and tips on this subjectupdated
4426FileMaker Day to Unix Time conversion
Posting here out of self defence ... this is always one I forget and it doesn't seem to come up on the searches. Coded in PHP.   # 735540 3/11/2014   $timeoffset = 735540 - mktime(12,0,0,11,3,2014) / 3600 / 24;   $daychanged = ($_REQUEST[whichday] - $timeoffset);   $report ...
3494Databases - when to treat the rules as guidelines
One of the "rules" of database design is that data should only be stored once. Another is that calculated values should not be stored - they should be calculated every time you ask for them. That way, you are going to get consistent results from database enquiries. Of course, if the data you've stored ...
3361Blowing our own trumpet - MySQL resources
From my mailbox .... Hello,   I was able to (finally) learn the many to many relationships from your tutorial! It is written very well, thank you for it :)   Are there any resources or practical tutorial packs that you sell like an ebook or something?   For example things that intermediate ...
3270SQL - Data v Metadata, and the various stages of data selection
MySQL is a system for managing data ... so it's natural for it to manage its own configuration data too in the same way. However, there are a few elements which have to be kept outside those internal tables - such as the data about which port number the daemon is to listen on, and the directory name ...
2749Delegate Question - defining MySQL table relationships as you create the tables
Q - Can define how tables are linked (joined together) when you set them up in MySQL, rather than having to specify the join each time that you SELECT data from the tables? What a great (and logical) idea, but it's not straightforward / automatically available. The current / default system in the ...
2204Images in a database? How big is a database? (MySQL)
The discussion came up yesterday as to whether images should be stored in plain files or in a database, with one of my delegates saying that he had been strongly advised against a database. That advise is typically going to be correct for a handful of images ... but when you get on to thousands in a ...
2085MySQL - licensing issues, even with using the name
MySQL is a really good database and it's been available for a very long time under an open source license - indeed this piece of text will be stored in a MySQL database when I've added it to our web site using the Movable Type software , and pulled back from there using both Movable type software (here), ...
2053What a difference a MySQL Index made
If you add an index to a column in a MySQL table, you provide a very quick way of looking up a row or set of rows based on the value in a certain column, but at the expense of additional disc space and a bit more internal management. Here's an example in which I look up a record (by URL) in a table ...
1771More HowTo diagrams - MySQL, Tomcat and Java
Here are some more diagrams "off the wall" from last week - showing "howto" and "whatis" information for Tomcat, Java and MySQL Some Tomcat and Java Fundamentals On the right of the board ... the main java programs ... • the Java compiler is called javac • the Java Virtual machins is in a ...
937Display an image from a MySQL database in a web page via PHP
There's lots of clever scripts around to tell you how to get images in and out of databases, but nothing simple to show you the principles of including such an image via (say) PHP in a web page. So here goes. you need TWO URLs - you need the HTML page that's going to contain the image, AND you need ...
1575Database design for a shopping application (MySQL)
Here's a "proof of concept" demo from yesterday's MySQL session - a plan for the various tables that might be involved, and a few sample columns to see how "the whole" would work together. On one side, you have a table of the shops that you're running the site for - the code is designed to be able ...
1423MySQL - 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 ...
945Code quality counts
We're celebrating Geekmas this weekend ... and we've got a full place. Plus others who are coming in for the day. Really good session yesterday on the good DESIGN of an interactive (scripted) web site that "mines" user information to give a tailored presentation, and a great intro by Paddy to Python's ...
918Databases needn't be frightening, hard or expensive
Have you written a web site using plain old HTML (perhaps with style sheets and images) and then extended it to more interactive content using a little PHP, JSP, Perl, cgi or similar? Are you keeping the data associated with your PHP - your on line programs - in plain text files? If you are, that ...
515MySQL - an FAQ
We're becoming a serious MySQL resource, with many technical articles, examples, forum posts and blog entries answering those difficult-to-resolve issues you may have come across. You might like to bookmark (or link to) this page. Eleven recent articles on MySQL ... Flashbulb moments - facts that ...
59MySQL - Pivot tables
If at all possible, you should normalise information in your database using Codd's principles of database normalisation. Basically, this means that you don't duplicate information, store information that can be recalculated based on other fields, or store more than one piece of information in a single ...
Examples from our training material   Author table   Book table
docdata.sql   Data for design / complex join example
docjoin.sql   Select for design / complex join example
docs.sql   Database and table setup for design / complex join example
just.php   Skeleton application - design / complex join example
pivot.sql   SQL to load book, author and pivot tables   Pivot table
sql   Table Design - Restaurants / Category / Line item
tabled.php   Display normalised MySQL tables on a web page
We offer MySQL courses as well ...
Background information
Some modules are available for download as a sample of our material or under an Open Training Notes License for free download from [here].
Topics covered in this module
Interfacing an SQL database to applications.
Interfacing to SQL via PHP.
Other Clients.
Relational database design.
Database normalisation.
Principles of a relational database.
Codd’s Rules for a Truly Relational Database System.
Hiding passwords in client programs.
Complete learning
If you are looking for a complete course and not just a information on a single subject, visit our Listing and schedule page.

Well House Consultants specialise in training courses in Ruby, Lua, Python, Perl, PHP, and MySQL. We run Private Courses throughout the UK (and beyond for longer courses), and Public Courses at our training centre in Melksham, Wiltshire, England. It's surprisingly cost effective to come on our public courses - even if you live in a different country or continent to us.

We have a technical library of over 700 books on the subjects on which we teach. These books are available for reference at our training centre.

© WELL HOUSE CONSULTANTS LTD., 2023: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: • WEB: • SKYPE: wellho

PAGE: • PAGE BUILT: Sun Oct 11 14:50:09 2020 • BUILD SYSTEM: JelliaJamb