<div>Hi Pierre, David, Ursula</div>
<div>Thanks for excellent piece of information. I just went through basic database concepts like indexing, join, normalisation and tried to analyse how can I apply these for my job registration site implementation.</div>

<div> </div>
<div>After understanding a bit on normalisation and join, I have comeup with below approach for this specific case.</div>
<div> </div>
<div>Instead of having a single table, and comma separated values in table cells , I am going to split it multiple tables.</div>
<div>I am attaching a table.xls file , please have a look. </div>
<div> </div>
<div>In that excel sheet, I have the main table, and I have broken the main table into 9 different tables. But I hope it need to be broken into more number of tables, depends on how many  different kind of work domains are there. It may go to 50+ tables.</div>

<div> </div>
<div>Examples for work domains are - Web, PSTN, VoIP, NetworkManagement, GSM, Datbase, BoardDesign etc.</div>
<div> </div>
<div>So how many work domains are there, those many tables will be there. In those tables, a coulmn will represent a particular skill set.</div>
<div> </div>
<div>Say under Web Tables, coulmns can be HTML, PHP, Web2.0, Drupal, ASP, etc</div>
<div>And under NetworkManagement table, NMS and SNMP can be coulmns.</div>
<div> </div>
<div>In table cells, I will keep either 1 or 0, depending on the person has that skill or not.</div>
<div> </div>
<div> </div>
<div> Example: Lets say User 2 knows NMS and SNMP, User 3 knows only SNMP, User4 knows only SNMP, then the table will look as below.</div>
<div> </div>
<div>
<table style="WIDTH: 223pt; BORDER-COLLAPSE: collapse" border="0" cellspacing="0" cellpadding="0" width="296">
<colgroup>
<col style="WIDTH: 95pt; mso-width-source: userset; mso-width-alt: 4608" width="126">
<col style="WIDTH: 64pt; mso-width-source: userset; mso-width-alt: 3108" span="2" width="85">
<tbody>
<tr style="HEIGHT: 16.5pt" height="22">
<td style="BORDER-BOTTOM: #17375d 1.5pt solid; BORDER-LEFT: #17375d 1.5pt solid; BACKGROUND-COLOR: #dbe5f1; WIDTH: 95pt; HEIGHT: 16.5pt; BORDER-TOP: #17375d 1.5pt solid; BORDER-RIGHT: #ece9d8" class="xl73" height="22" width="126">
<strong><font color="#ff0000" face="Calibri">UID</font></strong></td>
<td style="BORDER-BOTTOM: #17375d 1.5pt solid; BORDER-LEFT: #ece9d8; BACKGROUND-COLOR: #dbe5f1; WIDTH: 64pt; BORDER-TOP: #17375d 1.5pt solid; BORDER-RIGHT: #ece9d8" class="xl74" width="85"><font color="#ff0000" face="Calibri">NMS</font></td>

<td style="BORDER-BOTTOM: #17375d 1.5pt solid; BORDER-LEFT: #ece9d8; BACKGROUND-COLOR: #dbe5f1; WIDTH: 64pt; BORDER-TOP: #17375d 1.5pt solid; BORDER-RIGHT: #17375d 1.5pt solid" class="xl75" width="85"><font color="#ff0000" face="Calibri">SNMP</font></td>
</tr>
<tr style="HEIGHT: 16.5pt" height="22">
<td style="BORDER-BOTTOM: #ece9d8; BORDER-LEFT: #17375d 1.5pt solid; BACKGROUND-COLOR: transparent; WIDTH: 95pt; HEIGHT: 16.5pt; BORDER-TOP: #17375d; BORDER-RIGHT: #ece9d8" class="xl76" height="22" width="126"><font face="Calibri">2</font></td>

<td style="BORDER-BOTTOM: #ece9d8; BORDER-LEFT: #ece9d8; BACKGROUND-COLOR: transparent; WIDTH: 64pt; BORDER-TOP: #17375d; BORDER-RIGHT: #ece9d8" class="xl70" width="85"><font face="Calibri">1</font></td>
<td style="BORDER-BOTTOM: #ece9d8; BORDER-LEFT: #ece9d8; BACKGROUND-COLOR: transparent; WIDTH: 64pt; BORDER-TOP: #17375d; BORDER-RIGHT: #17375d 1.5pt solid" class="xl71" width="85"><font face="Calibri">1</font></td></tr>

