Fondamenti delle basi di dati

Corso mysql a cura del prof. Pietro De Paolis

Primo programma mysql

Se i dati da gestire sono pochi non serve utilizzare una base di dati, cioè un archivio in cui sono memorizzati i dati; quando, invece, i dati aumentano, tipo la gestione dei dipendenti in un comune, o la gestione clienti in una azienda, il fatto che i dati da gestire siano numerosi ci costringe a ricorrere ad un sistema di archiviazione o registrazione dei dati in modo elettronico. Il database è un nome inglese che sta ad indicare un archivio elettronico dei dati. Dato l'avvento di Internet, che ci consente di collegare in rete tutti i computer del mondo, è possibile la gestione di un archivio da parte di numerosi utenti autorizzati ad accedere a questo archivio. In pratica il nostro archivio risiede su un server e tutti coloro che forniscono i dati vi possono accedere per aggiungere nuovi dati o modificare o cancellare quelli esistenti. Inoltre l'utente finale può avere accesso a questo archivio anche senza utilizzo di password o con utilizzo di password.

Archivio e tabella

La tabella è un modo ordinato ed elegante di rendere visibili i dati agli altri. Se ho una classe di 20 alunni di cui conosco il nome, il cognome, la classe di appartenenza, il comune di residenza, ed altri dati di ogni alunno posso, visualizzarli in una tabella del tipo:

cognome nome comune classe scuola
Bianchi Giovanni Milano terza ITIS
Rossi Federico Bari terza ITIS
... ... ... terza ITIS
... ... ... terza ITIS
Zerbino Antonio Roma terza ITIS

La tabella ha un certo numero di righe orizzontali e un certo numero di colonne verticali. Questa tabella va ora memorizzata in un file che risiede sul server in modo da poterla utilizzare successivamente andando a fare delle ricerche dei dati di un generico alunno, quando essi vengono richiesti.

Il nostro lavoro, quindi, va diviso in due parti principali: una prima parte prevede la creazione e memorizzazione della tabella sul server; successivamente andremo a fare la ricerca sull'archivio dei dati (database).

Creazione della tabella

La creazione di una tabella viene fatta in due fasi successive; dapprima creiamo la struttura della tabella, cioè indichiamo il numero di colonne che la tabella deve avere, nel nostro caso sarà di 5 colonne e dobbiamo dare anche un nome ad ogni colonna;nel nostro caso la prima colonna la chiameremo cognome, la seconda nome, ecc.

Una volta creata la struttura della tabella essa è vuota, cioè non vi sono memorizzati dei dati; solo dopo la creazione della struttura della tabella possiamo memorizzare i primi dati. La tabella stabilisce delle relazioni tra i dati, per questo il database MySQL è detto di tipo relazionale e la tabella è, appunto, una relazione, nel senso che stabilisce dei collegamenti tra i vari dati in essa contenuti.

Il comando MySQL per creare una tabella è:

CREATE TABLE nometabella (nomecolonna1 tipocolonna1, nomecolonna2 tipocolonna2, nomecolonna3 tipocolonna3,   ..., ....,  nomeultimacolonna tipoultimacolonna)

La nostra tabella da creare prevede un nome e noi la chiamiamo tabella1; nella creazione della tabella dobbiamo anche specificare il tipo di dati da memorizzare; possiamo usare come tipi di dati:

tipo spiegazione
INT(cifrenumerointero) INT indica che è un numero intero; tra parentesi mettiamo il numero di cifre di questo numero;

esempio:

INT(3) indica che il numero intero è di 3 cifre

VARCHAR(numerocaratteri) indica che si tratta di valori alfanumerici cioè di parole e non di numeri; anche qui dobbiamo specificare la lunghezza che può essere al massi di 255 caratteri.

esempio

VARCHAR(50)

indica che il dato che andremo a mettere sarà di tipo alfanumerico e avrà la lunghezza di 50 caratteri.

TINYTEXT Il contenuto è di tipo stringa con lunghezza massima di 255 caratteri; non va messo il numero tra parentesi
TEXT Il contenuto è di tipo stringa con lunghezza massima di 65.535 caratteri; non va messo il numero tra parentesi
MEDIUMTEXT Il contenuto è di tipo stringa con lunghezza massima di 16.777.215 caratteri; non va messo il numero tra parentesi
LONGTEXT Il contenuto è di tipo stringa con lunghezza massima di 4.294.967.295 caratteri; non va messo il numero tra parentesi
   

Il nostro comando completo in MySQL sarà:

CREATE TABLE tabella1 (cognome VARCHAR(50), nome VARCHAR(50), comune VARCHAR(50), classe VARCHAR(50), scuola VARCHAR(50) ) 

cioè: crea una tabella di nome tabella1; la prima colonna si chiama cognome, è di tipo carattere e il dato da memorizzare sarà lungo massimo 50 caratteri; la seconda colonna si chiama nome, è di tipo carattere e il dato da memorizzare sarà lungo massimo 50 caratteri...

Richiesta o query

MySQL è un sistema di archiviazione dei dati che funziona in base a delle richieste, dette in inglese query, che vengono fatte al sistema di gestine della base di dati. Se la richiesta inviata è corretta essa viene eseguita. Volendo creare la struttura della nostra prima tabella la richiesta da inviare sarà appunto:

