Visualizzazione dei risultati da 1 a 10 su 10

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    306
    Grazie nman per la tua risposta.
    Ti posso chiedere di andare per gradi? e visto che hai la padronanza dell'argomento puoi utilizzare le mie tabelle? Ti ringrazio anche per questo: è importante per me che sono ai primi databese della mia vita.

    Ho creato due tabelle con gli stessi dati proprio per tentare di capire a cosa servono le PK (Primary Key) e l'index, andando appunto per gradi, cambiando poche cose alla volta, per poi prendere più confidenza con questi argomenti e poter creare tabelle quanto più diverseè possibile.
    ( Le chiavi esterne non le ho ancora incontrate e direi di lasciarle fuori per il momento.....non ho ancora chiare le chiavi interne, figuriamoci le esterne )

    Io vorrei capire una volta create le tabelle con un indice o una PK (come ho fatto nel mio intervento precedente) io che devo fare precisamente per sfruttarle? (i ragionamenti li lascerei stare per il momento).


    vado ad inserire i dati con
    codice:
    INSERT INTO amici VALUES (' 1 ', 'Mario', 'Rossi', '123456789');
    e cosï per tutti i 20000 amici che ho.
    come faccio a fare riferimento ad uno specifico record? usando SELECT?
    Così ho in risposta tutti i campi della tabella.

    codice:
    SELECT * FROM amici;
    Considerando la tabella amici, quando e come uso la PK?cioè con che comando uso il fatto che id sia un PK?

    Poi considerando la tabella amici2 quando e come uso l'indice_cognome? cioè con che comando uso il fatto che indice_cognomi sia un indice?


    In riferimento a quello che hai scritto ti chiedo:
    1)Perchè il numero di telefono va in Varchar? e non in intero?

    2) quando definisci una Primary Key, stai indicizzando qualcosa? allora quale � la differenza tra indice e PK?
    Ultima modifica di Alfoxx; 18-04-2016 a 11:03

  2. #2
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Quote Originariamente inviata da Alfoxx Visualizza il messaggio
    ...... sono ai primi databese della mia vita. ........
    beato te !!!

    Innanzitutto consiglio prima di leggere quanto sotto che è evidentemente molto semplicistico e riduttivo di
    fare uno studio sulla Normalizzazione Data Base fatti una bella ricerca su Google
    e impiega delle giornate e settimane per capirla

    La Normalizzazione sono 4 concetti, ma se non li capisci puoi andare a vendere gelati

    Quote Originariamente inviata da Alfoxx Visualizza il messaggio
    ( Le chiavi esterne non le ho ancora incontrate e direi di lasciarle fuori per il momento.....non ho ancora chiare le chiavi interne, figuriamoci le esterne )
    eppure senza chiave esterna non ha quasi senso la chiave interna .......
    chiamiamole con i nomi convenzionali:
    PrymaryKey, PK, Key, ChiavePrimaria, Chiave, sono tutti sinonimi (Noi usiamo PK)
    ForegenKey, FK, ChiaveEsterna, sono tutti sinonimi (Noi usiamo FK)

    Bene, nella tabella secondaria (Appuntamenti) nel campo della FK ci metti il valore della PK della tabella primaria



    Quote Originariamente inviata da Alfoxx Visualizza il messaggio
    Io vorrei capire una volta create le tabelle con un indice o una PK (come ho fatto nel mio intervento precedente) io che devo fare precisamente per sfruttarle?
    Non devi fare nulla, come le fondazioni del palazzo, le hai mai viste ????? No
    Sai che ci sono le fondazioni e allora dormi tranquillo

    Certo che se devi metterti in casa una cassaforte da 2500 Kg allora ti preoccupi di metterla sulla verticale di un pilastro

    Quote Originariamente inviata da Alfoxx Visualizza il messaggio
    vado ad inserire i dati con
    codice:
    INSERT INTO amici VALUES (' 1 ', 'Mario', 'Rossi', '123456789');
    questa va bene, non c'entra nulla con gli indici,
    non hai scritto il nome dei campi, io consiglio di scriverli, ma forse il tuo DB inserisce in sequenza i valori .....
    Quegli spazi fra gli apici e il numero 1 a cosa servono ????

    Quote Originariamente inviata da Alfoxx Visualizza il messaggio
    e cosï per tutti i 20000 amici che ho.
    come faccio a fare riferimento ad uno specifico record? usando SELECT?
    codice:
    SELECT * FROM amici;
    Wowww!!!! 20000 amici,
    io ai miei tempi avevo una misera agenda blu popolata in diversi anni con dentro solamente un centinaio di amiche
    (pero erano quasi tutte assaggiate e straniere)
    quando le tedesche scendevano in orde sulla riviera romagnola,
    ma torniamo a noi

    Sconsiglio il " SELECT * ", esplicita sempre il nome dei campi
    SELECT IdAm, Cognome, Nome, Telefono FROM amici WHERE IdAm=12;

    quindi il campo indicizzato è il "IdAm" e la ricerca (WHERE) la fai appunto su quel campo



    Quote Originariamente inviata da Alfoxx Visualizza il messaggio
    Considerando la tabella amici, quando e come uso la PK?cioè con che comando uso il fatto che id sia un PK?
    Nessun comando specifico, d evi sapere che ci sono e quali sono le PK e le FK e fare le ricerche usando quelle
    la query sopra potevi anche scriverla cosi:
    SELECT IdAm, Cognome, Nome, Telefono FROM amici WHERE Telefono='02/9860424 int 8';
    ma avrebbe avuto prestazioni diverse


    Quote Originariamente inviata da Alfoxx Visualizza il messaggio
    Poi considerando la tabella amici2 quando e come uso l'indice_cognome? cioè con che comando uso il fatto che indice_cognomi sia un indice?
    Come sopra gli indici non si usano, devi solo sapere che ci sono e dove sono


    Quote Originariamente inviata da Alfoxx Visualizza il messaggio
    1)Perchè il numero di telefono va in Varchar? e non in intero?
    Prova a livello pratico in un campo INT a scrivere i seguenti numeri telefonoci:
    - 0290729875
    - 02/8954781
    - 06 / 875495 int 12
    - cell. 328 - 7854156
    - 547865 (ore 19/22)



    Quote Originariamente inviata da Alfoxx Visualizza il messaggio
    2) quando definisci una Primary Key, stai indicizzando qualcosa? allora quale � la differenza tra indice e PK?
    In funzione del DB che usi quando definisci una PrimaryKey hai gia di fatto Indicizzato quel campo
    diciamo che la PK puo essere considerata un indice che NON ammette duplicati
    Ultima modifica di nman; 18-04-2016 a 12:56

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 © 2026 vBulletin Solutions, Inc. All rights reserved.