WWW SQL Designer - Documentation
Table of contents
Hello and welcome to WWW SQL Designer documentation. This page will hopefully help you with understanding
how WWW SQL Desginer works and how can it be tailored to suit your needs.
WWW SQL Designer was tested in the following browsers:
- Firefox 2.x
- Firefox 3.x
- Internet Explorer 6
- Internet Explorer 7
- Internet Explorer 8
- Safari 3
- Opera 9.x
- Konqueror 3.5.x
Konqueror is the only browser (from this list) which lacks support for Smooth connectors and XSLT
transformations (generation of SQL scripts).
The application allows you to:
- Draw E-R designs
- Edit tables and rows
- Manage keys
- Create relations (FK constraints)
- Save & Load designs
- Import DB schemas
Most commands are intuitively available from the right sidebar. Some tasks are described below.
To drag a table, press mouse button while pointing at table header. You can then move the
table around the canvas.
To edit table properties, either double-click its heading, or select it and
then press 'Edit table' button in sidebar.
To edit field properties, either double-click it, or select it and
then press 'Edit field' button in sidebar.
To manage keys for a table, select a table and press 'Edit keys' button in sidebar.
To draw a connector (relation), first select a field which forms a Primary Key. Then click 'Create foreign key' button
in sidebar and click target table's heading. New field and relation will be created.
To perform any kind of save/load/export/import task, press the 'Save/Load' button in sidebar.
A dialog window will appear, allowing you to perform clientside or serverside tasks.
You will need to install WWW SQL Designer if you want to:
- Use custom locale
- Use custom CSS file
- Use custom DB definition
- Use custom server backend
Just download and unpack latest application archive. There are generally no requirements, but to use
server-side storage, one should have a working webserver.
Many aspects of WWW SQL Designer can be customized and enhanced.
If you manage to create a new locale / db / backend, feel free to send it to me. I will include your feature
in a distribution archive.
Visual properties of the application can be tuned by editing files in css/
subdirectory.
Locales can be edited and added in locale/
subdirectory. New locales must be also registered in
js/config.js
.
Supported databases (their datatypes and XSLT template) are stored in db/
subdirectory.
Each database has a datatype definition file (datatypes.xml
) and a XSL transformation
(output.xsl
). New databases must be also registered in
js/config.js
.
Serverside backends allow you to save, load, list and import DB designs. They are written in a serverside
scripting language and communicate via HTTP requests. Backends are stored in backend/
subdirectory.
A brief summary of backend API follows:
Saving
Request: POST ?action=save&keyword=somename
, XML data contained in POST body
Valid responses: HTTP/201 Created, HTTP/500 Internal Server Error, HTTP/503 Service Unavailable
Loading
Request: GET ?action=load&keyword=somename
Valid responses: HTTP/200 OK (loaded XML in response body), HTTP/404 Not Found, HTTP/503 Service Unavailable
Listing
Request: GET ?action=list
Valid responses: HTTP/200 OK (list of available designs separated by newlines in response body), HTTP/503 Service Unavailable
Importing
Request: GET ?action=import
Valid responses: HTTP/200 OK (imported data in response body), HTTP/503 Service Unavailable
For every action mentioned, the backend may also return HTTP/501 Not Implemented, meaning that this action is not supported by the backend.
This tool was created by Ondrej Zara, © 2005-2008.
It is released under GNU GPL licence.
- Version 2.2 (25.9.2008)
- + php-sqlite DB backend (Luke Stevenson)
- + web2py (Boris Manojlovic) and MSSQL (Sean) datatype definitions
- + Polish (Damian Jaroszewski), Spanish (Rubén Rodríguez Zepeda) and Brazilian (Paulo Marcelo) translation
- * updated to oz.js 1.04
- Version 2.1.1 (18.7.2008)
- * space after DEFAULT statement in MySQL (Patrice Ferlet, Guillaume Paton)
- + escaping apostrophes in COMMENT statements in MySQL (Patrice Ferlet, Guillaume Paton)
- * better use of custom event
- * updated to oz.js 1.03
- Version 2.1 (28.6.2008)
- + "note" attribute for datatypes (Sean)
- + French, German and Czech localization (DerHeiko, Laurent Goussard)
- + design name in document title (DerHeiko)
- * updated to oz.js 1.02
- Version 2.0.1 (1.4.2008)
- * no AUTOINCREMENT for foreign keys
- * changed minimap color for selected table
- * correct layering of minimap tables
- Version 2.0 (28.3.2008)
- * rewritten from scratch
- + smooth connectors
- + key management
- + custom locales, backends, dbs
- + cookies
- + much much more
- --- OBSOLETE BELOW ---
- Version 1.4.1 (13.1.2008)
- * languages: Italian, Dutch, Traditional Chinese (Marc, Tiberti Fabio, Finjon Kiang)
- Version 1.4 (25.11.2007)
- * improvements from Travis Kroh: PDO-based io.php, SQLite, Symphony, XSLT for MySQL export, changed order of FK names
- Version 1.3.6 (28.10.2007)
- * FK inherits more features from PK (thanks to Cyril Zekser)
- * Fix for import from MSSQL (thanks to Andrea)
- Version 1.3.5 (5.10.2007)
- * FK FK inherits datatype from PK (thanks to Kevin T. Ryan)
- Version 1.3.4 (24.9.2007)
- Version 1.3.3 (27.7.2007)
- * foreign Keys have editable names (revert to previous behavior)
- Version 1.3.2 (20.7.2007)
- * patches from Tobias Stechbarth
- * MEDIUMTEXT used for data storage (thanks to Areski)
- Version 1.3.1 (30.5.2007)
- * numerous new translations
- Version 1.3 (6.2.2007)
- * browser crash fix (thanks to Hiroki Yoshioka)
- * importing existing DB schema (not in demo)
- * Brazilian Portugese (Fabio Gomes Ramos)
- Version 1.2.1 (31.1.2007)
- * PROPEL xslt update (Dominic Pelletier)
- * Default language fix (Andrej Kvasnica)
- Version 1.2 (21.1.2007)
- * XSLT template to PROPEL xml (Dominic Pelletier)
- * patched MSSQL template (Romain Fevre)
- * localisation (Romain Fevre)
- * Oracle support (Romain Fevre)
- * CHAR and DECIMAL support (Romain Fevre)
- Version 1.1.8 (27.11.2006)
- * patches from Alex Petrescu
- Version 1.1.7 (26.10.2006)
- * xml2postgresql template, thanks to Gérard
- * print view, thanks to Tor Edvardsson
- * Listing of keywords, thanks to Tor Edvardsson
- * xml2mssql template for creating Microsoft SQL scripts, thanks to Sean
- * direct loading of saved schema, see FAQ
- * php script resistant to magic_quotes_gpc
- Version 1.0 (3.10.2005)
- * IE hack instead of an old & ugly solution, thanks to Drew Diller
- * mouse wheel scrolls minimap, thanks to Andreas Attemann
- * new Settings button, does nothing :)
- * more straightforward labels in i/o select
- * ajax based on xmlhttp, not <script>
- * bugfix - bad row order when exporting
- * bugfix - string lengths not exported
- * xslt tranformation now DIRECTLY IN BROWSER!
- * button 'clear tables'
- * optimized bar for lower resolutions
- * major webpage changes
- * all styling now in STYLES subdirectory
- * changed descriptive texts on bar into <label>s
- * fixed non-selectable user-added rows (thanks to Paul Thrasher)
- * added GNU GPL licence