CREATE TABLE tabella1 (cognome VARCHAR(50), nome VARCHAR(50), comune VARCHAR(50), classe VARCHAR(50), scuola VARCHAR(50) ) 

Questa richiesta deve essere inviata al sistema di gestione tramite un opportuno comando in php. Per cui occorre che scriviamo un programma in php che invii la nostra richiesta al sistema di gestione del nostro database.

Istruzione php:

mysql_query (stringarichiesta, stringaconnessione)

E' una istruzione che invia una richiesta ad un archivio di dati.

Esempio

$risultato = mysql_query($richiesta, $connessione);

mette nella variabile php $risultato il risultato di un comando in MySQL contenuto nella variabile $richiesta.

$connessione è una variabile che fa riferimento alla connessione che si vuole attivare; se viene omessa essa fa riferimento ad una precedente connessione che deve essere comunque attiva in quel momento.

Questo modo di procedere vale sempre per qualunque richiesta; se la richiesta fatta viene eseguita nella variabile $risultato vi sarà il valore "TRUE" altrimenti vi sarà il valore "FALSE".

Volendo noi creare una tabella metteremo:

$richiesta="CREATE TABLE tabella1 (cognome VARCHAR(50), nome VARCHAR(50), comune VARCHAR(50), classe VARCHAR(50), scuola VARCHAR(50) ) ";

cioè la nostra richiesta sarà di creare una tabella come la vogliamo noi.

Per quanto riguarda $connessione dobbiamo dire che per poter operare su un database occorre avere le necessarie autorizzazioni. Se non si possiedono le necessarie autorizzazioni non si può proseguire nella gestione del nostro archivio e non possiamo creare la nostra tabella. Le autorizzazioni sono contenute in una serie di parole da conoscere per poter accedere al nostro archivio elettronico con sicurezza e sono le seguenti:

1 - Nome del server su cui è ospitato il nostro archivio; tale nome va memorizzato in una variabile php.

Esempio

$nomehost = "nomemioserverdeldatabase";

cioè memorizzo nella variabile $nomehost il nome del server che contiene e gestisce il database.

2 - Nome dell'utente del singolo archivio; in pratica sullo stesso server esistono più archivi; ad ogni archivio è associato un utente che lo può utilizzare; questo utente deve avere un suo nome utente e una sua password; lo stesso utente può accedere a più database.

Esempio

$utente = "nomeutente";

cioè memorizzo nella variabile $utente il nome dell'utente che vuole accedere al database.

3 - Parola di accesso  o password ; va unita al nome dell'utente per poter accedere al dabase.

Esempio

$parola = "miapassword";

cioè memorizzo nella variabile $parola la password dell'utente che vuole accedere al database.

4 - Nome dell'archivio al quale si vuole accedere.

Esempio

$nome = "nomedeldatabase";

cioè memorizzo nella variabile $nome il nome dell'archivio che contiene i dati e che quindi deve contenere la nostra tabella.

Queste quattro variabili deve essere tutte note prima di aprire una connessione al nostro database. Una volta note queste quattro variabili possiamo aprire una connessione al database mediante l'istruzione php mysql_connect.

Istruzione php:

mysql_connect ($nomehost, $utente, $password)

E' una istruzione che stabilisce una connessione al sistema di gestione dei database presenti su un certo server.

Esempio

$connessione = mysql_connect ($nomehost, $utente, $password);

mette nella variabile php $connessione il risultato di un comando che effettua la connessione al server che gestisce il database.

Se la  connessione ha successo nella variabile $connessione vi sarà il valore "TRUE" altrimenti vi sarà il valore "FALSE".

Una volta stabilita la connessione al server indichiamo il nome del database da utilizzare con l'istruzione mysql_select_db.

Istruzione php:

mysql_select_db ($nome, $connessione)

E' una istruzione che sceglie il database da utilizzare; il nome della connessione è facoltativo, in quanto viene utilizzata l'ultima connessione attiva.

Esempio

$selezione = mysql_select_db ($nome, $connessione);

mette nella variabile php $selezione il risultato di un comando che effettua la scelta del database da usare.

Se la  scelta ha successo nella variabile $selezione vi sarà il valore "TRUE" altrimenti vi sarà il valore "FALSE".

Il nostro programma completo per creare una tabella sarà:

<?php

print ("Programma per creare una tabella");

$nomehost = "miohost";

$utente = "mionome";

$parola = "miapasswors";

$nome = "nomedeldatabase";

$connessione=mysql_connect($nomehost,$utente,$parola);

$selezione = mysql_select_db($nome, $connessione);

$richiesta = "CREATE TABLE tabella1(cognome VARCHAR(50), nome VARCHAR(50), comune VARCHAR(50), classe

VARCHAR(50), scuola VARCHAR(50) )";

$risultato =mysql_query($richiesta);

mysql_close($connessione);

?>

Salviamo con il nome di creotabella.php ed eseguiamolo.

Corso di programmazione in MYSQL

Dizionario mysql e relativo php

Corso di programmazione in PHP

Dizionario php

prof. Pietro De Paolis

Indice Scuola Elettrica - generico


Scuola Elettrica



 

Altre applicazioni


Mappa per tipo di scuola

 

Indice di tutte le pagine del sito


Guida per navigare


Richiesta informazioni


Scuola Elettrica