Programmazione lato server PHP + MySQL

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione lato server PHP + MySQL"

Transcript

1 Programmazione lato server PHP + MySQL

2 Cosa vediamo web server [Apache + PHP] request response web client database server [MySQL server in ascolto sulla porta 3306]

3 Esempio: negozio virtuale

4 Esempio: negozio virtuale

5 MySQL

6 MySQL MySQL is a very fast, robust, relational database management system. The MySQL server controls access to your data to ensure that multiple users can work with it concurrently MySQL has been publicly available since 1996, but has a development history going back to 1979 * MySQL è stato acquistato da Sun ad inizio 2008

7 MySQL monitor Digitando $$ mysql h hostname u username p Enter password: ****** si invoca il monitor MySQL, un client che permette di utilizzare il server MySQL Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 105 to server version: Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>

8 MySQL monitor $$ mysql -u ribaudo -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is.. to server version:... Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> use mysql; ERROR 1044: Access denied for user: 'ribaudo@localhost' to database 'mysql' mysql> use negozio; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql>

9 Esempio MySQL: creare un database id animale id cliente foto nascita razza descrizione prezzo animali ordini clienti nome cognome indirizzo citta data_ordine

10 MySQL: creare un database mysql> CREATE DATABASE negozio; mysql> CREATE TABLE animali ( id_animale INT NOT NULL AUTO_INCREMENT, foto CHAR(255) NOT NULL, razza CHAR(100) NOT NULL, nascita DATE NOT NULL, descrizione TEXT, prezzo FLOAT(4,2), PRIMARY KEY (id_animale) ); Nota: il campo foto contiente il pathname del file

11 MySQL: creare un database mysql> CREATE TABLE clienti ( id_cliente INT NOT NULL AUTO_INCREMENT, nome CHAR(100), cognome CHAR(100) NOT NULL, indirizzo CHAR(255) NOT NULL, citta CHAR(100) NOT NULL, CHAR(100) NOT NULL, PRIMARY KEY (id_cliente) ); mysql> CREATE TABLE ordini ( id_cliente INT NOT NULL, id_animale INT NOT NULL, data DATE NOT NULL, PRIMARY KEY (id_cliente, id_animale) );

12 MySQL: popolare il database mysql> INSERT INTO animali (id_animale,foto,razza,nascita,descrizione,prezzo) VALUES (NULL, images/pappagalli.jpg, Pappagallus giallus, , Coppia di pappagalli (maschio e femmina) bla bla ); Poichè id_animale è di tipo AUTO_INCREMENT si può specificare il valore NULL (oppure nessun valore), lasciando a MySQL il compito di creare il valore per questo campo

13 MySQL: popolare il database Si può salvare il codice SQL che serve per creare e popolare un database in un file di testo, es. negozio.sql, e poi usare il comando $ mysql u username p < negozio.sql; $ Enter password: ******

14 MySQL: comandi utili mysql> show databases; mysql> use <nomedb>; mysql> show tables; mysql> describe <nometable>; mysql> describe animali; Field Type Null Key Default Extra id_animale int(11) PRI NULL auto_increment foto varchar(255) razza varchar(100) nascita date descrizione text YES NULL prezzo float(4,2) rows in set (0.00 sec) mysql>

15 MySQL: esempio di select Una volta creato e popolato un database lo si può interrogare e/o modificare usando il linguaggio SQL $ mysql u username p $ Enter password: ****; mysql> use negozio; mysql> select id_animale,foto,razza, prezzo from animali; id_animale foto razza prezzo images/gatti.jpg Persiano fulgidus 50 2 images/pesci.jpg Pesce rosso cunilicus 20 3 images/pappagalli.jpg Pappagallus giallus images/cane.jpg Lupus tuscanus rows in set (0.00 sec) mysql>

16 MySQL: Tabelle MyISAM Quando si crea una nuova tabella, se non si specifica il tipo, per default viene creata una tabella di tipo MyISAM Per la memorizzazione di una tabella MyISAM vengono utilizzati tre file.frm per la definizione della tabella.myd per i dati.myi per gli indici

17 MySQL: Storage Engine MySQL offre altri tipi di tabelle e lo Storage Engine è la componente che si occupa della loro memorizzazione fisica Se si vuole un motore leggero ed efficiente (come nel caso delle applicazioni web) si usa l'engine MyISAM Se sono importanti le transazioni e l'integrità referenziale, l'engine da scegliere è InnoDB Esiste un Engine Memory che mantiene tabelle e dati in RAM

18 MySQL: Storage Engine mysql> show engines; Engine Support Comment MyISAM DEFAULT Default engine as of MySQL 3.23 with great performance MEMORY YES Hash based, stored in memory, useful for temporary tables InnoDB YES Supports transactions, row-level locking, and foreign keys rows in set (0.00 sec)

