As mentioned in the manual you specified, there are limits to how many items you can have in a set, among other issues. My biggest issue against using sets is that you need alter the table structure whenever you want to change the set. Usually I would want the user to be able to add, modify or delete list items. You do NOT want a user being able to alter the table structure.
The three table layout gives you basically unlimited scalability, easier and quicker modification, dynamic sorting, more flexible searching and no character restrictions.



On Apr 7, 2005, at 5:20 PM, Marilyn Davis wrote:

Hi MySQL people.

I'm trying to understand the pros and cons of the "set" column type.

Here is an excerpt from the article:

http://dev.mysql.com/tech-resources/articles/mysql-set-datatype.html


Why You Shouldn't Use SET

"Third, using a set means your data is not normalized. In our above
example, we are tracking a person's interests for a hypothetical
dating site. In a normalized schema, there should be three tables: one
for the person, one for all possible interests, and one that links a
person to their particular interests."

The "above example" is:

  CREATE TABLE set_test(
    rowid INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    myset SET('Travel','Sports','Dancing','Fine Dining')
  );

I guess I'm not understanding the point here.  What practical
advantage is there to creating three tables instead of using a set
column type?

Thank you for any help.

Marilyn Davis




--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]



--
Brent Baisley
Systems Architect
Landover Associates, Inc.
Search & Advisory Services for Advanced Technology Environments
p: 212.759.6400/800.759.0577


-- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]



Reply via email to