Vous êtes sur la page 1sur 10

Creazione di un Data Base in MySql

Prendiamo in esame il seguente Schema Relazionale come esempio : Attori ( CodiceAttore , Nome , AnnoDiNascita , Nazionalit ) Recita ( CodiceAttore , CodiceFilm ) Film ( CodiceFilm , Titolo , AnnoDiProduzione , Nazionalit , Regista , Genere , Durata ) Proiezione ( CodiceProiezione , CodiceFilm , CodiceSala , Incazzo , DataProiezione ) Sale (CodiceSala , Posti , Nome , Citt ) Le quali(Tabelle) hanno le seguenti chiavi esterne : Recita[ CodiceAttore ] Attori[CodiceAttore] Recita[ CodiceFilm ] Film [ CodiceFilm ] Proiezione[ CodiceFilm ] Film[ CodiceFilm ] Proiezione[ CodiceSala ] Sale [ CodiceSale ] Premetto che per inserirlo in MySql non terr conto delle Maiuscole e/o Minuscole n degli accenti , ma scriver tutto in minuscolo e senza accenti . Ovviamente necessario aver pre-installato MySql ; fatto ci questo schema pu essere inserito in due modi o tramite lesecuzione di Query di tipo DDL (cio che creano e modellano le tabelle) o tramite il Tool di Mysql : MyQueryBrowser (oppure MySql Amdministrator) dal quale si possono sia creare che animare (riempire) le tabelle . 1 Passo ) Verifichiamo che in basso nella barra di win ci sia la seguente icona simbolo di play-verde . 2 Passo ) Tasto dx del mouse sullicona (sopra) , si aprir qualcosa del genere , limportante che ci sia il

quindi avviare MySQL Administrator , si avvier la seguente :

In fase di installazione se avrete impostato una password , qui vi verr chiesta , inserirla e.

3 passo ) Tasto Dx del mouse sullo spazio vuoto presente dove sono presenti : Information_schema ed mysql , quindi scegliere : Create New Schema . Si aprir

Inseriamo un nome a piacimento , nel mio esempio lo chiamer pp :

Premendo su ok lesempio avremo creato lo schema , questo nome comparir nellelenco dove prima cerano solo Information_schema ed mysql ; 4 passo ) facendo tasto dx su pp otteniamo il seguente men a tendina :

Arrivati a questo punto inizieremo a creare tutte le tabelle c da tenere a mente una cosa molto IMPORTANTE : 1) Si creano tutte le tabelle che non hanno nessuna FK con altre Tabelle (attori,film,sale) 2) Si creano le tabelle che hanno le FK 3) Ci si deve ACCERTARE che i TIPI (Integer,varchar) delle colonne di cui si vuole creare una FK siano uguali altrimenti la FK non la creerete mai .

Cliccando su Create New Table creeremo tutte le Tabelle(quindi ci clicchiamo pi volte) , questa la Gui che ci troveremo a vedere :

Vediamo un esempio relativo al nostro schema relazionale , creiamo la Tabella ATTORI :

Ovviamente licona di Chiave a fianco di Codiceattore sta ad indicare che codiceattore chiave per la Tabella attori , se si dovesse creare unaltra chiave basta cliccare sul rombo celeste .

Cliccando su Apply Changes ci verr proposta la seguente gui in cui ci viene mostrato lSQL che crea la tabella (questo molto utili per imparare!!!) :

Cliccando su Execute la tabella verr creata , quindi clicchiamo su close della finestra precedente ;e reiteriamo tutto il procedimento fin qui visto . Vediamo la tabella recita , che ha 2 chiavi :

Come avrete notato ho cambiato il tipo di codicefilm a INTEGER in quanto riferito a codicefilm della tabella film , il quale a sua volta di tipo INTEGER . Adesso creiamo le FK , quindi clicchiamo su

E poi su

Verr proposta la seguente :

Lasciamo il nome invariato diamo ok e avremo :

Cos avrete creato la chiave , ma v specificata , volendo specificare la seguente Recita[ CodiceAttore ] Attori[CodiceAttore] Si dovr fare :

Come gi detto sopra se i due attributi non sono dello stesso tipo la tabella e/o anche solo la chiave FK non verr creata . Reiterare il procedimento di prima per tutte le chiavi esterne . Nel caso della tabella recita otterremo la seguente :

Eseguendo , avremo :

Finito di creare le tabelle e tutte le chiavi esterne le dovremo animare con dei dati , nel seguente modo :

Cliccando su Edit Table Data si aprir la seguente :

Dove si deve prima cliccare sul pulsante Edit quindi scrivere tutti i dati , ed infine cliccare su Apply Changes . Allo steso modo si devono animare tutte le altre tabelle ; Infine per provare le query basta scriverle (con la giusta sintassi) nello spazio dove viene visualizzato SELECT * FROM `pp`.`recita`

E quindi premere CTRL+invio , oppure cliccare sullicona

Esempio di sintassi
Lesempio non si riferisce allo schema relazionale che ho usato come esempio . Problema : Le Coppie dei piloti che hanno vinto in anni diversi granpremi in comune : SELECT Pi2.pilota, Pi1.pilota FROM piazzamento as Pi1 , piazzamento as Pi2 WHERE Pi1.pilota<>Pi2.pilota AND Pi1.anno<>Pi2.anno AND Pi1.granpremio=Pi2.granpremio AND Pi1.posizione='1' AND Pi2.posizione='1' ;

Vous aimerez peut-être aussi