19 MySQL: Tabelle InnoDB mysql> CREATE TABLE ordini ( id_cliente INT NOT NULL, id_animale INT NOT NULL, data DATE NOT NULL, PRIMARY KEY (id_cliente, id_animale) ) TYPE=INNODB; Il tipo InnoDB consente la gestione completa delle transazioni ed è adatto a tutte le applicazioni nelle quali è importante la sicurezza dei dati Permette di definire chiavi esterne (per l'uso si veda la documentazione on line)

20 MySQL: utenti Un server MySQL può gestire più utenti L utente root deve essere usato solo per l amministrazione del DBMS Per ogni utente che deve usare il sistema (ancor meglio, per ogni applicazione web) si dovrebbe definire un utente MySQL Per il progetto di laboratorio ognuno avrà il suo utente MySQL per accedere al proprio database sul server

21 MySQL: accesso Il controllo dell'accesso in MySQL si svolge in due passi Controllo delle credenziali Se le credenziali sono OK, per ogni istruzione SQL che si chiede di svolgere, il server MySQL verifica se l'utente ha i privilegi sufficienti

22 MySQL: privilegi A privilege is the right to perform a particular action on a particular object, and is associated with a particular user. You can create a user within MySQL, you grant her a set of privileges to specify what she can and cannot do within the system principle of Least Privilege: a user (or process) should have the lowest level of privilege required in order to perform his task assigned

23 MySQL: privilegi MySQL fornisce 4 livelli di privilegi Global, Database, Table, Column Per assegnare (cancellare) un privilegio ad un utente si usa il comando GRANT (REVOKE) mysql> GRANT <privileges> [columns] ON <item> TO <username> [IDENTIFIED BY <password> ] [WITH GRANT OPTION];

24 MySQL: privilegi I privilegi sono espressi mediante un elenco di nomi separati dalla virgola e sono memorizzati nelle tabelle di MySQL accessibili all'amministratore MySQL permette di definire privilegi per l'utente generico, privilegi per l'amministratore, e dei privilegi speciali Per l'utente generico si possono ad esempio specificare i seguenti privilegi SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, DROP

25 MySQL: privilegi Sul server del corso mysql> GRANT select, insert, update, delete, index, alter, create, drop ON nomedatabase.* TO nomeutente tutte le tabelle del vostro database vostro utente MySQL IDENTIFIED BY ***** ; vostra password

26 MySQL: privilegi I privilegi sono memorizzati in alcune tabelle del database di sistema mysql mysql.user mysql.db mysql.tables_priv mysql_column_priv Invece di usare il comando GRANT si possono modificare direttamente queste tabelle (tecnica deprecata) Perchè il server MySQL senta le modifiche sui privilegi ci vuole il comando mysql> FLUSH PRIVILEGES;

27 PHP

28 Accesso ad un database remoto Per accedere ad un database da una applicazione web, i passi fondamentali sono i seguenti 1 Controllare e filtrare i dati in arrivo dell'utente 2 Stabilire una connessione con il database 3 Interrogare il database 4 Ottenere il risultato 5 Formattare il risultato per l'utente 6 [Chiudere la connessione]

29 Accesso a MySQL mediante PHP In PHP esistono molte funzioni di libreria che permettono di portare a termine i passi 2, 3, 4, 6 Se si usa MySQL server, queste funzioni iniziano con il prefisso mysql_ Nel caso di SQL server iniziano con sql_ Nel caso di Oracle iniziano con oci_ Si possono anche usare delle librerie che astraggono dal tipo di DBMS e quest'anno useremo PEAR::MDB2

30 1) Controllare i dati in arrivo $nomevar = $_POST[' ']; $nomevar = trim($nomevar); Escape dei dati in input $nomevar = mysql_real_escape_string($nomevar); $nomevar = addslashes($nomevar); In alternativa, nel file php.ini magic_quotes_gpc On magic_quotes_runtime On

31 2) Stabilire la connessione $db = mysql_pconnect( localhost, username, password ); if (!$db) { echo Connessione non riuscita. mysql_error(); exit; } mysql_pconnect() crea una connessione persistente restituendo un link al DBMS oppure false in caso di errore

32 2) Stabilire la connessione $db = mysql_connect( localhost, username, password ) or die("connessione non riuscita: ". mysql_error()); mysql_close($db); mysql_connect()crea una connessione non persistente che viene rilasciata al termine dello script oppure mediante mysql_close()

33 2) Selezionare il database $db = mysql_connect( localhost, username, password ) or die("connessione non riuscita: ". mysql_error()); mysql_select_db( nomedb,$db); Il secondo parametro di mysql_select_db() è opzionale e se non si specifica nulla viene usata l'ultima connessione aperta

34 3) Interrogare il database Dopo aver validato l'input si prepara la query $query = SELECT attr1, FROM tabella WHERE nome='. $nome. ' AND cognome='. $cognome. ' ; Attenzione! La query viene passata al database MySQL e bisogna ricordare l'escape dei dati di input per evitare errori Cosa succede se $cognome=dell'amico?

35 3) Interrogare il database Si esegue la query $res = mysql_query($query); Viene restituito un identificatore di risorsa che permette di accedere ai dati restituiti dalla query attr1 attr2 attrn false

36 4) Ottenere il risultato attr1 attr2 attrn $num_res = mysql_num_rows($res); $row = mysql_fetch_array($res); $row['attr1'] $row['attr2'] $row['attrn']

37 4) Ottenere il risultato $row = mysql_fetch_row($res); $row[0] $row[1] $row[n] $row = mysql_fetch_object($res); attr1 attr2 attrn $row->attr1 $row->attr2 $row->attrn

