2009-02-16 19 views

risposta

2

Questo è piuttosto soggettivo, ma a meno che quegli utenti utilizzino più di un database, direi di tenerli nello stesso db.

Utilizzare solo un database separato per utenti e ruoli se tali utenti e ruoli sono stati utilizzati in più di un database.

Quindi no, non ne userei mai due. Potrei comunque usarne tre.

+0

tre? Hai il tuo per i ruoli? O qual è il tuo setup? –

+0

Voglio dire, userei solo un database separato per utenti e ruoli se quegli utenti e ruoli sono stati utilizzati in più di un database. –

3

Questo può dipendere dalla scala. Se si tratta di una soluzione aziendale con diverse app che condividono un'unica fonte di appartenenza, la risposta è semplice: separali. Potrebbero anche esserci motivi di rendimento per cui si desidera separare questi dati dal resto dell'app. Probabilmente queste tabelle non appartengono ad un data warehouse, ad esempio.

L'unica cosa che la soluzione a 2 database non ti dà è l'integrità referenziale. Se estendi le tue tabelle di appartenenza per contenere più dettagli specifici dell'applicazione sull'utente, e queste tabelle devono collegarsi al database principale, potresti volerle tenere insieme. Altrimenti avresti bisogno di una sorta di lavoro di replica che mantenga questo per te.

0

Quale piattaforma di database stai utilizzando? Se uno che supporta gli schemi all'interno di un database, ad es. SQL Server 2008, quindi è possibile inserire le tabelle di appartenenza nel proprio schema, per pulizia. È anche possibile aggiungere chiavi esterne con schema incrociato, se necessario.

+0

per quanto ne so - non è possibile inserire gli elementi di appartenenza in qualsiasi schema ma DBO. Questo è difficile da codificare nel provider di appartenenza, quindi l'unico modo è quello di eseguire il rollover del proprio provider. –

+1

In questo caso, presumibilmente, si utilizza lo schema dbo solo per gli elementi di appartenenza e si inserisce tutto il resto altrove? Forse non è la soluzione più elegante, ma forse ancora più ordinata di avere elementi di iscrizione in bundle con tutto il resto? –