Il blog di Sandro Rizzetto

Database naming conventions: addio a tab, vw, sp

 

Ieri ho preso una drastica decisione: ho deciso di cambiare la naming convention che da tempo usavo per i database sql, eliminando tutti i prefissi che usavo per le tabelle, viste, e stored procedure (che dall'avvento di Linq comunque uso molto piú raramente).

I motivi che mi hanno fatto cambiare idea sono stati due. Il primo è che comunque si tratta di una sorta di notazione "ungherese" che ormai in un mondo tutto typed e pieno di intellisense (per Sql2005 uso SqlPrompt, Sql2008 lo avrà di suo) non ha piú senso.

Inoltre, rinunciando ai prefissi, non devo più rinominare le N classi che ottengo dal designer di Linq to Sql di Vs2008, e soprattutto non mi espongo a strani "comportamenti" come questo:

Supponiamo di avere una tabella tabEmployees di impiegati (con chiave primaria idEmployee) che ha una Foreign Key idManager su se stessa. Se faccio drag 'n drop della tabella e rinomino dal designer la classe chiamandola Employee (ovvero togliendo il "tab") lui NON rinomina l'EntityRef attraverso la quale accedo ai dati del manager (resta "tabEmployees1" anche se comunque posso modificarla dalle properties dell'association). Più subdolo il caso in cui abbia un'altra tabella (es. una tabella Richiesta Ferie) che ha due Foreign Key sulla prima: idEmployeeRequester e idEmployeeApproval (il richiedente e l'approvatore).

In questo caso sempre se ho rinominato la classe tabEmployee in Employee, nella classe VacationRequest mi trovo l'EntityRef "Employee" che si riferisce alle seconda FK che trova (in questo caso l'approvatore), mentre la prima entityref restava nominata "tabEmployees".

Non so se ci avete capito qualcosa... io ci ho perso un po' per trovare un baco in una mia applicazione, scoperto il quale ho preso Visio e ho rasato via tutti i "tab" di qualche decina di tabelle. Occhio solo che oltre al rename delle tabelle, dovete aggiornare anche i riferimenti dentro viste, stored e trigger. 

Commenti (1) -

  • Marco Russo

    18/06/2008 00:59:26 | Rispondi

    Hai la mia benedizione. Non uso prefissi da qualche anno.

Aggiungi Commento

Copyright © 1997-2017 Sandro Rizzetto | All Rights Reserved | Riproduzione delle fotografie vietata | Powered by me