how to go about providing the ability to filter a list of entities by their attributes as well as by attributes of related entities.
Alcune delle linee guida da considerare sono:
1 - Cosa vuole l'utente finale e quali informazioni l'utente finale ha quando usa il sistema? Rispondere a questo dovrebbe fornire le query principali da implementare.
2 - Quali query devono avere e quali sono belle da avere. Questa classificazione ti aiuterà a progettare meglio i tuoi indici.
3 - Per motivi di prestazioni, tracciare la linea tra una query online e una query batch (vedere il punto B di seguito). Chiedi quanto frequentemente viene eseguita una determinata query e quanto spesso è necessario. Per le query frequenti su database di grandi dimensioni, è necessario creare indici appropriati. Alcune volte l'utente può chiedere informazioni statistiche su base periodica. Non è sempre possibile fornire tali rapporti on-line.
4 - Distingue tra "criteri di ricerca" e "criteri di filtro". Il primo potrebbe essere utilizzato per generare 1 o più righe e l'altro è utilizzato per individuare dettagli specifici all'interno di un risultato specifico dell'esecuzione di un "criterio di ricerca".
Nel tuo caso:
A - Numero ordine è valido solo se è noto. Chiedi in quale altro modo potresti individuare un ordine? Può essere l'id utente della persona che ha effettuato l'ordine con un determinato intervallo di date e un intervallo di quantità sarebbe buono?
B - Un nome dell'elemento pubblicitario / id , può essere utile in alcune aziende ma non riesco a vedere che sia uno standard. Il nome / ID dell'elemento pubblicitario è errato quando devi specificarlo per intero, molti elementi hanno lo stesso prefisso del nome, l'elemento è comune e appare su molti ordini e così via. Può essere utile come argomento di filtro per uno specifico ordine di grandi dimensioni (come quelli utilizzati nella produzione ad esempio). Potrebbe anche essere utile considerare la ricerca di elementi pubblicitari che appaiono insieme ad altri elementi pubblicitari. In alcune aziende, è possibile scoprire che determinati articoli sono sempre ordinati insieme e l'azienda potrebbe utilizzare queste informazioni per migliorare la propria attività. Tuttavia, tale processo di individuazione viene gestito meglio dai report off-line quando il database è di grandi dimensioni.
C - La ricerca delle Note su un ordine è possibile ma chiedi perché c'è una nota in primo luogo? Può essere che la nota venga utilizzata per catturare una 'ragione' o una 'categoria' che meriti di essere posta su 1 o più colonne separate. Ad esempio, l'utente potrebbe voler elencare gli ordini che sono parzialmente consegnati. Alcuni sistemi usano il campo della nota per rappresentare molte informazioni non strutturate. La ricerca nel testo può restituire risultati incoerenti. Alcuni database ti consentono di cercare il testo in modo efficiente, ma devi comunque convivere con informazioni sul modulo libero e l'utente può chiedere al sistema di restituire manualmente grandi quantità di dati per la ricerca. Per evitare ciò, potresti voler analizzare i contenuti delle note come menzionato in precedenza o utilizzare tag standard. Questa scheda utilizza entrambi i metodi.