Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,316

    Qualcuno mi spiega le: INDEX e FOREIGN KEYS

    Faccio penitenza e mi vergogno di non sapere quando utilizzarle...

    Ho vissuto tutta la mia infima esistenza utilizzando solo campi PRIMARY KEY, UNIQUE KEY e FULLTEXT.

    Qualcuno mi può spiegare con degli esempi pratici (possibilmente non su motori, biciclette ma su utenti/forum/topic/messaggi) per farmi entrare nella LOGIC del loro utilizzo.

    p.s. si ho letto guide in merito ma niente... sono impedito...

    // EDIT ha senso utilizzare le FOREIGN KEYS se utilizzo già i TRIGGER?
    Ultima modifica di zacca94; 15-02-2017 a 22:06

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,344
    INDEX :
    • Immaginiamo che abbiamo una tabella composta dai campi seguenti : id, cognome, nome.
    • Immaginiamo che abbiamo 5 milioni di record e che vogliamo selezionare tutti i record il cui cognome = 'ROSSI'.
    • Senza INDEX bisogna percorrere tutti i record per selezionare tutti i record.
    • Se creiamo un INDEX sui campi cognome, nome il sistema crea una specie di tabella (che non vediamo) ordinata per cognome e nome (in realtà è più complesso ma quello che scrivo rende l'idea). Questo è utile sia per la selezione sia per l'ordinamento dei dati. Con l'INDEX su cognome e nome il sistema non ha più bisogno di leggere tutti i record per ricavare quei uguali a 'ROSSI'


    FOREIGN KEY :
    • Immaginiamo che abbiamo una tabella articoli composta dal codice articolo, descrizione e codice fornitore.
    • Se creo un nuovo articolo ho bisogno di settare il codice fornitore. Se creo una FOREIGN KEY su questo campo che si riferisce alla tabella fornitori allora non potro' immettere un codice fornitore che non sia nella tabella fornitori.


    ha senso utilizzare le FOREIGN KEYS se utilizzo già i TRIGGER?

    • Un TRIGGER si scatena prima o dopo di un'azione su una tabella (inserimento, aggiornamento, cancellazione). E' possibile fare un controllo di coerenza dei dati con un TRIGGER ma non è il suo scopo iniziale.
    • Guarda questa discussione => http://forum.html.it/forum/showthrea...readid=2950070
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.