Jim,

Great question!

I use the ol'Reddick VBA naming conventions.

tbl - table
idx - index
fld - field

You can search them in google, but I'd like to know if MySQL has its 
own established conventions too.

Regards,
A$

----- Original Message -----
From: Jim Smith <[EMAIL PROTECTED]>
Date: Friday, August 1, 2003 10:03 am
Subject: RE: standardized naming system ?

> >
> > Hello list,
> >
> > is there a common naming system for db objects ?
> 
> Thousands.
> 
> > Like:
> >
> > 1) Tables: mytable, tblmytable, tbl_mytable
> >
> > 2) Indices: idx_anindex
> >
> > 3) Columns: int_somenumber, date_lastupdate
> >
> > 4) id   for the numerical primary key e.g. table  customers.id
> >      and then for referencing foreign keys
> >     table addresses :  addresses.customer_id  or
> > addresses.customer_fk
> >
> > OK, I know I could name them the way I want but perhaps there is 
> some> kind of common sense in this regard ?
> 
> Common sense will do, but here is my take on it.
> 
> There are three main objectives - portability, maintainability and
> consistency.
> 
> General.
>       Use long names. Don't abbreviate unnecessarily, but don't go to 
> far that
> you have
>       to rename all your tables if you move to a different DBMS. A 
max 
> of 30
> chars should fit most DBMSs.
> 
>       Use lower case names, with words separated by underscores '_'. 
> Some DBMSs
> are case
>       sensitive, others aren't and some convert all names to upper 
case 
> ( this is
> an ANSI
>       standard feature, I believe). If you use camel case ( 
> studentClassScores),this could become
>       STUDENTCLASSSCORES which isn't very readable, whereas 
> STUDENT_CLASS_SCORESis much better.
> 
>       Don't use reserved words. Most DBMSs allow you to use reserved 
> words with
>       various degrees of effort, but why bother. Also try to avoid 
> simple names
> which
>       might be a reserved word in another DBMS.
> 
> Tables.
>       Give tables a clear simple name which represents the content. 
If 
> it holds
> student records, call
>       it "students"; course details, "courses" etc.
>       Also assign each table a unique 2-4 letter prefix for use in 
> naming objects
> which belong to that table.
> 
> Columns
>       Again say what it is. I use the prefix referred to above in all 
> columnnames, but some people think that
>       is a waste of name space.
>       e.g std_id, std_surname, std_forename, student_birthdate, 
crs_name,
> crs_tutor_id, etc
> 
> Constraints
>       Use the prefix
>       Primary Key   std_pk
>       Foreign Keys  std_fk_col   ( i.e. 
<source_prefix>_FK_<target_prefix>
>       Unique  Keys   std_uk_nn    where nn is a sequence number. Some 
> people like
> std_uk_<column_name>, but
>                                           if you have a composite 
> key, that doesn't work.
> 
> Indexes
>       Where an index is used to enforce (or instead of) a unique or 
> primary key
> constraint, same name as the constraint.
>       Primary Key index   std_pk
>       Unique Index          std_uk_nn
>       Non-unique index    std_nu_nn
> 
>       If indexes share the same namespace as constraints, stick an i_ 
> on the
> front of the index name.
> 
> 
> 
> -- 
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:    
> http://lists.mysql.com/[EMAIL PROTECTED]
> 

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to