Data Base
Master "Bio Info"
Reti e Basi di Dati Lezione 6
1
Sommario
I concetti fondamentali
….
Database Relazionale
…..
Query e SQL
MySql, Creazione di un db in MySQL con PHPmyAdmin
Creazione database e delle Tabelle
Query
Inserimento Ricerca Modifica Eliminazione
Relazioni
Creazione Maschere
I Data Base e la Bioinformatica
Master "Bio Info"
Reti e Basi di Dati Lezione 6
2
I Concetti fondamentali
Query ed SQL
Una query è un comando che consente di interrogare un DB sui
contenuti delle tabelle e di eseguire specifiche azioni sui dati.
L’SQL (Structured Query Language linguaggio di interrogazione
strutturato) è il linguaggio utilizzato per interagire con i DB relazionali
L’SQL è universalmente accettato dai produttori di DBMS
Microsoft Access, Microsoft SQL server
Oracle ed Oracle MySql
IBM DB2
Con L’SQL si è in grado di effettuare le diverse interazione con un
database
Interrogazione
inserimento di nuovi dati,
modifica di dati esistenti
eliminazione di dati esistenti
Master "Bio Info"
Reti e Basi di Dati Lezione 6
3
I Concetti fondamentali
Interrogazione Select
Col comando select si può estrarre i dati, in modo mirato, dal
database, la sua sintassi è la seguente:
lista_elem_selezione elenco dei campi da estrarre
lista_riferimenti_tabella elenco delle tabelle da cui estrarre i dati
espressione_condizionale elenco dei requisiti che un campo deve
rispettare, le condizioni si specificano con
SELECT [ ALL | DISTINCT ] lista_elementi_selezione
FROM
lista_riferimenti_tabella [ WHERE espressione_condizionale ] [ GROUP BY
lista_colonne HAVING Condizione ] [ ORDER BY lista_colonne ];
gli operatori di confronto (<,<=,=>,=)
connettori logici (AND, OR,NOT)
comparatori (between, in, like, is null);
lista_colonne le colonne che devono essere prese come riferimento
per l'ordinamento dei dati in uscita.
Master "Bio Info"
Reti e Basi di Dati Lezione 6
4
I Concetti fondamentali
Interrogazione Select
Di default il comando select agisce con il metodo all ma se non si
vuole ripetizione di righe, si specifica il metodo distinct
Esempio
SELECT DISTINCT cognome, nome, citta_residenza FROM utenti
WHERE anni > = 18 ORDER BY cognome
Questa query estrae l'elenco di tutti gli utenti maggiorenni ordinando
l'output in base al cognome.
La clausola ORDER BY serve per ordinare e l'ordinamento può
essere basato anche su più di un campo.
Master "Bio Info"
Reti e Basi di Dati Lezione 6
5
I Concetti fondamentali
inserimento Insert
Il comando Insert ha la funzione di inserire i dati nelle tabelle,
le colonne (o campi) di destinazione dei valori possono essere o
meno dichiarate nel comando.
La Sintassi del comando insert
INSERT INTO nome_tabella VALUES (elenco valori, tutti, rispettando
l’ordine dei campi della tabella);
Oppure
INSERT INTO nome_tabella (elenco dei campi interessati
dall’inserimento) VALUES (elenco valori, tutti, rispettando l’ordine dei
campi dichiarati sopra);
Master "Bio Info"
Reti e Basi di Dati Lezione 6
6
I Concetti fondamentali
inserimento Insert
Esempio
INSERT INTO utenti (cognome, nome, citta_residenza,eta) VALUES
(‘Lenzitti’, ‘Biagio’, ‘Palermo’,48);
oppure
INSERT INTO utenti VALUES (‘Lenzitti’, ‘Biagio’, ‘Palermo’,48);
Master "Bio Info"
Reti e Basi di Dati Lezione 6
7
I Concetti fondamentali
modifica update
Il comando update ha la funzione di modificare i dati delle tabelle.
Il nome dei campi da modificare va dichiarato dopo la parola
chiave SET e deve essere seguito dal simbolo “=“ e dal nuovo valore
Il comando generico aggiorna tutte le righe della tabella ma è
possibile restringerne il numero applicando la parola chiave
aggiuntiva WHERE
Sintassi del comando update
UPDATE nome_tabella SET nome_campo1 = 'valore1_nuovo',
nome_campo2 = 'valore2_nuovo', ... ;
Update con condizione:
UPDATE nome_tabella SET nome_campo1 = 'valore1_nuovo',
nome_campo2 = 'valore2_nuovo' WHERE nome_campo3 = 'valore';
Master "Bio Info"
Reti e Basi di Dati Lezione 6
8
I Concetti fondamentali
eliminazione delete
Il comando delete ha la funzione di cancellare i dati dalle tabelle.
Come il comando update anche delete può operare in modo generico
cancellando tutte le righe della tabella oppure può identificare le righe
da cancellare mediante la parola chiave aggiuntiva WHERE e la
condizione (o le condizioni) ad essa associata.
Sintassi del comando delete
DELETE FROM nome_tabella;
DELETE FROM nome_tabella WHERE nome_campo = 'valore';
Master "Bio Info"
Reti e Basi di Dati Lezione 6
9
I Concetti fondamentali
Inner Join
Il comando JOIN serve a creare le relazioni tra tabelle,consideriamo
le seguenti tabelle
Per creare una relazione uno ad uno si utilizza la seguente sintassi
SELECT * FROM Impiegati INNER JOIN Dipartimenti ON
Impiegati.ID_dipartimento = Dipartimenti.ID_dipartimento
che equivale a:
SELECT
*
FROM
Impiegati,
Dipartimenti
WHERE
Impiegati.ID_dipartimento = Dipartimenti.ID_dipartimento
Master "Bio Info"
Reti e Basi di Dati Lezione 6
10
MySQL
MySQL attualmente definito Oracle MySQL, è un Relational database
management system (RDBMS) disponibile sia in ambiente
Linux che Windows
MySQL svolge il compito di DBMS nella cosiddetta piattaforma
LAMP(Linux Apache MySql,Php) una delle più usate e installate su
Internet per lo sviluppo di siti e applicazioni web.
Esistono diversi tipi di MySQL Manager, ossi di strumenti per
l'amministrazione ed uno dei più popolari MySQL è phpMyAdmin che
si può utilizzare facilmente tramite un qualsiasi browser.
Master "Bio Info"
Reti e Basi di Dati Lezione 6
11
Creazione Database in MySQL
Una volta avuto accesso alla URL del phpmyadmin è possibile creare
un nuovo data base attraverso il form principale, basta inserire il nome
nel campo indicato e cliccare il bottone “Crea”
Master "Bio Info"
Reti e Basi di Dati Lezione 6
12
Creazione Database in MySQL
Creazione Database
Verrà creato un nuovo data base vuoto
Master "Bio Info"
Reti e Basi di Dati Lezione 6
13
Creazione Tabelle in MySQL
Una volta creato il nuovo data base è possibile creare una tabella
cliccando sul nome del database
Viene visualizzato il form seguente
Master "Bio Info"
Reti e Basi di Dati Lezione 6
14
Creazione Tabelle in MySQL
Inserito il nome della tabella e il numero di campi
Si ha il seguente form
Master "Bio Info"
Reti e Basi di Dati Lezione 6
15
Creazione Tabelle in MySQL
Inseriti i nomi dei campi il tipo …ect e si salva
Master "Bio Info"
Reti e Basi di Dati Lezione 6
16
Creazione Tabelle in MySQL
Master "Bio Info"
Reti e Basi di Dati Lezione 6
17
Creazione Tabelle in MySQL
Se si vuole fare diventare il campo “id” campo chiave basta cliccare
sull’iconetta
corrispondente al campo
L’effetto sarà questo
Master "Bio Info"
Reti e Basi di Dati Lezione 6
18
Query in MySQL Inserimento
Per eseguire un comando di inserimento si clicca su “Inserisci”
Viene visualizzato il form seguente
Master "Bio Info"
Reti e Basi di Dati Lezione 6
19
Query in MySQL Inserimento
Inseriti i dati si clicca su “Esegui”
Master "Bio Info"
Reti e Basi di Dati Lezione 6
20
Query in MySQL Ricerca
Per eseguire un comando di ricerca si clicca su “Cerca”
Viene visualizzato il form seguente
Master "Bio Info"
Reti e Basi di Dati Lezione 6
21
Query in MySQL Ricerca
Esempio Se si vuole
cercare tutti quelli che
vivono in via del cane
Inseriti i dati si clicca
su “Esegui”
Master "Bio Info"
Reti e Basi di Dati Lezione 6
22
Query in MySQL Ricerca
Esempio Se si vuole
cercare tutti quelli che
hanno Nome=Biagio
Master "Bio Info"
Reti e Basi di Dati Lezione 6
23
Query in MySQL Ricerca
Per Modificare una riga di
una tabella la si seleziona
si
clicca
l’conetta
su
Se cambio
Beppe in
Giuseppe
Master "Bio Info"
Reti e Basi di Dati Lezione 6
24
Query in MySQL Ricerca
Per Cancellare una riga di
una tabella la si seleziona
si clicca su
l’conetta
Se si clicco “OK” la riga sarà cancellata
Master "Bio Info"
Reti e Basi di Dati Lezione 6
25
Relazioni in MySQL
Se abbiamo le seguenti tabelle “Anagrafe” e “Auto”
Per creare una relazione
tra “Anagrafe” e “Auto”
clicco sull’icona “SQL”
Appare un Form
per l’esecuzione
dei
comandi
SQL
Master "Bio Info"
eseguo il comando
Reti e Basi di Dati Lezione 6
26
Maschere in MySQL
Le maschere di MySql in genere sono pagine Web visualizzabili in un
qualsiasi Browser, generate dinamicamente attraverso dei comandi
tipicamente in PHP , inseriti all’interno delle pagine HTML.
Ad esempio consideriamo questa pagina html insieme alla suo
corrispondente effetto in un browser.
Master "Bio Info"
Reti e Basi di Dati Lezione 6
27
Maschere in MySQL
La seguente pagina php avrà un identico risultato
Master "Bio Info"
Reti e Basi di Dati Lezione 6
28
Maschere in MySQL
Questa è la pagina php per eseguire la joint precedente.
Master "Bio Info"
Reti e Basi di Dati Lezione 6
29
Maschere in MySQL
In particolare.
$dbhost = 'localhost'; $dbuser = 'XXX'; $dbpass = 'XXXX'; $dbname= 'BioInfo';
Variabili per la connessione al database
$db = mysql_connect($dbhost, $dbuser, $dbpass); Comando per la connessione al databas
mysql_select_db($dbname,$db); Comando per la selezione del database
$query="SELECT * FROM `Anagrafe` INNER JOIN `Auto` ON `id` = `Auto`.`id_propietario`
Variabile in cui inserisco il comando sql da eseguire
$result =mysql_query($query); Comando per l’esecuzione della query
while($row = mysql_fetch_array($result))
{echo "<tr> <th scope=\"col\">".$row[0]."</th><th scope=\"col\">".$row[1]."</th><th
scope=\"col\">".$row[2]."</th> <th scope=\"col\">".$row[3]."</th><th
scope=\"col\">".$row[4]."</th><th scope=\"col\">".$row[5]."</th> </tr>\n";
} ciclo in cui inserisco nella variabile $row le righe della Joint e le visualizzo
Master "Bio Info"
Reti e Basi di Dati Lezione 6
30