Sviluppare nel Web La programmazione Web oggigiorno viene sviluppata su livelli distinti ma complementari: Server side: Server Web Pagine HTML Programmazione.

Slides:



Advertisements
Presentazioni simili
Database MySql.
Advertisements

Sicurezza e concorrenza nelle basi di dati
Microsoft SQL Server 2008 Utilizzo. Creazione DataBase CREATE DATABASE CREATE DATABASE Cinema.
© 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)
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Un DataBase Management System (DBMS) relazionale client/server.
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.
SQL basato su ANSI (American National Standards Institute) – standard SQL SQL – Structured Query Language è un linguaggio dichiarativo e permette di comunicare.
sql: esempi di linguaggio sql nell'implementazione mysql
Installazione di Drupal: requisiti. (sistemista) Installazione, struttura dei file, nodi speciali.
CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 4 - Dicembre Utenti e privilegi del database - 1 Root è lutente amministratore predefinito, ma.
BASI DI DATI - MySql Centro di Ateneo per i Servizi Informatici
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
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.
MySQL Database Management System
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Joomlahost.it1 Presentato da Fustini Alessandro Myslq DBA e Developer certified Joomlahost.it.
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
Elementi di statistica con R e i database LEZIONE 2 Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 12 Aprile 2012.
POLITECNICO DI MILANO FACOLTA’ DI INGEGNERIA SEDE DI CREMONA TESI DI DIPLOMA IN INGEGNERIA INFORMATICA RELATOREAUTORI Prof. Vittorio TrecordiDemicheli.
CORSO elementare su DATABASE Applicativo utilizzato OpenOffice 3.0.
H T M L Hyper Text Markup Language L' HTML è un linguaggio di markup usato per la creazione di documenti ipertestuali sotto forma di pagine web.
PGDay 2009 FSGateway Ing. Torello Querci Resp. Architetture SW - Negens S.r.l. 4 Dicembre 2009, Pisa.
Basi di dati - Fondamenti
Lato Server - OMNIS Web Web Services.
Corso di Ingegneria del Web A A
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Interrogazione di una base di dati relazionale
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 3
Sistemi e Applicazioni per l’Amministrazione Digitale
Microsoft Access E’ un programma utile per lo sviluppo di applicazioni gestionali che si appoggiano a una base dati.
Microsoft Access E’ un programma utile per lo sviluppo di applicazioni gestionali che si appoggiano a una base dati.
Dati in rete Appunti.
COME SI CREA UNA TABELLA CON UNA CHIAVE ESTERNA
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Commissione Calcolo e Reti
ORACLE Corso Base Copyright © Maggio 2008 Assi Loris Versione : 1
Terza Lezione → Navigare nel file System → parte 2
Corso di Basi di Dati Il Linguaggio SQL
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Database in rete & Pagine dimamiche
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Corso di Basi di Dati Il Linguaggio SQL
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Corso di Basi di Dati Il Linguaggio SQL
Corso di Basi di Dati Il Linguaggio SQL
INDICO Parte 1 01/07/2018 Francesco Serafini.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Sviluppo web con stumenti Open
Creare un server casalingo - 3
Studente : Andrea Cassarà Classe: 5AII A.S. 2014/2015 Link Sito
Introduzione alle basi di dati
Access.
Basi di dati - Fondamenti
© 2007 SEI-Società Editrice Internazionale, Apogeo
SQL per la modifica di basi di dati
ADO Per gestire i database con tecnologia ASP si utilizzano strumenti ADO (ActiveX Data Objects): un'architettura che fornisce oggetti.
Structured Query Language
OpenLayers Client di mappe “non solo” WMS
Operatori aggregati e raggruppamenti
Quantificazione Esistenziale ed Universale
Docente: Sabato Bufano
Vincoli di integrità generici
Transcript della presentazione:

Sviluppare nel Web La programmazione Web oggigiorno viene sviluppata su livelli distinti ma complementari: Server side: Server Web Pagine HTML Programmazione PHP,Perl,Python,Ruby,Bash Basi di Dati relazionali Client Side: Browser Web (web client) Javascript, Ajax (codice eseguito dal client) Flash, Java plugins locali, Adobe AIR

Flusso di una sessione Web

Gestire i Dati Files e DataBases, perchè scegliamo i DB MySQL nel L.A.M.P Metodi di Interrogazione: Architettura Client- Server Sicurezza, gestione degli accessi, letture scritture concorrenti, monitor delle prestazioni Strumenti Odierni: Server: appunto MySQLd Clients: Server-side: Php-MyAdmin Puri: mysql da riga di comando, SQLyog, Workbench, cursori in PHP/PERL/PYTHON

