<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><o:SmartTagType
 namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="City"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="place"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="PersonName"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:blue;
        text-decoration:underline;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=blue>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Think about how you would write a query to
say who has the skill set x?   You can&#8217;t really do it, cause you&#8217;ve
got to change what table you select based on what you&#8217;re looking for? 
How much php code will you have to change to a).  Add a skill set?   B.) add a work
domain? <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Rather design a table for user skill sets
with the columns:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Uid, skill_set_id<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>And a lookup table to define skill sets
and their categories and their relavent work domains: <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Skill_set_id, skill_set_descr, work_domain<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>If you need to create 50 tables for modeling
a concept you probably aren&#8217;t normalized. There are other approaches, but
this is probably the simplest. <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Dave<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'>
support-bounces@drupal.org [mailto:support-bounces@drupal.org] <b><span
style='font-weight:bold'>On Behalf Of </span></b>Austin Einter<br>
<b><span style='font-weight:bold'>Sent:</span></b> Thursday, March 24, 2011
6:58 PM<br>
<b><span style='font-weight:bold'>To:</span></b> <st1:PersonName w:st="on">support@drupal.org</st1:PersonName>;
<st1:PersonName w:st="on">pierre.rineau@makina-corpus.com</st1:PersonName><br>
<b><span style='font-weight:bold'>Subject:</span></b> Re: [support] Doubt on
Index and Primary key</span></font><o:p></o:p></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Hi Pierre, David, Ursula<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>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&nbsp;for my job registration site implementation.<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>After understanding a bit on normalisation and join, I have comeup with
below approach for this specific case.<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Instead of having a single table, and comma separated values in table
cells , I am going to split it multiple tables.<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>I am attaching a&nbsp;table.xls file , please have a look.&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>In that excel sheet, I have the main table, and I have&nbsp;broken the
main table into 9 different tables. But I hope it need to be broken
into&nbsp;more number of tables, depends on how many &nbsp;different kind of
work domains are there. It may go to 50+ tables.<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Examples for work domains are - Web, PSTN, VoIP, NetworkManagement,
GSM, Datbase, BoardDesign etc.<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>So how many work domains are there, those many tables will be there. In
those tables, a coulmn will represent a particular skill set.<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Say under Web Tables, coulmns can be HTML, PHP, Web2.0, Drupal, ASP,
etc<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>And under NetworkManagement table, NMS and SNMP can be coulmns.<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>In table cells, I will keep either&nbsp;1 or 0, depending on the person
has that skill or not.<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;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.<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=297
 style='width:223.0pt;border-collapse:collapse'>
 <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">
 <tr height=22 style='height:16.5pt'>
  <td width=127 height=22 bgcolor="#DBE5F1" style='width:95.0pt;border:solid #17375D 1.5pt;
  border-right:none;background:#DBE5F1;padding:0in 0in 0in 0in;height:16.5pt'>
  <p class=MsoNormal><strong><b><font size=3 color=red face=Calibri><span
  style='font-size:12.0pt;font-family:Calibri;color:red'>UID</span></font></b></strong><o:p></o:p></p>
  </td>
  <td width=85 height=22 bgcolor="#DBE5F1" style='width:64.0pt;border-top:solid #17375D 1.5pt;
  border-left:none;border-bottom:solid #17375D 1.5pt;border-right:none;
  background:#DBE5F1;padding:0in 0in 0in 0in;height:16.5pt'>
  <p class=MsoNormal><font size=3 color=red face=Calibri><span
  style='font-size:12.0pt;font-family:Calibri;color:red'>NMS</span></font><o:p></o:p></p>
  </td>
  <td width=85 height=22 bgcolor="#DBE5F1" style='width:64.0pt;border:solid #17375D 1.5pt;
  border-left:none;background:#DBE5F1;padding:0in 0in 0in 0in;height:16.5pt'>
  <p class=MsoNormal><font size=3 color=red face=Calibri><span
  style='font-size:12.0pt;font-family:Calibri;color:red'>SNMP</span></font><o:p></o:p></p>
  </td>
 </tr>
 <tr height=22 style='height:16.5pt'>
  <td width=127 height=22 style='width:95.0pt;border:none;border-left:solid #17375D 1.5pt;
  padding:0in 0in 0in 0in;height:16.5pt'>
  <p class=MsoNormal><font size=3 face=Calibri><span style='font-size:12.0pt;
  font-family:Calibri'>2</span></font><o:p></o:p></p>
  </td>
  <td width=85 height=22 style='width:64.0pt;padding:0in 0in 0in 0in;
  height:16.5pt'>
  <p class=MsoNormal><font size=3 face=Calibri><span style='font-size:12.0pt;
  font-family:Calibri'>1</span></font><o:p></o:p></p>
  </td>
  <td width=85 height=22 style='width:64.0pt;border:none;border-right:solid #17375D 1.5pt;
  padding:0in 0in 0in 0in;height:16.5pt'>
  <p class=MsoNormal><font size=3 face=Calibri><span style='font-size:12.0pt;
  font-family:Calibri'>1</span></font><o:p></o:p></p>
  </td>
 </tr>
 <tr height=21 style='height:15.75pt'>
  <td width=127 height=21 style='width:95.0pt;border:none;border-left:solid #17375D 1.5pt;
  padding:0in 0in 0in 0in;height:15.75pt'>
  <p class=MsoNormal><font size=3 face=Calibri><span style='font-size:12.0pt;
  font-family:Calibri'>3</span></font><o:p></o:p></p>
  </td>
  <td width=85 height=21 style='width:64.0pt;padding:0in 0in 0in 0in;
  height:15.75pt'>
  <p class=MsoNormal><font size=3 face=Calibri><span style='font-size:12.0pt;
  font-family:Calibri'>0</span></font><o:p></o:p></p>
  </td>
  <td width=85 height=21 style='width:64.0pt;border:none;border-right:solid #17375D 1.5pt;
  padding:0in 0in 0in 0in;height:15.75pt'>
  <p class=MsoNormal><font size=3 face=Calibri><span style='font-size:12.0pt;
  font-family:Calibri'>1</span></font><o:p></o:p></p>
  </td>
 </tr>
 <tr height=21 style='height:15.75pt'>
  <td width=127 height=21 style='width:95.0pt;border-top:none;border-left:solid #17375D 1.5pt;
  border-bottom:solid #17375D 1.5pt;border-right:none;padding:0in 0in 0in 0in;
  height:15.75pt'>
  <p class=MsoNormal><font size=3 face=Calibri><span style='font-size:12.0pt;
  font-family:Calibri'>4</span></font><o:p></o:p></p>
  </td>
  <td width=85 height=21 style='width:64.0pt;border:none;border-bottom:solid #17375D 1.5pt;
  padding:0in 0in 0in 0in;height:15.75pt'>
  <p class=MsoNormal><font size=3 face=Calibri><span style='font-size:12.0pt;
  font-family:Calibri'>0</span></font><o:p></o:p></p>
  </td>
  <td width=85 height=21 style='width:64.0pt;border-top:none;border-left:none;
  border-bottom:solid #17375D 1.5pt;border-right:solid #17375D 1.5pt;
  padding:0in 0in 0in 0in;height:15.75pt'>
  <p class=MsoNormal><font size=3 face=Calibri><span style='font-size:12.0pt;
  font-family:Calibri'>1</span></font><o:p></o:p></p>
  </td>
 </tr>
 </colgroup>