38 5) Formattare il risultato $attr1 = stripslashes($row['attr1']); $attr1 = htmlentities($attr1); echo <tr> ; echo <td>. $attr1. </td>\n ;... echo <td>. $attrn. </td>\n ; echo </tr> ;

39 6) Chiudere la connessione mysql_close($db); Le connessioni persistenti non vengono chiuse al termine dello script e non possono essere chiuse con mysql_close() Vengono mantenute attive e riutilizzate per evitare l'overhead dell'apertura di nuove connessioni

40 Insert/Update/Delete Supponiamo di voler inserire un nuovo cliente nel database di SpesaClick Nome Cognome Indirizzo $nome = trim($_post['nome']); $nome = addslashes($nome); $cogn = trim($_post['cognome']); $cogn = addslashes($cognome); $indr = trim($_post['indirizzo']); $indr = addslashes($indirizzo);

41 Insert/Update/Delete Dopo aver validato l'input si prepara la query $query = INSERT INTO clienti (nome, cognome, indirizzo, )VALUES (\ $nome\, \ $cogn\, $indr, ) ; NB: Anche in questo caso, escape dell'input e attenzione all alternanza tra gli apici!

42 Insert/Update/Delete Si esegue la query $res = mysql_query($query); Poi si può trovare il numero di record che sono stati modificati $affected_rows = mysql_affected_rows($res);

43 Valori di ritorno Dalla documentazione online... For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or FALSE on error For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error mysql_query() will also fail and return FALSE if the user does not have permission to access the table(s) referenced by the query

44 Codici di errore Dalla documentazione online... <?php $db = mysql_connect( localhost, username, password ); mysql_select_db("nonexistentdb", $db);... echo mysql_errno($db). ": ". mysql_error($db);?>

45 Problemi con la concorrenza (cenni) Quando progettate un sito web dovete sempre pensare che non sarete gli unici ad accedervi (si spera!) Questo è particolarmente critico nel caso di operazioni di Scrittura di file sul server Operazioni sul database

46 Problemi con la concorrenza (cenni) Se una certa quantità di denaro viene spostata tra due conti corrente, per esempio UPDATE account1 SET balance=balance-500; UPDATE account2 SET balance=balance+500; entrambe le operazioni devono andare a buon fine oppure nessuna delle due Queste due query formano una transazione e devono essere svolte entrambe

47 Problemi con la concorrenza (cenni) Le prime versioni di MySQL non supportavano le proprietà ACID Atomicità: la transazione è indivisibile nella sua esecuzione e la sua esecuzione deve essere o totale o nulla, non sono ammesse esecuzioni parziali Coerenza: quando inizia una transazione il database si trova in uno stato coerente e quando la transazione termina il database deve essere in uno stato coerente, ovvero non deve violare eventuali vincoli di integrità, quindi non devono verificarsi contraddizioni tra i dati

48 Problemi con la concorrenza (cenni) Isolamento: ogni transazione deve essere eseguita in modo isolato e indipendente dalle altre transazioni, l'eventuale fallimento di una transazione non deve interferire con le altre transazioni in esecuzione Durabilità: detta anche persistenza, si riferisce al fatto che una volta che una transazione abbia richiesto un commit, i cambiamenti apportati non dovranno essere più persi [Fonte wikipedia]

PHP + MySQL. Programmazione lato server. Cosa vediamo. MySQL. MySQL: comandi utili. MySQL: accesso al server. web server.

PHP + MySQL. Programmazione lato server. Cosa vediamo. MySQL. MySQL: comandi utili. MySQL: accesso al server. web server. Cosa vediamo web server Programmazione lato server PHP + MySQL request response web client database server Cosa vediamo MySQL browser Apache PHP engine MySQL server MySQL is a very fast, robust, relational

Dettagli

PHP + MySQL. Programmazione lato server. Cosa vediamo. web server. database server. request. response. web client

PHP + MySQL. Programmazione lato server. Cosa vediamo. web server. database server. request. response. web client Programmazione lato server PHP + MySQL Cosa vediamo web server request response web client database server 1 Cosa vediamo browser Apache PHP engine MySQL server MySQL MySQL is a very fast, robust, relational

Dettagli

PHP + MySQL. Programmazione lato server. Cosa vediamo. web server. database server. request. response. web client

PHP + MySQL. Programmazione lato server. Cosa vediamo. web server. database server. request. response. web client Programmazione lato server PHP + MySQL Cosa vediamo web server request response web client database server 1 Cosa vediamo browser Apache PHP engine MySQL server Esempio: negozio virtuale 2 Esempio: negozio

Dettagli

PHP + MySQL. Programmazione lato server. Cosa vediamo. web server. database server. request. response. web client. PHP engine. MySQL server.

PHP + MySQL. Programmazione lato server. Cosa vediamo. web server. database server. request. response. web client. PHP engine. MySQL server. Programmazione lato server PHP + MySQL Cosa vediamo web server request response web client database server Cosa vediamo browser Apache PHP engine MySQL server 1 MySQL MySQL is a very fast, robust, relational

Dettagli

MySQL Database Management System

MySQL Database Management System MySQL Database Management System http://www.mysql.com/ DATABASE RELAZIONALI Un database è una collezione strutturata di informazioni. I database sono delle strutture nelle quali è possibile memorizzare