Terminologia DataBase: traducibile in italiano come "base di dati" non è un altro che un insieme di dati logicamente correlati fra loro. I Data Base Management System (DBMS) sono software in grado di gestire: capacità di gestire grandi quantità di dati condivisione dei dati fra più utenti e applicazioni utilizzo di sistemi di protezione e autorizzazione per l'accesso ai dati stessi

Ancora Terminologia RDBMS: Relational DataBase Management System Modello relazionale: organizza i dati in tabelle, basandosi sulle relazioni fra essi. E' un modello nato negli anni '70. Server: Servizio disponibile a specifici clienti Client: Cliente fruitore del Servizio, è l'interprete del Servizio stesso essendone il processore/visualizzatore dei dati presso l'utente.

Il mondo dei DataBase Visto l'ampio successo dei database relazionali, sono molti gli RDBMS presenti sul mercato: tra i principali, citiamo IBM DB2, Oracle, Microsoft SQL Server, Sybase, Filemaker Pro, Microsoft Access, Informix, PostgreSQL, SQLite, oltre naturalmente a MySql, sviluppato inizialmente dalla compagnia svedese MySQL AB, aquisita nel 2008 da SUN, aquisita nel 2010 a sua volta da Oracle. Alcuni di questi sono software proprietari, mentre altri fanno parte della categoria Open Source: questi ultimi, fra quelli citati, sono MySql, PostgreSQL ed SQLite.