</table>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>As first time I am&nbsp; doing this, I might be wrong. If so, kindly
let me know.<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Best Regards<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><st1:City w:st="on"><st1:place w:st="on"><font size=3
  face="Times New Roman"><span style='font-size:12.0pt'>Austin</span></font></st1:place></st1:City>.<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><br>
<br>
&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>On Fri, Mar 18, 2011 at 8:54 PM, Pierre Rineau &lt;<a
href="mailto:pierre.rineau@makina-corpus.com">pierre.rineau@makina-corpus.com</a>&gt;
wrote:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Le vendredi 18 mars 2011 à 08:15 -0700, Metzler, David a écrit :<o:p></o:p></span></font></p>

<div>

<p class=MsoNormal style='margin-bottom:12.0pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>&gt; <st1:City w:st="on"><st1:place
 w:st="on">Pierre</st1:place></st1:City> 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. &nbsp;An index cannot really be used to
search within the text cause you are forcing to examine every row anyway.
&nbsp;I can't programtically say lets start with the N's, now is there a nokia
in there (that'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'd make a table with<br>
&gt;<br>
&gt; On a separate note, you do understand that the site that you're talking
about building could be done without you writing ANY code? Basically the site
you'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). &nbsp;You could then use taxonomys for skill sets an all this would be
written for you?<br>
&gt;<br>
&gt; Dave<o:p></o:p></span></font></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>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.<o:p></o:p></span></font></p>

<div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><br>
<st1:City w:st="on"><st1:place w:st="on">Pierre</st1:place></st1:City>.<br>
<br>
<br>
--<br>
[ Drupal support list | <a href="http://lists.drupal.org/" target="_blank">http://lists.drupal.org/</a>
]<o:p></o:p></span></font></p>

</div>

</div>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

</body>

</html>