databasems-accessmultivalue-databasemultivalue

Multivalued Fields a Good Idea?


I have recently been introduced to the new Access 2007 feature which is multivalued fields. My initial impression is that it is a bad idea to make use of multiple values in a single field. Traditionally if you wanted to allow for a record to have several values for a field you would create another two tables and link them with foreign keys. This allows for easy querying and ensures that duplicate values reference the same item. Keeping lists in a cell seems like a violation of the purpose of databases.

Are there good uses for these fields which don't make me feel dirty?


Solution

  • The idea of multivalued fields was to support easy creation of report / interface objects, in addition, one can create a form that displays say categories for an issue. Instead of doing some intense work, god forbid joins, it was supposedly simplier to store:

    Mechanical, Electrical

    as a value in a field rather than

    Mechanical Electrical

    Personnally I do not like it and assume this type of field was created for non technical personnel like accountants :) (just kidding). No seriously, do not use this unless you are creating a silly tool that rarely anyone will use and rarely anyone will ever have to tap into.

    The proper way to handle this is joins, no duplicates, and no multi values inside of columns (this is all 3nf anyhow).

    Another reason this was created was to support the multi values inside of a sharepoint list.

    Jon