MySQL Database Management System

Slides:



Advertisements
Presentazioni simili
CREAZIONE UTENTE SU ORACLE1 Pagina delle risorse: crea utente oracle ( Password:… Dora in poi, in questi lucidi,
Advertisements

DBMS (DataBase Management System)
SQL applicato a SQL Server
Sicurezza e concorrenza nelle basi di dati
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
PHP.
Utilizzare PHP 5 Corso Interazione Uomo – Macchina AA 2005/2006.
Connessione con MySQL.
SQL Structured Query Language
Interazione tra basi di dati e web
SQL per la modifica di basi di dati. 29/01/2014SQL per la modifica di basi di dati2 Data Manipulation Language Introduciamo ora il Data Manipulation Language.
Esercitazione 5 MySQL Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR -
Esercitazione 6 MySQL Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR -
SQL: Lezione 7 Nataliya Rassadko
SIMULAZIONE RETE INTERNET INTERNET SERVICE PROVIDER GRUPPO 2 COMMESSA – INFORMATICA GRANATA Corso Sicurezza su Reti II Prof. A. De Santis Anno Accademico.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
SELECT STATEMENT Clausola WHERE permette di limitare il numero di record da estrarre SELECT */ [DISTINCT] colonna/ espressione [alias],… FROM table [WHERE.
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
Creazione e manipolazione tabelle. TABELLE una tabella può essere creata in qualsiasi momento,anche quando gli utenti stanno usando il database la struttura.
SQL basato su ANSI (American National Standards Institute) – standard SQL SQL – Structured Query Language è un linguaggio dichiarativo e permette di comunicare.
Corso di PHP.
DBMS ( Database Management System)
Basi di dati Claudia Raibulet
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
SEZIONE STUDENTE HOMEPAGE STUDENTE Lo studente ha la sola facoltà di registrarsi e fare il test. Inizierà il suo lavoro cliccando su REGISTRATI (figura.
ACCESS Introduzione Una delle necessità più importanti in informatica è la gestione di grandi quantità di dati. I dati possono essere memorizzati.
Lezione 17 Riccardo Sama' Copyright Riccardo Sama' Access.
Progettare un database
Realizzato da Roberto Savino
Corso di Basi di Dati Il Linguaggio SQL Home page del corso:
sql: esempi di linguaggio sql nell'implementazione mysql
Basi di Dati e Sistemi Informativi Il Linguaggio SQL Home page del corso:
BIOINFO3 - Lezione 081 create table est( gi int unsigned primary key auto_increment, acc char(8)not null, nome varchar(20), descrizione varchar(255),
BIOINFO3 - Lezione 341 INTERAZIONE CON UN SERVER MYSQL Quando abbiamo parlato dei database relazionali SQL vi avevo già accennato che linterazione (invio.
BIOINFO3 - Lezione 51 INSERIMENTO DEI DATI Visto come si creano le tabelle (sinora tristemente vuote), cominciamo ad occuparci di come riempirle con dei.
BIOINFO3 - Lezione 41 ALTRO ESEMPIO ANCORA Progettare il comando di creazione di una tabella di pubblicazioni scientifiche. Come chiave usare un numero.
CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 4 - Dicembre Utenti e privilegi del database - 1 Root è lutente amministratore predefinito, ma.
Lavorare con le query Federica Scarrione 18/05/2009 fonte:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
CREAZIONE UTENTE SU ORACLE1 Pagina delle risorse: crea utente oracle ( D’ora in poi, in questi lucidi, il vostro utente oracle.
Premessa Con i FORMS (moduli) l'utente può interagire con il sito spedendo un proprio commento, avanzando richieste senza necessità di scrivere via ,
ITCG “V. De Franchis” - PON FSE Modulo G/1 l’informatica”
Pagine ASP parte 2 La gestione dei file Stefano Schacherl.
1 Sistemi Informativi e Servizi in Rete Università degli Studi di Brescia Facoltà di Ingegneria Parsing di documenti XML Esercizi.
Pagine ASP parte 3 I data base Stefano Schacherl.
Fabrizio Felici LAMP workshop GROsseto Linux Users Group.
Laboratorio 4: PHP e MySQL
Programmazione Web PHP e MySQL 1. 2Programmazione Web - PHP e MySQL Esempio: un blog.
SQL, esempi 30/10/2014Basi di dati SQL1. 30/10/2014Basi di dati SQL2 CREATE TABLE, esempi CREATE TABLE corsi( codice numeric NOT NULL PRIMARY KEY, titolo.
Lezione 19 Riccardo Sama' Copyright  Riccardo Sama' Access.
IV D Mercurio DB Lezione 2
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
1 Basi di Dati S tructured Q uery L anguage Appunti Matteo Longhi.
PHP MySQL Accesso a database via web. Connessione Script PHP per la connessione a un server MySQL mysql_connect(nomeServer,nomeUtente,password);
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Nozione ed uso Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso: –Gestione di vincoli di integrità: Per fallimento Per modifica.
Vincoli Interrelazionali Per i vincoli visti l’inserimento di un valore che li viola viene semplicemente impedito. In caso di vincoli di integrità referenziale,
Vincoli interrelazionali
Modulo 5 Uso delle Basi di dati Paola Pupilli
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
Lezione 5 - SQL. Linguaggi per DB Per interagire con le basi di dati occorre un linguaggio Linguaggio SQL (Structured Query Language), linguaggio standardizzato.
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
Gaetano Anastasi Beatrice Miotti Lorenzo Guerriero Monica Pellegrinelli Massimiliano Sartor Giorgio Macauda SQLite Esempi di utilizzo della libreria in.
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
Modulo 5 – Database ACCESS LICEO SCIENTIFICO “ B. RESCIGNO COMPUTER SCUOLA PIANO INTEGRATO 2008/09 ESPERTO prof.ssa Rita Montella.
Elementi di statistica con R e i database LEZIONE 2 Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 12 Aprile 2012.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
SQLite. Introduzione a SQLite Oltre alla possibilità di memorizzare informazioni persistenti attraverso Preferences e files, Android mette a disposizione.
Transcript della presentazione:

MySQL Database Management System

DATABASE RELAZIONALI Un database è una collezione strutturata di informazioni. I database sono delle strutture nelle quali è possibile memorizzare grandi quantità di informazioni. Quello attualmente più diffuso è sicuramente il modello relazionale che ci permette di memorizzare i dati all'interno di un’unica grande tabella piuttosto che in tabelle separate. campo1campo2campo3campo4……… 1…….. 2……….…….. Queste tabelle possono però avere informazioni incrociate e con un certo legame logico. Questi li possiamo definire attraverso relazioni (da cui il nome database relazionale).

La struttura della query I comandi che inviamo al database sono detti query. Tutte le query possono essere suddivise in due categorie. La prima contiene tutte quelle che richiedono al database di restituirci determinati dati. Per esempio possiamo richiedere il contenuto di determinate righe di una tabella o il numero di record presenti in un'altra tabella. La seconda categoria comprende le query che richiedono a MySQL di apportare modifiche al database: inserimento di un record, eliminazione di una tabella, modifica di un insieme di record ecc.

Innanzi tutto esaminiamo le query che vengono utilizzate per creare database e tabelle. Nel primo caso dobbiano solamente indicare il nome: db_name indica il nome che vogliamo assegnare al database. l'opzione facoltativa IF NOT EXISTS evita che venga visualizzato un errore nel caso esista già. CREATE DATABASE IF NOT EXISTS db_name CREATE

Per creare una tabella utilizziamo invece il generico comando: db_name indica il nome che vogliamo assegnare allla tabella. l'opzione facoltativa IF NOT EXISTS evita che venga visualizzato un errore nel caso la tabella esista già. Le definizioni indicano i tipi di colonne di cui deve essere composta la tabella e la chiave primaria che verrà utilizzata. CREATE TABLE IF NOT EXISTS tbl_name (definizioni)

CREATE TABLE news (campo1 tipo_campo1 (ampiezza campo1) UNSIGNED not null AUTO_INCREMENT, campo2 tipo_campo2 (ampiezza campo2) not null, campo3 tipo_campo3 not null, campo4 tipo_campo4 (ampiezza campo4), ………….,PRIMARY KEY (campo1))

I linguaggi di programmazione orientati al web publishing come Php, asp o perl sono ottimi per la creazione di pagine dinamiche, ma non offrono nessuna possibilità di memorizzazione dei dati. La soluzione attuale è quindi quella di utilizzare parallelamente un linguaggio di programmazione e un database. Da qui il movente di far interagire Php con il database relazionale MySQL. Questa accoppiata è una delle più diffuse in rete in quanto abbiamo a disposizione gratuitamente un linguaggio solido, capace di sopportare grandi carichi di lavoro, e un database dalle notevoli qualità tecniche. Interazione tra Php e MySql

Connessione Prima di fare qualunque operazione con MySQL bisogna creare una connessione attraverso la funzione: $mydb = mysql_connect ($server, $username, $password); Se si lavora in locale e non si è indicata nessuna password al proprio MySQL, tutti e tre i parametri possono essere omessi. In questo caso i valori di default saranno localhost:3306 per il server (:3306 indica il numero della porta), username sarà quello del proprietario del database e la password sarà vuota. Visto che generalmente la password viene modificata per prima cosa dal gestore del server, una volta portato on line su uno spazio preso in hosting, risulterà impossibile effettuare una connessione senza indicare almeno gli ultimi due parametri.

Per questo motivo creiamo una pagina che chiameremo config.inc.php che contenga: // parametri della connessione al database $db_host = “ "; $db_user = “Anonymous"; $db_password = ""; $db_name = "";

ed un’altra pagina che chiameremo open_db_conn.php che contenga: include("config.inc.php"); $db = mysql_connect($db_host, $db_user, $db_password); if ($db == FALSE) die ("Errore …….");

Nella maggior parte dei casi di hosting, ci viene assegnato un database dal gestore e non possiamo crearne altri. Dopo la connessione selezioniamo un database attraverso la funzione: Il primo parametro conterrà una stringa con il nome del database che ci è stato assegnato dal gestore. Il secondo parametro indica la connessione attiva e può essere omesso, in quanto Php considera come identificatore di default l'ultimo creato. mysql_select_db ($database_name, $db);

include(" config.inc.php "); $db = mysql_connect($db_host, $db_user, $db_password); if ($db == FALSE) die ("Errore ……."); mysql_select_db($db_name, $db) or die ("Errore ……"); /*In questo caso non abbiamo bisogno di memorizzare alcun valore, visto che la funzione restituisce solo TRUE o FALSE. */

A questo punto introduciamo un’istruzione che crei una tabella con la struttura che ci interessa: $query = "CREATE TABLE my_table (campo1 tipo_campo1 (ampiezza campo1) UNSIGNED not null AUTO_INCREMENT, campo2 tipo_campo2 (ampiezza campo2) not null, campo3 tipo_campo3 not null, campo4 tipo_campo4 (ampiezza campo4), ………….,PRIMARY KEY (campo1))";

Vediamo un esempio: IDTITOLOTESTODATAAUTOR 1Primo articoloEcco il primo articolo 2Secondo artocoloEcco il secondo articolo $query = "CREATE TABLE news (id INT (5) UNSIGNED not null AUTO_INCREMENT, titolo VARCHAR (255) not null, testo TEXT not null, data INT (11), autore VARCHAR (50), mail VARCHAR (50), PRIMARY KEY (id))";

Una volta definita la query, possiamo comunicarla al database attraverso la funzione mysql_query: mysql_query($query, $db); Anche questa funzione restituisce FALSE in caso di errore, generalmente quando la query contiene uno o più errori di sintassi.

include("config.inc.php"); $db = mysql_connect($db_host, $db_user, $db_password); if ($db == FALSE) die ("Errore ……."); mysql_select_db($db_name, $db) or die ("Errore ……"); $query = "CREATE TABLE news (………….)"; if (mysql_query($query, $db)) echo "Tabella creata…"; else echo "Errore…."; mysql_close($db); ?>

Così come abbiamo creato database e tabelle, li possiamo eliminare: massima prudenza nell'usare questi comandi, visto che elminando un database o una tabella si elimina anche tutto il loro contenuto! l'opzione facoltativa IF NOT EXISTS evita che venga visualizzato un errore nel caso esista già. DROP DATABASE IF EXISTS db_name DROP TABLE IF EXISTS tbl_name DROP

Una volta creata una tabella, possiamo modificarla inserendo, rimuovendo o modificarndo colonne: Con una query di questo tipo aggiungiamo la colonna specificata in "definizione" alla tabella "tbl_name". La sintassi di "definizione" è uguale a quella usata per la creazione della tabella. In fondo al comando possiamo aggiungere FIRST se vogliamo che la colonna inserita sia la prima o AFTER column_name per assegnare una posizione diversa. Se non specifichiamo niente la colonna verrà inserita in ultima posizione. ALTER TABLE tbl_name ADD COLUMN definizione ALTER

Allo stesso modo possiamo eliminare una colonna: ALTER TABLE tbl_name DROP COLUMN definizione Possiamo infine modificare il tipo di una colonna: ALTER TABLE tbl_name MODIFY colonna new_type

Per fare un esempio ALTER TABLE my_table ADD COLUMN cognome VARCHAR(20) AFTER id ALTER TABLE my_table DROP COLUMN cognome ALTER TABLE my_table MODIFY nome VARCHAR(30)

Una volta creato un database dovremo popolarlo inserendo i record: INSERT INTO tbl_name indica che vogliamo inserire un nuovo elemento nella tabella tbl_name La parentesi che segue indica in quali colonne vogliamo specificare il valore da inserire. Tramite VALUES indichiamo che ci apprestiamo a elencare i valori che vanno inseriti nelle colonne specificate in precedenza. Questi valori sono contenuti nella seconda parentesi e disposti nello stesso ordine con cui abbiamo specificato le colonne. Tutti i valori devono essere indicati fra due apici che possono essere omessi solo nel caso di valori numerici. INSERT INTO tbl_name (cols) VALUES (values) INSERT

Per fare un esempio INSERT INTO news (titolo, testo, data, autore, mail) VALUES ('primo articolo', 'Ecco il primo articolo', ' ', 'freephp.it', Vediamo quindi le principali query per gestire il contenuto di un database:

Tramite questa funzione possiamo modificare alcuni valori di determinate righe: tbl_name indica il nome della tabella. col_name=expr indica la modifica da apportare a una determinata colonna. where_definition indica le condizioni che si devono verificare in una riga perché questa possa essere modificata. UPDATE tbl_name SET col_name=expr WHERE where_definition UPDATE

Per fare un esempio UPDATE my_table SET nome='Mario' WHERE cognome='Rossi' UPDATE my_table SET id=id*1000, nome='Mario' WHERE (cognome='Rossi' OR cognome='Bianchi') AND id>5

Per eliminare una o più righe ci basta indicare le condizioni che devono verificarsi: DELETE FROM my_table WHERE id<1000 AND (nome='Mario' OR nome='Luigi') DELETE FROM tbl_name WHERE condizioni DELETE

Per fare un esempio UPDATE my_table SET nome='Mario' WHERE cognome='Rossi' UPDATE my_table SET id=id*1000, nome='Mario' WHERE (cognome='Rossi' OR cognome='Bianchi') AND id>5

ESERCIZIO creare un modulo per l'inserzione degli articoli in un nuovo file di nome insertion.php le informazioni che richiediamo sono più o meno quelle che dovranno essere inserite nel database il campo id non sarà presente, infatti verrà aggiornato automaticamente da MySQL richiedere una password per evitare che chiunque possa inserire un articolo. Il valore di questo campo verrà confrontato con una password scelta dall'utente da aggiungere al file config.inc.php

Dopo di che……. verificare che la password sia stata inserita correttamente controllare che i dati necessari siano stati inseriti verificare che i campi di testo non siano vuoti o non contengano solo spazi verificare che le stringhe non contengano caratteri particolari (come l'apice o le virgolette) inserire i dati nella tabella

Per creare una tabella utilizziamo invece il generico comando: db_name indica il nome che vogliamo assegnare allla tabella. l'opzione facoltativa IF NOT EXISTS evita che venga visualizzato un errore nel caso la tabella esista già. Le definizioni indicano i tipi di colonne di cui deve essere composta la tabella e la chiave primaria che verrà utilizzata. CREATE TABLE IF NOT EXISTS tbl_name (definizioni)