Dettagli

Costruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query

Costruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query Costruzione di Sit Web con PHP e MySQL Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query Esercitazione In questa lezione si farà insieme una seconda esercitazione che

Dettagli

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation

Dettagli

MySQL Command Line Client: operazioni fondamentali

MySQL Command Line Client: operazioni fondamentali MySQL Command Line Client: operazioni fondamentali INTRODUZIONE Il RDBMS MySQL, oltre a fornire un applicazione che abbia un interfaccia user-friendly, ha a disposizione anche un altro client, che svolge

Dettagli

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov.

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov. Appunti di MySql Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov. Indice generale avviare la shell mysql...2 comandi SQL per la gestione del database (DDL)...2 visualizzare l'elenco

Dettagli

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Data Base. Master Bio Info Reti e Basi di Dati Lezione 6 Data Base 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

Dettagli

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database PHP ed i database PHP 5 Accesso a database PHP funziona con molti database relazionale che includono: Oracle Access Postgres SQL Server MySQL Useremo MySQL poiché è semplice da usare, gratuito e molto

Dettagli

PHP e MySQL. Scripting server-side per accesso a DB MySQL

PHP e MySQL. Scripting server-side per accesso a DB MySQL PHP e MySQL Scripting server-side per accesso a DB MySQL Connessione a un DB MySQL Prima di accedere ai dati è necessario creare una connessione con il DB In PHP si utilizza la funzione mysql_connect,

Dettagli

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Architettura di una applicazione Web Browser Web HTTP Server Web PHP Dati View Control

Dettagli

Preparazione. Introduzione a MySQL: costruzione di una base di dati e gestione degli accessi. Accesso all area condivisa. Avvio Server MySQL

Preparazione. Introduzione a MySQL: costruzione di una base di dati e gestione degli accessi. Accesso all area condivisa. Avvio Server MySQL Introduzione a MySQL: costruzione di una base di dati e gestione degli accessi Stefania Marrara Elisa Quintarelli Lezione 1 2 ore a.a 2004/05 Preparazione Accesso all area condivisa Start -> Programs ->MySQL

Dettagli

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati Azioni Select e join non consentono di modificare il contenuto del DB Azioni desiderate Inserzione di nuovi dati Aggiornamento di dati Cancellazione di dati Aggiunta di un record insert into utenti(nome,tel,codice_u)

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.2 Comandi sulle tabelle 1 Prerequisiti Introduzione ai DB Tabelle, relazioni e attributi Chiave primaria Chiave esterna Vincoli di integrità 2 1 Introduzione

Dettagli

PHP 5. Accesso a database

PHP 5. Accesso a database PHP 5 Accesso a database PHP ed i database PHP funziona con molti database relazionali che includono: Oracle Access Postgres SQL Server MySQL Useremo MySQL poiché è semplice da usare, gratuito e molto

Dettagli

Lezione 8. Metadati, Viste e Trigger

