NYCPHP Meetup

[nycphp-talk] naming identifiers

Daniel Convissor danielc at analysisandsolutions.com
Mon Aug 31 22:26:26 EDT 2009


Folks:

Folks:

On Mon, Aug 31, 2009 at 06:06:22PM -0700, Kristina D. H. Anderson wrote:

> For instance imagine pulling out the contents of ten tables through ten 
> queries in one script, and all the ID fields are named, id.

So true.  Using "id" as the primary keys means you need to make aliases 
in queries over and over and over.  Then there's the possibility of 
having inconsistently named aliases for the same field in different 
queries, so it's hard to remember what you're dealing with inside your 
PHP code.  Most importantly, if you name everything "id," then you have 
to explicitly spell out your JOIN statements in an ON clause

SELECT product_name, vendor_name
FROM product
JOIN vendor ON (vendor.id = product.vendor_id)

When it's so much easier to take advantage of USING clause:

SELECT product_name, vendor_name
FROM product
JOIN vendor USING (vendor_id)



> The flipside of the argument is that it gets darn annoying always 
> forgetting whether or not in this table the ID is prodid or prod_id or 
> productid or whatever it may be.

And that's where a thorough naming standards come in.  Name tables 
singluar (person, pet, product, etc).  Name the primary key field 
<table_name>_id.  No guessing involved.

--Dan

-- 
 T H E   A N A L Y S I S   A N D   S O L U T I O N S   C O M P A N Y
            data intensive web and database programming
                http://www.AnalysisAndSolutions.com/
 4015 7th Ave #4, Brooklyn NY 11232  v: 718-854-0335 f: 718-854-0409



More information about the talk mailing list