writer’s guild of alberta database optimization. overview
TRANSCRIPT
KEY CONCERNS
Pertinent information split across two database: in-house Access and online MySQL
Current database tables are non-relational leading to unnecessary duplication and inefficiencies
Unable to produce custom queries or generate custom reports
Unable to produce receipts for online transactions
POSSIBLE SOLUTIONS
Add to Access Manually import
MySQL data into Access
Purchase software licenses for programs to add necessary features
Use MySQL Move Access data
into MySQL Custom-build user
interface to MySQL or learn phpMyAdmin
Write PHP code to add necessary features
POSSIBLE SOLUTIONS
Middle Way Migrate database to MySQL Use Access/FilemakerPro as Front-end
interface Develop PHP app for additional features
as needed
Scope of Plan
Database Redesign Coordinating with Webhost Data Migration Developing a User Interface Additional Features Database Administrators Responsibilities Estimated Budget
Stores registration and payment information
Emails notify WGA of new members or payments
Blue Genesis
Analyzing Redundancy
Contact information spread across several tables and on both Access and MySQL databases
Payment information stored on Access and MySQL for member renewals
Registration fees for events separated from other payments
Database Organization
Contacts for all members, youth members, parents, donor organizations, venues, publishers, authors, judges in one table
All payment receipts in one table Date stamps generated
automatically Junction tables connect contacts to
events, awards, retreats, etc. Member/donation categories stored
in separate tables to normalize data
Database Software
Selected software based on criteria Relational database Ease of connecting to Blue Genesis
server Ability to generating custom reports Cost for software license Expertise required to manage software
Access
Relational Database Can create SQL queries
and Custom Reports Can connect to MySQL User familiarity with
interface Designed for users with
a range of expertise
PROS CONS
Some desired functionality requires 3rd party software
No email generation, uses other Office apps
Still requires complete database redesign
Requires training building SQL queries and custom reports
Oracle
Relational database
Enterprise support
Can create custom queries and reports
Feature-rich
PROS CONS
Enterprise license is $7000
Requires training Too complex for
our purpose
MySQL
Some training needed to script queries and reports
Data migration will require more steps
Additional features require PHP scripting
Will likely need to hire external help
PROS CONS
Open source and free Relational database Custom reports and
queries Strong community for
support and apps Installed on current
webhost’s server Will move data online
Recommendations
Begin redesigning database using table relations as soon as possible
Use junction tables to connect people to events, awards, programs, renewals
Rely on SQL queries to pull specific information from tables
Choose to redesign tables in Access for short-term solution or migrate date to MySQL for long-term solution
Store data online if possible; risk of losing data because in-house server failure
Blue Genesis
MySQL and PHP supported Currently hosts data from website Current package permits hosting
additional information Suggests using phpMyAdmin but will
support Navicat (Digital Tea’s preferred software)
Will require assistance from Tech Support to establish connection to hosted database
Digital Tea
Willing to build administrator website to manage data on MySQL server if required
Can add onto administrator functionality currently on website to manage member payments
Considerations
There are webhosts that are less expensive than Blue Genesis that have MySQL and PHP installed on their servers
Blue Genesis can host database and provide minimal support at no additional cost
Digital Tea can add user interface onto current website infrastructure: may be expensive but will also provide long-term support
Preparing Data
Back up current database in new file Export data in .csv or .xlsx format Edit the information in Excel to match
format of new tables
Preparing Data
Create new Access file
Import .csv file Assign foreign key
relationships in Access
Upload new .csv file to Data Migration Tool (DMT) such as MySQL Workbench
Create foreign key relationships in DMT
DMT will generate the scripts to create MySQL tables and insert data
Access MySQL
MySQL Workbench
Edit table data
Organize data relations
Establish connection to server
Automatically generate SQL scripts to create tables and keys
Recommendations
Have a solid data model before beginning migration and organizing new tables. More difficult to make large changes after migration.
Data loss and unexpected formatting changes most likely to occur in this step. Back-up often.
Work closely with Blue Genesis Tech Support to set-up mirror tables before making changes on MySQL server to prevent overwriting current data.
Available Software
Free database administration software is widely available for MySQL
Typically for dedicated DB administrators
None of these options can automatically generate pdfs or emails
Excellent free open-source software with dedicated community
Interface is fairly intuitive after learning how MySQL is structured
phpMyAdmin
Custom-built Interface using PHP
Interface options available to novice users limited
PHP-built user interface to administer MySQL through WGA website a possibility
Would allow WGA to incorporate custom features like PDF generation and mailing directly in database administration interface using PHP
Most expensive upfront in terms of time & money
MySQL ODBC Connector
MySQL can connect with either Access or FilemakerPro with the ODBC Connector
FilemakerPro 12 also contains PDF generator and mass mail feature
Could migrate data to MySQL and use ODBC connector to manage data through Access
Unsure if it will allow you to add additional feautres: more confident in PHP scripting
Connecting MySQL to Access
Possible Short-term solution to connect to Blue Genesis
MySQL ODBC connector allows you to read info in MySQL from Access.
Recommendations
Try to use MySQL ODBC connector as temporary solution
Assess possibility of using Access/Filemaker as user interface
Consider whether training DB admin in SQL is feasible for WGA
Custom reports
Custom reports are handled in all software presented but requires knowledge in creating SQL queries
PHP-built interface would likely contain a few report templates that would allow you to pull results based on date or member-status
Available software
PHP Report Maker
$159.99 + $79.99 upgrade
Generates custom reports from MySQL using PHP
PDF Generation
PHP has its own PDF function library FPDF and TCPDF free extensions to PHP
that generate PDFs Difficult to find database software that
will generate PDFs automatically Alternative may be to generate receipt
for donations/renewals as webpages that the client can print out
Email and Mass Mailer
Email scripts not difficult to make in PHP Difficult to find DB Admin software with
feature May be possible to build small email PHP
app to send emails after migration to MySQL
Eventbrite
Coordinating data with Eventbrite should be little trouble as long as data can be exported to .csv or .xslx file.
Considerations
Custom reports easiest to create in dedicated DB Admin software
Even limited to a few templates, custom reporting difficult to build from the ground-up in PHP
Email and PDF creation easier to create in PHP
Software solutions available to integrate with Access
Training
To use the relational database minimal training in SQL, query creation, and custom forms will be required even if WGA uses Access
Data migration will require knowledge in creating MySQL tables and using MySQL Workbench Additional SQL training may be required if WGA uses phpMyAdmin to manage data
Help from Blue Genesis tech support likely needed to establish MySQL connection
Recommendation
It is possible to roll responsibilities into current member manager’s duties
Unlikely that new member manager will know SQL and will likely need on-job training
Best solution is to have SQL scripts running under the hood of a PHP-powered website or create report templates in Access/FilemakerPro
Time
Depends on the amount of data in current tables
60-80 hours to create new tables and export, format, upload information from old tables
Hard to estimate time to build PHP user-interface: possibly 200 hours+
Software Cost
Purchasing software to augment Access Office Professional $669.00 FilemakerPro $299.00 dbForge $99.00 DBTools $69.00 PHP Report Maker $240.00 Total Email Access $299.00
Most expensive combination = ~$1300 Building PHP interface (200 hrs * $30/hr)
= $6000
Reorganize Database
Although labour intensive, database optimization can be completed in-house with the help of CSL/Huco.
Test out the MySQL ODBC Connector to see if it will satisfactorily connect to MySQL database
Start to learn the basics of SQL within Access. You can build custom reports in Access using queries
User Interface
Consider how knowledgeable you expect the DB admin to become before deciding which interface to use
If you have a student build a PHP website consider how you will maintain this website after the student leaves
If you have Digital Tea build website, weight long-term support into the cost
Best solution may be to use Access or FilemakerPro to connect to MySQL database
Features
Despite the licensing cost, buying 3rd party apps may be cheaper than building custom software
Trial 3rd party apps: might be too much for your needs and might slow down system
Consider asking a CSL/Huco student to build smaller PHP apps rather than whole website, i.e. mass emailer app or PDF receipt generator