# Uso dei constraints nel database

**URL:** <https://www.ruby-forum.com/t/uso-dei-constraints-nel-database/195694>\
**Category:** IT\
**Created:** [September 28, 2010, 10:49am UTC](https://www.ruby-forum.com/t/uso-dei-constraints-nel-database/195694 "2010-09-28T10:49:16Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [September 28, 2010, 10:49am UTC](https://www.ruby-forum.com/t/uso-dei-constraints-nel-database/195694/1 "2010-09-28T10:49:16Z")

</div>

Pensate sia necessario utilizzare anche i contraints del database, mi  
riferisco alle foreign keys, o bastano e avanzano i controlli che fa  
rails con has\_many, ecc.?

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [September 28, 2010, 11:05am UTC](https://www.ruby-forum.com/t/uso-dei-constraints-nel-database/195694/2 "2010-09-28T11:05:41Z")

</div>

Io mi limiterei ad avere tutti i controlli in un UNICO punto: i  
modelli RoR vanno più che bene.

2010/9/28 Mauro [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> Pensate sia necessario utilizzare anche i contraints del database, mi  
> riferisco alle foreign keys, o bastano e avanzano i controlli che fa  
> rails con has\_many, ecc.?
> 
> * * *
> 
> Ml mailing list  
> [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> [http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)

–  
Carlo P.  
email: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
twitter: @carlopecchia

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [September 28, 2010, 11:26am UTC](https://www.ruby-forum.com/t/uso-dei-constraints-nel-database/195694/3 "2010-09-28T11:26:45Z")

</div>

Il 28/09/10 10.48, Mauro ha scritto:

> Pensate sia necessario utilizzare anche i contraints del database, mi  
> riferisco alle foreign keys, o bastano e avanzano i controlli che fa  
> rails con has\_many, ecc.?

Se rails è l’unico punto di accesso al db userei solo rails, in altri  
casi utilizzare gli strumenti del db è utile e ti dà la garanzia di dati  
“puliti” in ogni caso

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [September 28, 2010, 11:36am UTC](https://www.ruby-forum.com/t/uso-dei-constraints-nel-database/195694/4 "2010-09-28T11:36:08Z")

</div>

2010/9/28 Mauro [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> Pensate sia necessario utilizzare anche i contraints del database, mi  
> riferisco alle foreign keys, o bastano e avanzano i controlli che fa  
> rails con has\_many, ecc.?

Le validazioni da sole non offrono garanzie totali. In particolare,  
validates\_uniqueness\_of e validates\_associated non proteggono da  
accessi concorrenti.

L’uso di constraint db è l’unico modo di avere la certezza di  
mantenere la consistenza dei dati.

pietro - [www.zephirworks.com](http://www.zephirworks.com)

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [September 30, 2010, 1:04am UTC](https://www.ruby-forum.com/t/uso-dei-constraints-nel-database/195694/5 "2010-09-30T01:04:03Z")

</div>

Pietro G. wrote:

> L’uso di constraint db ï¿½ l’unico modo di avere la certezza di  
> mantenere la consistenza dei dati.

Mi associo e confermo per esperienza diretta.

Andrea

–

> **[Site en construction](http://spaghetticode.it)**

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [September 28, 2010, 11:41am UTC](https://www.ruby-forum.com/t/uso-dei-constraints-nel-database/195694/6 "2010-09-28T11:41:33Z")

</div>

> Le validazioni da sole non offrono garanzie totali. In particolare,  
> validates\_uniqueness\_of e validates\_associated non proteggono da  
> accessi concorrenti.
> 
> L’uso di constraint db ï¿½ l’unico modo di avere la certezza di  
> mantenere la consistenza dei dati.

Sono d’accordo, un database ben strutturato Ã¨ la chiave per un  
applicazione sicura (e per future nuove versioni), se perdi 1 ora per  
aggiungere le chiavi poi sei sicuro di essere a posto per sempre (metti  
un giorno di dover agire sui dati manualmente o tramite un altro  
software…)
