» tagged pages
» logout

sorted by: recent | see : popular
Content Tagged with products + General

Firebird Data Wizard 8.4 released

SQL Maestro Group announces the release of Firebird Data Wizard 8.4, a powerful Windows GUI utility for Firebird data management. New version features: Now it is possible to create a system scheduled task or convert a task created in Data wizard to system one. Command line options have been implemented. Since this version each task is displayed as a [...]

Firebird: Firebird News

FlameRobin 0.8.6 is out

Hi all, This is mostly a bug-fix release, probably a first ’stable’ 0.8 version without major bugs. Windows, Linux and Mac OS X binaries and source code package are available for download. I recommend all Linux distribution packagers to upgrade (especially if you still use 0.8.3 or lower). Here’s the changelog since 0.8.3: New features - DataGrid: BLOB data is now (optionally) [...]

Firebird: Firebird News

flamerobin 0.8.5 snapshot ready in the debian repository

you can test it in debian unstable (amd64 and i386) from debian sid repository http://packages.debian.org/sid/flamerobin Other binary snapshots for flamerobin 0.8.5 are here (you can tests on other operating systems: Linux, MacosX, windows,wine)

Firebird: Firebird News

AnySQL Maestro released

SQL Maestro Group announces the release of AnySQL Maestro - a freeware, but powerful tool for all the database engines accessible via ODBC driver or OLE DB provider (Access, SQL Server, Firebird, Oracle, MySQL, PostgreSQL, etc). Key features include database object management, graphical database designer, visual query builder, data export and import, BLOB Viewer/Editor, and [...]

Firebird: Firebird News

Firebird Maestro 7.12 released

SQL Maestro Group is happy to announce the release of Firebird Maestro 7.12, a powerful Windows GUI solution for Firebird administration and database development. New version features SQL Generator tool, improved Data Grid and Database Designer, and some other useful things. Full press-release is available here: http://www.sqlmaestro.com/news/company/4718/

Firebird: Firebird News

DB Comparer 2007 for InterBase/Firebird ver.3.0 released

EMS Database Management Solutions are pleased to announce DB Comparer 2007 for InterBase/Firebird - an excellent tool for database comparison and synchronization. You can download the latest version at: www.sqlmanager.net/products/ibfb/dbcomparer/download [See remaining text…]  EMS DB Comparer 2007 [...]

Firebird: Firebird News

EMS Data Import for InterBase/Firebird 2007 version 3.1 is now available

EMS Database Management Solutions are pleased announce new version of Data Import for InterBase/Firebird 2007 - a powerful tool to import your data quickly from MS Excel 97-2007, MS Access, DBF, XML, TXT, CSV, MS Word 2007, ODF and HTML files into your database tables. EMS Data Import 2007 is available and can be downloaded from [...]

Firebird: Firebird News

SQLAlchemy 0.4.0 Released

Michael Bayer writes: I’m very happy to announce that we’ve put out 0.4.0 final. Thanks to all the contributors as well as all the beta testers who have helped us move through six beta releases, just to make sure we’ve got everything right (or as much right as we can). For those still working with [...]

Firebird: Firebird News

Free Firebird PHP Generator 7.10 released

SQL Maestro Group is happy to announce the release of Firebird PHP Generator 7.10, freeware Firebird GUI frontend that allows you to generate high-quality Firebird PHP scripts for the selected tables, views and queries for the further working with these objects through the web. New version features: BLOB fields now can be represented as pictures. It is [...]

Firebird: Firebird News

Firebird Maestro 7.9 released

SQL Maestro Group is happy to announce the release of Firebird Maestro 7.9, a powerful Windows GUI solution for Firebird administration and database development. New version features: Starting with this version you can reorder columns for existing tables. It is also possible to reorder parameters for a stored procedure. Now it is possible to cancel a long running [...]

Firebird: Firebird News

Firebird Data Wizard 7.8 released

SQL Maestro Group is happy to announce the release of Firebird Data Wizard 7.8, a powerful Windows GUI utility for Firebird data management. New version features: ASP.NET Generator Wizard is implemented. New Shell Application with Ribbon toolbars (like Office 2007) and more. Unicode/UTF-8 support. PHP Generator: now it is possible to create a lookup menu for a column using a [...]

Firebird: Firebird News

EMS Data Export 3.0 released

EMS Database Management Solutions is pleased to announce a new version of EMS Data Export 2007 for InterBase/Firebird version 3.0. EMS Data Export for InterBase/Firebird is a powerful program to export your data quickly from Interbase/Firebird databases to any of 19 available formats, including MS Access, MS Excel, MS Word (RTF), HTML, XML, PDF, [...]