Caratteristiche peculiari MySQL OpenSource con ampia comunità di sviluppo/supporto Velocità di risposta, MySQL con la tecnologia MyISAM diviene l' RDBMS più veloce al mondo Ampiamente utilizzato nel WEB Distribuito e Documentato in maniera da facilitarne la conoscibilità e l'accesso Con la versione 5 (stabile dall'ottobre 2005) MySQL è pronto per le soluzioni Enterprise.

Reperire MySQL Se Fornito dal provider: 1. Sfruttare PhpMyAdmin Server-side 2. Ottenere la porta di connessione per interfacciare via internet il nostro Client MySQL Altrimenti Downloads per conto nostro:

Velocizziamo con Linux sudo su [sudo] password for utente: /home/utente# apt-get install mysql-server /home/utente# apt-get install phpmyadmin # apt-get install mysql-workbench-oss Se desideriamo SQLyog: /home/utente# apt-get install wine

Primi passi Accediamo a MySQL server con mysql-client # mysql -u root -p Visioniamo il catalogo e modifichiamo l'accesso > show databases; > use NOMEDB; > show tables; > select * from mysql.user where user='root'\G > update user set password=PASSWORD("nuova") where user='root'; > flush privileges; > drop database prova;

Configurazioni e Paths La configurazione di Mysql risiede solitamente in /etc/mysql/my.cnf utile aggiungere: ”default-character-set=utf8” I DataBases risiedono in /var/lib/mysql

Documentazione da terminale Tutti questi comandi da dove li prendiamo? Per il comportamento del client: > help Per il comportamento del Server: > help contents Helps utili > help Data Definition || Data Types

Contenuti, funzioni e Statements Help contents visualizza i contenuti per categoria. In questi risiedono anche le funzioni. Tutti i comandi SQL per interrogare ed estrarre i dati sono sempre denominati Statements, quindi: > help SELECT || help UPDATE

Fondamenti: Tabelle e SQL i dati vengono presentati in forma tabulare, cioè come un insieme di tabelle ciascuna composta da righe e colonne. ogni tabella contiene i dati relativi ad una entità. le colonne della tabella rappresentano i campi, ovvero le proprietà o attributi dell'entità. le righe della tabella esprimono le ricorrenze dell'entità. Insieme al modello relazionale è stato introdotto il linguaggio SQL (Structured Query Language).

Documentazione e References mysql/

Esempio di Tabella Ora esaminiamo un caso di progettazione di una base dati per esemplificare la fase di creazione di una o più tabelle. 1° passo: Scarichiamo/Reperiamo i Clients PhpMyAdmin è Server Side, solitamente già predisposto dal provider. WorkBench: SqlYog:

Tenere Presente Entità e dimensioni del progetto Definire le istanze (records di ogni tabella) Definire le tabelle (come classi di istanze) Tipi di dati Encoding dei caratteri Inserimento delle Date Le chiavi primarie Le ForeignKeys Costraints sono un'arma a doppio taglio

Chavi primarie e chiavi esterne Le tabelle in un database possono essere messe in relazione l’una con l’altra tramite delle chiavi. Una chiave si dice primaria quando ha un valore unico per le righe. Lo scopo è quello di legare i dati tra le tabelle senza dover ripetere i dati in tutte le tabelle. Una chiave si dice esterna se è il riferimento alla chiave primaria di un'altra tabella

Inserimenti di dati insert into Iscritti (nome, cognome, , Corsi_id_corsi) VALUES ('giovanni', 'presa', 1)

Le Query SQL indispensabili select * from Iscritti where nome = 'giovanni' order by cognome; select * from Lezioni where obiettivi LIKE "comprensione%" Gli operatori LOGICI: > help logical operators select * from Iscritti where nome = 'giovanni' and cognome like '%sa%'; select * from Iscritti where nome = 'giovanni' or nome='giuseppe'

Contare, raggruppare, filtrare L'operatore GROUP BY raggruppa i risultati di una SELECT in base al campo specificato dopo il BY. L'operatore va usato in congiunzione con una funzione statistica (COUNT, SUM...). select nome, congome, count(*) from Iscritti where nome LIKE 'giovanni%' group by nome; L'operatore HAVING filtra ulteriormente i risultati visualizzati con GROUP BY. select nome,cognome, count(*) as total from Iscritti where nome like 'giovanni%' group by cognome having total > 1;

Cancellare e aggiornare i dati delete from Iscritti where nome is 'NULL'; delete from Iscritti where nome='fabio'; UPDATE Iscritti SET nome='franco', cognome='pagliuso' WHERE nome='giuseppe'; UPDATE Iscritti SET nome = replace(nome, "franco", "giuseppe");

Un pò di SQL – Selezionare i Dati SELECT * FROM nome_tabella SELECT COUNT(*) FROM nome_tabella SELECT COUNT(*), MAX(colonna1) FROM nome_tabella WHERE colonna2 = valore SELECT categoria, max(stipendio) FROM dipendenti GROUP BY categoria |(HAVING) SELECT column_name(s) FROM table_name ORDER BY column_name(s) ASC|DESC SELECT * FROM Persons WHERE LastName='Svendson' AND (FirstName='Tove' OR FirstName='Ola')

Select DISTINCT Il comando SELECT DISTINCT di SQL serve ad estrarre una sola volta ogni diversa occorenza riscontrata in un dato campo del DB. Spesso viene usato per creare le voci di menu in modo tale che, se una stessa categoria viene trovata più di una volta all'interno di una colonna, viene stampata a video una volta soltanto. DISTINCT: select distinct (nome) from Iscritti ORDER BY cognome ASC;

Subquery :Query dentro altre select * from Iscritti where id_iscritti in (select count(*) from Iscritti)

Varie Permessi GRANT SELECT ON acquisti.* TO IDENTIFIED BY 'password' WITH GRANT OPTION GRANT ALL ON acquisti.ordini TO REVOKE SELECT on acquisti.* FROM REVOKE ALL PRIVILEGES, GRANT OPTION FROM UPDATE mysql.user SET Password = PASSWORD('pwd') WHERE User = 'root'; FLUSH PRIVILEGES;

Le JOINs: usare diverse tabelle L'INNER JOIN restituisce le righe delle tabelle se c'è un legame, altrimenti non le mostra. SELECT campi FROM prima_tabella INNER JOIN seconda_tabella ON prima_tabella.chiave_primaria = seconda_tabella.chiave_esterna select * from Iscritti as I, Corsi as C where I.Corsi_id_corsi=C.id_corsi; select *, replace('Programma_id_programma', 1, 'lamp') from Iscritti as I, Corsi as C where I.Corsi_id_corsi=C.id_corsi;

Altre Join Ia LEFT OUTER JOIN restituisce tutte le righe della prima tabella (nell’esempio Impiegati), anche se non ci sono corrispondenze nella seconda tabella (nell’esempio Ordini). SELECT campi FROM prima_tabella LEFT OUTER JOIN seconda_tabella ON prima_tabella.chiave_primaria = seconda_tabella.chiave_esterna Una RIGTH OUTER JOIN restituisce tutte le righe della seconda tabella, anche se non ci sono legami con la prima SELECT campi FROM prima_tabella RIGTH OUTER JOIN seconda_tabella ON prima_tabella.chiave_primaria = seconda_tabella.chiave_esterna