- Domanda piacevole e ingannevole
Dipende dall'uso. Ma la maggior parte delle volte il tasto INT è preferito. Di solito troverai qualcosa come ID per mostrare la chiave primaria.
In definitiva dipende dall'utilizzo. Che tipo di requisiti hai intenzione di avere. Di conseguenza decidere. Ma l'INT è il più preferito.
Qui ho spiegato entrambi
Per ID int (prima opzione) #
Il campo identità dovrebbe essere numerico e non basato su stringhe, perché
- Risparmio di spazio (Un int è 4 byte, una stringa può essere il numero di byte che desideri. Per questo motivo, un int funzionerà sempre meglio)
- Motivi prestazionali (le chiavi corrispondenti sulle stringhe sono più lente della corrispondenza
su numeri interi
- La ridondanza dei dati sarà risolta dalla colonna int. Come le chiavi esterne devono
essere aggiornato (e / o cancellato) ogni volta che i dati vengono aggiornati.
- Gli aggiornamenti / cancellazioni su una chiave esterna possono essere impostati su cascata.
Per stringa / testo (seconda opzione) #
- L'uso di una chiave esterna significa che per ottenere dati leggibili dall'utente (es
testo) deve essere fatto un JOIN Usando una chiave esterna descrittiva, non JOIN
deve essere fatto per ottenere dati leggibili dall'utente. Questo include la lettura
con SELECT e quando INSERIRE o modificare i dati. Ad esempio, a
inserire in AddressNum è necessario groupId.
- Dati leggibili dall'uomo nel database. Questo renderà più facile per il
DBA per eseguire il debug dei problemi relativi ai dati, in quanto è possibile utilizzare una TABELLA CREAZIONE SHOW per trovare
i riferimenti di chiave esterna e quindi ottenere un campione di dati da uno
tabella e capire lo scenario, senza dover unire.
Mi piace il commento di @ user1598390
OP is not asking whether to use int IDs or String IDs. He/she is
asking whether to used int IDs (one to many) or having all questions
IDs concatenated in a text column like "123311;121322;123455;123487".
Prima opzione ho preso come ID int e seconda opzione che ho preso come testo / stringa.
Dipende dall'uso. Che tipo di requisiti hai intenzione di avere. Di conseguenza decidere. La maggior parte delle volte è preferibile la prima opzione. In questo caso, per la prima opzione non hai ulteriori elaborazioni per analizzare l'elenco di id.