List:General Discussion« Previous MessageNext Message »
From:Hiep Nguyen Date:July 2 2007 9:10pm
Subject:Re: database structure
View as plain text  
On Mon, 2 Jul 2007, Christophe Gregoir wrote:

> CREATE TABLE `tags` (`tagid` INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
> `location` VARCHAR(255) NOT NULL DEFAULT '') ENGINE=INNODB;
> CREATE TABLE `dimension_type` (`id` ..., `type` VARCHAR(255) NOT NULL DEFAULT 
> '') ENGINE=INNODB;
> CREATE TABLE `tags_shape_dimensions` (`tag` INT(11) UNSIGNED, `dim` INT(11) 
> UNSIGNED, `value` VARCHAR(255) NOT NULL DEFAULT '') ENGINE=INNODB;
>
> 1) You fill the dimension_type table with all the possible characteristics 
> (in fact, characteristics would be a better name for that table) you will be 
> using, with the advantage of being able to very easily add an extra 
> characteristic later down the road.
> 2) You fill the tags table with all your differenent tags and locations.
> 3) You fill in the tags_shape_dimensions table with your tag and any 
> characteristic that applies to it and its associated value.
>
> You would select data from these tables by using JOIN's. A bit difficult to 
> grasp if you're an absolute beginner, but you'll never want to go back 
> afterwards.
>
> Greetz,
>
> boro
>
> Hiep Nguyen schreef:
>> On Mon, 2 Jul 2007, Borokov Smith wrote:
>> 
>>> Or:
>>> 
>>> Tag
>>> ShapeDimension (type enum('height', 'thickness', etc), value VARCHAR() or 
>>> INT())
>>> TagsShapeDimensions (FOREIGN KeY TAG, FOREIGN KEY ShapeDimension)
>>> 
>>> 1 less table
>>> 
>>> Greetz,
>>> 
>>> boro
>>> 
>>> 
>>> Rajesh Mehrotra schreef:
>>>> Hi,
>>>> 
>>>> You can do this in four tables:
>>>> 1. Tag
>>>> 2. Shape (with an additional field, let us call it X, describing how
>>>> many data elements each shape has)
>>>> 3. ShapeElements : one record describing each data element (length,
>>>> width etc.) for each shape. Record count for each shape: X
>>>> 4. Data Table : "X" number of records for each TagID. References
>>>> ShapeElements.
>>>> 
>>>> The number of table will remain fixed at four, no matter how many shapes
>>>> you have. And your SQL statements will be generic, most of the times,
>>>> regardless of the shape.
>>>> 
>>>> Sincerely,
>>>> 
>>>> Raj Mehrotra
>>>> hccs - Experts in Healthcare Learning
>>>> (516) 478-4100, x105
>>>> raj@stripped
>>>> 
>>>> 
>>>> 
>>>> -----Original Message-----
>>>> From: Hiep Nguyen [mailto:hiep@stripped] Sent: Monday, July 02, 2007 
>>>> 8:53 AM
>>>> To: mysql@stripped
>>>> Subject: database structure
>>>> 
>>>> Hi all,
>>>> 
>>>> i'm seeking for help/suggestion on how to create relationship for this
>>>> scenario:
>>>> 
>>>> I have one table (tag) with the following fields:
>>>> 
>>>> tagid, location, weight, grade, heat, shape, diameter, length, width,
>>>> height, ... (and many other fields)
>>>> 
>>>> 
>>>> what i want to do is move the shape field into a different table,
>>>> however, each shape will have different dimensions
>>>> 
>>>> for sample:
>>>> 
>>>> rod bar has diamter and length, but square/flat bar has width, height 
>>>> (thickness), and length.  wire has only diameter.
>>>> 
>>>> but i also don't want to create a huge table to hold all the possible 
>>>> fields in all shapes, so i'm thinking create a table per shape:
>>>> 
>>>> round table (diameter, length)
>>>> square table (width, height, length)
>>>> i-beam table (flange height, flange thickness, web thickness)
>>>> angle table (leg1, leg2, thickness)
>>>> ...
>>>> and so on.
>>>> 
>>>> in turn, i have 2 tables: tag, shape + as many table as there are shapes
>>>> 
>>>> my question is: is there a better to do this?  how do i query with this 
>>>> structure? i'm a bit confuse on how to manipulate data if each shape
>>>> have diffent fields???
>>>> 
>>>> Thank you for all your help (sorry for a long email)
>>>> T. Hiep
>>>> 
>>>> 
>>> 
>>> 
>> 
>> i'm a novice and confused, can you enlight a little bit more? example of 
>> data if possible.
>> 
>> thanks,
>> T. Hiep
>> 
>
>
> -- 
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:    http://lists.mysql.com/mysql?unsub=1
>
>

take your advice, i looked in to JOIN and i got the idea.  but i noticed 
that in order to use JOIN, don't you need to have the same column name in 
both tables?  i just don't see it in your example here.  is there 
something that i'm missing?

can u give a select example with JOIN on three tables above?

Thanks,
T. Hiep

Thread
database structureHiep Nguyen2 Jul
RE: database structureRajesh Mehrotra2 Jul
  • Re: database structureBorokov Smith2 Jul
    • Re: database structureHiep Nguyen2 Jul
      • Re: database structureChristophe Gregoir2 Jul
        • Re: database structureHiep Nguyen2 Jul
          • Re: database structureMogens Melander2 Jul
            • RE: database structureHiep Nguyen3 Jul
              • Re: database structureBorokov Smith3 Jul
  • RE: database structureHiep Nguyen2 Jul