Selecting a Database Management System
in the Non-Profit Arena

Technical Standards

Why Standards?

Most everyone acknowledges that data standards are good, useful, and necessary. Why? To begin, there are two main advantages to using standards that have been proven over time:

  • Fast and cost-effective transfer of data between hardware and software platforms and between individuals.
  • Facilitates data access and preservation

The use of standards ensures that procedures and products will meet certain requirements, and that these procedures and products will remain consistent. Those of us who are learning and applying various technologies to our daily work generally accept current standards without question, or we are inclined to take them for granted. If we are to be fully confident about our data management efforts, then we need to know that our practices, procedures and purchases conform to established standards. While adherence to some standards is mandatory, electrical standards for example, in other cases compliance is voluntary. This puts the onus on the practitioner or consumer to be aware of, and to insist on conformance with all standards governing our choice of product.

Software manufacturers have a tremendous stake in the standards process, as adherence to certain standards can make or break consumer acceptance of the product. Some concerns surrounding the issue of standards include making the distinction between what is a sanctioned standard and what is considered a "best practice." This difference is not always clear - particularly in the non-profit sector where knowledge concerning technology can be as difficult to come by as the personnel and resources to employ it. Finally, there are so many types of standards, choosing which ones are appropriate for a specific application can often be overwhelming.

top

 

Types of Standards

Open vs. Proprietary

An open standard is a published standard that is possessed by no one and used by all. They are typically managed by an international body who sees to its dissemination and evolution, but the body does not own it; no one does. Anyone can inspect, criticize, or suggest enhancements to an open standard and any changes must be made by consensus.

A proprietary standard is typically owned by a corporation. Its internals cannot be inspected. Its use is licensed by its owners, and it can be changed at will.

The term industry standard can apply to either an open or proprietary standard, provided it is the standard formally adopted by the professional associations or governing bodies of a particular industry. Very often what is considered "standard" and what is touted as "industry standard" are two different things. Products are often falsely marketed as being "industry standard" before or in spite of being granted formal approval by any agency.

Categories of Standards

Technical Standards - facilitate data interchange across networks and between platforms with minimal loss in content and functionality
- Ex. file formats, compression algorithms, encoding techniques

Data Documentation Standards - facilitate data resource management and meaningful interchange
- Ex. Dublin Core, MARC

Vocabularies, Indexes, Classifications, Indexes, Thesauri, etc. - facilitate comparable comparison, searching, indexing, and retrieval of data
- Ex. AACR2, MeSH, Getty A&AT.

top

 

Standards Bodies

There is any number of national and international standards bodies responsible for establishing and maintaining open data and communication standards. Most industrialized countries have a national standards organization that contribute to and participate in the international standards process. For a comprehensive list, see http://ahds.ac.uk/resource/standards.html.

top

 

Database-specific Standards

SQL and ODBC, the two most established database standards fall into the category of open technical standards. It should be noted that the emerging JDBC standard is not an open standard - it is owned and trademarked by Sun Microsystems.

SQL (Structured Query Language)
There are a great number of individual ANSI/ISO standards in print relating to the various facets of SQL. Some examples include the language itself, CLI (call-level interface), the foundation, and the framework. There are two versions of the most recent SQL language standard: ISO/IEC 9075:1992, "Information technology - Database languages - SQL" ANSI X3.135-1992, "Database Language - SQL" Several more recent additions have been made, including aspects of the SQL:1999 standard that Oracle Corp. endorsed as of November 1999. According to a press release from Oracle, Part of the new standard allows SQL statements to be embedded in Java programs. Other facilities still being prepared will allow the use of Java methods in SQL code. http://www.ecomworld.com/news/111699_4.htm.

ODBC (Open Database Connectivity)
An open industry standard defined by the SQL Access Group (SAG) in September 1992, with the most current version called ODBC 3.0. ODBC provides a common language for Windows applications to access databases on a network by interfacing the function calls written into programs with an ODBC driver for that platform. An application can submit statements to ODBC using the ODBC flavor of SQL. ODBC then translates these to whatever flavor the database understands. ODBC is an Application Programming Interface (API), meaning that it can be used in computer programs, then translated into commands necessary for a specific database system with a minimum of code changes. Microsoft was one member of SAG and was the first company to release a commercial product based on its work, but ODBC is not a Microsoft standard as many people believe. Conformity to the ODBC standard it is not an exact "certification" of database compatibility. There are many levels of compliance. One source warns: "If data exchange with existing databases in your business is critical, make sure the software and integrator can make it happen regardless of the ODBC seal."

JDBC (JAVA Database Connectivity)
A proprietary standard from Sun Microsystems for connecting Java programs to databases. It is used to connect a Java program to a database either directly or by connecting through ODBC, depending on whether the database vendor has created the necessary drivers for Java. Since Java interpreters (Java Virtual Machines) are available for all major client platforms, this allows platform-independent database applications to be written. JDBC, like ODBC, is an Application Programming Interface, and is considered to be the Java counterpart of ODBC.

ODMG (Object Data Management Group)
Version 3.0 of this standard, new in January 2000, represents the latest achievements to standardize data exchange in object oriented database systems. It defines an ODBMS to be a DBMS that integrates database capabilities with object-oriented programming language capabilities. An ODBMS makes database objects appear as programming language objects, in one or more existing programming languages. Prior to ODMG, the lack of a standard for object databases was considered to be a major limitation to their more widespread use. The full text of the standard is available free at http://www.odmg.org/.

top

Proprietary vs. Non-Proprietary
Database Management Systems Comparison