Progettazione di un elenco definito dall'utente da memorizzare in un database relazionale - Devo includere l'indice utente?

2

Per indice, voglio dire, mentre l'utente crea l'elenco, ogni elemento riceve un indice intero per la sua posizione in quel particolare elenco. Dato che ci sarà una tabella di ListItems, preferirei evitare di usare il nome "Index" per il campo.

Allora stavo pensando - dovrei includere anche l'indice della lista nel database? Ho pensato che lo avrei fatto perché la lista sarebbe stata creata allo stesso modo ogni volta, quindi. Oppure potrei ordinare l'elenco per l'utente in base alla sua chiave primaria effettiva, dato che gli elementi della lista vengono creati in successione comunque ...

Che cosa dovrei fare?

    
posta Nathan Lutterman 21.10.2013 - 19:13
fonte

2 risposte

3

Presentare gli elementi di un elenco nello stesso ordine è strongmente raccomandato per ogni GUI. Tuttavia la logica di ordinamento dovrebbe essere parte del livello di presentazione. Utenti diversi avranno ordini diversi. Questo dovrebbe essere memorizzato come preferenza dell'utente.

Se vuoi una soluzione più semplice, usa solo un ordinamento cablato, non importa se non fai affidamento su un comportamento non specificato.

    
risposta data 21.10.2013 - 19:25
fonte
4

Hai ragione a evitare di usare l'indice delle parole nel nome della colonna. Ti suggerisco di evitare nomi che potrebbero essere interpretati erroneamente se hai un sostituto ragionevole.

Un'opzione è chiamare la colonna "SortOrder" o "DisplayOrder".

Esiste un requisito per l'elenco degli articoli da visualizzare o ordinare in un ordine particolare? Se non è necessario, potresti risparmiare tempo saltandolo. D'altra parte, l'ordinamento è una caratteristica che molte persone non pensano di chiedere fino a quando non vedono qualcosa che non è ordinato a loro piacimento.

    
risposta data 21.10.2013 - 19:26
fonte

Leggi altre domande sui tag