Sta usando "view" nel metodo db design right o dovremmo gestirlo lato codice? Quali sono i vantaggi o gli svantaggi?Perché viene utilizzata la vista del database?
risposta
vedo un paio di motivi per utilizzare guardati:
- fornire un'interfaccia più semplice: basta interrogare la vista, e non di una dozzina di tavoli, facendo si unisce e tutto
- fornire un'interfaccia che pretende molto cambiare (o meno spesso):
- Anche se si modifica la struttura delle tabelle, si potrebbe essere in grado di modificare la visualizzazione in modo che restituisce ancora la stessa cosa
- Il che significa che nessun cambiamento è necessario nel codice dell'applicazione: che sarà ancora lavorare, come è utilizzando la vista, e non accedere direttamente ai tavoli
- Solo fornire un'interfaccia ad alcuni campi delle tabelle
- non c'è bisogno per gli utenti di vedere alcuni dati che non utilizzerà
- O per accedere ad alcuni dati che non dovrebbero usare
- Con alcuni motori di database (penso che MS SQL Server supporta tale), qualche t ipo di punti di vista può avere indici
- che è una buona cosa per gli spettacoli: se si dispone di una certa query complessa, conservarla come una visione, e definire gli indici richiesti su quella vista
Come su prestazioni delle query? È possibile visualizzare aumentare le prestazioni delle mie query? – shgnInc
Depends. Li uso qualche volta, ma non così spesso. Sono MOLTO utili per visualizzare le viste decodificate sui dati per l'utilizzo da parte dell'utente finale (strumenti), come le applicazioni di reporting, però. In questo modo è possibile fornire all'utente finale una versione semplificata di informazioni spesso richieste nascondendo alcuni dettagli tecnici.
Due scenari tipici per le viste nel nostro caso sono:
- Alcune colonne di una tabella contengono dati riservati che dovrebbe essere visto solo da poche persone. Puoi creare una vista che escluda quelle colonne e utilizzi quella vista per la maggior parte degli utenti.
- Si uniscono due o più tabelle in una vista denormalizzata che è utile per scopi di reporting ma non avrebbe senso come tabella per l'archiviazione nel database.
Spero che questo aiuti.
sacco di dupes, tra cui http://stackoverflow.com/questions/630200/when-to-use-database-views-and-when-not –
potrebbe essere questo creerà un elenco di argomenti – BreakHead