Firebird: Firebird News

waiting for the firebird storm

Storm is an object-relational mapper (ORM) for Python developed at Canonical. The project has been in development for more than a year for use in Canonical projects such as [WWW] Launchpad, and has recently been released as an open-source product. Who knows maybe an firebird port will be made for it

Firebird: Firebird News

Firebird Maestro 7.7 released

SQL Maestro Group is happy to announce the release of Firebird Maestro 7.7, a powerful Windows GUI solution for Firebird administration and database development. New version features: Unicode/UTF-8 data management. Since this version Firebird Maestro works fine with embedded Firebird server. Transaction Browser is implemented (Firebird 2.1). This feature is very useful for DBAs who want to monitor the [...]

Firebird: Firebird News

Morfik Announces Support for iPhone Development

This week Morfik Technologies announced that its WebOS AppsBuilder web development tool supports the creation of applications for the iPhone. The first sample application is a chess game. Morfik uses Firebird as its default, built-in, database. More details and comments on ReadWriteWeb.

Firebird: Firebird News

looking for a sponsor for package ibpp in debian

Dear [debian] mentors, I am looking for a sponsor for my package “ibpp”.

Firebird: Firebird News

Firebird Code Factory released

SQL Maestro Group is announcing the initial release of a new Firebird related software - Firebird Code Factory. This tool is intended for developing and executing SQL queries and scripts as well as for data management. Key features: Visual Query Builder Handy SQL Editor with code folding and syntax highlighting Simultaneous executing of several queries with multi-threading Data management: editing, [...]

Firebird: Firebird News

OpenJPA supports Firebird and JayBird

OpenJPA Passes Sun JPA TCK 100%! : OpenJPA is now officially compliant with the Java Persistence API [See remaining text…]  It supports Firebird 1.5 and JayBird JCA/JDBC driver 1.0.1. regards, KIMURA, Meiji(FAMILY, Given) Tokyo, JAPAN. [...]

Firebird: Firebird News

Firebird Maestro 7.3 released. Now with graphical database designer!

SQL Maestro Group is happy to announce the release of Firebird Maestro 7.3, a powerful Windows GUI solution for Firebird administration and database development. The main feature of the new version is the Graphical Database Designer - a case tool for managing your database in a few mouse clicks. This piece of our software is intended [...]

Firebird: Firebird News

50% discount for Firebird Foundation members

I’ve just created a Home Inventory software that uses Firebird embedded. To show my appreciation to the project, and perhaps make Firebird Foundation membership more attractive, I decided to give 50% discount to Foundation members on this and all my future programs that use Firebird. Program’s page is at: http://www.guacosoft.com/attic/ Best of all, you can take [...]

Firebird: Firebird News

CodeGear Launches Delphi for PHP for RAD Web Development

No mention of firebird but an interesting news for php/delphi developers http://home.businesswire.com/portal/site/google/index.jsp?ndmViewId=news_view&newsId=20070220005240&newsLang=en

Firebird: Firebird News

EMS Data Generator v. 2.3 released

EMS Data Generator 2.3 is now available and can be downloaded from the download pages Download Data Generator for IB/FB What’s new in Data Generator version 2.3 [See remaining text…]  Improved data generation for tables with Foreign keys [...]

Firebird: Firebird News

New Jaybird Bugfix Release 2.1.1 - roadmap to next one

The Jaybird team announces a new sub-release v.2.1.1 of the JDBC driver with a number of bugfixes. The next release, Jaybird 2.2 will contain improved support for XA connections as well as few other long-awaited features as well as support for 64-bit platforms. First versions are expected in Q1/2007. Thanks! Roman

Firebird: Firebird News

Firebird Maestro 6.12 released

SQL Maestro Group is happy to announce the release of Firebird Maestro 6.12, a powerful Windows GUI solution for Firebird administration and database development. New version features tabbed document interface, procedure parameters history, OLAP viewer, improved BLOB Viewer/Editor, large scripts processing and some other useful things. Read full press release. Firebird Maestro developed by SQL Maestro Group, [...]

Firebird: Firebird News

SQL Manager 2005 for InterBase/Firebird ver. 4.4 released

EMS Database Management Solutions company releases new version of the high performance tool for Firebird and InterBase administration and development - SQL Manager 2005 for InterBase/Firebird ver. 4.4 You can download the latest version at: www.sqlmanager.net/products/ibfb/manager/download What’s new in SQL Manager 2005 for InterBase/Firebird version 4.4? Database Registration. The option that allows to skip refreshing objects on connection to [...]