<tr style="HEIGHT: 15.75pt" height="21">
<td style="BORDER-BOTTOM: #ece9d8; BORDER-LEFT: #17375d 1.5pt solid; BACKGROUND-COLOR: transparent; WIDTH: 95pt; HEIGHT: 15.75pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: #ece9d8" class="xl66" height="21" width="126"><font face="Calibri">3</font></td>

<td style="BORDER-BOTTOM: #ece9d8; BORDER-LEFT: #ece9d8; BACKGROUND-COLOR: transparent; WIDTH: 64pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: #ece9d8" class="xl65" width="85"><font face="Calibri">0</font></td>
<td style="BORDER-BOTTOM: #ece9d8; BORDER-LEFT: #ece9d8; BACKGROUND-COLOR: transparent; WIDTH: 64pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: #17375d 1.5pt solid" class="xl67" width="85"><font face="Calibri">1</font></td></tr>

<tr style="HEIGHT: 15.75pt" height="21">
<td style="BORDER-BOTTOM: #17375d 1.5pt solid; BORDER-LEFT: #17375d 1.5pt solid; BACKGROUND-COLOR: transparent; WIDTH: 95pt; HEIGHT: 15.75pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: #ece9d8" class="xl68" height="21" width="126">
<font face="Calibri">4</font></td>
<td style="BORDER-BOTTOM: #17375d 1.5pt solid; BORDER-LEFT: #ece9d8; BACKGROUND-COLOR: transparent; WIDTH: 64pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: #ece9d8" class="xl72" width="85"><font face="Calibri">0</font></td>
<td style="BORDER-BOTTOM: #17375d 1.5pt solid; BORDER-LEFT: #ece9d8; BACKGROUND-COLOR: transparent; WIDTH: 64pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: #17375d 1.5pt solid" class="xl69" width="85"><font face="Calibri">1</font></td>
</tr></tbody></colgroup></table></div>
<div> </div>
<div> </div>
<div>As first time I am  doing this, I might be wrong. If so, kindly let me know.</div>
<div> </div>
<div>Best Regards</div>
<div>Austin.</div>
<div> </div>
<div> </div>
<div> </div>
<div><br><br> </div>
<div class="gmail_quote">On Fri, Mar 18, 2011 at 8:54 PM, Pierre Rineau <span dir="ltr">&lt;<a href="mailto:pierre.rineau@makina-corpus.com">pierre.rineau@makina-corpus.com</a>&gt;</span> wrote:<br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote">Le vendredi 18 mars 2011 à 08:15 -0700, Metzler, David a écrit :<br>
<div class="im">&gt; Pierre is spot on here.<br>&gt;<br>&gt; That is why most dbas would advise against storing this data in a comma separated list in a single field.  An index cannot really be used to search within the text cause you are forcing to examine every row anyway.  I can&#39;t programtically say lets start with the N&#39;s, now is there a nokia in there (that&#39;s an oversimplification intentionally to make a point). Rather I would make a single skill table that housed the values. If UID is the primary key for the resume, then you&#39;d make a table with<br>
&gt;<br>&gt; On a separate note, you do understand that the site that you&#39;re talking about building could be done without you writing ANY code? Basically the site you&#39;ve described can be implemented with content_profile, cck and views modules, allowing you to build custom content types that are tied (one per user).  You could then use taxonomys for skill sets an all this would be written for you?<br>
&gt;<br>&gt; Dave<br><br></div>Dave is right about the fact this simple business stuff could be done in<br>many ways using D6 existing modules (even only with core and taxonomy)<br>or D7 fields.<br><br>But, if you really want to learn technical aspects of SQL and/or Drupal<br>
development, this is a good thing to start with this kind of simple<br>business stuff.<br>
<div>
<div></div>
<div class="h5"><br>Pierre.<br><br><br>--<br>[ Drupal support list | <a href="http://lists.drupal.org/" target="_blank">http://lists.drupal.org/</a> ]</div></div></blockquote></div><br>