SQL Tutorial Italiano 05 - Constraint ai Campi di una Tabella

Поделиться
HTML-код
  • Опубликовано: 30 окт 2024

Комментарии • 99

  • @Matteo_dev
    @Matteo_dev 7 месяцев назад +2

    Bravissimo, ti si segue facilmente e non annoi. Grande grazie!!

  • @Cyber_Finance
    @Cyber_Finance Месяц назад +1

    ti ringrazio di tutto, ho solo 16 anni e sto imparando tante cose grazie a te sulla programmazione❤

  • @tonno10
    @tonno10 3 года назад +18

    ricordo quando feci il corso di sql all'università....venne impostato malissimo e di una noia incredibile! Bravo Edoardo stai facendo un lavoro top!

    • @EdoardoMidali
      @EdoardoMidali  3 года назад +10

      io mi ricordo quando alle superiori ci facevano fare le verifiche di sql su carta, fuori di testa!

    • @matyson1963
      @matyson1963 2 года назад +4

      @@EdoardoMidali la mia situazione fra qualche giorno

  • @VitoAmodio
    @VitoAmodio 11 месяцев назад +4

    Ciao Edoardo ho una domanda per te, ma il modo di inserire le FOREIGN KEY è universale oppure è specifico di questa applicazione?

  • @stefanotroiano7073
    @stefanotroiano7073 2 года назад +1

    Sei il migliore continua così 👍🏻

  • @stevevalente4598
    @stevevalente4598 2 года назад +4

    Edoardo sei un vero talento della didattica.
    Sarebbe molto bello se riuscissi a realizzare un corso sulla gestione di Microsoft Access con SQL.
    Grazie cmq per il tuo importante ed utile lavoro.

    • @EdoardoMidali
      @EdoardoMidali  2 года назад

      più avanti voglio arrivare a coprire tutto il possibile

  • @animazioneamv2150
    @animazioneamv2150 2 года назад +1

    Edoardo ma al minuto 20:58 nella tabella rapporto_clienti il campo id_rapporto non deve avere il constraint primary key? Inoltre le due chiavi esterne non hanno il tipo di dato e il constraint come abbiamo messo nelle loro rispettive tabelle?

  • @lindasweetdog3735
    @lindasweetdog3735 2 года назад +3

    Si, mi rispondo , nel video non ci sono ma quando si crea la terza tabella "rapporto clienti", gli attributi, anche se già dichiarati in altre tabelle, vanno esplicitati con il loro valore (INT, VAR etc.), altrimenti ti da errore, grazie

  • @filippo.diberardino2863
    @filippo.diberardino2863 2 года назад

    Grazie del ripasso

  • @antoniettadangelo3567
    @antoniettadangelo3567 7 месяцев назад +1

    MI DA QUEST'ERRORE: Can't create table `mia_azienda_db`.`dipendenti` (errno: 150 "Foreign key constraint is incorrectly formed")
    PERCHE'?

  • @gessicamazzucco3408
    @gessicamazzucco3408 2 года назад +1

    Mitico

  • @darioooc
    @darioooc 2 года назад

    Complimenti!

  • @robertob6996
    @robertob6996 2 года назад +2

    Ciao le chiavi esterne non dovrebbero essere nella tabella rapporto_clienti?
    FOREIGN KEY (Id_cliente) references clienti(id),
    FOREIGN KEY (id_dipendente) references dipendenti(id)

    • @f0ns0r
      @f0ns0r Год назад

      Anchio me lo sono chiesto, siccome mi sembrava controintuitiva come cosa (il fatto che le foreign keys nel video corrispondono alle primary) consultando qualche esempio di database su google ho visto che la foreign key solitamente non corrisponde a quella primaria e la reference è appunto alla tabella dove quella key è primary, il che infatti ha più senso, siccome divento tipo "questa chiave qui non primaria (quindi foreign) fa riferimento alla chiave primaria della tabella X"

  • @profga96
    @profga96 2 года назад +2

    Ciao Edoardo, sto seguendo il corso e lo trovo davvero interessante e ben spiegato, unica cosa ho provato a fare le tabelle in questo video esattamente con la stessa sintassi da te utilizzata e mi da errore. L'errore è: "errno: 150 'foreign key constraint is incorrectly formed'... ho cercato una soluzione su stack overflow o altri video su yt faccio come dicono ma non riesco a risolverlo. Qualche idea su cosa potrebbe causare il problema?

    • @EdoardoMidali
      @EdoardoMidali  2 года назад +3

      Prova ad andare al prossimo video e copiare esattamente il codice che faccio vedere risistemato nei primi secondi.

    • @profga96
      @profga96 2 года назад

      @@EdoardoMidali ti ringrazio provo subito

  • @erictheeclepton
    @erictheeclepton 2 года назад +2

    Complimenti per il corso, molto ben fatto in quanto chiaro, completo, essenziale e step-by-step!
    Una sola nota in questo video, anche avendo sotto mano l'ottima documentazione di TutorialRepublic: ma le FOREIGN Key come constraints, non l'avresti dovuto definire come constraints dei 2 campi ID ma.... nella tabella associativa rapporto_clienti? quindi non nelle tabelle dipendenti e clienti! Grazie e buona giornata!

    • @EdoardoMidali
      @EdoardoMidali  2 года назад

      Si sarebbe più corretto così. Preferisco questo approccio perchè l'ho sempre trovato più intuitivo per spiegare le tabelle associative.

    • @NicholasMeneghino
      @NicholasMeneghino 5 месяцев назад

      @@EdoardoMidali non so se risponderai mai dopo 2 anni, comunque anche io mi sono accorto di questa cosa; all'inizio ho seguito il tuo esempio ma andando poi a vedere da PHPmyadmin nella sezione designer, così come controllando la struttura delle tabelle da Beekeeper , la relazione tra le tabelle non esisteva, non era presente. Provando a fare due tabelle da solo, ma seguendo il metodo di TutorialRepublic, ritrovavo le relazioni anche su PHPmyadmin e Beekeeper.

  • @iWohs
    @iWohs 3 года назад +5

    Ciao Edoardo! Questo corso mi sta piacendo moltissimo.
    Ho una domanda: spiegherai anche come far comunicare il database con la parte front end di un sito?
    Grazie mille!

    • @EdoardoMidali
      @EdoardoMidali  3 года назад +2

      dopo questo corso c'è appunto php/mysql, però sapendo sql e php sarà una passeggiata

  • @ledowoodwork6573
    @ledowoodwork6573 2 года назад +2

    Ciao Edoardo, complimenti per il corso. È fatto veramente bene. Io sto facendo un po' di difficoltà a comprendere il rapporto tra la primary Key e la foreign Key. Mi perdo nell'esempio della tabella rapporto clienti.

  • @RiccardoMerloVegan
    @RiccardoMerloVegan Год назад

    In questo esercizio no nei poteva evitare id_rapporto nella tabella rapporto_clienti ? alla fine due FK sono di per se una PK no?

  • @cristiancolangelo1914
    @cristiancolangelo1914 3 года назад

    Ciao Edoardo!
    Ho una domanda:
    dove potrei trovare in phpMyAdmin l’impostazione relativa al controllo del valore numerico compreso tra 1200 e 5000 del campo stipendio?
    Sto cercando ma non riesco a trovare il modo di modificare questi valori tramite interfaccia grafica (mi rimane di provare a cambiarlo tramite codice…)
    Grazie per il supporto 👌

  • @bleedin33
    @bleedin33 2 года назад

    Thanks!

  • @lindasweetdog3735
    @lindasweetdog3735 2 года назад

    18:34, id_cliente e id_dipendente devo aggiungere INT ? perché l'editor mi da errore

  • @angelolobascio6608
    @angelolobascio6608 Год назад

    Edoardo scrivo sotto questo video.
    Da "Studente lavoratore",(sono un 35enne oramai cresciuto aimè con il cobol e il vba) non posso che farti i complimenti.
    Oltre alla promessa di guardarmi tutti i video e a supportarti, ti chiedo:
    hai intenzione di fare dei video sulla IA?
    Come è nata, come creare qualcosa a livello basico, come funziona, dove potrebbe arrivare ecc..
    Un abbraccio e continua così.

    • @EdoardoMidali
      @EdoardoMidali  Год назад +1

      l'anno prossimo mi piacerebbe dedicare dei corsi anche a quello

    • @angelolobascio6608
      @angelolobascio6608 Год назад

      @@EdoardoMidali anche l'architettura pc,i sistemi operativi con i comandi interni, la struttura dei bigdata. Ho visto che segui i consigli nei commenti. Li butto lì. Grazie anche per la tua simpatia. 👍

  • @pincopanco131
    @pincopanco131 2 года назад

    Non ho capito come sostenere il canale tramite amazon. Acquisto diverse cose e perché non "ricambiare il favore".
    Ma posso acquistare qualsiasi prodotti? O solo quelli consigliati da te? E poi non ho capito come fare per associare i cookies a te.

    • @EdoardoMidali
      @EdoardoMidali  2 года назад

      Nel momento in cui tu entri su amazon tramite i miei link amazon ricorda tutto ciò che acquisti in 24 ore o che metti nel carrello e acquisti anche dopo giorni.

    • @pincopanco131
      @pincopanco131 2 года назад +1

      @@EdoardoMidali quindi il link consigli per libri e postazione da lavoro. Perfetto. Da oggi farò così. Peccato qualche giorno fa ho speso 100 euro di tende

  • @cristiancolangelo1914
    @cristiancolangelo1914 3 года назад +1

    Salve Edoardo!
    Lezione molto bella :-)
    Ho una domanda:
    nelle tabelle “dipendenti” e “clienti” tu hai dichiarato la chiave esterna (oltre a quella primaria).
    Il mio dubbio nasce proprio sul fatto di specificare quale campo sia la chiave esterna in riferimento al campo di un’altra tabella perché la chiave primaria di una tabella potrebbe relazionarsi con tante tabelle quindi io pensavo che non c’era bisogno di specificare la chiave esterna in fase di creazione di una tabella ma solo la chiave primaria e poi al momento della Query e servendosi delle Join si specificava in quel momento quale campo di quale tabella funge da chiave esterna…
    In parole povere, sapere già tutto in anticipo è difficile anche perché nel corso del tempo le cose possono sempre evolversi ecco perché credevo che in una tabella basta specificare solo la chiave primaria e poi quella esterna si dichiara in fase di Query.
    Spero di aver esposto in modo esaustivo il mio dubbio.
    Mi fai un po’ di luce per favore? 😭😭
    Grazie mille!!!

    • @EdoardoMidali
      @EdoardoMidali  3 года назад +2

      a livello logico puoi farlo, non hai bisogno di specificare una chiave ti basta eseguire la query. La questione è più di controllo e di struttura del database. Se tabelle clienti, dipendenti e contratti stipulati tra le chiavi primarie delle prime due capisci che con una chiave esterne non puoi semplicemente eliminare il dipendente e lasciare un contratto così penzolante.
      La cosa è un po' più complessa di così ma quello che serve a te è capire perchè serve piuttosto che fare solo giuste le query.
      Nel dubbio ti lascio questo articolo
      www.sqlshack.com/commonly-used-sql-server-constraints-foreign-key-check-default/

    • @cristiancolangelo1914
      @cristiancolangelo1914 3 года назад

      @@EdoardoMidali grazie per l’articolo. Lo leggerò attentamente 👍👍

  • @marikarizzo5796
    @marikarizzo5796 2 года назад

    Ciao Edoardo! Se volessi identificare i record della tabella attraverso due attributi anziché uno come potrei fare ? ES. Per assurdo anziché identificare "dipendenti" tramite id_dipendente li volessi indentificare tramite gli attributi nome e cognome come potrei esprimerlo in sql ?

    • @EdoardoMidali
      @EdoardoMidali  2 года назад

      E' assolutamente fattibile. Cerca letteralmente questa frase sotto su google così trovi il codice già scritto:
      sql composite primary key

  • @reaware
    @reaware Год назад +2

    La soluzione in sintesi ( se qualcuno ha problemi ) é che la tabella rapporto_clienti deve stare al di sopra di dipendenti e clienti.

  • @rapixe1486
    @rapixe1486 3 года назад

    ERO CON TE NELLE LIVE DA QUANDO AVEVI 10/9 MILA ISCRITTI!

    • @EdoardoMidali
      @EdoardoMidali  3 года назад

      eh saranno passati ormai 2-3 annetti

    • @rapixe1486
      @rapixe1486 3 года назад

      @@EdoardoMidali fra mi dai il discord

    • @rapixe1486
      @rapixe1486 3 года назад

      @@EdoardoMidali aspetta ma ti ricordi? di me :)?

    • @EdoardoMidali
      @EdoardoMidali  3 года назад

      @@rapixe1486 mi spiace è passato troppo tempo e di alex ne entrano parecchi in live

    • @rapixe1486
      @rapixe1486 3 года назад

      @@EdoardoMidali ah ok vabbe il discord?

  • @crodixcrodix2052
    @crodixcrodix2052 2 года назад

    quando vado su phpmyadmin la pagina e bianca,nn ce niente,come si fa?

  • @ITAyupi
    @ITAyupi Год назад

    Per lavoro mi servirebbe imparare questi concetti ma utilizzando Sql management studio, è fattibile? posso seguire tutti i video usando quel programma invece di beekeeper?

    • @EdoardoMidali
      @EdoardoMidali  Год назад

      In questo corso mi concentro solo su sql, beekeeper è un semplice mezzo. Puoi seguire con quello che vuoi.

    • @ITAyupi
      @ITAyupi Год назад

      @@EdoardoMidali Ho notato però che alcuni comandi su management studio non me li riconosce, come UNSIGNED e anche AUTO_INCREMENT del video successivo

  • @catcaturday2384
    @catcaturday2384 3 года назад

    Spieghi benissimo :O

  • @giuseppecesarino1859
    @giuseppecesarino1859 9 месяцев назад

    ciao nn so perchè a me dà errore alla linea 9 ko riscritto tutto 2 volte non ci sono errori di trascrizione

  • @servizitelematicionline
    @servizitelematicionline 3 года назад

    Avendo seguito il tuo corso di php, e sapendo che rilascerai (php/mysql) molti controlli che facciamo sulle tabelle es check(stipendio) possiamo delegarlo ad una funzione php invece che al database?

    • @EdoardoMidali
      @EdoardoMidali  3 года назад

      sarebbe meglio avere un doppio check. Il database deve avere i suoi controlli, tipo unique, limiti sui valori ecc.. poi in backend fai degli altri controlli

  • @marcolenda6627
    @marcolenda6627 2 года назад

    Ciao Edo, ho lasciato a metà il corso python perché settimana prossima inizierò un corso intensivo di un mese si pl/SQL e a fine corso i migliori faranno un colloquio con Accenture(conosci tra l'altro?). Una sola domanda mi sorgeva spontanea, ma tu che conosci praticamente il mondo intero dell'informatica e della programmazione, che lavoro fai? Oltre a vendere i tuoi corsi (credo)

    • @EdoardoMidali
      @EdoardoMidali  2 года назад +1

      Si conosco Accenture. Comunque io ormai ho intrapreso la strada imprenditoriale tra canale youtube, corsi a pagamento (ne ho solo uno al momento, non pensare ahaha), ma soprattutto un'app e un gioco in sviluppo che voglio far diventare startup.

    • @marcolenda6627
      @marcolenda6627 2 года назад

      Complimenti sei un esempio e una figura da 'idolatrare', per così dire, in questo campo. Buona fortuna!

  • @massimogiuliani4144
    @massimogiuliani4144 2 года назад

    ciao Edoardo, avevo iniziato il corso e sono arrivato all'ottava lezione, poi ho spento il computer e riaccendendolo oggi , mi trova le query salvate ma quando provo a runnare mi dice no database selected, ho avviato xxamp come ieri e ho fatto start ai primi due, mi sono connesso a localhost ma nulla, non capisco, grazie mille per il lavoro che fai e spero mi risponderai!

    • @EdoardoMidali
      @EdoardoMidali  2 года назад

      ma anche localhost ti da problemi?

    • @massimogiuliani4144
      @massimogiuliani4144 2 года назад

      @@EdoardoMidali Edoardo scusami , ho risolto, dovevo semplicemente metter il nome del db ahahah perdonami, e grazie per la risposta tempestiva

  • @paolorpao570
    @paolorpao570 5 месяцев назад

    domanda. Ma come fate a ricordarvi tutte ste cose? Al di la del linguaggio di programmazione io non ho mai capito come si possano ricordare tutte le cose

    • @EdoardoMidali
      @EdoardoMidali  5 месяцев назад +1

      1. è molto più facile ricordarli di quanto pensi
      2. si imparano usandoli tutti i giorni
      3. hai sempre la doc a disposizione se non ti ricordi roba, ormai anche l'AI 😎

  • @dantem.ginestra1091
    @dantem.ginestra1091 2 года назад

    Ciao, la sintassi sql è la stessa anche su Access?

    • @EdoardoMidali
      @EdoardoMidali  2 года назад

      Potresti forse avere qualche eccezione, ma niente di incredibile

  • @_boom8795
    @_boom8795 2 года назад

    Ciao Edoardo....il corso è impostato molto bene, ma riscontro notevoli difficoltà con MySQL Workbench e beekeeper studio! Ad esempio l'inserimento delle foreign key è diverso e mi sto perdendo...

    • @EdoardoMidali
      @EdoardoMidali  2 года назад

      beekeper è collegato direttamente ad un db mysql oppure xampp come ho fatto vedere nel corso?

    • @_boom8795
      @_boom8795 2 года назад

      @@EdoardoMidali nessun collegamento, sto imparando ciò che spieghi direttamente su workbench

  • @jtkirk75rm
    @jtkirk75rm 2 года назад

    ciao Edoardo. Ottimo corso (come anche gli altri). Spieghi in modo semplice e chiaro. Domanda relativa alla lezione; ho scritto esattamente come hai mostrato, ma ricevo il seguente errore:
    Can't create table `mia_azienda_db`.`clienti` (errno: 150 "Foreign key constraint is incorrectly formed")
    Non viene creata la tabella Clienti e non riesco a capire perchè, dato che ho fatto esattamente come te. C'è un errore. Grazie
    PS: ho risolto guardando l'inizio del video 6.

    • @EdoardoMidali
      @EdoardoMidali  2 года назад +1

      credo che sto video lo rifarò perchè sta creando problemi a tanti

  • @riccdago
    @riccdago 3 года назад

    Ciao io non ho capito bene una cosa. In pratica a cone la descrivi tra dipendenti e clienti c'è un rapporto uno a molti. (un dipendente segue molti clienti) ma a come hai creato le chiavi secondarie hai stabilito un rapporto molti a molti.

    • @EdoardoMidali
      @EdoardoMidali  3 года назад +1

      Appena posso riguarda il video e ti dico. Probabile abbia commesso un errore e non me ne sia accorto nemmeno in fase di montaggio :(

  • @servizitelematicionline
    @servizitelematicionline 3 года назад

    inserire troppi indici in una tabella potrebbe incidere negativamente sulle prestazioni? es indici che saltano?

    • @EdoardoMidali
      @EdoardoMidali  3 года назад

      non ho capito la domanda, riesci a farmi un esempio?

  • @gennaroboccia7960
    @gennaroboccia7960 3 года назад

    Ciao Edoardo!Oltre a dirti che sei bravissimo,ti volevo chiedere se porterai mai un corso di python?

    • @EdoardoMidali
      @EdoardoMidali  3 года назад

      Allora puoi già trovare un video da 1 ora, mentre invece domani comincerò un corso super completo con oltre 60 video

  • @pierrezocco783
    @pierrezocco783 2 года назад

    Mi da sempre il problema 150 che dice che la foreign key is incorrectly forme

    • @EdoardoMidali
      @EdoardoMidali  2 года назад +1

      problema di sintassi sicuro. Passa alla prossima lezione e nella descrizione c'è il link alla lezione sul sito con codice copiabile. Dovrebbe funzionare.

    • @pierrezocco783
      @pierrezocco783 2 года назад

      @@EdoardoMidali ok grazie mille

  • @catcaturday2384
    @catcaturday2384 3 года назад

    15:00

  • @alessandrocomita5771
    @alessandrocomita5771 2 года назад

    Sapete spiegarmi come mai il codice alla fine non funziona e dà errore riguardo la Foreign Key? Secondo me si dovrebbe avvisare l'utente del video che quel codice dà errore, magari anche un piccolo box che rimanda al video dopo, dove il problema è stato risolto: pensavo avessi trascritto male il codice, invece a quanto pare è normale dia errore lì, c'è qualcosa che non va. Io ho risolto spostando la definizione delle Foreign Key nella tabella rapporto_clienti, ma non so se sia una soluzione efficace.

  • @pincopanco88
    @pincopanco88 2 года назад

    Con il constraint check è un casino🤯. Mi dà sempre errore

  • @ciccino.davane75
    @ciccino.davane75 2 года назад

    8:41 ma non era marco rossi all inizio? 😂

  • @paoloteo3440
    @paoloteo3440 2 года назад

    Sei Gesu Cristo

    • @EdoardoMidali
      @EdoardoMidali  2 года назад

      avrei giurato il canale si chiamasse Edoardo Midali

  • @internetfacile4146
    @internetfacile4146 2 года назад

    non va nullaaaa

    • @EdoardoMidali
      @EdoardoMidali  2 года назад

      Detto così vuol dire niente. Devi leggere gli errori e risolverli

    • @tizianomeneghetti9719
      @tizianomeneghetti9719 2 года назад

      #Così dovrebbe andare
      CREATE TABLE IF NOT EXISTS dipendenti(
      id_dipendente int not null,
      nome varchar(30) not null,
      cognome varchar(30) not null,
      data_assunzione date not null,
      stipendio decimal not null check(stipendio >= 1200 AND stipendio