Lezione 8. Metadati, Viste e Trigger Lezione 8 Metadati, Viste e Trigger Pag.1 Metadati e catalogo di sistema I metadati sono dati a proposito dei dati (quali tabelle esistono?, quali campi contengono?, quante tuple contengono?, ci sono vincoli

Dettagli

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014 Laboratorio Progettazione Web PHP e MySQL Andrea Marchetti IIT-CNR 2013/2014 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation Application Storage PHP e DataBase Quando

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

Corso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

Corso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende. Programma 30 set 205 Installazione Macchina Virtuale Introduzione alla BI nelle Aziende Introduzione SQL Macchina Virtuale È un emulazione di un computer su un altro computer Stesso punto di partenza per

Dettagli

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni

Dettagli

Introduzione a MySQL

Introduzione a MySQL Introduzione a MySQL Cinzia Cappiello Alessandro Raffio Politecnico di Milano Prima di iniziare qualche dettaglio su MySQL MySQL è un sistema di gestione di basi di dati relazionali (RDBMS) composto da

Dettagli

GERARCHIE RICORSIVE - SQL SERVER 2008

GERARCHIE RICORSIVE - SQL SERVER 2008 GERARCHIE RICORSIVE - SQL SERVER 2008 DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER

Dettagli

MySQL Database Management System

MySQL Database Management System MySQL Database Management System II parte Progetto gestione booking prenotazioni on-line 1. Progettazione e creazione struttura database che chiameremo booking. 2. Progettazione e creazione di un form

Dettagli

Lavorare con MySQL Parte Seconda.

Lavorare con MySQL Parte Seconda. Lavorare con MySQL Parte Seconda. PHP, dalla versione 4.0, usufruisce difunzioni native per colloquiare con MySQL, senza appoggiarsi ad alcuna libreria o modulo esterno. In questa lezione verranno esaminate

Dettagli

BASI DI DATI http://www.diee.unica.it/~giacinto/bd. Cos è il PHP. Cos è il PHP. Esercitazione su PHP & MySQL

BASI DI DATI http://www.diee.unica.it/~giacinto/bd. Cos è il PHP. Cos è il PHP. Esercitazione su PHP & MySQL Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Contatti BASI DI DATI http://www.diee.unica.it/~giacinto/bd Esercitazione su PHP & MySQL! Roberto Tronci! e-mail: roberto.tronci@diee.unica.it!

Dettagli

INDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti:

INDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti: Date le tabelle: Clienti := < id, nome, cognome, indirizzo,città > Ordini := < id, data_ora_ordine, id_prodotto, id_cliente, quantità> Prodotti := < id, nome, descrizione, costo,scorte > INDICI Prevediamo

Dettagli

DBMS: MySQL CORSO DI BASI DI DATI 2014/2015

DBMS: MySQL CORSO DI BASI DI DATI 2014/2015 DBMS: MySQL CORSO DI BASI DI DATI 2014/2015 MySQL La pronuncia ufficiale è MY- S- Q- L ma si può leggere anche MY- Sequel. MySQL è il secondo RDBMS più diffuso al mondo. OpenSource sono licenza GPL Scelto

Dettagli

PHP e MySQL. Guida scaricata da www.webstyling.it

PHP e MySQL. Guida scaricata da www.webstyling.it Home -> Manuali & Tutorials -> Guida PHP PHP e MySQL E' possibile realizzare delle applicazioni in php appoggiandosi ad un database, quale ad esempio MySQL. Con le novità introdotte ai tempi di MySQL 4.1

Dettagli

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di Dati e Web Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 1 SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali Il linguaggio

Dettagli

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER Caratteristiche generali del linguaggio SQL Il linguaggio SQL è il linguaggio usato per la gestione dei database relazionali, cioè dei database creati con un DBMS di tipo relazionale. Esso nacque nella

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

MANUALE ESSENZIALE MYSQL

MANUALE ESSENZIALE MYSQL Autore: Classe: Luciano Viviani TERZA INFORMATICA SERALE (3IS) Anno scolastico: 2003/2004 Scuola: Itis Euganeo MANUALE ESSENZIALE MYSQL Manuale La dispensa vuole fornire agli studenti delle classi quinte

Dettagli

L interfaccia a riga di comando di MySql

L interfaccia a riga di comando di MySql L interfaccia a riga di comando di MySql Una volta completata la procedura di installazione possiamo finalmente testare le funzionalità di MySQL. Sia che ci si trovi in ambiente Linux che Windows, l'interfaccia

Dettagli

SQL Sintassi Dei Comandi

SQL Sintassi Dei Comandi SQL Sintassi Dei Comandi Di Roberto Aloi http://prof3ta.homeunix.org prof3ta@email.it Questo fascicolo è stato realizzato esclusivamente a fini divulgativi e per la libera consultazione. E' concessa la

Dettagli

PHP e Structured Query Language

PHP e Structured Query Language Esercitazioni del corso di Tecnologie per la Comunicazione Aziendale PHP e Structured Query Language Marco Loregian loregian@disco.unimib.it www.siti.disco.unimib.it/didattica/tca2008 Interrogazioni (ripasso)

Dettagli

APPUNTI DI PHP : V INFORMATICA SEZIONE G

APPUNTI DI PHP : V INFORMATICA SEZIONE G APPUNTI DI PHP : V INFORMATICA SEZIONE G Prof. Conti R. mysql_connect() Apre una connessione verso un DB MySQL. $db = mysql_connect([$db_host[, $db_username[, $db_password[, $newlink[,$clientflags]]]]]);

Dettagli

--- PREMESSE INTRODUZIONE. .:luxx:.

--- PREMESSE INTRODUZIONE. .:luxx:. SQL INJECTION --- SICUREZZA.:luxx:. PREMESSE Questa guida accenna ad alcuni metodi di SQL injection e si sofferma sulla prevenzione di tali attacchi, per comprendere al meglio il testo è necessaria una

Dettagli

IL DAT A B A S E DI ALGE B R A N D O

IL DAT A B A S E DI ALGE B R A N D O IL DAT A B A S E DI ALGE B R A N D O Un progetto di: Davide Valeriani Matricola 190883 davide.valeriani@studenti.unipr.it Corso di laurea in Ingegneria Informatica Esame di Basi di Dati A Prof. Stefano

Dettagli

Definizione di domini

Definizione di domini Definizione di domini Come nei linguaggi ad alto livello (es. C) è possibile definire nuovi domini (tipi di dati) a partire da quelli predefiniti, anche se il costruttore è più limitato. create domain

Dettagli

MYSQL CLUSTER. Di Stefano Sardonini

MYSQL CLUSTER. Di Stefano Sardonini MYSQL CLUSTER Di Stefano Sardonini 1 MYSQL CLUSTER NDB, MON,HEARTBEAT Questo documento descrive la progettazione e configurazione di un architettura di database che utilizza l engine mysql ndb per la replica

Dettagli

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. (Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System

Dettagli

Indice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base... 45 Variabili, operatori e commenti... 47 Array...

Indice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base... 45 Variabili, operatori e commenti... 47 Array... Prefazione...xiii A chi si rivolge il libro... xiv Struttura e contenuti del libro... xiv Dove trovare aiuto... xvii Le newsletter di SitePoint... xviii I vostri commenti... xviii Convenzioni adottate

Dettagli

Sistemi per la gestione di database: MySQL ( )

Sistemi per la gestione di database: MySQL ( ) Sistemi per la gestione di database: MySQL ( ) Relational Database e Relational Database Management System Un database è una raccolta di dati organizzata in modo da consentire l accesso, il reperimento

Dettagli

2104 volume III Programmazione

2104 volume III Programmazione 2103 SQLite Capitolo 77 77.1 Utilizzo generale................................. 2104 77.1.1 Utilizzo di sqlite3».......................... 2104 77.1.2 Copie di sicurezza............................ 2106

Dettagli

Lavorare con MySQL Parte Prima.

Lavorare con MySQL Parte Prima. Lavorare con MySQL Parte Prima. Data la particolarità dell argomento, ho deciso di dividerlo in due lezioni. Nella prima, si parlerà diffusamente di MySQL, cos è un DBMS, cos è l SQL, i campi supportati

Dettagli

Esercitazione: Il DBMS MySQL

Esercitazione: Il DBMS MySQL Laurea in Ingegneria Informatica SAPIENZA Università di Roma Insegnamento di Basi di Dati Esercitazione: Il DBMS MySQL Marco Console Aspetti Organizzativi Marco Console Sito: www.dis.uniroma1.it/~console

Dettagli

L architettura di un DBMS

L architettura di un DBMS L architettura di un DBMS sources: Lucidi del corso di Lucidi del corso di Laboratorio di Basi di dati e sistemi informativi, Montesi, Magnani, Corso di laurea in Informatica per il management, Scienze

Dettagli

Il sistema IBM DB2. Sistemi Informativi T. Versione elettronica: L01.1.IntroduzioneDB2.pdf

Il sistema IBM DB2. Sistemi Informativi T. Versione elettronica: L01.1.IntroduzioneDB2.pdf Il sistema IBM DB2 Sistemi Informativi T Versione elettronica: L01.1.IntroduzioneDB2.pdf IBM DB2 Il DBMS relazionale IBM DB2 è il prodotto di punta dell IBM per la gestione di basi di dati relazionali

Dettagli

Lezione 6: Form 27/04/2012

Lezione 6: Form 27/04/2012 Lezione 6: Form In alcuni documenti HTML può essere utile creare dei moduli (form) che possono essere riempiti da chi consulta le pagine stesse (es. per registrarsi ad un sito). Le informazioni sono poi

Dettagli

Unità 2.1 Comandi sui database

Unità 2.1 Comandi sui database (A) CONOSCENZA TERMINOLOGICA Dare una breve descrizione dei termini introdotti: Linguaggi ospite Domini predefiniti Comando CREATE DATABASE Comando DROP DATABASE Comando SHOW DATABASES Comando SELECT DATABASE()

Dettagli

Esercitazione 1. Sistemi Informativi T. Versione elettronica: L01.2.DDLDMLbase.pdf

Esercitazione 1. Sistemi Informativi T. Versione elettronica: L01.2.DDLDMLbase.pdf Esercitazione 1 SQL: DDL e DML di base Sistemi Informativi T Versione elettronica: L01.2.DDLDMLbase.pdf Prime cose da fare Fare login sul PC usando lo username di Facoltà Procedura descritta qui: http://ccib.ing.unibo.it/content/account

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.1 Comandi sui database 1 Prerequisiti Introduzione ai DB Linguaggi per database Tipi fondamentali di dati 2 1 Introduzione In questa Unità introduciamo il linguaggio

Dettagli

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL))

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) SQL PER LA DEFINIZIONE DI BASI DI DATI 1 SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) CREATE SCHEMA