Firebird: Firebird News

Object Relational Membrane - project of the day with firebird support

A brief introduction to the ideas behind orm including a small example program.

Firebird: Firebird News

spacialaudio.com is an firebird customer

SAM Broadcaster can support 4 different databases. The databases are used to store song information and provide website interaction. If you have no database knowledge we recommend you try the FireBird database since it is very easy to install and use. [ED, that is my qoute of the day for firebird ] More experienced users [...]

Firebird: Firebird News

Pictorial: Configuring VirtualAppliance.net’s PostgreSQL Server - Firebird appliance mention

The appliance is quite small a few Megs , i will ask how they managed to do it soo small http://www.vmware.com/vmtn/appliances/directory/cat/50 I like their ideea of pictorial , maybe we should do an firebird appliance screencast (ubuntu/mandriva) Here is the article in question http://virtualappliances.org/Using_Database_Virtual_Appliances/Configuring_VirtualAppliance_PostgreSQL_Server.html “This article shows how to install, configure, and use a PostgreSQL virtual appliance with [...]

Firebird: Firebird News

Would you find the ability to run Subtext on Firebird/MySql very important?

Would you find the ability to run Subtext off of another database such as MySql or Firebird very important? Here is the full text of blog post (watch question number 3) Now it works only on MSSQL so a an mysql/firebird port would be more than welcome for subtext users

Firebird: Firebird News

Active Query Builder v. 1.6 released

Active Database Software announces today the release of Active Query Builder 1.6, a suite of robust and feature-rich .NET-ready ActiveX and VCL components, which allows your end-users to build complex SQL queries via the intuitive visual interface. Active Query Builder features: Full support for Microsoft SQL Server, Oracle, MySQL, PostgreSQL, InterBase, Firebird, MS Access and many other [...]

Firebird: Firebird News

DB Extract 2005 for InterBase/Firebird ver 2.1 released

EMS Software Development company is pleased to announce DB Extract 2005 ver.2.1 - new version of the powerful utility for creating database backups in a form of SQL scripts. What’s new in DB Extract 2.1? Ability to extract privileges added. Support of new object types implemented for the ‘Specifying types of objects’ step [...]

Firebird: Firebird News

FIBPlus 6.45 has been released

Devrace developers continue to improve FIBPlus library and make it better compatible with Firebird 2 (in particular now FIBPlus supports charset UTF8 fields for Firebird 2). That’s why the newest FIBPlus version 6.45 has a number of improvements and 16 bug fixes. FIBPlus 6.45 also supports C++ Builder 2006. For more details please check Release [...]

Firebird: Firebird News

Improving Open Source Databases - WordPress

As part of both my UltimateLAMP side project, and my greater involvement with MySQL Workbench, I’ve been wanting to review and document the database schemas of Open Source products.

Indeed, as part of discussions with Mike Zinner of MySQL AB at the recent MySQL Users Conference, I suggested an idea used in the Java World, for example by Clover and Agitar, where to promote the usefullness of their respective tools (in this case code coverage), they provide results against Open Source Products. For an example check out Clover Examples.

With MySQL Workbench, to get some greater exposure of the use of graphical Data Modelling tool, I mentioned the idea of providing a respository of schemas, may help in exposure, usage and feedback of MySQL Workbench. Indeed my work is towards this being added to MySQL Forge, however I’ve found that at my first indepth work, using WordPress 2.0.2 has been a less then successful experience.

The schema would rate a 2 out of 5 on my scale of optimal database schemas. Here are some of my initial findings.

  • Inconsistent naming standards
    • ID uppercase for primary keys in some tables, but not in others.
    • different standards for primary keys, some id, some [table]_id
    • Inconsistent identification of foreign keys (e.g. post_parent). All keys should have _id.
    • Inconsistent datatypes for optional foreign keys (e.g. default of 0 rather then NULL)
    • Inconsistent column naming standards, some tables prefix columns with table name or table like name, (e.g. post_), but not all columns. Some tables has multiple prefix values (e.g. cat_, category_)
  • Poor usage of datatypes. Examples include BIGINT(20) for primary keys, TEXT for post title, INT(10) for columns which as values a TINYINT can support.
  • Inconsistent use of enums (e.g. Y/N for some values, and yes/no for others)
  • No Referential Integrity support (ie. Foreign Keys), limiting the benefits of a modelling tool showing table relationships
  • Different rules for primary keys (most tables have a suggorate key, but not all)

