Dott. Gianni Nigita Dott. Sebastiano Di Bella. 8 aprile

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Dott. Gianni Nigita Dott. Sebastiano Di Bella. 8 aprile 2012 1"

Transcript

1 Dott. Gianni Nigita Dott. Sebastiano Di Bella 8 aprile

2 Materiale didattico Libro di testo Paul DuBois, MySQL, Four Edition, Pearson Education, 2009 Documentazione on-line MySQL 8 aprile

3 Sommario Introduzione a MySQL Installazione MySQL Connessione/Disconnessione da un db MySQL Programmi Client Creazione Account e Privilegi Prompt MySQL Comandi MySQL (part I) Engine Tipi di dati Comandi MySQL (part II) Esempi Query NULL Funzioni & Operatori 8 aprile

4 MySQL: un po di storia Creato dalla società MySQL AB sin dal 1979 soltanto dal 1996 supporta anche SQL. Sun Microsystem nel 2008 acquista la società per 1 miliardo di dollari Nel 2010 Oracle acquista Sun per 7,5 miliardi di dollari possedendo così anche MySQL 8 aprile

5 MySQL è un RDBMS (I) Possiamo identificare 4 tipi di database in base alla loro struttura logica: Gerarchico: basato su una struttura ad albero in cui ogni dato che non sia a livello radice ha uno e un solo padre (anni 80) Reticolare: deriva da quello gerarchico, ne supera i limiti della struttura ad albero ma la sua complessità ne limita la diffusione Relazionale: organizza i dati in tabelle basandosi sulle relazione fra esse (MySQL) Ad oggetti: estende il concetto relazionale adattandolo alla programmazione ad oggetti 8 aprile

6 MySQL è un RDBMS (II) RDBMS (relational database management system) ovvero un DBMS basato sul modello relazione (Edgar F. Codd) Una Relazione è la struttura di una tabella (entità) definita da records (righe di dati) e da attributi (colonne della tabella di dati) Esempio: 8 aprile

7 MySQL Installation (I) Link: MySQL è disponibile per diverse piattaforme tra cui Linux e Windows; Altri Tool Utili MySQL Query Browser Tool grafico per l ottimizzazione delle query 8 aprile

8 MySQL Installation (II) MySQL Connector Per la connessione con altre piattaforme Java/.NET/ C++/ect.. MySQL Administrator Gestisce le operazioni (configuring, monitoring, start e stop) del server MySQL MySQL Migration Toolkit Tool per la migrazione di db da ORACLE/Access a MySQL 8 aprile

9 MySQL Installation (III) MySQL Workbench E un tool che fornisce la gestione grafica del server MySQL e dei database 8 aprile

10 Connect/Disconnect (I) Per connettersi al server è necessario fornire login e password localhost: hostname in cui risiede il MySQL root: username che possiede un account sul server -h indirizzo -u utente -P porta -p indica al server la richiesta della password all utente 8 aprile

11 Connect/Disconnect (II) Per uscire (quit o exit) 8 aprile

12 Per help Connect/Disconnect (III) 8 aprile

13 Connect/Disconnect (IV) Visualizzare alcune informazioni relative al server e alla connessione 8 aprile

14 Client (I) Login tramite QueryBrowser Nome Connessione 8 aprile

15 Client (II) 8 aprile

16 Client (III) XAMPP wnloads/workbench/5.2. html LAMP om/ WAMP com/en/ NOTA: Attenzione alla porta aprile

17 Client (IV) Download all indirizzo Oppure all interno dei pacchetti XAMPP LAMP WAMP 8 aprile

18 Client (V) 8 aprile

19 Client (VI) 8 aprile

20 Client (VII) 8 aprile

21 Client (VIII) 8 aprile

22 Client (IX) 8 aprile

23 Client (IX) 8 aprile

24 Client (X) 8 aprile

25 Client (XI) 8 aprile

26 Client (XII) 8 aprile

27 Client (XIII) 8 aprile

28 Client (XIV) 8 aprile

29 Client (XV) 8 aprile

30 Client (XVI) 8 aprile

31 Dentro il db world Client (XVII) tables funzioni db world 8 aprile

32 Client (XVIII) 8 aprile

33 Client (XIX) 8 aprile

34 Client (XX) 8 aprile

35 Client (XXI) svuota table cancella table 8 aprile

36 Client (XXII) 8 aprile

37 Creazione Account/Privilegi (I) Eseguito dall utente root mediante l uso del comando GRANT GRANT Tutte le operazioni: SELECT, INSERT... Nome db Nome tabella user password localhost, Indicando il nome di un server è possibile effettuare la connessione da un server specifico 8 aprile

38 Creazione Account/Privilegi (II) Mentre GRANT assegna i privilegi con REVOKE vengono ritirati: REVOKE (SELECT/ALL PRIVILEGES) on nome_db.( nome_tabella ;*) FROM 8 aprile

