Sommario. Pag. 1 di 34 rev 3

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Sommario. Pag. 1 di 34 rev 3"

Transcript

1 Sommario GNU-Linux e i Database...2 MySQL...3 Installazione...3 Accedere al DB...4 Tipi di dati...7 Formato numerico:...7 Formato carattere e/o stringa:...8 Formato data:...8 Altri formati:...8 Creazione base dati e tabelle...8 Inserimento delle tuple Interroghiamo il database Modifichiamo le tuple Backup del database PostgreSQL Installazione Accedere al DB Tipi di dati Formato numerico: Formato carattere e/o stringa: Formato data: Creazione base dati e tabelle Inserimento delle tuple Interroghiamo il database Modifichiamo le tuple Backup del database JOIN Inner: Left: Right: Esempi: INNER JOIN LEFT JOIN View Foreign-Keys Stored-Procedure Ripristino password utente root Pag. 1 di 34 rev 3

2 GNU-Linux e i Database I principali database relazionali (Relational DataBase Management System) utilizzati su piattaforma GNU- Linux sono essenzialmente due, vediamone alcune differenze: MySQL o o o Distribuito come codice sorgente o eseguibili, con duplice licenza GPL/Proprietaria Implementa transazioni, foreign key, subselect e union solo dalla versione 4 (solo su backend/motori InnoDB (di default sulla versione 5.5)e non MyISAM), implementa view, stored procedure, trigger e supporto ad Unicode solo dalla versione 5, non implementa full join e costraint sui dati. Veloce in presenza di numero di letture più numerose rispetto alle scritture, e di bassi livelli di accessi concorrenti, ma ha scarsa scalabilità verso l alto all aumentare del carico di scrittura PostgreSQL o o o Distribuito come codice sorgente o eseguibili, licenza in stile BSD Implementa da anni transazioni, foreign keys, subselect, union, view, stored procedure, trigger, support ad Unicode, full join e costraint sui dati Lento per bassi livelli di accessi concorrenti, ma scala bene verso l alto all aumentare del carico di scrittura Per coerenza è necessario far notare che esistono anche altri tipi di database, quelli non relazionali. Questi archivi di dati non richiedono uno schema fisso di tabelle, come Cassandra ( Link NoSQL: Pag. 2 di 34 rev 3

3 MySQL Progetto OpenSource, nato nel 1996, attualmente sviluppato e supportato da Oracle. L amministrazione del server può essere fatta da riga di comando, tramite un apposito interprete, oppure attraverso GUI, la più famosa è phpmyadmin, che richiede un server web (ed esempio Apache) e php Installazione Può essere installato da gestore dei pacchetti, oppure scaricandolo direttamente dal sito del progetto. E sufficiente andare nell area download, selezionare i pacchetti relativi alla propria piattaforma (nel nostro esempio RedHat 4-5) ed effettuarne lo scaricamento, aprire l archivio, ed installare i pacchetti voluti (nel nostro esempio il server e le utility client) Pag. 3 di 34 rev 3

4 Accedere al DB MySQL come per tutti gli altri demoni può essere fatto partire, fermare o restartare con la solita sintassi già vista, ossia utilizzando il comando service oppure richiamando direttamente lo script in /etc/init.d Per interagire con MySQL possono essere utilizzate varie tipologie di strumenti, Interfacce grafiche, Interfacce testuali, PHP, ecc. Di default ci viene messo a disposizione un interprete di comandi testuale, per utilizzarlo è sufficiente richiamarlo, passandogli come argomento l utente che accederà, nel nostro caso root Dopodichè resterà in attesa di comandi (ogni comando in linea dovrà finire con ; ), per uscire digitare quit seguito da invio Pag. 4 di 34 rev 3

5 Se accedendo all interprete ricevessimo un errore del tipo: Access denied for user (using password: NO) Prima di continuare eseguire la procedura di ripristino password dell utente root, a pag. 33 L utente root (come utente del database) è lasciato dopo l installazione privo password, è buona cosa settarla come primo step (nell esempio la password viene settata ad assocam ). Nota: Molte delle operazioni di seguito indicate possono essere eseguite, con sintassi diverse, grazie al comando mysqladmin. Ad esempio per cambiare la password di root in assocam : mysqladmin u root password assocam D ora in poi se cercassimo di accedere con il comando mysql u root, riceveremmo un errore, il nuovo comando da utilizzare è mysql u root p Nell interprete dei comandi vi è una sorta di help diviso a sezioni, digitando help contents; verrà stampato a video l elenco delle sezioni disponibili Pag. 5 di 34 rev 3

6 Utilizzando sempre la stessa sintassi si può scorrere il manuale scendendo di livello, nell esempio successivo, sceglieremo la sezione amministrazione e visualizzeremo poi la sintassi del comando SHOW COLUMNS, opportunamente ridotto. Pag. 6 di 34 rev 3

7 Tipi di dati I dati nelle tabelle devono essere istanziati in fase di definizione della tabella, i principali tipi di dati utilizzati da MySQL sono: Formato numerico: tinyint: Occupa un byte di memoria. Questo tipo consente di memorizzare numeri interi compresi tra -128 e +127 oppure se sprovvisto di segno algebrico tra 0 e 255. smallint: Occupa due byte di memoria. Questo tipo consente di memorizzare numeri interi compresi tra e oppure se sprovvisto di segno algebrico tra 0 e mediumint: Occupa tre byte di memoria. Questo tipo consente di memorizzare numeri interi compresi tra e oppure se sprovvisto di segno algebrico tra 0 e int: Occupa quattto byte di memoria. Questo tipo consente di memorizzare numeri interi compresi tra e oppure se sprovvisto di segno algebrico tra 0 e bigint: Occupa otto byte di memoria. Questo tipo consente di memorizzare numeri interi compresi tra e oppure se sprovvisto di segno algebrico tra 0 e float(i,d): Occupa quattro byte. Consente di memorizzare dati frazionari mostrando I cifre per la parte intera e D cifre per la parte decimale. L'intervallo dei valori, dipende dai due valori specificati. Pag. 7 di 34 rev 3

8 double(i,d): Occupa otto byte ed il suo tipo di memorizzazione è lo stesso di quello del float(i,d). decimal(i,d): Occupa (I+2) byte. Formato di memorizzazione identico al double(i,d). Formato carattere e/o stringa: char(x): La dimensione massima è di 255 byte. La memoria occupata è pari ad x byte. varchar(x): La dimensione massima è di 255 byte. La memoria occupata è pari a (X+1)byte. A differenza del precedente, questo tipo di campo è variabile e quindi si adatta alla lunghezza del dato. Il valore x indica la lunghezza massima consentita al suo interno. tinytext/tinyblob: La dimensione massima è di 255 byte. text/blob: La dimensione massima è pari a byte.questi campi sono usati per memorizzare grosse quantità di testo o addirttura file. mediumtext/mediumblob: Simile al precedente, ma con una dimensione massima di 1.6 Mb. longtext/longblob: Simile al precedente, ma con una dimensione massima di 4.2 Gb. Formato data: datetime: Mostra data ed ora nel seguente formato: AAAA-MM-GG HH:MM:SS. date: Mostra la data nel seguente formato: AAAA-MM-GG. time: Mostra l'orario nel seguente formato: HH:MM:SS. year: Mostra l'anno nel formato AAAA. Altri formati: tipo enum: Consente di memorizzare un solo valore tra una serie possibile. Molto comodo quando si prelevano i valori da form contenenti delle select generate con l'ausilio del database oppure quando si presentano dei radio button. tipo set: Simile al precedente, ma con possibilità di inserire più valori tra quelli presenti in elenco. Molto comodo in caso di checkbox all'interno del nostro form. Creazione base dati e tabelle E sconsigliabile usare root per accedere alle basi dati, creeremo quindi un nuovo utente (pippo) che avrà i diritti sulla base dei dati (libreria) che andremo a creare Se in seguito volessimo eliminare l utente pippo dovremmo usare il comando drop user pippo; Creiamo la base dei dati, chiamiamola libreria Pag. 8 di 34 rev 3

9 E visto che siamo root diamo all utente i diritti di accesso alla stessa, associando all utente pippo la password pippo Scolleghiamoci come utente root con il comando quit e rientriamo come utente pippo con il comando mysql u pippo -p, e verifichiamo l esistenza del database Selezioniamo la base dati per l utilizzo Creiamo una tabella, la sintassi è nel formato: create table <nome tabella> ( <lista attributi e tipi> ); Il tutto può essere spezzato su più linee, l interprete prenderà come fine linea la pressione del tasto invio dopo il carattere punto_e_virgola. Ad ogni pressione di invio, senza la presenza del punto_e_virgola, l interprete andrà a capo inserendo il simbolo di continuazione linea - > Ad esempio creiamo la tabella libri e la tabella utenti Pag. 9 di 34 rev 3

10 Verifichiamo la presenza delle tabelle Se volessimo eliminare, ad esempio, la tabella utenti, la sintassi da utilizzare sarebbe drop table utenti; Inserimento delle tuple La tupla è la riga ( record) del database, mentre le colonne sono gli attributi. Ora che abbiamo creato un database ed un paio di tabelle di prova, proviamo ad inserire dei record. Se non ricordiamo la struttura delle tabelle ci viene in aiuto il comando SHOW COLUMNS Pag. 10 di 34 rev 3

11 Inseriamo 2 record nella tabella libro Ed altri 2 record nella tabella utente (nota il campo nullo) Interroghiamo il database Ora che abbiamo inserito dei dati, interroghiamo il database. Estraiamo tutti i dati dalla tabella libri Pag. 11 di 34 rev 3

12 Estraiamo tutti i dati dalla tabella libri, in ordine crescente di anno Estraiamo solo la/le tupla/e che hanno come ISBN Estraiamo tutti i dati dalla tabella libri, che hanno anno superiore al 1990 Estraiamo solo la/le tupla/e che hanno come titolo Libro più qualcosa Estraiamo solo il campo isbn della/le tupla/e in cui titolo finisce per 2 Pag. 12 di 34 rev 3

13 Estraiamo solo la/le tupla/e in cui titolo finisce per 2 Effettuiamo ora l operazione di estrazione dati utilizzando un file da dare in pasto a mysql. Creiamo un file contenente le istruzioni sql, e chiamiamolo, per esempio, query.sql Carichiamo ora il file all interno dell interprete Modifichiamo le tuple Controlliamo la tabella utente, e notiamo che una persona (l utente Bianchi), non ha un nome registrato nel database, ma solo il cognome che è impostato a record nullo (diverso da spazio vuoto) Pag. 13 di 34 rev 3

14 Correggiamo tale tupla inserendo il nome dell utente Bianchi. In questo caso sarebbe sufficiente selezionare la tupla con il cognome impostato su Bianchi, ma se avessimo più di una tupla con queste condizioni, tutte verrebbero aggiornate. Per essere sicuri di non sbagliare filtriamo il tutto anche con il valore di codice = 2 Poi controlliamo che tutto sia stato eseguito Se ora volessimo eliminare l utente A riprova dell operazione Pag. 14 di 34 rev 3

15 Backup del database Salviamo le istruzioni sql per ricreare all occorrenza il database in un file Il file ottenuto può essere visualizzato con un normale editor di testo. Se volessimo salvare il solo schema del database useremmo: Pag. 15 di 34 rev 3

16 Il database potrà essere ricreato con il comando PostgreSQL Detto anche Postgres, è un progetto OpenSource, nato nel 1982, attualmente sviluppato e supportato da un gruppo di sviluppatori liberi. L amministrazione del server può essere fatta da riga di comando, tramite un apposito interprete, oppure attraverso GUI, la più famosa è phppgadmin, che richiede un server web (ed esempio Apache) e php. Installazione Può essere installato da gestore dei pacchetti, oppure scaricandolo direttamente dal sito del progetto. E sufficiente andare nell area download, E selezionare i pacchetti relativi alla propria distribuzione, nel nostro caso quelli di Red-Hat 32 bit, ed effettuarne lo scaricamento Pag. 16 di 34 rev 3

17 Ed installare il pacchetto Il database è installato ma non ancora inizializzato, per fare ciò far partire lo script in /etc/init.d/ postgres- 9.1-openscg ed eseguirne la configurazione. Se non abbiamo bisogni particolari, lasciamo ove possibile le scelte di default, tranne per la password dell utente amministratore del database (nell esempio è stata impostata ad assocam). Pag. 17 di 34 rev 3

18 Lo stesso script può essere poi utilizzato per fermare, far partire, restartare il servizio Pag. 18 di 34 rev 3

19 Accedere al DB PostgreSQL usa un interprete dei comandi simile a quello visto per MySQL, psql Anche per PostgreSQL esiste un help in linea, con help vediamo le sezioni disponibili Ad esempio con \h vediamo le sezioni disponibili per i comandi SQL Pag. 19 di 34 rev 3

20 Ed ad esempio con \h DROP TABLE la sintassi del comando \q per uscire Tipi di dati I dati nelle tabelle devono essere istanziati in fase di definizione della tabella, i principali tipi di dati utilizzati da PostgreSQL sono: Formato numerico: integer: numero intero costituito al massimo da 9 cifre. smallint: numero intero per definizione più piccolo di quello esprimibile tramite il tipo integer float: espresso singolarmente indica un numero in virgola mobile float(n): indica invece un numero in virgola mobile della lunghezza di n bit. real: è anch'esso un numero in virgola mobile ma espresso in teoria con maggiore precisione rispetto a float double precision: è un numero in virgola mobile in pratica equivalente al tipo real Formato carattere e/o stringa: char: indica un singolo carattere char(n): indica invece una stringa della lunghezza fissa di n caratteri. varchar(n): indica una stringa di lunghezza variabile composta al massimo da n caratteri. Formato data: date: indica una data intera completa di giorno, mese ed anno. timestamp: indica un'informazione contenente data e ora. time: indica un orario completo di ore, minuti ed secondi. interval: indica un intervallo di tempo. Pag. 20 di 34 rev 3

21 Altri formati: boolean: che può assumere soltanto uno tra questi due valori. 1 e 0 oppure true e false Creazione base dati e tabelle Con l installazione vengono creati due template vuoti da utilizzare per la creazione di nuovi database, template1 il template vuoto e template0 la copia di sicurezza del primo. Connettiamoci quindi al database vuoto Ora che siamo collegati al template1, creiamo un nuovo utente pluto con password pluto Per eliminarlo usare DROP USER pluto ; Creiamo ora il database libreria. Se dovessimo eliminare il database appena creato, potremmo usare il comando destroydb libreria; E diamo all utente pluto i permessi sul database, Usciamo e colleghiamoci come utente al database creato Creiamo una tabella, la sintassi è nel formato: create table <nome tabella> ( <lista attributi e tipi> ); Pag. 21 di 34 rev 3

22 Il tutto può essere spezzato su più linee, l interprete prenderà come fine linea la pressione del tasto invio dopo il carattere punto_e_virgola. Ad ogni pressione di invio, senza la presenza del punto_e_virgola, l interprete andrà a capo attendendo altri comandi. Ad esempio creiamo la tabella libri e la tabella utenti Verifichiamo la presenza delle tabelle Se volessimo eliminare, ad esempio, la tabella utenti, la sintassi da utilizzare sarebbe drop table utenti; Pag. 22 di 34 rev 3

23 Inserimento delle tuple La tupla è la riga ( record) del database, mentre le colonne sono gli attributi. Ora che abbiamo creato un database ed un paio di tabelle di prova, proviamo ad inserire dei record. Se non ricordiamo la struttura delle tabelle ci viene in aiuto il comando \d Inseriamo 2 record nella tabella libro, nel primo esempio indichiamo espressamente i campi, nel secondo no Ed altri 2 record nella tabella utente (nota il campo nullo) Pag. 23 di 34 rev 3

24 Interroghiamo il database Ora che abbiamo inserito dei dati, interroghiamo il database. Estraiamo tutti i dati dalla tabella libri Estraiamo tutti i dati dalla tabella libri, in ordine crescente di anno Estraiamo solo la/le tupla/e che hanno come ISBN Estraiamo tutti i dati dalla tabella libri, che hanno anno superiore al 1990 Estraiamo solo la/le tupla/e che hanno come titolo Libro più qualcosa Pag. 24 di 34 rev 3

25 Estraiamo solo il campo isbn della/le tupla/e in cui titolo finisce per 2 Estraiamo solo la/le tupla/e in cui titolo finisce per 2 Effettuiamo ora l operazione di estrazione dati utilizzando un file da dare in pasto a PostgreSQL. Creiamo un file contenente delle istruzioni sql, e chiamiamolo, per esempio, query.sql Carichiamo ora il file all interno dell interprete Modifichiamo le tuple Controlliamo la tabella utente, e notiamo che una persona (l utente Bianchi), non ha un nome registrato nel database, ma solo il cognome che è impostato a record nullo (diverso da spazio vuoto) Pag. 25 di 34 rev 3

26 Correggiamo tale tupla inserendo il nome dell utente Bianchi. In questo caso sarebbe sufficiente selezionare la tupla con il cognome impostato su Bianchi, ma se avessimo più di una tupla con queste condizioni, tutte verrebbero aggiornate. Per essere sicuri di non sbagliare filtriamo il tutto anche con il valore di codice = 2 Poi controlliamo che tutto sia stato eseguito Se ora volessimo eliminare l utente Backup del database Possiamo effettuare anche per PostgreSQL il salvataggio dei database, che come per MySQL creerà un file con le istruzioni SQL per la creazione del DB. Anche qui i files ottenuti possono essere visionati con un qualsiasi editor testuale. Volendo solo salvare lo schema del database, il comando diventerebbe: Per ricreare il database (attenzione questo deve esistere già) possiamo usare il comando: Pag. 26 di 34 rev 3

27 Pag. 27 di 34 rev 3

28 JOIN Quando vi è la necessità di recuperare dati, correlati tra loro, da più tabelle, ci viene in aiuto il join. Esistono vari tipi di join, ed ognuno si comporta in maniera diversa, i più usati sono: Inner: Quella più comune, fa corrispondere ad un elemento di una tabella un elemento uguale di un altra tabella Left: Permette di estrarre tutti i record della tabella principale (quella definita a sinistra dell istruzione LEFT JOIN), che abbiano una correlazione con quelli presenti nella seconda tabella Right: Come per quello precedente, ma viene considerata la tabella a destra dell istruzione RIGHT JOIN Pag. 28 di 34 rev 3

29 Esempi: INNER JOIN LEFT JOIN Pag. 29 di 34 rev 3

30 View Alle volte capita di avere delle query molto complicate, con JOIN su varie tabelle, e dover ripetere la stessa query su più pagine, in tal caso ci vengono in aiuto le VISTE, queste ci permettono di trasformare il risultato della query in una tabella virtuale da utilizzare in altre SELECT come se fosse una tabella reale. Creiamo a tal proposito una Vista per una query volutamente complessa che unisce 3 tabelle, ad esempio: CREATE VIEW dario AS SELECT cane.codice, cane.data, cane.tipo FROM (cane INNER JOIN dati ON cane.padrone=dati.id) INNER JOIN anagrafica ON cane.citta=anagrafica=citta WHERE anagrafica.nome= Dario ; Questa Vista potra essere richiamata all interno di un altra SELECT come se fosse davvero una tabella fisica, ad esempio con: SELECT * from dario; Foreign-Keys Anche dette chiavi esterne, servono a creare un vincolo di referenzazione tra due tabelle, vengonu utilizzate per evitare che tabelle con campi correlate restino in stato incongruente a causa della cancellazione o modifica di uno dei campi correlati. Esistono al momento 3 vincoli all utilizzo delle chiavi esterne: 1. Entrambe le tabelle devono essere di tipo InnoDB 2. Entrambe le tabelle devono avere un indice i cui campi interessati sono posizionati come primi campi della tabella 3. Non possono essere usati campi di tipo TEXT o BLOG Per stabilire il tipo di comportamento da tenere per mantenere la referenziazione ed integrità dei dati, si possono scegliere 5 azioni diverse da eseguire in caso di cancellazione o modifica dei record: CASCADE SET NULL NO ACTION (RESTRICT) Pag. 30 di 34 rev 3

31 Facciamo un esempio per capire meglio l utilizzo delle varie azioni, immaginiamo di creare una tabella che contenga una lista di editori: CREATE TABLE editor ( id INT AUTO_INCREMENT, nome VARCHAR (50), PRIMARY KEY id (id)) TYPE=InnoDB; Popoliamo ora la tabella con dei dati: INSERT INTO editor (id, nome) VALUES (1, Mondadori ), (2, Feltrinelli ), (3, Apogeo ), (4, Tecniche Nuove ); Creiamo ora la tabella correlata con l elenco dei libri, referenziando le due chiavi primarie: CREATE TABLE libri ( id INT AUTO_INCREMENT, titolo VARCHAR (50), editor INT NOT NULL, PRIMARY KEY (editor) REFERENCES editor(id) ON DELETE NO ACTION ON UPDATE NO ACTION) TYPE=InnoDB; Popoliamo anche questa con dei dati: INSERT INTO libri (titolo, editor) VALUES ( Di noi tre, 1), ( Due di due, 1), (Diario di Bolivia, 2), ( Il tropico del cancro, 2), ( HTML 4, 3), ( MySQL, 3), ( PHP in 24 ore, 4), ( Il WEB, 4); Vediamo le varie azioni come si comporterebbero. CASCADE: La cancellazione o la modifica di un record della tabella padre modificherebbe o cancellerebbe quelli correlati della tabella figlio. Nel nostro esempio se cancellassimo dalla tabella editor la riga contenente Apogeo, automaticamente verrebbero cancellate anche le righe della tabella libri collegate a quell editore, nel nostro caso i libri con nome HTNL 4 ed MySQL SET NULL: La cancellazione o la modifica di un record della tabella padre setterebbe a valore nullo NULL i record correlati della tabella figlio. Nel nostro esempio se cancellassimo dalla tabella editor la riga contenente Apogeo, automaticamente Pag. 31 di 34 rev 3

32 verrebbero settati a NULL i campi relativi all editore nelle righe della tabella libri collegate a quell editore, nel nostro caso i libri con nome HTNL 4 ed MySQL NO ACTION o RESTRICT: Viene impedita la modifica o la cancellazione di record della tabella padre in cui i campi sono correlati ad una tabella figlio. Stored-Procedure Sono mini-progarmmi in SQL che vengono salvati all interno del database, per venir richiamati al momento più opportuno. Hanno il vantaggio di evitare al client riscritture di query ricorsive, ma lo svantaggio di aumentare il carico di lavoro del server. Queste si dividono in: 1. Funzioni Accettano parametri in input/output e restituiscono un valore in uscita esempio, creo una funzione che calcola la media dei parametri in input. DELIMITER // CREATE FUNCTION MEDIA (num1 INT, num2 INT, num3 INT) RETURNS INT DETERMINISTIC BEGIN DECLARE avg INT; SET avg = (num1+num2+num3)/3; RETURN avg; END // DELIMITER ; Richiamando la funzione con SELECT MEDIA(50,40,30); otterremo Procedure Come sopra, ma non restituiscono valori in uscita esempio, creo una procedura chiamata conta CREATE PROCEDURE conta (IN parametro1 INT, OUT parametro2 INT) SELECT COUNT (*) INTO parametro2 FROM tabella WHERE campo1 = campo2; Quando questa verra richiamata dal comando CALL conta Questa contera in tabella le occorrenze del carattere definito da parametro1 e memorizzera il risultato nella questo risultato può essere visualizzato mediante il comando Pag. 32 di 34 rev 3

33 3. Trigger Eseguono operazioni che si attivano tramite degli eventi esempio, creo un trigger che si attiva prima di ogni update della tabella lista, controllando il valore assegnato al campo totale non sia minore di 0, in caso contrario viene modificato prima di essere scritto sulla tabella DELIMITER // CREATE TRIGGER controlla BEFORE UPDATE ON lista FOR EACH ROW BEGIN IF NEW.totale < 0 THEN SET NEW.totale = 0; END IF: END; // DELIMITER ; Ripristino password utente root Fermare il servizio DB ed accedere al server in modalità manutenzione senza password connettersi come root (senza password), ripristinare la password di root (in questo caso assocam ), forzare MySQL a ricaricare le tabelle dei permessi ed uscire dall interprete di MySQL Pag. 33 di 34 rev 3

34 riavviare i servizi Pag. 34 di 34 rev 3

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

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

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

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

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

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

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

Il linguaggio SQL: DDL di base

Il linguaggio SQL: DDL di base Il linguaggio SQL: DDL di base Sistemi Informativi T Versione elettronica: 04.1.SQL.DDLbase.pdf SQL: caratteristiche generali SQL (Structured Query Language) èil linguaggio standard de facto per DBMS relazionali,

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

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

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

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

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

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

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

Concetti fondamentali dei database database Cos'è un database Principali database

Concetti fondamentali dei database database Cos'è un database Principali database Concetti fondamentali dei database Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati. Le operazioni possono essere molteplici: ricerca, aggregazione con altri e riorganizzazione

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

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

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

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

Basi di Dati e Sistemi Informativi. Structured Query Language

Basi di Dati e Sistemi Informativi. Structured Query Language Basi di Dati e Sistemi Informativi Structured Query Language Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale SQL come DDL e DML SQL non è solo un linguaggio di interrogazione Linguaggio

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

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari: SQL SQL (pronunciato anche come l inglese sequel: acronimo di Structured Query Language (linguaggio di interrogazione strutturato Linguaggio completo che presenta anche proprietà di: DDL (Data Definition

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

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

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

Creazione manuale delle tabelle (mediante scrittura del codice SQL corrispondente)

Creazione manuale delle tabelle (mediante scrittura del codice SQL corrispondente) Università degli Studi di Modena e Reggio Emilia Facoltà di Scienze della Comunicazione e dell Economia Corso di Laurea in Comunicazione e Marketing Anno Accademico 2005/06 Metodi per la Gestione dei Dati

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

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

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

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

qui possiamo scegliere se creare un nuovo Database oppure aprire un Database già esistente. Fatto ciò avremo questa seconda schermata:

qui possiamo scegliere se creare un nuovo Database oppure aprire un Database già esistente. Fatto ciò avremo questa seconda schermata: Creare un Database completo per la gestione del magazzino. Vedremo di seguito una guida pratica su come creare un Database per la gestione del magazzino e la rispettiva spiegazione analitica: Innanzitutto

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

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

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

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

Gestione delle tabelle

Gestione delle tabelle Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 Creazione di una tabella (1/3) Si utilizza

Dettagli

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 2007 Politecnico di Torino 1 Creazione

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

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro)

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 1a a) Creare, utilizzando Microsoft Access, la base di dati Università,, seguendo lo schema logico relazionale seguente: DATABASE Università

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

1. I database. La schermata di avvio di Access

1. I database. La schermata di avvio di Access 7 Microsoft Access 1. I database Con il termine database (o base di dati) si intende una raccolta organizzata di dati, strutturati in maniera tale che, effettuandovi operazioni di vario tipo (inserimento

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

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

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

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

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

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

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

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

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

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

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

Vincoli di Integrità Approccio dichiarativo alla loro implementazione Vincoli di Integrità Approccio dichiarativo alla loro implementazione Antonella Poggi Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico

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

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

---------------------------------------------------------------------------- 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

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System) (DataBase Management System) Sistemi di ges3one di basi di da3 Un Database Management System è un sistema software progettato per consentire la creazione e manipolazione efficiente di database (collezioni

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

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

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

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

SQL: Concetti Base -Prima Parte-

SQL: Concetti Base -Prima Parte- SQL: Concetti Base -Prima Parte- Atzeni, Ceri, Paraboschi, Torlone Basi Di Dati: Modelli e Linguaggi di Interrogazione, McGraw-Hill Italia Capitolo 4 SQL Structured Query Language Contiene: DDL (Data Definition

Dettagli

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari Gubiani & Montanari Il DBMS Oracle 1 Il DBMS Oracle Express Edition Donatella Gubiani e Angelo Montanari Il DBMS Oracle Il DBMS Oracle Oracle 10g Express Edition Il DBMS Oracle (nelle sue versioni più

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

Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a. 2010-2011

Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a. 2010-2011 Corso di Laurea in Informatica Basi di Dati a.a. 2010-2011 Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare i dati della realtà di interesse

Dettagli

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti. SH.MedicalStudio Presentazione SH.MedicalStudio è un software per la gestione degli studi medici. Consente di gestire un archivio Pazienti, con tutti i documenti necessari ad avere un quadro clinico completo

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

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

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5 Domini elementari, Basi di dati Linguaggi di Interrogazione: SQL Prof.Angela Bonifati Bit Valori booleani (vero/falso), singoli o in sequenza (la sequenza può essere di lunghezza variabile) Sintassi: bit

Dettagli

OSSIF WEB. Manuale query builder

OSSIF WEB. Manuale query builder OSSIF WEB Manuale query builder - Maggio 2010 1) Sommario 1) SOMMARIO... 2 INTRODUZIONE... 3 Scopo del documento... 3 Struttura del documento... 3 Descrizione dell interfaccia grafica... 3 SELEZIONE DI

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

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

SQL. Storia e standard

SQL. Storia e standard SQL Lorenzo Sarti 2009 Basi di Dati 1 Storia e standard Lorenzo Sarti 2009 Basi di Dati 2 SQL-2 È ricco e complesso e nessun sistema commerciale lo implementa in maniera completa Sono definiti 3 livelli

Dettagli

Stored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma

Stored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma Stored Procedures Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma Progetto di Applicazioni Software Stored Procedure e User Defined

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

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

The world s most advanced class on PostgreSQL o quasi! 4 Marzo 8 Aprile 2015. L'Antipasto 11 Marzo

The world s most advanced class on PostgreSQL o quasi! 4 Marzo 8 Aprile 2015. L'Antipasto 11 Marzo The world s most advanced class on PostgreSQL o quasi! 4 Marzo 8 Aprile 2015 L'Antipasto 11 Marzo Riepilogo della puntata precedente ##################### Avviamo la macchina virtuale #####################

Dettagli

Esercitazione 01: DDL e DML di base

Esercitazione 01: DDL e DML di base Esercitazione 01: DDL e DML di base Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: Esercitazione01.pdf Sistemi Informativi L-A Prima di iniziare

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

Vincoli di Integrità

Vincoli di Integrità Vincoli di Integrità Approccio procedurale Antonella Poggi Dipartimento di informatica e Sistemistica Università di Roma La Sapienza Progetto di Applicazioni Software Anno accademico 2008-2009 Questi lucidi

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

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

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

Riferimenti semi-bibliografici:

Riferimenti semi-bibliografici: Università degli Studi di Modena e Reggio Emilia Facoltà di Scienze della Comunicazione e dell Economia Corso di Laurea in Comunicazione e Marketing Anno Accademico 2005/06 Metodi per la Gestione dei Dati

Dettagli

MODULO 5 DATA BASE PROGRAMMA. Progettazione rapida introduzione alla progettazione di DB

MODULO 5 DATA BASE PROGRAMMA. Progettazione rapida introduzione alla progettazione di DB MODULO 5 DATA BASE MODULO 5 - DATA BASE 1 PROGRAMMA Introduzione: concetti generali di teoria Progettazione rapida introduzione alla progettazione di DB Utilizzo di Access pratica sulla creazione e l utilizzo

Dettagli

MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com

MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com 15.03.2006 Ver. 1.0 Scarica la versione pdf ( MBytes) Nessuno si spaventi! Non voglio fare né un manuale

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

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

Backup e Restore di un database PostgreSQL Sandro Fioravanti INFN-LNF

Backup e Restore di un database PostgreSQL Sandro Fioravanti INFN-LNF SPARC-CS-12/001 20 Gennaio 2012 Backup e Restore di un database PostgreSQL Sandro Fioravanti INFN-LNF Abstract Vengono descritte le procedure di backup e restore dei dati memorizzati in un database di

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

TEORIA sulle BASI DI DATI

TEORIA sulle BASI DI DATI TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

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

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

Manuale utente Volta Control

Manuale utente Volta Control Manuale utente Volta Control www.satellitevolta.com 1 www.satellitevolta.com 2 Volta Control è un tool che permette la progettazione, l implementazione e la gestione di database Cassandra tramite interfaccia

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

Basi di Dati Relazionali

Basi di Dati Relazionali Corso di Laurea in Informatica Basi di Dati Relazionali a.a. 2009-2010 Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio Coadiutore: Dott.ssa D. Nicotera PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare

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