Dettagli

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare

Dettagli

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE SITO E-COMMERCE

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE SITO E-COMMERCE RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE SITO E-COMMERCE CHIARA FERRARI 5I MERCURIO INDICE: 1. TRACCIA DEL PROBLEMA 2. SVILUPPO DEL PROGETTO (ENTITA, ATTRIBUTI) 3. SCHEMA E-R DELLA BASE DEI

Dettagli

Esercitazione sulle libpq - libreria C per PostgreSQL

Esercitazione sulle libpq - libreria C per PostgreSQL Esercitazione sulle libpq - libreria C per PostgreSQL Roberto Tronci roberto.tronci@diee.unica.it Basi di Dati A.A. 2007/2008 Tronci ( roberto.tronci@diee.unica.it ) Esercitazione libpq Basi di Dati 2007/2008

Dettagli

Giovanna Rosone 04/03/2010. 04/03/2010 SQL, Istruzioni per la modifica dello schema

Giovanna Rosone 04/03/2010. 04/03/2010 SQL, Istruzioni per la modifica dello schema Giovanna Rosone 04/03/2010 04/03/2010 SQL, Istruzioni per la modifica dello schema 1 Riepilogo Impiegato Pagamenti Nome colonna PAG_COD PAG_MATR Tipo dati CHAR(6) CHAR(6) Nome colonna Tipo dati PAG_STIPENDIO

Dettagli

Triggers. Basi dati attive. Trigger. Indipendenza della conoscenza

Triggers. Basi dati attive. Trigger. Indipendenza della conoscenza Basi dati attive Triggers Antonella Poggi Domenico Lembo Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico 2009-2010 Una base di dati

Dettagli

Corso di Sicurezza Informatica. Sicurezza del software. Ing. Gianluca Caminiti

