<div>Nodereference fields are useful to create the types of relationships you are describing.</div><div><br></div><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
<span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; ">Would this cause too much server load using inherent Drupal Content Types with CCK fields (D6)?  Would it only work with direct db queries and mysql tables instead?  How much is lost doing it using content types instead of custom coding? </span></blockquote>
<div><br></div><div>The advantage of nodereference fields is that you can leverage the utilities Drupal provides for nodes, such as revisions, CCK field formatters, and (especially) Views. Views relationships create SQL JOIN statements such that you may select, filter, and sort data across the various references.</div>
<div><br></div><div>Were you to do this with custom code, you would have to develop your own CRUD API, fields, formatters, and views handlers. It&#39;s a lot of work. I&#39;ve done it before from scratch and many months later eventually migrated everything to nodes and CCK.</div>
<div><br></div><div>When it comes to performance, my advice is to develop the system using the existing APIs as best you can, and then tackle performance bottlenecks as the come up. You may find that the caching mechanisms in place will suffice, or you can develop custom caching solutions, or even custom queries, or manually-created indexes. Drastically changing your development practice for things that &quot;might&quot; occur seems overly-cautious and ineffective.</div>
<div><br></div><div class="gmail_quote">On Thu, Apr 28, 2011 at 2:45 PM, Joel Willers <span dir="ltr">&lt;<a href="mailto:joel.willers@sigler.com">joel.willers@sigler.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal">I have a site that I’m working on the data structure for… I feel like I know how I’d do it, but I was told that it might not scale well, so I thought I’d run it through you guys. </p>
<p class="MsoNormal"> </p><p class="MsoNormal">In my plan, I was going to make several content types and connect them through node references.  Specifically, there would be Content Type A (CTA) pointing to CTB, pointing to CTC, that points to several of CTD’s, E’s, etc.  So it could be a Store that has Departments, and each Department would have one or more Budgets, and each Budget could have several items figured into the budget, from an Employee (another content type with items of info) to Custodial (another content type with specific items), etc.  </p>
<p class="MsoNormal"> </p><p class="MsoNormal">Would this cause too much server load using inherent Drupal Content Types with CCK fields (D6)?  Would it only work with direct db queries and mysql tables instead?  How much is lost doing it using content types instead of custom coding?  </p>
<p class="MsoNormal"> </p><p class="MsoNormal">I guess I was under the impression that Content Types were very efficient, that if you create a Content Type, it is basically the same as creating a specific table in the database, but maybe not.  </p>
<p class="MsoNormal"> </p><p class="MsoNormal">Any advice is appreciated.  Sorry for rambling on with specifics.  If you need more info, feel free to send me a direct email.</p><p class="MsoNormal"> </p><font color="#888888"><p class="MsoNormal">
Joel</p></font></div></div><br>--<br>
[ Drupal support list | <a href="http://lists.drupal.org/" target="_blank">http://lists.drupal.org/</a> ]<br></blockquote></div><br>