I am actually working on A MySQL Guide to Database Modelling, Design and Support, which covers a lot of these points and more. I’m some way from completing this document, but this initial research of the WordPress product highlights it’s importance to the open source community.

Of course we can just make noise about what we don’t like, or we can do something about it. I’m submitting my ideas, suggestions and code changes to the project. What is done about it is outside of my control, but I’ve at least given my input to this Open Source Product.

WordPress 2.0.2 Schema SQL (taken from a mysqldump after installation)

Here is a graphical representation of the Data Model from MySQL Workbench.
NOTE: My MySQL Workbench will not enable me to do a Export Image, so I’ll need to add this at a later time

Introducing Referential Integrity

Unfortunately this is no automated means of creating appropiate Referential Integrity for a schema. With more strict naming standards, it would be possible to reconstuct this information generally.

The approach to create these new rules were performed manually, but a tool could be developed to provide approximations for a number of these.

# Implement Foreign Keys. Changes include:
#  - Appropiate Storage Engine
#  - ensure column is of same definition as matching primary key (e.g. datatype + unsigned)
#  - create index for foreign key
#  - ensure optional keys use NULL

ALTER TABLE wp_categories ENGINE=InnoDB;
ALTER TABLE wp_comments ENGINE=InnoDB;
ALTER TABLE wp_linkcategories ENGINE=InnoDB;
ALTER TABLE wp_links ENGINE=InnoDB;
ALTER TABLE wp_options ENGINE=InnoDB;
ALTER TABLE wp_post2cat ENGINE=InnoDB;
ALTER TABLE wp_postmeta ENGINE=InnoDB;
ALTER TABLE wp_posts ENGINE=InnoDB;
ALTER TABLE wp_usermeta ENGINE=InnoDB;
ALTER TABLE wp_users ENGINE=InnoDB;

ALTER TABLE wp_usermeta MODIFY user_id  bigint(20) UNSIGNED NOT NULL DEFAULT '0';
ALTER TABLE wp_usermeta ADD FOREIGN KEY usermeta_users_fk (user_id) REFERENCES wp_users(ID) ON DELETE CASCADE;

ALTER TABLE wp_posts MODIFY post_author BIGINT(20) UNSIGNED NOT NULL;
CREATE INDEX post_author ON wp_posts(post_author);
ALTER TABLE wp_posts ADD FOREIGN KEY posts_users_fk (post_author) REFERENCES wp_users(ID) ON DELETE CASCADE;

ALTER TABLE wp_posts MODIFY post_parent BIGINT(20) UNSIGNED NULL DEFAULT NULL;
UPDATE wp_posts SET post_parent = NULL WHERE post_parent = 0;
CREATE INDEX post_parent ON wp_posts(post_parent);
ALTER TABLE wp_posts ADD FOREIGN KEY posts_posts_fk (post_parent) REFERENCES wp_posts(ID);

ALTER TABLE wp_postmeta MODIFY post_id  bigint(20) UNSIGNED NOT NULL DEFAULT '0';
ALTER TABLE wp_postmeta ADD FOREIGN KEY postmeta_posts_fk (post_id) REFERENCES wp_posts(ID) ON DELETE CASCADE;

ALTER TABLE wp_categories MODIFY cat_ID BIGINT(20) UNSIGNED NULL DEFAULT NULL AUTO_INCREMENT;
ALTER TABLE wp_categories MODIFY category_parent BIGINT(20) UNSIGNED NULL DEFAULT NULL;
UPDATE wp_categories SET category_parent = NULL WHERE category_parent = 0;
ALTER TABLE wp_categories ADD FOREIGN KEY categories_categories_fk (category_parent) REFERENCES wp_categories(cat_ID);

ALTER TABLE wp_post2cat MODIFY rel_id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE wp_post2cat MODIFY post_id BIGINT(20) UNSIGNED NOT NULL;
ALTER TABLE wp_post2cat MODIFY category_id BIGINT(20) UNSIGNED NOT NULL;
ALTER TABLE wp_post2cat ADD FOREIGN KEY post2cat_posts_fk (post_id) REFERENCES wp_posts(ID) ON DELETE CASCADE;
ALTER TABLE wp_post2cat ADD FOREIGN KEY post2cat_categories_fk (category_id) REFERENCES wp_categories(cat_ID) ON DELETE CASCADE;
ALTER TABLE wp_comments MODIFY user_id BIGINT(20) UNSIGNED NULL DEFAULT NULL;
UPDATE wp_comments SET user_id = NULL WHERE user_id = 0;
CREATE INDEX user_id ON wp_comments(user_id);
ALTER TABLE wp_comments ADD FOREIGN KEY comments_users_fk (user_id) REFERENCES wp_users(id) ON DELETE CASCADE;
ALTER TABLE wp_comments MODIFY comment_post_ID BIGINT(20) UNSIGNED NULL DEFAULT NULL;
ALTER TABLE wp_comments ADD FOREIGN KEY comments_posts_fk (comment_post_ID) REFERENCES wp_posts(ID) ON DELETE CASCADE;