Corso di Sicurezza Informatica. Sicurezza del software. Ing. Gianluca Caminiti Corso di Sicurezza Informatica Sicurezza del software Ing. Gianluca Caminiti SQL Injection Sommario Premessa sul funzionamento dei siti dinamici SQL Injection: Overview Scenari di attacco: Errata gestione

Dettagli

Volumi di riferimento

Volumi di riferimento Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 2 Raffaella Gentilini 1 / 45 Sommario 1 Il DDL di SQL: Cancellazione ed Aggiornamento di una BD Cancellazione di Schemi, Tabelle, e Domini Aggiornamento di Tabelle

Dettagli

GESGOLF SMS ONLINE. Manuale per l utente

GESGOLF SMS ONLINE. Manuale per l utente GESGOLF SMS ONLINE Manuale per l utente Procedura di registrazione 1 Accesso al servizio 3 Personalizzazione della propria base dati 4 Gestione dei contatti 6 Ricerca dei contatti 6 Modifica di un nominativo

Dettagli

Sessione ordinaria 2005 Seconda prova scritta M070 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

Sessione ordinaria 2005 Seconda prova scritta M070 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Istituto di Istruzione Superiore Alessandrini - Marino 1 Sessione ordinaria 2005 Seconda prova scritta M070 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Una etichetta discografica indipendente chiede

Dettagli

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE TABELLA ATTORI

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE TABELLA ATTORI Nicoletta Barbaro 4C Mercurio TRACCIA DEL PROBLEMA: RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE TABELLA ATTORI Un'azienda che distribuisce film in formato dvd chiede ad una software house(4c mercurio)

Dettagli

Sistema Gestionale FIPRO. Dott. Enea Belloni Ing. Andrea Montagnani

Sistema Gestionale FIPRO. Dott. Enea Belloni Ing. Andrea Montagnani Sistema Gestionale FIPRO Dott. Enea Belloni Ing. Andrea Montagnani Firenze, 29 Aprile 2010 Sommario della presentazione Il sistema informatico per la gestione progetti FIPRO L utente presentatore: diritti

Dettagli

Basi di Dati. S Q L Lezione 5

Basi di Dati. S Q L Lezione 5 Basi di Dati S Q L Lezione 5 Antonio Virdis a.virdis@iet.unipi.it Sommario Gestione eventi Gestione dei privilegi Query Complesse 2 Esercizio 9 (lezione 4) Indicare nome e cognome, spesa e reddito annuali

Dettagli

Benvenuti. Luca Biffi, Direttore Tecnico di Achab supporto@achab.it. Achab techjam Archive Server for MDaemon

Benvenuti. Luca Biffi, Direttore Tecnico di Achab supporto@achab.it. Achab techjam Archive Server for MDaemon Benvenuti Luca Biffi, Direttore Tecnico di Achab supporto@achab.it Achab techjam Archive Server for MDaemon Usare Archive Server for MDaemon al 100%: guida alle funzionalità "nascoste" Achab 2 Agenda Come

Dettagli

Un client su arduino invia i dati acquisiti ad un database

Un client su arduino invia i dati acquisiti ad un database Un client su arduino invia i dati acquisiti ad un database PROBLEMA Si vogliono inviare, periodicamente, i dati acquisiti da alcuni sensori ad un database presente su di un server. Arduino con shield Ethernet

Dettagli

Il linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf

Il linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf Il linguaggio SQL: trigger Sistemi Informativi T Versione elettronica: 04.7.SQL.trigger.pdf DBMS attivi Un DBMS si dice attivoquando dispone di un sottosistema integrato per definire e gestire regole I

Dettagli

Laboratorio di Basi di dati

Laboratorio di Basi di dati 1 Laboratorio di Basi di dati Dr. Luca Tomassetti Dipartimento di Fisica Università di Ferrara Tabella user (1) Host user Password Select_priv Insert_priv Update_priv Delete_priv Create_prov Drop_priv

Dettagli

Strumenti Software per Esercitazioni (ambiente Windows) Basi di Dati L LS Ing. Gestionale