39 Prompt di MySQL mysql> Prompt Significato Pronto per ricevere un comando; -> In attesa della linea successiva per un comando multi-linea; > In attesa della linea successiva per un comando multi-linea, apice di apertura nella riga precedente; > In attesa della linea successiva per un comando multi-linea, doppio apice di apertura nella riga precedente; `> In attesa della linea successiva per un comando multi-linea, che fa riferimento ad un identificatore che inizia con backtick; 8 aprile

40 Esempi Ritorna utente e host con i quali si è fatto l accesso Ritorna la versione e la data corrente Ritorna l utente e la data corrente 8 aprile

41 Comandi (I) Mostra i db Scelgo il db 8 aprile

42 Comandi (II): show SHOW ha diverse forme che forniscono informazioni circa il db, le tables, le columns, o informazioni di status circa il server (help show) 8 aprile

43 Comandi (III): gestione db Creazione database: mysql> CREATE DATABASE world ; mysql> USE world ; Creazione con IF NOT EXISTS: mysql> CREATE DATABASE [IF NOT EXISTS] world ; Cancellazione database: mysql> DROP DATABASE [IF EXISTS] world ; 8 aprile

44 Comandi (IV): gestione table Creare una table: mysql> CREATE [TEMPORARY] TABLE [IF NOT EXISTS] nome_tabella [(definizione, )]; Temporary: la table è valida e visibile solo per la connessione corrente; If Not Exists: Per gestire gli errori in caso esista già la table; Definizione: Possono essere definizioni di una colonna oppure relative alla tabella 8 aprile

45 Comandi (V): gestione table mysql>create TABLE `City` (`ID` int(11) NOT NULL AUTO_INCREMENT, `Name` char(35) NOT NULL DEFAULT '', ` CountryCode` char(3) NOT NULL DEFAULT '', `District` char(20) NOT NULL DEFAULT '', `Population` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`ID`)) ENGINE=MyISAM AUTO_INCREMENT=4080 DEFAULT CHARSET=latin1; 8 aprile

46 Autoincrement Se NULL o NOT NULL non sono stati specificati il sistema per default associa il valore NULL Una colonna integer può avere l attributo addizionale AUTO_INCREMENT. Quando viene inserito un valore NULL (recommended) o zero (0) in una colonna AUTO_INCREMENT, alla colonna viene automaticamente inserito il successivo valore disponibile. Tipicamente il valore è value+1, dove value è il più grande valore presente nella tabella per quel campo. La sequenza AUTO_INCREMENT inizia con 1 8 aprile

47 Engine (I) MySQL mette a disposizione diversi tipi di tabelle, ovvero storage engine per la memorizzazione dei dati. Due sono i sistemi principali: 1. Transazionali: sono più sicuri, permettono di recuperare i dati anche in caso di crash, e consentono di effettuare modifiche tutte insieme 2. Non transazionali: sono più veloci, occupano meno spazio su disco e minor richiesta di memoria. Durante la creazione di una tabella si specifica il tipo tramite il comando ENGINE: mysql>create TABLE t (i INT) ENGINE=INNODB 8 aprile

48 Engine: MyISAM MyISAM è lo storage engine di default dal MySQL E basato sullo storage ISAM. Ogni tabella MyISAM è memorizzata all interno del disco con tre file: 1. un file.frm che contiene la definizione della tabella, 2. un file.myd per i dati 3. un file.myi per gli indici 8 aprile

49 Engine: InnoDB Foreign Key: Le tabelle InnoDB sono in grado di gestire l integrità referenziale tra le chiavi esterne del database, permettendo di specificare vari comportamenti a seconda della chiave esterna utilizzata Transizioni: Permette di eseguire le query che verranno validate o annullate mediante chiamate COMMIT o ROLLBACK 8 aprile

50 Engine (II) Alcuni storage consentono di specificare il tipo di indice (struttura dati) durante la creazione delle tabella Bisogna usare la parola chiave USING type_name. Engine MySIAM InnoDB MEMORY/HEAP Type BTREE BTREE HASH, BTREE mysql> CREATE TABLE lookup ( id INT, INDEX USING BTREE (id)) ENGINE= MEMORY; 8 aprile

51 Tipi di tabelle Storage Engine BDB HEAP ISAM InnoDB MEMORY MERGE MRG_MyISAM MyISAM Descrizione Tabelle transaction-safe con page locking I dati della seguente tabella sono solamente memorizzati nella memoria principale Primo storage engine di MySQL Tabella transaction-safe con lock di righe e chiavi esterne Un alias di HEAP Una collezione di tabelle MyISAM usate come se fossero una singola tabella Alias di MERGE Storage engine binario portabile, evoluzione di ISAM 8 aprile

52 Engine: MyISAM vs InnoDB b-vs-myisam-vs-falcon-benchmarks-part-1/ 8 aprile

53 Tipi di dati: Numerici (1/2) Tipo Byte Minimum Value Maximum Value (Signed/Unsigned) TINYINT[(M)] 1-128/0 127/255 (Signed/Unsigned) SMALLINT[(M)] / /65535 MEDIUMINT[(M)] / / INT[(M)] / / BIGINT[(M)] / / FLOAT[(M)] 4 +/ E-38 +/ E+38 DOUBLE[(M)] 8 +/ E / E aprile

54 Tipi di dati: Numerici (2/2) INTEGER equivale a INT DOUBLE PRECISION equivale a DOUBLE REAL equivale a DOUBLE DECIMAL con M cifre di cui D decimali, occupa M+2 byte NUMERIC equivale a DECIMAL 8 aprile

55 Tipi di dati: Data e Tempo Tipo Range Byte DATE DATETIME :00: :59:59 8 TIMESTAMP[(M)] Da ad una data nel TIME -838:59:59-838:59:59 3 YEAR[(M)] 1901 al 2144 per YEAR(4) 1 8 aprile

56 Tipi di dati: Testo Tipo Max size Byte CHAR[(M)] M M VARCHAR(M) M L+1 TINYBLOB/ TINYTEXT 28-1 L+1 BLOB/TEXT L+2 MEDIUMBLOB/MEDIU MTEXT L+3 LONGBLOB/LONGTEXT L+4 ENUM( value1, value2, ) elementi 1 o 2 byte SET ( value1, value2, ) 64 elementi 1,2,3,4 o 8 byte L rappresenta la lunghezza effettiva del testo 8 aprile

57 Comandi (VI): gestione table 8 aprile

58 Comandi (VII): gestione table 8 aprile

59 Comandi (VIII): gestione table LOW_PRIORITY: l'inserimento non viene effettuato fino a quando esistonoclient che leggono sulla tabella interessata; DELAYED: anche in questo caso l'inserimento viene ritardato fino a quando la tabella non è libera. La differenza rispetto al caso precedente è che al client viene dato immediatamente l'ok, e le righe da inserire vengono mantenute in un buffer gestito dal server fino al momento della effettiva scrittura HIGH PRIORITY: annulla l'effetto di una eventuale opzione -- low-priority- IGNORE: permette di gestire eventuali errori che si verificano in fase di inserimento (chiavi duplicate o valori non validi) ON DUPLICATE KEY UPDATE: nel caso in cui si verifichi una chiave doppia, l'istruzione specificata viene eseguita sulla riga preesistente. 8 aprile

60 Comandi (IX): gestione table INSERT INTO `City` VALUES (1,'Kabul','AFG','Kabol', ); INSERT INTO `City` VALUES (2,'Qandahar','AFG','Qandahar',237500); INSERT INTO `City` VALUES (3,'Herat','AFG','Herat',186800); INSERT INTO `City` VALUES (4,'Mazar- e - Sharif','AFG','Balkh',127800); INSERT INTO `City` VALUES (5,'Amsterdam','NLD','Noord- Holland',731200); 8 aprile

61 Comandi (X): gestione table E possibile inserire i dati in un tabella anche leggendo le righe da file di testo con LOAD DATA INFILE 8 aprile

62 Comandi (XI): gestione table Le opzioni LOW_PRIORITY e IGNORE funzionano come per una INSERT L'opzione LOCAL specifica che il file da leggere si trova sulla macchina del client. Se si usa FIELDS è obbligatorio indicare almeno una delle opzioni che la compongono: TERMINATED BY indica quale stringa separa i campi; ENCLOSED BY indica i caratteri usati per racchiudere i valori; ESCAPED BY specifica il carattere di escape usato per i caratteri speciali (cioè quelli utilizzati nelle altre opzioni di FIELDS e LINES) 8 aprile

63 Comandi (XII): gestione table LINES può indicare le opzioni per le righe: STARTING BY indica una stringa che sarà omessa in ogni riga (può anche non trovarsi all'inizio della riga, nel qual caso sarà omesso tutto ciò che si trova prima). TERMINATED BY indica il carattere di fine riga mysql>load DATA INFILE test.txt INTO TABLE test LINES STARTING BY yyy ; Text.txt: yyy ROW,1 Blablabla yyy ROW,2 Carica: ( ROW,1), ( ROW ;2) IGNORE n LINES si usa per saltare le prime n righe del file di input 8 aprile

64 Comandi (XIII): Select 8 aprile

65 Comandi (XIV): Select SELECT seguita da una o più espressioni che saranno le colonne della tabella risultato; FROM seguita dai nomi di una o più tabelle dalle quali devono essere estratti i dati, per ogni tabella si può specificare un alias WHERE che specifica le condizioni in base alle quali ogni riga sarà estrattaoppure nodalletabelle GROUP BY che specifica le colonne sui cui valori devono essere raggruppate le righe nel risultato: tutte le righe con valori uguali verranno ridotte a una HAVING che specifica ulteriori condizioni da applicare alle righe dopo il raggruppamento effettuato dalla GROUP BY ORDER BY che specifica in quale ordine figureranno le righe del resultset LIMIT che stabilisce il massimo numero di righe da estrarre 8 aprile

66 Esempi: Query (I) 8 aprile

67 Esempi: Query (II) Quali sono i paesi (continente, regione, area) con popolazione > , in ordine crescente? 8 aprile

68 Esempi: Query (III) Quali lingue vengono parlate in China, in che percentuale? Usiamo gli alias per le tabelle 8 aprile

69 Esempi: Query (IV) Quali nomi di paesi contengono una w? % Match con qualsiasi numero di caratteri, anche zero. 8 aprile

70 Esempi: Query (V) Quali nomi di paesi contengono 14 caratteri? _ Match esattamente un carattere 8 aprile

71 Esempi: Query (VI) Una espressione regolare è un modo molto potente per specificare un pattern per una ricerca complessa expr REGEX pat: Esegue un pattern match tra una stringa di espressione expr contro un pattern pat Operatori: ^: match l inizio di una stringa $: match la fine di una stringa.: match qualsiasi carattere a*=a{0,}: match qualsiasi sequenza di zero o più caratteri a a+=a{1,}: match una sequenza di una o più caratteri a de abc: match della sequenza de o della sequenza abc (abc)*: match zero o più istanze della sequenza abc 8 aprile

72 Esempi: Query (VII) ^ match l inizio di una stringa Quali nomi dei paesi del Nord America iniziano per C? 8 aprile

73 Esempi: Query (VIII) $ match la fine di una stringa Quali nomi dei paesi dell Europa finiscono con ia? 8 aprile

74 Esempi: Query (IX). match qualsiasi carattere Quali Continente iniziano per A e quali nomi di paesi hanno 6 caratteri? 8 aprile

75 Esempi: Query (X) de abc Match o della sequenza de o della sequenza abc Quali nomi di paesi contengono tal o y? 8 aprile

76 Il valore NULL (I) In quale anno è stata conquistata l indipendenza? 8 aprile

77 Il valore NULL (II) Il valore NULL per un campo assume il seguente significato: mancante, sconosciuto infatti è trattato diversamente dagli altri valori. Per testare il valore di NULL non si possono usare i consueti operatori di confronto =,<, o <> Esempio: 8 aprile

78 Il valore NULL (III) Con l uso di IS NULL e IS NOT NULL si ottiene: Quando si usa ORDER BY i valori NULL sono inseriti all inizio con ASC ed alla fine con ORDER BY DESC. 8 aprile

79 Comandi (XV): UPDATE SET: specifichiamo quali colonne modificare e quali valori assegnare WHERE: le condizioni che determinano quali righe saranno modificate ORDER BY: per decidere in che ordine effettuare gli aggiornamenti LIMIT: per indicare il numero massimo di righe da modificare 8 aprile

80 Comandi (XVI): DELETE LOW_PRIORITY e IGNORE hanno il significato già visto. ORDER BY e LIMIT funzionano come nella UPDATE WHERE stabiliamo le condizioni in base alle quali le righe verranno eliminate 8 aprile

81 Comandi (XVII): Funzioni Input arg 1 arg 2 arg n Funzioni Elaborazione Valori dei Risultati Output 8 aprile

82 Comandi (XVIII): Funzioni Funzioni Funzioni Single-row Funzioni Multiple-row 8 aprile

83 Comandi (XIX): Funzioni Stringhe Generali Funzioni (Single-Row) Numeri Conversione Date 8 aprile

84 Aritmetici: +" (addizione) Operatori (I) "-" (sottrazione) "*" (moltiplicazione) "/" (divisione) "%" (modulo) 8 aprile

85 Operatori (II) Matematici: ABS(X) FLOOR(X) CEILING(X) SIN(X) COS(X) LN(X) LOG(X) LOG(B,X) Ect 8 aprile

86 Operatori (III) Logici: NOT(!) AND(&&) 8 aprile

87 Operatori (IV) OR( ) XOR 8 aprile

88 Operatori (V) Confronto, da come risultati 1 oppure 0: =, <>!=, <= < >=, > <=> (NULL-safe), IS NULL, IS NOT NULL 8 aprile

89 Operatori (VI) Se expr è più grande o uguale a min e expr è minore o oguale a max allora ritorna 1 altrimenti ritorna 0. expr BETWEEN min AND max expr NOT BETWEEN min AND max Equivalente a NOT (expr BETWEEN min AND max). 8 aprile

90 Operatori (VII) Ritorna 1 se expr è uguale a qualsiasi altro valore nella lista di IN altrimenti ritorna 0. expr IN (value,...) expr NOT IN (value,...) Equivalente a NOT (expr IN (value,...)). 8 aprile

91 Operatori (VIII) ISNULL(expr) COALESCE(list) Ritorna il primo elemento non-null nella lista: INTERVAL(N,N1,N2,N3,...) Ritorna 0 se N < N1, 1 se N < N2 ecc.o -1 se N è NULL. N1 < N2 < N3 <... < Nn 8 aprile

92 Operatori (IX) Controllo di flusso: sono utili quando vogliamo eseguire dei test sui valori contenuti in una tabella e decidere cosa estrarre in base al risultato. CASE: la prima versione ritorna result quando value=compare_value; la seconda ritorna result quando la condizione è true; 8 aprile

93 Operatori (X) IF: se expr1 è true ritorna expr2 altrimenti expr3; 8 aprile

94 Operatori (XI) IFNULL: Se expr1 è not null ritorna expr1 altrimenti expr2; 8 aprile

95 Operatori (XII) Funzioni su stringhe Funzioni Conversioni Case LOWER UPPER INITCAP Funzioni di Manipolazione Stringhe CONCAT SUBSTR LENGTH INSTR LPAD TRIM RIGHT 8 aprile

96 Operatori (XIII) Funzione conversioni case: LOWER (str) LCASE(str) UPPER (str) UCASE(str) 8 aprile

97 Operatori (XIV) Funzioni manipolazione stringhe: ASCII (str) : Ritorna il valore numerico del carattere più a sinistra di str BIN(N): Ritorna una stringa che rappresenta il valore binario di N 8 aprile

98 Operatori (XV) BIT_LENGHT(str): Ritorna la lunghezza della stringa str in bit CHAR (N,...) : interpreta ogni argomento N come intero e ritorna una stringa consistente dei caratteri dati dal codice numerico degli interi 8 aprile

99 Operatori (XVI) CHAR_LENGTH (str): ritorna la lunghezza della stringa misurata in caratteri. CHARACTER_LENGTH (str): sinonimo di char_length. CONCAT(str1,str2,...): ritorna la stringa che si ottiene concatenando gli argomenti. Ritorna NULL se un argomento è NULL 8 aprile

100 Operatori (XVII) CONCAT_WS (separator,str1,str2, ): Il primo argomento è il separatore il resto gli argomenti CONV (N,from_base,to_base): converte i numeri tra differenti basi. 8 aprile

101 Operatori (XVIII) ELT (N,str1,str2,str3, ): Ritorna str1 se N=1, str2 se N=2 ect FIELD (str,str1,str2,str3, ): Ritorna la posizione di str in str1,str2,ect 8 aprile

102 Operatori (XIX) FIND_IN_SET (str,strlist): Ritorna un valore nel range tra 1 a N se la stringa str è nella lista delle stringhe strlist consistente di N sottostringhe, separate da,. HEX(N_o_S): ritorna il valore esadecimale della stringa 8 aprile

103 Operatori (XX) INSERT (str, pos,len,newstr): Ritorna la stringa str con la substring alla posizione pos e per len caratteri di newstr. INSTR(str,substr): Ritorna la posizione della prima occorrenza della substr in str. 8 aprile

104 Operatori (XXI) LEFT(str,len): Ritorna i len caratteri più a sinistra di str; LENGTH(str): Ritorna la lunghezza della stringa str in bytes; 8 aprile

105 Operatori (XXII) LOCATE (substr,str)/(substr,str,pos): La prima sintassi ritorna la posizione delle prima occorrenza di substr in str, la seconda inizia la ricerca dalla posizione pos: LTRIM(str): Ritorna str con gli spazi iniziali rimossi: 8 aprile

106 Operatori (XXIII) REPEAT(str,count): Ritorna una stringa consistente della stringa str, ripetuta countvolte: REPLACE(str,from_str,to_str):Ritorna la stringa str con tutte le occorrenze della stringa from_str sostituite con to_str: 8 aprile

107 Operatori (XXIV) REVERSE(str): Ritorna la stringa invertita RIGHT(str,len): Ritorna i len caratteri più a destra di str RTRIM(str): Ritorna la stringa str con gli spazi finali rimossi 8 aprile

108 Operatori (XXV) STRCMP(expr1,expr2): Ritorna 0 (zero) se le due stringhe sono uguali, -1 se il primo argomento è più piccolo del secondo, 1 altrimenti. expr LIKE pat [ESCAPE escape_char ]: Ritorna 1 oppure 0 8 aprile 2012 mysql> SELECT 'David!' LIKE 'David_'; -> 1 mysql> SELECT 'David!' LIKE '%D%v%'; -> 1 mysql> SELECT 'David!' LIKE 'David\_'; -> 0 mysql> SELECT 'David_' LIKE 'David\_'; -> 1 108

109 Operatori (XXVI) MATCH (col1,col2, ) AGAINST (expr[in BOOLENA MODE WITH QUERY EXPANSION]): MATCH... AGAINST() è utilizzata per ricerche full text, ritorna la rilevanza tra il testo che si trova nelle colonne (col1,col2,...) e la query expr. La similarità è un valore positivo in virgola mobile. La funzione match esegue una ricerca in linguaggio naturale per una stringa contro un text collection che è rappresentato da una o più colonne incluse in un indice FULL TEXT 8 aprile

110 Full-Text Search (I) 8 aprile

111 Full-Text Search (II) La ricerca di default è insensitive 8 aprile

112 Full-Text Search (III) Mostriamo come recuperare il valore della rilevanza esplicitamente 8 aprile

113 Full-Text Search (IV) Recuperiamo il valore della rilevanza e ordiniamo le righe in maniera decrescente per farlo usiamo MATCH sia nella SELECT che nel WHERE. 8 aprile

114 Full-Text Search (V) E possibile eseguire una ricerca full-text in boolean mode, i segni + e indicano le parole che devono essere presente o assenti, rispettivamente per un match che occorre. 8 aprile

115 Full-Text Search (VI) A volte la stringa di ricerca è troppo corta e potrebbe tralasciare dei risultati significativi, è possibile utilizzare query expansion che in genere implica che una ricerca è correlata con unaconoscenza sottintesa Attenzione perché può aumentare il rumore dei risultati. 8 aprile

MySQL: principali comandi

MySQL: principali comandi MySQL: principali comandi Ing. Davide Vetrale Sommario Introduzione a MySQL e alle sue licenze Connessione/Disconnessione da un database MySQL Creazione utenti Programmi client SQL in MySQL DDL e DML Tipi

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

GUIDA MYSQL ( da html.it) Data Base Data Base Management System Edgar F. Codd tabelle colonne proprietà attributi righe ricorrenze linguaggio SQL

GUIDA MYSQL ( da html.it) Data Base Data Base Management System Edgar F. Codd tabelle colonne proprietà attributi righe ricorrenze linguaggio SQL GUIDA MYSQL ( da html.it) Un Data Base (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 quindi

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

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

DUE GRUPPI DI COMANDI

DUE GRUPPI DI COMANDI LEZIONE16 SQL DDL PAG. 1 / 9 PROF. ANDREA ZOCCHEDDU LEZIONE16 SQL DDL LINGUAGGIO SQL DATA DESCRIPTION LANGUAGE DUE GRUPPI DI COMANDI I comandi del linguaggio SQL sono divisi in due grandi gruppi che formano

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

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

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

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

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

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

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

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

Lezione del modulo 7 SQL e database del giorno 04/05/2006 tot. ore 3. Lo Standard SQL

Lezione del modulo 7 SQL e database del giorno 04/05/2006 tot. ore 3. Lo Standard SQL Lezione del modulo 7 SQL e database del giorno 04/05/2006 tot. ore 3 Lo Standard SQL Il linguaggio SQL è un linguaggio non procedurale (o di tipo dichiarativo), divenuto, ormai da tempo, il linguaggio

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

----------------------------------------------------------------------------

---------------------------------------------------------------------------- APPUNTI DI SQL Gli appunti qui forniti vogliono essere un riferimento scritto di alcuni degli argomenti trattati a lezione per gli studenti a cui vengono messi a disposizione. Non viene fornita alcuna

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

Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia:

Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia: Corso di Basi di Dati Spaziali Linguaggi: SQL Angelo Montanari Donatella Gubiani Storia Storia: 1974: prima proposta SEQUEL 1981: prime implementazioni 1983: standard di fatto 1986, 1989, 1992 e 1999:

Dettagli

SQL (STRUCTURED QUERY LANGUAGE)

SQL (STRUCTURED QUERY LANGUAGE) SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura

Dettagli

SQL Manuale introduttivo

SQL Manuale introduttivo SQL Manuale introduttivo SOMMARIO INTRODUZIONE... 3 TIPI DI DATI... 3 STRINGHE DI CARATTERI... 3 NUMERI... 3 DATA/ORA... 4 COSTANTI STRINGA... 4 COSTANTI NUMERICHE... 4 COSTANTI DATA/ORA... 5 NOTE SULLA

Dettagli

OR true null false true true true true null true null null false true null false NOT

OR true null false true true true true null true null null false true null false NOT Il linguaggio SQL è un linguaggio standard per la definizione, manipolazione e interrogazione delle basi di dati relazionali ed ha le seguenti caratteristiche: è dichiarativo; opera su multiset di tuple,

Dettagli

DB2 Universal Database (UDB) DB2 Universal Database (UDB)

DB2 Universal Database (UDB) DB2 Universal Database (UDB) DB2 Universal Database (UDB) Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DB2Presentazione2009.pdf Sistemi Informativi L-A DB2 Universal

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

MYSQL. Avviare MySQL Per avviare il server MySQL basta lanciare il Servizio Mysql presente (aggiunto) tra i servizi di sistema.

MYSQL. Avviare MySQL Per avviare il server MySQL basta lanciare il Servizio Mysql presente (aggiunto) tra i servizi di sistema. Documento creato da Andrea www.ceccherini.net Per informazioni : andrea@ceccherini.net MYSQL MySQL è un database piuttosto popolare, reso ancor più interessante da almeno due fattori: primo, la sua gratuità;

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

SQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza)

SQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza) 26/03/2013 SQL SQL -DDL Esercizio 4.3 Dare le definizioni SQL delle tre tabelle FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza) rappresentando

Dettagli

Programmazione lato server PHP + MySQL

Programmazione lato server PHP + MySQL Programmazione lato server PHP + MySQL Cosa vediamo web server [Apache + PHP] request response web client database server [MySQL server in ascolto sulla porta 3306] Esempio: negozio virtuale Esempio: negozio

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

Un introduzione. Sistemi Informativi LM d'agostino, Fornari, Leardini

Un introduzione. Sistemi Informativi LM d'agostino, Fornari, Leardini Un introduzione Sistemi Informativi LM d'agostino, Fornari, Leardini 1 L utilizzo di MySQL Sistemi Informativi LM d'agostino, Fornari, Leardini 2 L utilizzo di MySQL Sistemi Informativi LM d'agostino,

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

Introduzione ad SQL. 1. Introduzione. 2. Gli operatori. 3. Istruzione SELECT. 4. Istruzione INSERT. 5. Istruzione UPDATE. 6.

Introduzione ad SQL. 1. Introduzione. 2. Gli operatori. 3. Istruzione SELECT. 4. Istruzione INSERT. 5. Istruzione UPDATE. 6. Introduzione ad SQL Guida a cura di Rio Chierego 1. Introduzione 2. Gli operatori 3. Istruzione SELECT 4. Istruzione INSERT 5. Istruzione UPDATE 6. Istruzione DELETE 7. Istruzione CREATE, ALTER e DROP

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

Introduzione a PostgreSQL

Introduzione a PostgreSQL Introduzione a PostgreSQL Un po di storia... 1977: all Università di Berkeley nasce progetto INGRES 1986: nasce The POSTGRES Project Leader: Prof. Michael Stonebraker 1989: DBMS Postgres (vers.1) 1990:

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

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

07. Ottimizzare le istruzioni SQL

07. Ottimizzare le istruzioni SQL 07. Ottimizzare le istruzioni SQL Introduzione Union, subquery e Join Il piano di esecuzione L ottimizzatore Le statistiche Il comando EXPLAIN Gli Hint A.A. 2005 Laboratorio di basi di dati - LB 2 La UNION

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

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

Antonello Alonzi a.alonzi@risorse.net

Antonello Alonzi a.alonzi@risorse.net PowerStats Statistiche professionali per il tuo sito MySQL 5 Le novità e le caratteristiche Antonello Alonzi a.alonzi@risorse.net La copia di questo documento Antonello è permessa Alonzi a.alonzi@risorse.net

Dettagli

DBMS. DataBase Management System. L. Vigliano

DBMS. DataBase Management System. L. Vigliano DBMS DataBase Management System DBMS Un DataBase Management System è un sistema di gestione il cui obiettivo generale è mantenere le informazioni (ovvero qualsiasi cosa sia ritenuta interessante da un

Dettagli

Impararlo è molto semplice, esistono manuali, o meglio mattoni, su SQL, ma qui verranno illustrati tutti i comandi più utilizzati... e utili.

Impararlo è molto semplice, esistono manuali, o meglio mattoni, su SQL, ma qui verranno illustrati tutti i comandi più utilizzati... e utili. Sql è un linguaggio standard che permette di operare con i database. Per database intendo uno qualsiasi e non il solito Access, ma anche Oracle, Microsoft SQL Server, Informix, DB2, Sybase... Sql sta per

Dettagli

SQL (STRUCTURED QUERY LANGUAGE)

SQL (STRUCTURED QUERY LANGUAGE) SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura

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

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

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

LINGUAGGIO SQL. Introduzione

LINGUAGGIO SQL. Introduzione LINGUAGGIO SQL Introduzione Il linguaggio SQL (Structured Query Language) è un linguaggio di tipo non procedurale o di tipo dichiarativo e rappresenta lo standard per l'interrogazione delle basi di dati

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

VIDES. Mariagrazia Rossi

VIDES. Mariagrazia Rossi VIDES Mariagrazia Rossi Sommario Descrizione della realtà... 2 Requisiti Funzionali... 2 Requisiti non Funzionali... 3 Dizionario dei termini... 3 Diagramma dei casi d uso... 4 CASI D USO... 7 Process

Dettagli

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

SQL - Tipi di dato Il linguaggio SQL

SQL - Tipi di dato Il linguaggio SQL SQL - Tipi di dato Il linguaggio SQL I tipi di dato in SQL:1999 si suddividono in tipi predefiniti tipi strutturati tipi user-defined ci concentreremo sui tipi predefiniti i tipi predefiniti sono suddivisi

Dettagli

Introduzione al linguaggio SQL

Introduzione al linguaggio SQL Introduzione al linguaggio SQL Structured Query Language (Linguaggio Strutturato di Interrogazione di Database) prof. Cleto Azzani IPSIA MORETTO BRESCIA (2004) Che cos è un Data Base (Base di dati) Insieme

Dettagli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici Il linguaggio SQL Il linguaggio SQL il linguaggio SQL è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose (California) è diventato

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

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

Esercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica

Esercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica Istituto di Istruzione Superiore Alessandrini - Marino 1 Esercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica Descrizione Un azienda commerciale che vende prodotti IT (computers,

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

********************* MODIFICA STRUTTURA DI UNA TABELLA (inserimento di un nuovo campo) ALTER TABLE Personale ADD Nascita date;

********************* MODIFICA STRUTTURA DI UNA TABELLA (inserimento di un nuovo campo) ALTER TABLE Personale ADD Nascita date; CREAZIONE STRUTTURA DI UNA TABELLA by Marinsalta Fausto CREATE TABLE Personale Matricola char(5), Cognome char(30), Nome char(20), Codfis char(16) not null, Assunzione date, Filiale smallint, Funzione

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

Tool. Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A. 2012-2013

Tool. Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A. 2012-2013 Tool Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A. 2012-2013 Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 1 / 26 Gli strumenti che vedremo Basi

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

Documentazione SQL. Argomento Sintassi Note Definizione schema create schema [NomeSchema] [[authorization] Autorizzazione] {DefElementoSchema}

Documentazione SQL. Argomento Sintassi Note Definizione schema create schema [NomeSchema] [[authorization] Autorizzazione] {DefElementoSchema} Documentazione SQL Argomento Sintassi Note Definizione schema create schema [NomeSchema] [[authorization] Autorizzazione] {DefElementoSchema} Definizione tabella Definizione dominio Specifica di valori

Dettagli

Al giorno d oggi, i sistemi per la gestione di database

Al giorno d oggi, i sistemi per la gestione di database Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,

Dettagli

Structured Query Language. Informatica Generale - SQL Versione 1.0, aa 2005-2006 p.1/172

Structured Query Language. Informatica Generale - SQL Versione 1.0, aa 2005-2006 p.1/172 Structured Query Language Informatica Generale - SQL Versione 1.0, aa 2005-2006 p.1/172 Linguaggio SQL (1) Il linguaggio SQL, acronimo di Structured Query Language è un linguaggio per la definizione e

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

Il linguaggio SQL. ing. Alfredo Cozzi 1

Il linguaggio SQL. ing. Alfredo Cozzi 1 Il linguaggio SQL ing. Alfredo Cozzi 1 Il linguaggio SQL Il linguaggio SQL (Structured Query Language) è nato con l intento di soddisfare alle seguenti richieste nei db relazionali: - definire e creare

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

SOLUZIONI COMMENTATE

SOLUZIONI COMMENTATE Nel database Biblioteca vi sono le seguenti tabelle: SOLUZIONI COMMENTATE Utenti := < id, nome, cognome, indirizzo,città, tel_fisso,cellulare > Prestiti := < id, id_libro, id_utente, data_ora_prestito,

Dettagli

Basi di dati Il linguaggio SQL

Basi di dati Il linguaggio SQL Basi di dati Il linguaggio SQL teoria e pratica con Microsoft Access Riepilogando Nelle basi di dati esiste 1. una parte invariante nel tempo, lo schema, costituita dalle caratteristiche dei dati (nomi

Dettagli

Basi di dati Il linguaggio SQL

Basi di dati Il linguaggio SQL Riepilogando Basi di dati Il linguaggio SQL Nelle basi di dati esiste 1. una parte invariante nel tempo, lo schema, costituita dalle caratteristiche dei dati (nomi degli attributi, domini, 2. una parte

Dettagli

DBMS ORACLE 9i I componenti del Database Server Oracle : Strutture di memoria Processi File fisici Directory principali: c:\oracle\admin\\pfile c:\oracle\ora92\database

Dettagli

Il linguaggio SQL. Evoluzione del linguaggio. I linguaggi dentro SQL. I dialeu SQL. U@lizzo di SQL SQL. A. Ferrari 1

Il linguaggio SQL. Evoluzione del linguaggio. I linguaggi dentro SQL. I dialeu SQL. U@lizzo di SQL SQL. A. Ferrari 1 Il linguaggio SQL Structured Query Language SQL è un linguaggio di interrogazione per database proge

Dettagli

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Roccatello Ing. Eduard L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Agenda Presentazione docente Definizione calendario Questionario pre corso

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 1 Raffaella Gentilini 1 / 67 Sommario 1 Introduzine al Linguaggio SQL Concetti Preliminari 2 3 2 / 67 Concetti Preliminari Il linguaggio SQL SQL Acronimo per

Dettagli

Il Domino Character Il domino CHARACTER permette di definire attributi che contengono un singolo carattere o stringhe di caratteri di lunghezza

Il Domino Character Il domino CHARACTER permette di definire attributi che contengono un singolo carattere o stringhe di caratteri di lunghezza Linguaggio SQL (1) Il linguaggio SQL, acronimo di Structured Query Language è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose

Dettagli

Data base relazionale ed SQL. Modello relazionale dei data base e il linguaggio standard per la loro gestione

Data base relazionale ed SQL. Modello relazionale dei data base e il linguaggio standard per la loro gestione Data base relazionale ed SQL Modello relazionale dei data base e il linguaggio standard per la loro gestione Contenuti Modello relazionale Cenni sulla progettazione di un data base Normalizzazione delle

Dettagli

Gestione di un Forum

Gestione di un Forum Indice generale Gestione di un Forum Analisi... 1 Schema ER... 2 Dizionario dei dati... 3 Schema logico... 3 Scelte implementative... 4 DataBase utilizzato... 8 SQL... 11 Manuale d'uso... 12 Analisi Problema

Dettagli

RELAZIONE E-COMMERCE

RELAZIONE E-COMMERCE RELAZIONE E-COMMERCE di Jessica Gregoire Istituto Tecnico Economico Agostino Bassi Anno scolastico 2012/2013 1 INDICE Traccia del problema : pagina 2 Analisi di massima: pagina 2 Analisi al dettaglio:

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

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.b Interazione con un database (MySQL Server)

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.b Interazione con un database (MySQL Server) MODULO 1 PARTE 3 Programmazione (scripting) server-side con PHP 3.b Interazione con un database (MySQL Server) Goy - a.a. 2009/2010 Programmazione Web 1 Informazione persistente Se vogliamo tener traccia

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

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

Corso di Basi di Dati A.A. 2013/2014

Corso di Basi di Dati A.A. 2013/2014 Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2013/2014 Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 29/03/2014 SQL : Structured Query Language

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

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli

Esercitazioni di Basi di Dati

Esercitazioni di Basi di Dati Esercitazioni di Basi di Dati A.A. 2008-09 Dispense del corso Utilizzo base di pgadmin III Lorenzo Sarti sarti@dii.unisi.it PgAdmin III PgAdmin III è un sistema di progettazione e gestione grafica di database

Dettagli

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI IL LINGUAGGIO SQL Il linguaggio SQL ( Structured Query Languages) è un linguaggio non procedurale che è diventato uno standard tra i linguaggi per la gestione dei database relazionali. Il linguaggio procedurale

Dettagli

Il linguaggio SQL: le basi

Il linguaggio SQL: le basi Il linguaggio SQL: le basi Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLa-basi.pdf Sistemi Informativi L-A SQL: caratteristiche generali

Dettagli

MAX, SUM, AVG, COUNT)

MAX, SUM, AVG, COUNT) INTRODUZIONE A SQL Definizione di tabelle e domini Alcuni vincoli di integrità Struttura base SELECT FROM WHERE Funzioni di aggregazione (MIN, MAX, SUM, AVG, COUNT) Query da più tabelle (FROM R1, Rk) Join

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

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

Domini Numerici Esatti (1) I domini numerici esatti permettono di definire attributi che contenegono valori esatti interi o con parte frazionaria.

Domini Numerici Esatti (1) I domini numerici esatti permettono di definire attributi che contenegono valori esatti interi o con parte frazionaria. Linguaggio SQL (1) Il linguaggio SQL, acronimo di Structured Query Language è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose

Dettagli

Modelli relazionali. Esistono diversi modi di modellare un database. Il modello piu' usato al momento e' il modello relazionale

Modelli relazionali. Esistono diversi modi di modellare un database. Il modello piu' usato al momento e' il modello relazionale Cenni sui DATABASE Cos'e' un database Un database puo' essere definito come una collezione strutturata di record (dati) I dati sono memorizzati su un computer in modo opportuno e possono essere recuperati

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

Il linguaggio SQL. I Sistemi di Gestione di Basi di Dati. Data Management Software

Il linguaggio SQL. I Sistemi di Gestione di Basi di Dati. Data Management Software DB2 Data Management Software Il linguaggio SQL I Sistemi di Gestione di Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004 LEGGERE LE SEGUENTI ATTENZIONI Le informazioni contenute

Dettagli

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare

Dettagli

Create la tabella Dipendenti:

Create la tabella Dipendenti: Create la tabella Dipendenti: create table Dipendenti( id int(3) not null auto_increment, livello int(1) not null, stipendio int(4) not null, primary key(id)); mysql> describe Dipendenti; --------+------+-----+---------+----------------+

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

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