ALTER TABLE wp_comments MODIFY comment_parent BIGINT(20) UNSIGNED NULL DEFAULT NULL;
UPDATE wp_comments SET comment_parent = NULL WHERE comment_parent = 0;
CREATE INDEX comment_parent ON wp_comments(comment_parent);
ALTER TABLE wp_comments ADD FOREIGN KEY comments_comments_fk (comment_parent) REFERENCES wp_comments(comment_id);

ALTER TABLE wp_linkcategories MODIFY cat_id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE wp_links MODIFY link_category BIGINT(20) UNSIGNED NOT NULL;
ALTER TABLE wp_links ADD FOREIGN KEY links_category_fk (link_category) REFERENCES wp_linkcategories(cat_id);

While there are no column name changes, by default the WordPress code should operate with this revised schema. Issues would include a poor delete strategy that still voilates the liberal constraints now enforced. Special handling of 0 for optional columns when the value is now NULL may also be a problem.

Revised Data Model in MySQL Workbench.
NOTE: My MySQL Workbench will not enable me to do a Export Image, so I’ll need to add this at a later time

Introducing improved Standards

Of course, I’d like to see the schema improve, here are my first draft ideas for improvements of the schema.

# Naming Improvements ===================================================================================
# Rename to lowercase id
ALTER TABLE wp_users CHANGE ID id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE wp_posts CHANGE ID id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE wp_categories CHANGE cat_ID cat_id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE wp_comments CHANGE comment_ID comment_id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE wp_comments CHANGE comment_post_ID comment_post_id BIGINT(20) UNSIGNED NOT NULL;

# Include _id for all Foreign Keys
ALTER TABLE wp_posts CHANGE post_author post_author_id BIGINT(20) UNSIGNED NOT NULL;
ALTER TABLE wp_posts CHANGE post_parent post_parent_id BIGINT(20) UNSIGNED NOT NULL;
ALTER TABLE wp_categories CHANGE category_parent category_parent_id BIGINT(20) UNSIGNED NOT NULL;
ALTER TABLE wp_comments CHANGE comment_parent comment_parent_id BIGINT(20) UNSIGNED NULL DEFAULT NULL;
ALTER TABLE wp_links CHANGE link_category link_category_id BIGINT(20) UNSIGNED NULL DEFAULT NULL;

# Primary Key Name Standardisation
ALTER TABLE wp_posts CHANGE id post_id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE wp_users CHANGE id user_id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;

# Foreign Key Standardisation
ALTER TABLE wp_categories MODIFY category_parent_id parent_id BIGINT(20) UNSIGNED NOT NULL;
ALTER TABLE wp_comments CHANGE comment_parent_id parent_id BIGINT(20) UNSIGNED NULL DEFAULT NULL;

# Other Column Standaisations
ALTER TABLE wp_categories MODIFY cat_name category_name VARCHAR(55) NOT NULL;

# Column width improvements
ALTER TABLE wp_categories MODIFY category_count MEDIUMINT(5) NOT NULL DEFAULT '0';
ALTER TABLE wp_posts MODIFY post_title VARCHAR(255) NOT NULL;
ALTER TABLE wp_linkcategories MODIFY cat_name VARCHAR(255) NOT NULL;
ALTER TABLE wp_linkcategories MODIFY cat_id TINYINT(3) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE wp_options MODIFY autoload ENUM('Y','N') NOT NULL DEFAULT 'Y';

# Obvious Index Improvements
# Make login a unique index
DROP INDEX user_login_key ON wp_users;
CREATE UNIQUE INDEX  user_login_key  ON wp_users(user_login);

These will require code changes and adequate testing, something I’m not hopeful would happen unless I drove it, but you never know, the next time I review the WordPress Schema I might be impressed.

Conclusion

This is just a broadstroke first review of the schema. As part of all good design, testing of the code, further review and refinement based on better understanding of the product, and also peer review are all important steps not yet undertaken.

MySQL: Planet MySQL