Strumenti Software per Esercitazioni (ambiente Windows) Basi di Dati L LS Ing. Gestionale Strumenti Software per Esercitazioni (ambiente Windows) Basi di Dati L LS Ing. Gestionale Installazione EasyPHP Scaricare e lanciare easyphp1-8_setup.exe (es. dalla pagina della didattica su http://www-db.deis.unibo.it/~fgrandi)

Dettagli

Eleonline gestione dello spoglio elettorale

Eleonline gestione dello spoglio elettorale Eleonline gestione dello spoglio elettorale Manuale Operativo Il manuale segue l'organizzazione gerarchica dell'applicativo perché questo è anche l'ordine temporale di esecuzione delle operazioni. Visione

Dettagli

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database Uso delle basi di dati Uso delle Basi di Dati Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database,

Dettagli

Esercitazione PAM. (Php Apache MySQL)

Esercitazione PAM. (Php Apache MySQL) Prerequisiti: Esercitazione PAM (Php Apache MySQL) Installazione del server Apache: avvenuta; Installazione del server Php: avvenuta; Sincronizzazione dei due server: avvenuta. Abstract: L esercitazione

Dettagli

Introduzione a phpmyadmin

Introduzione a phpmyadmin Introduzione a phpmyadmin http://www.phpmyadmin.net Per chiarimenti, http://www.ing.unibs.it/~alberto.lazzaroni 1 phpmyadmin: cosa è, a cosa serve È un software di amministrazione di database MySql (MySql

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 1 SQL SQL (Structured Query Language) è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali. Sono stati proposti

Dettagli

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

LA GESTIONE DELLE VISITE CLIENTI VIA WEB LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici

Dettagli

Access. P a r t e p r i m a

Access. P a r t e p r i m a Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di

Dettagli

corso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012

corso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012 1 MICROSOFT ACCESS 1 Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012 Che cos'è Access? 2 Access è un'applicazione database (DBMS), cioè un programma che serve a gestire

Dettagli

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM Procedure memorizzate SQL-2003/PSM Procedure memorizzate nel database Programmazione general-purpose Leggere sezione 8.2 di Garcia-Molina et al. Lucidi derivati da quelli di Jeffrey D. Ullman 1 Una estensione

Dettagli

Installazione & Configurazione Php e MySQL su Mac Os X. Php

Installazione & Configurazione Php e MySQL su Mac Os X. Php Installazione & Configurazione Php e MySQL su Mac Os X Php PHP è un linguaggio di scripting interpretato, con licenza Open Source, originariamente concepito per la realizzazione di pagine web dinamiche.

Dettagli

Remote SQL Command Execution

Remote SQL Command Execution Remote SQL Command Execution Spesso si ha a che fare con SQL Injection se ci si trova nel campo della sicurezza informatica, ma non sempre si è a conoscenza di quanto una vulnerabilità del genere può essere

Dettagli

User Tools: DataBase Manager

User Tools: DataBase Manager Spazio di lavoro Per usare T-SQL Assistant selezionare il link Simple Query e spostare a piacere la piccola finestra dove un menu a tendina mostra i diversi comandi SQL selezionabili, il pulsante Preview

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN

PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN Il metodo migliore per creare nuovi DB è quello di usare l interfaccia del PHPMYADMIN (che viene installata automaticamente con il pacchetto easy

Dettagli

Introduzione a PostgreSQL e phppgadmin

Introduzione a PostgreSQL e phppgadmin Introduzione a PostgreSQL e phppgadmin Gabriele Pozzani Informatica documentale 2011/2012 Corso di laurea in Scienze della comunicazione PostgreSQL il più avanzato database OpenSource al mondo Sviluppato

Dettagli

Corso di Informatica Generale 1 IN1. Linguaggio SQL

Corso di Informatica Generale 1 IN1. Linguaggio SQL Università Roma Tre Facoltà di Scienze M.F.N. di Laurea in Matematica di Informatica Generale 1 Linguaggio SQL Marco (liverani@mat.uniroma3.it) Sommario Prima parte: le basi dati relazionali Basi di dati:

Dettagli

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7 Il trattamento dei dati database: il linguaggio SQL seconda parte Prof. Valle D.ssa Folgieri Lez9 15.11.06 Trattamento dati. Database: il

Dettagli

1) Il client(browser utilizzato) invia al server i dati inseriti dall utente. Server

1) Il client(browser utilizzato) invia al server i dati inseriti dall utente. Server 2) Il Server richiama l'interprete PHP il quale esegue i comandi contenuti nel file.php specificato nell'attributo action del tag form creando un file HTML sulla base dei dati inviati dall utente 1) Il

Dettagli

SQL PER LA DEFINIZIONE DI BASI DI DATI

SQL PER LA DEFINIZIONE DI BASI DI DATI SQL PER LA DEFINIZIONE DI BASI DI DATI SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) CREATE SCHEMA

Dettagli

Basi di Da( MySQL & MySQL Workbench. Anna Monreale

Basi di Da( MySQL & MySQL Workbench. Anna Monreale Basi di Da( MySQL & MySQL Workbench Anna Monreale MySQL MySQL è un DBMS gratuito ed open- source (h@p://www.mysql.com) MySQL può essere uilizzato in Windows, Linux, MacOS X. MySQL è un RDBMS (relaional

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

Transazioni - Parte 1

Transazioni - Parte 1 Basi di dati II Lezione 3 09/10/2008 Caputo Domenico Cosimo, Francesco Pichierri Transazioni - Parte 1 Le transazioni hanno a che fare con la programmabilità delle basi di dati. Prima di trattarle è necessaria

Dettagli

Introduzione all Architettura del DBMS

Introduzione all Architettura del DBMS Introduzione all Architettura del DBMS Data Base Management System (DBMS) Un DBMS è uno strumento per la creazione e la gestione efficiente di grandi quantità di dati che consente di conservarli in modo

Dettagli

Architettura MySQL. E Motori MySQL

Architettura MySQL. E Motori MySQL E Motori MySQL Caratteristiche Differente dagli altri DBMS Non perfetta Ma flessibile Gestisce DataWarehouses, OLTP, ecc. Architettura delle Storage Engine Separa il query processing dai task di memorizzazione

Dettagli

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) 1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2014/2015 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2014-15.htm dott.ssa Francesca A. Lisi francesca.lisi@uniba.it

Dettagli