Categorizzazione delle colonne in una tabella di database

1

Volevo sapere come la gente pensa genericamente, in una tabella di basi di dati:

  • Colonne che si prevede che le persone utilizzino principalmente per il raggruppamento prevedibile di groupability .

  • Colonne che ci si aspetta che le persone utilizzino principalmente per i dati aziendali attuali che non.

Ad esempio, consideriamo un rapido esempio di scuola. Direi che il nesimo grado potrebbe essere una colonna usata principalmente per il raggruppamento, mentre il marchio, la qualifica, la valutazione qualunque, direi che è una colonna usata principalmente per dati aziendali reali. Quale sarebbe un nome generico per quel tipo di colonne di basi di dati?

Allegato

Per esempio, consideriamo un rapido esempio di scuola. Direi che il nesimo grado potrebbe essere una colonna usata principalmente per il raggruppamento, insieme al marchio, qualifica, valutazione qualunque, ma non direi le loro password 'MD5 hash (suppongo che il contesto fosse un applicazione del consumatore in cui gli studenti effettueranno il login) saranno utilizzati per il raggruppamento. Quale sarebbe un nome generico per quel tipo di colonne di basi di dati? Esiste un concetto per la cardinalità delle colonne o il raggruppamento?

    
posta uprego 23.11.2016 - 11:31
fonte

3 risposte

0

So che è vecchio, ma nessuno ha fornito una risposta alla sua domanda di base come è stato chiesto.

La risposta più basilare (non correlata al business) alla tua domanda su quali colonne sono "prevedibili di raggruppabilità" è la seguente:

  • Le colonne su cui si potrebbe / potrebbe raggruppare sono colonne con valori ripetuti sulle righe.
  • Le colonne su cui uno / non potrebbe eseguire il raggruppamento sono colonne con valori univoci su tutte le righe, ad es. nessun valore duplicato su più righe (nel qual caso non si verificherà alcun "raggruppamento", anche se lo si utilizza nella query).

Questa è la risposta più genericamente applicabile (che è esattamente ciò che hai chiesto nella tua domanda) e si applica allo stesso modo indipendentemente dal modo in cui i dati sono modellati e da altri fattori menzionati nelle altre risposte, ecc.

Hai fornito un esempio di una colonna su cui non ti aspettavi che ci fosse un'aspettativa di raggruppamento:

  • md5_hash - diciamo che la tua tabella è UPLOADS e una colonna è MD5_HASH che contiene il valore di un hash del file (come lo scenario della tua password). Diciamo che l'amministratore vuole trovare casi di più caricamenti dello stesso file. In genere l'analista group by MD5_HASH having count(*) > 1 . Oppure andare con lo scenario di hash della password: si potrebbe desiderare di trovare le istanze di utenti che utilizzano password comuni, o magari eseguire procedure ad-hoc per suggerire account duplicati (in cui le password identiche sarebbero un input). In genere ciò avviene con le stesse clausole group by ... having ... .

Sono stato nello spazio DWBI per oltre 15 anni e, secondo la mia esperienza, ci sono sempre "utenti esperti" dei dati che, nel tempo, scriveranno ogni tipo di query per esaminare i dati ogni modo che non puoi mai immaginare ... di solito puoi essere sicuro che, in un'impostazione DW, qualsiasi colonna contenente valori ripetuti possa essere raggruppata su una query SQL ad hoc a un certo punto.

    
risposta data 29.05.2018 - 17:09
fonte
2

Sono tutti "dati aziendali attuali" , salvano il surrogato PK (e gli FK che puntano ad essi) che possono essere utilizzati per il raggruppamento e la ricerca, ma sono privi di significato per il business. Tutte le altre colonne possono anche essere utilizzate per il raggruppamento e la ricerca e sono ancora "dati aziendali attuali" .

Non tutto ha un nome specifico o può essere inserito in una tassonomia arbitraria.

    
risposta data 23.11.2016 - 12:55
fonte
0

Se vuoi sapere come pensare correttamente alle tabelle del database, studia una disciplina di modellazione basata sui fatti come modellazione dei ruoli degli oggetti . Le tabelle rappresentano predicati (tipi di fatti), le colonne rappresentano i ruoli nei predicati e le righe rappresentano proposizioni (fatti).

    
risposta data 08.01.2017 - 22:49
fonte