SQLite DB. Programmazione di disposi8vi mobili - v Libreria da usare in un programma. hcps:// in android è installata

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "SQLite DB. Programmazione di disposi8vi mobili - v Libreria da usare in un programma. hcps://www.sqlite.org/ in android è installata"

Transcript

1 SQLite DB 2013/14 Programmazione di disposi8vi mobili - v1.1 1 SQLite3 Libreria da usare in un programma hcps:// in android è installata Installare ed usare sulla shell Tante UI da NON usare J hcp://sqlitestudio.pl/ Programmazione Java per Disposi8vi Mobili 2 Programmazione Java per Disposi8vi Mobili 1

2 Database relazionali Da8 raccol8 in tabelle non ordinate: relazioni colonne: campi, acribu8, fields righe: tuple, records Utenti (CF, nome, cognome) CF nome cognome BNCFR... Franco Bianchi VRDGS... Giuseppe RSSMR... Mario Verdi Rossi Libri (ISBN, autore, titolo) ISBN autore titolo Caroll Alice in W Tanenbaum Reti di Calc AA. VV. Lonely Plan Hofstadter GEB-EGB Prestiti (utente, libro, dataprestito, datarestituzione) utente libro dataprestito datarestituzione RSSMR /12/ VRDGS /10/ /11/ Programmazione Web 3 Vincoli di integrità Evitano che vengano inserite informazioni "non possibili" Esistono da8 che sono sintavcamente correv ma non rappresentano informazioni possibili per l applicazione di interesse Vincoli di dominio 8po di dato ammesso per un campo Chiavi primarie Insieme di acribu8 che iden8ficano univocamente le tuple di una relazione Vincoli di tupla relazioni interne fra i da8 Vincoli di integrità referenziale Fanno riferimento a chiavi primarie su altre relazioni SoddisfaV se valore esiste nell'altra relazione Programmazione Web 4 Programmazione Java per Disposi8vi Mobili 2

3 Vincoli di dominio Tipi di dato che uso per le diverse colonne Il codice fiscale ha il suo formato Utenti (CF, nome, cognome) CF nome cognome BNCFR... Franco Bianchi VRDGS... Giuseppe Verdi RSSMR... Mario Rossi Devono esistere Libri (ISBN, autore, titolo) ISBN autore titolo Caroll Alice in W Tanenbaum Reti di Calc AA. VV. Lonely Plan Hofstadter GEB-EGB Prestiti (utente, libro, dataprestito, datarestituzione) utente libro dataprestito datarestituzione RSSMR /12/ VRDGS /10/ /11/ Programmazione Web 5 Chiavi Primarie Insieme di acribu8 che iden8ficano univocamente le tuple di una relazione Almeno una per ogni relazione Possono essere definite su più acribu8 Se non esiste una chiave, va definita (es. valore incrementale) Utenti (CF, nome, cognome) CF nome cognome BNCFR... Franco Bianchi VRDGS... Giuseppe Verdi RSSMR... Mario Rossi Devono esistere Libri (ISBN, autore, titolo) ISBN autore titolo Caroll Alice in W Tanenbaum Reti di Calc AA. VV. Lonely Plan Hofstadter GEB-EGB Prestiti (utente, libro, dataprestito, datarestituzione) utente libro dataprestito datarestituzione RSSMR /12/ VRDGS /10/ /11/ Programmazione Web 6 Programmazione Java per Disposi8vi Mobili 3

4 Vincoli di tupla datapres8to < datares8tuzione Utenti (CF, nome, cognome) CF nome cognome BNCFR... Franco Bianchi VRDGS... Giuseppe Verdi RSSMR... Mario Rossi Devono esistere Libri (ISBN, autore, titolo) ISBN autore titolo Caroll Alice in W Tanenbaum Reti di Calc AA. VV. Lonely Plan Hofstadter GEB-EGB Prestiti (utente, libro, dataprestito, datarestituzione) utente libro dataprestito datarestituzione RSSMR /12/ VRDGS /10/ /11/ Programmazione Web 7 Vincoli di integrità referenziale Fanno riferimento a chiavi primarie su altre relazioni SoddisfaV se valore esiste nell'altra relazione Utenti (CF, nome, cognome) CF nome cognome BNCFR... Franco Bianchi VRDGS... Giuseppe Verdi RSSMR... Mario Rossi Devono esistere Libri (ISBN, autore, titolo) ISBN autore titolo Caroll Alice in W Tanenbaum Reti di Calc AA. VV. Lonely Plan Hofstadter GEB-EGB Prestiti (utente, libro, dataprestito, datarestituzione) utente libro dataprestito datarestituzione RSSMR /12/ VRDGS /10/ /11/ Programmazione Web 8 Programmazione Java per Disposi8vi Mobili 4

5 Esercizio comandi sql Programmazione Java per Disposi8vi Mobili 9 Programmazione Java per Disposi8vi Mobili 10 Programmazione Java per Disposi8vi Mobili 5

6 Database locale Le app possono creare un db locale per memorizzare i da8 Il db è SQLite libreria per ges8re un db in un file Path db /data/data/<your.package.name>/databases/<database- name>.db Programmazione Java per Disposi8vi Mobili 11 SQLiteDatabase android.database.sqlite.sqlitedatabase Apertura db ma anche da context Interfaccia db SQL raw execsql create update e delete rawquery retrive Metodi specifici insert, query, update, delete Programmazione Java per Disposi8vi Mobili 12 Programmazione Java per Disposi8vi Mobili 6

7 Apertura DB opendatabase(string path, SQLiteDatabase.CursorFactory factory, int flags, DatabaseErrorHandler errorhandler) This method only opens the exis8ng database with the appropriate flag mode. The common flags mode could be OPEN_READWRITE OPEN_READONLY opendatabase(string path, SQLiteDatabase.CursorFactory factory, int flags) It is similar to the above method as it also opens the exisi8ng database but it does not define any handler to handle the errors of databases openorcreatedatabase(string path, SQLiteDatabase.CursorFactory factory) It not only opens but create the datbase if it not exists. This method is equivalent to opendatabase method openorcreatedatabase(file file, SQLiteDatabase.CursorFactory factory) This method is similar to above method but it takes the File object as a path rather then a string. It is equavilent to file.getpath() Programmazione Java per Disposi8vi Mobili 13 execsql Usato per inserire da8 ma anche modificare il db o cancellare righe. "Execute a single SQL statement that is NOT a SELECT or any other SQL statement that returns data" mydatabase.execsql("create TABLE IF NOT EXISTS Uten8(nomeVARCHAR,passwordVARCHAR);"); mydatabase.execsql("insert INTO Uten8 VALUES('admin','admin');"); execsql(string sql) Programmazione Java per Disposi8vi Mobili 14 Programmazione Java per Disposi8vi Mobili 7

8 rowquery String q = "SELECT * FROM Uten8"; Cursor mcursor = mdb.rawquery(q, null); q = "SELECT * FROM Uten8 WHERE nome = 'admin'" ; mcursor = mdb.rawquery(q, null); q = "SELECT nome FROM Uten8 WHERE nome =? AND password =?" mcursor = mdb.rawquery(q, new String[] {"admin", "wrwerwer"); Programmazione Java per Disposi8vi Mobili 15 Cursor Iteratore su una tabella di valori Result Set Metodi cursor.movetofirst() cursor.movetonext() cursor.getstring(0) cursor.getint(1) Programmazione Java per Disposi8vi Mobili 16 Programmazione Java per Disposi8vi Mobili 8

9 esempio String q= "SELECT * FROM Uten8"; SQLiteDatabase db =... Cursor cursor = db.rawquery(q, null); if (cursor.movetofirst()) { do { int id = cursor.getint(0); String name cursor.getstring(1);... while (cursor.movetonext()); Programmazione Java per Disposi8vi Mobili 17 Metodi di cursor getcolumncount() This method return the total number of columns of the table. getcolumnindex(string columnname) This method returns the index number of a column by specifying the name of the column getcolumnname(int columnindex) This method returns the name of the column by specifying the index of the column getcolumnnames() This method returns the array of all the column names of the table. getcount() This method returns the total number of rows in the cursor getposi8on() This method returns the current posi8on of the cursor in the table isclosed() This method returns true if the cursor is closed and return false otherwise Programmazione Java per Disposi8vi Mobili 18 Programmazione Java per Disposi8vi Mobili 9

10 insert SQLiteDatabase db =... ContentValues contentvalues = new ContentValues(); contentvalues.put("nome","pier"); contentvalues.put("password","hksksj"); db.insert("uten8",null,contentvalues); Programmazione Java per Disposi8vi Mobili 19 Programmazione Java per Disposi8vi Mobili 20 Programmazione Java per Disposi8vi Mobili 10

11 SQLiteOpenHelper Classe di u8lità per ges8re DB Metodi oncreate(sqlitedatabase) onupgrade(sqlitedatabase, int, int) onopen(sqlitedatabase) - opzionale getreadabledatabase() Create and/or open a database. getwritabledatabase() Create and/or open a database that will be used for reading and wri8ng. Programmazione Java per Disposi8vi Mobili 21 SQLiteOpenHelper public class DBHelper extends SQLiteOpenHelper { public DBHelper(){ super(context,database_name,null,1); public void oncreate(sqlitedatabase db) {... public void onupgrade(sqlitedatabase database, int oldversion, int newversion) {... Programmazione Java per Disposi8vi Mobili 22 Programmazione Java per Disposi8vi Mobili 11

12 DBHelperSingleton public class DBHelperSingleton extends SQLiteOpenHelper { private sta8c DBHelperSingleton sinstance; private sta8c final String DATABASE_NAME = "database_name"; private sta8c final String DATABASE_TABLE = "table_name"; private sta8c final int DATABASE_VERSION = 1; public sta8c synchronized DBHelperSingleton getinstance(context context) { if (sinstance == null) { sinstance = new DBHelperSingleton(context.getApplica8onContext()); return sinstance; private DBHelperSingleton (Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION);... Programmazione Java per Disposi8vi Mobili 23 Programmazione Java per Disposi8vi Mobili 12

DATABASE PER IL WEB. Programmazione Web 1

DATABASE PER IL WEB. Programmazione Web 1 DATABASE PER IL WEB Programmazione Web 1 Archite3ura web con database Client Tier Web/App Tier DB Tier Client Web / App Server Database Il server web comunica con un altro server che con8ene il la banca

Dettagli

Corso Base. Lezione 6. Maurizio Cozzetto, Francesco Sarasini

Corso Base. Lezione 6. Maurizio Cozzetto, Francesco Sarasini Corso Base Lezione 6 Maurizio Cozzetto, Francesco Sarasini Database SQLite (1/2) Android provides full support for SQLite databases. Any databases you create will be accessible by name to any class in

Dettagli

Le Basi di Dati Attive

Le Basi di Dati Attive Le Basi di Dati Attive Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 5 Appunti dalle lezioni SQL in Linguaggi di programmazione L uso diretto dell interprete SQL è tipicamente

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2017/2018 1 Settima parte Interrogazione di una

Dettagli

Corso di programmazione di sistemi mobile 1. Android. Persistenza dei dati

Corso di programmazione di sistemi mobile 1. Android. Persistenza dei dati Corso di programmazione di sistemi mobile 1 Android Persistenza dei dati Corso di programmazione di sistemi mobile 2 Gestione dei file La maggior parte delle applicazioni Android ha bisogno di salvare

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Esercitazione PostgreSQL Dopo aver lanciato il client grafico pgadmin III di PostgreSQL svolgere le operazioni descritte nel seguito, tenendo presenti i suggerimenti forniti

Dettagli

ESERCITAZIONE: AZIENDA

ESERCITAZIONE: AZIENDA ESERCITAZIONE: AZIENDA Homework 24 ottobre 2002 Emanuel Weitschek emanuel@dia.uniroma3.it Prerequisiti (software) PostgreSQL pgadmin Driver JDBC Ambito Si consideri una base di dati che contiene informazioni

Dettagli

DDL (Data Definition Language) schemi DML (Data Manipulation Language) DQL (Data Query Language) DCL (Data Control Language)

DDL (Data Definition Language) schemi DML (Data Manipulation Language) DQL (Data Query Language) DCL (Data Control Language) o o o o o DDL (Data Definition Language): consente di creare e modificare schemi di database; DML (Data Manipulation Language): consente di inserire, modificare e gestire i dati memorizzati; DQL (Data

Dettagli

A.A. 2018/2019. Esercitazione 11. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

A.A. 2018/2019. Esercitazione 11. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE A.A. 2018/2019 Esercitazione 11 Strutturazione di Istruzioni in Linguaggio SQL [ Possibili Soluzioni ] Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Esercizio 1 Scrivere

Dettagli

A.A. 2018/2019. Esercitazione 12. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

A.A. 2018/2019. Esercitazione 12. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE A.A. 2018/2019 Esercitazione 12 Strutturazione di Istruzioni in Linguaggio SQL [ Possibili Soluzioni ] Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Esercizio 1 Scrivere

Dettagli

External Storage File pubblici

External Storage File pubblici Data Storage Shared Preferences dae privae, coppie chiave- valore 128 Internal Storage File privae External Storage File pubblici Database SQLite DaE struourae in database privae SharedPreferences 129

Dettagli

Corso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati

Corso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati Corso di Basi di Dati 7. Esercitazioni in SQL: Definizione e manipolazione dei dati A.A. 2016 2017 Collegarsi a MySQL, caricare e salvare basi di dati Per collegarsi a mysql, aprire un terminale e inserire

Dettagli

Corso di PHP. Prerequisiti. 8.1 PHP e MySQL. Conoscenza MySQL Tecnica della programmazione

Corso di PHP. Prerequisiti. 8.1 PHP e MySQL. Conoscenza MySQL Tecnica della programmazione Corso di PHP 8.1 PHP e MySQL 1 Prerequisiti Conoscenza MySQL Tecnica della programmazione procedurale ad oggetti Principi di programmazione web Programmazione elementare in PHP 2 1 Introduzione In questa

Dettagli

I.I.S. G. COSSALI - ORZINUOVI DATABASE. Marzo 2017 Prof. Dario Tomasoni 1

I.I.S. G. COSSALI - ORZINUOVI DATABASE. Marzo 2017 Prof. Dario Tomasoni 1 I.I.S. G. COSSALI - ORZINUOVI DATABASE Marzo 2017 Prof. Dario Tomasoni 1 IMPOSTAZIONE 60 min = Database concetti + Esercizi; 10 min = pausa; 30 min = Linguaggio SQL; 30 min = Database prove LibreOffice

Dettagli

Capitolo 5. Soluzione: Soluzione in C:

Capitolo 5. Soluzione: Soluzione in C: Capitolo 5 Esercizio 5.1 Realizzare una procedura in un linguaggio di programmazione di alto livello che tramite SQL Embedded elimina dalla tabella DIPARTIMENTO l'elemento che ha il nome che viene fornito

Dettagli

Basi di dati I 10 luglio 2017 Tempo a disposizione: un ora e 30 minuti.

Basi di dati I 10 luglio 2017 Tempo a disposizione: un ora e 30 minuti. Tempo a disposizione: un ora e 30 minuti. Cognome: Nome: Matricola: Domanda 1 (20%) Considerare le seguenti quattro relazioni su uno stesso schema: (A) 2 4000 1000 3000 true 3 3000 1000 2200 true (C) 2

Dettagli

Corso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati

Corso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati Corso di Basi di Dati 7. Esercitazioni in SQL: Definizione e manipolazione dei dati A.A. 2016 2017 Collegarsi a MySQL, caricare e salvare basi di dati Per collegarsi a mysql, aprire un terminale e inserire

Dettagli

PHP ESSENTIALS #10. By WI400 Team. : database e sql

PHP ESSENTIALS #10. By WI400 Team. : database e sql PHP ESSENTIALS #10 By WI400 Team : database e sql sql dialetto e sintassi SQL: Sintassi SQL E possibile inserire un record con l istruzione SQL INSERT: INSERT INTO users VALUES mario', md5 mario'), Mario',

Dettagli

Connessione con MySQL

Connessione con MySQL Connessione con MySQL Architettura Server-Side Eventuali parametri cookie sessioni Elaborazione SELECT... DATABASE Quando i dati sono molti e la persistenza deve andare altre la sessione o la durata

Dettagli

IL MODELLO RELAZIONALE

IL MODELLO RELAZIONALE Basi di dati 1 IL MODELLO RELAZIONALE (CAPITOLO 2) Codd 1970 Indipendenza dei dati Distinzione nella descrizione dei dati tra livello fisico e livello logico Vendors IBM,Informix,Microsoft,Oracle,Sybase

Dettagli

Sistemi Mobili e Wireless Android - Dati persistenti: SQLite

Sistemi Mobili e Wireless Android - Dati persistenti: SQLite Sistemi Mobili e Wireless Android - Dati persistenti: SQLite Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Android offre

Dettagli

Stringhe di caratteri

Stringhe di caratteri Domini primitivi In SQL sono disponibili alcune famiglie di domini elementari attraverso le quali è possibile definire i domini di appartenenza dei campi. Stringhe di caratteri CHARACTER [VARYING] [(NumeroCaratteri)]

Dettagli

PL/SQL e PLpgSQL. Audiolezione 28b. Necessità. Soluzioni. Embedded SQL. Alfio Ferrara - Stefano Montanelli. Estensioni procedurali di SQL

PL/SQL e PLpgSQL. Audiolezione 28b. Necessità. Soluzioni. Embedded SQL. Alfio Ferrara - Stefano Montanelli. Estensioni procedurali di SQL Audiolezione 28b Corso di Basi di Dati e Laboratorio PL/SQL e PLpgSQL Alfio Ferrara - Stefano Montanelli A.A. 2005/2006 Basi di Dati e Laboratorio 1 Estensioni procedurali di SQL Necessità Disporre di

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 3 - Aggiornamento dati 1 Prerequisiti Conoscenza tipi di dato in SQL Creare e gestire tabelle e indici 2 1 Introduzione In questa Unità descriviamo la parte di

Dettagli

Cap. 7 -Trigger e loro uso

Cap. 7 -Trigger e loro uso 1 SOMMARIO 2 Introduzione... 3 Definizione standard di trigger... 10 Cap. 7 -Trigger e loro uso Uso dei trigger e integrità referenziale... 18 Comportamento attivo delle BD Si realizza disponendo di un

Dettagli

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto SQL Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2005/2006 Select La forma di select cui siamo arrivati

Dettagli

PARTITIONING PARTITIONING. 27/11/08 /home/scotty/enrico/corso web/finale/architettura/partit page 1

PARTITIONING PARTITIONING. 27/11/08 /home/scotty/enrico/corso web/finale/architettura/partit page 1 PARTITIONING PARTITIONING 27/11/08 /home/scotty/enrico/corso web/finale/architettura/partit page 1 PARTITIONING Cos'è il partitioning Metodi per eseguire il partitioning Partition setup Partition table

Dettagli

Interrogazioni nidificate

Interrogazioni nidificate Interrogazioni nidificate Nella clausola where si possono utilizzare valori prodotti da altre istruzioni select utilizzando any (qualsiasi) o all (tutti) insieme agli operatori di confronto Trovare nome,

Dettagli

Connessione con MySQL

Connessione con MySQL Connessione con MySQL Architettura Server-Side Eventuali parametri cookie sessioni Elaborazione SELECT... DATABASE Quando i dati sono molti e la persistenza deve andare altre la sessione o la durata

Dettagli

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA 3. Panoramica su SQL Prof. Mauro Giacomini Sommario Introduzione Istruzione SELECT Tipi di Join Subquery Comandi DML Creazione delle tabelle Introduzione

Dettagli

σ data 15/12/2013 data 20/12/2014

σ data 15/12/2013 data 20/12/2014 Dato lo schema: Basi di Dati Prof. Alfredo Pulvirenti A.A. 2014-2015 Prova in itinere 18 dicembre 2014 (A) EVENTO(id, titolo, data, categoria, costo_partecipazione, idcatering) ORGANIZZATORE(id,idevento)

Dettagli

Conoscere l uso delle collezioni in Java. Conoscere il concetto di Generics (programmazione

Conoscere l uso delle collezioni in Java. Conoscere il concetto di Generics (programmazione 1 Conoscere l uso delle collezioni in Java Comprendere le principali caratteristiche nelle varie classi di Collection disponibili Saper individuare quali classi di Collection usare in casi specifici Conoscere

Dettagli

SQL. SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe

SQL. SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe SQL SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe Operazioni di aggiornamento Abbiamo visto come creare tabelle e come interrogarle. Vedremo ora come popolarle

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 2 Vincoli di integrità Proprietà che devono essere soddisfatte da ogni istanza della base di dati. Il soddisfacimento è definito rispetto al

Dettagli

Python e Mysql. E' possibile interagire direttamente con un database mysql (ma anche con altri) utilizzando moduli appositi in python

Python e Mysql. E' possibile interagire direttamente con un database mysql (ma anche con altri) utilizzando moduli appositi in python Python e Mysql E' possibile interagire direttamente con un database mysql (ma anche con altri) utilizzando moduli appositi in python General Purpose Database Systems IBM DB2 Firebird (and Interbase) Informix

Dettagli

Manuale SQL. Manuale SQL - 1 -

Manuale SQL. Manuale SQL - 1 - Manuale SQL - 1 - Istruzioni DDL Creazione di una tabella : CREATE TABLE Il comando CREATE TABLE consente di definire una tabella del database specificandone le colonne, con il tipo di dati ad esse associate,

Dettagli

Operazioni scatenanti. Nozione ed uso. Sintassi. Esempio

Operazioni scatenanti. Nozione ed uso. Sintassi. Esempio Nozione ed uso Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso: Gestione di vincoli di integrità: Per fallimento Per modifica Auditing: Sicurezza Statistiche Valori derivati

Dettagli

Tabelle esempio: Impiegato/Dipartimento

Tabelle esempio: Impiegato/Dipartimento Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (4) Query di aggiornamento Prof. Alberto Postiglione

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 9 Raffaella Gentilini 1 / 41 Sommario 1 DBMS Attivi e Triggers 2 2 / 41 DBMS Attivi DBMS Attivi I DBMS tradizionale sono passivi: Eseguono delle operazioni solo

Dettagli

2011 Politecnico di Torino 1

2011 Politecnico di Torino 1 SQL per le applicazioni Esercitazione PHP e MySQL Svolgimento D B M G Passi di risoluzione creazione e popolamento della base di dati Creazione di un script SQL Passo 2 creazione di una query d interrogazione

Dettagli

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI INGEGNERIA INFORMATICA PROVA PRATICA 25 SETTEMBRE 2014 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTE(CodFiscale, Cognome,

Dettagli

PROGETTAZIONE DI DATABASE Linguaggio SQL

PROGETTAZIONE DI DATABASE Linguaggio SQL PROGETTAZIONE DI DATABASE Linguaggio SQL Modello Concettuale (Modellazione del mondo reale) Modello Logico (Definizione del tipo e del formato dei dati) Modello Fisico (Implementazione fisica su supporti

Dettagli

Corso di. Basi di Dati I. 11. Esercitazioni in SQL: Altri esercizi

Corso di. Basi di Dati I. 11. Esercitazioni in SQL: Altri esercizi Corso di Basi di Dati 11. Esercitazioni in SQL: Altri esercizi A.A. 2016 2017 Esempio: consideriamo le seguenti tabelle Articoli(Id, Nome, Colore) Fornitori(Id, Nome, Indirizzo) Catalogo(Articolo, Fornitore,

Dettagli

PRODOTTO CARTESIANO Caso Generale

PRODOTTO CARTESIANO Caso Generale PRODOTTO CARTESIANO Caso Generale Vincoli di integrità dei dati Un database non deve solamente memorizzare i dati, ma garantire che i dati memorizzati siano corretti; se i dati sono imprecisi o incoerenti,

Dettagli

Gestire il database attraverso Javascript. Antonio Gallo

Gestire il database attraverso Javascript. Antonio Gallo Gestire il database attraverso Javascript Antonio Gallo info@laboratoriolibero.com 1 Aprire il database File: 1_creazione_db.html Per aprire un database basta usare il metodo OpenDatabase: var db = window.opendatabase("note",

Dettagli

SQL - Structured Query Language

SQL - Structured Query Language SQL - Structured Query Language Lab 05 Alessandro Lori Università di Pisa 27 Aprile 2012 Riepilogo esercitazione precedente Operatori insiemistici (UNION, INTERSECT, EXCEPT) Riepilogo esercitazione precedente

Dettagli

Laboratorio di Progettazione Web

Laboratorio di Progettazione Web PHP e MySQL (2) Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR - c.renso@isti.cnr.it Nelle pagine web, quando le tabelle sono molto complesse, può risultare utile suddividere la visualizzazione

Dettagli

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE Linguaggio SQL: fondamenti 2 (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple 4 (2/3) INSERT inserimento di nuove tuple

Dettagli

Accesso alla base di dati. Linguaggi per basi di dati. SQL immerso in linguaggio ad alto livello. SQL, un linguaggio interattivo

Accesso alla base di dati. Linguaggi per basi di dati. SQL immerso in linguaggio ad alto livello. SQL, un linguaggio interattivo Linguaggi per basi di dati Accesso alla base di dati Linguaggi di definizione dei dati Utilizzati per definire gli schemi e le autorizzazioni per l accesso Linguaggi di manipolazione dei dati Utilizzati

Dettagli

Elena Baralis 2013 Politecnico di Torino 1

Elena Baralis 2013 Politecnico di Torino 1 Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE Linguaggio SQL: fondamenti D B M G 2 (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple D B M G 4 (2/3) INSERT inserimento

Dettagli

Interrogazioni nidificate

Interrogazioni nidificate Interrogazioni nidificate Trovare nome, cognome e matricola degli studenti che non hanno fatto esami select Matricola,Nome,Cognome from studenti where matricola all (select studente group by studente)

Dettagli

A. Veneziani Linguaggio SQL

A. Veneziani Linguaggio SQL A. Veneziani Linguaggio SQL Creazione di un DB istruzione CREATE DATABASE Per creare un nuovo database (DB), tramite il linguaggio SQL, si utilizza l istruzione SQL: CREATE DATABASE ; è possibile

Dettagli

Laboratorio di Sistemi Informativi

Laboratorio di Sistemi Informativi Laboratorio di Sistemi Informativi Corso di Laurea in Informatica - A. A. 2006-2007 Modifica degli schemi Inserimento, cancellazione e modifica dei dati Donatella Merlini Dipartimento di Sistemi e Informatica

Dettagli

Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI

Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI La finalità di questa esercitazione è quella di creare, date delle specifiche progettuale, appositi script di creazione e popolamento di una base

Dettagli

Corso di Basi di Dati A.A. 2015/2016

Corso di Basi di Dati A.A. 2015/2016 Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2015/2016 - Esercizi Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 06/04/2016 Esercizio 1 Dare

Dettagli

Database support Prerequisites Architecture Driver features Setup Stored procedures Where to use. Contents

Database support Prerequisites Architecture Driver features Setup Stored procedures Where to use. Contents VEGA ODBC DRIVER Database support Prerequisites Architecture Driver features Setup Stored procedures Where to use Contents Database support CA-IDMS/SQL including table procedures CA-IDMS/DML via stored

Dettagli

Fondamenti di Informatica A. A / 1 9

Fondamenti di Informatica A. A / 1 9 Fondamenti di Informatica Prof. Marco Lombardi A. A. 2 0 1 8 / 1 9 Concetti Introduttivi 1/2 SQL (Structured Query Language) permette di manipolare i dati, interrogare un database relazionale e modellarne

Dettagli

Domande utili alla preparazione dell orale di Informatica all Esame di Stato

Domande utili alla preparazione dell orale di Informatica all Esame di Stato Domande utili alla preparazione dell orale di Informatica all Esame di Stato 1.Al livello fisico un database si appoggia ai files per contenere i suoi dati? 2.Esistono altri modelli di organizzazione oltre

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati 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 SQL è

Dettagli

Programmazione Android A cura di Carlo Pelliccia. Lezione 12 Database

Programmazione Android A cura di Carlo Pelliccia. Lezione 12 Database A cura di Carlo Pelliccia DBMS, ossia Management System, è un termine caro agli sviluppatori di applicazioni server-side e di impresa. La maggior parte delle applicazioni Web, ad esempio, si appoggiano

Dettagli

Utilizzando per la connessione al database un driver di Tipo 1:

Utilizzando per la connessione al database un driver di Tipo 1: Basi di Dati Esercitazione JDBC 25 maggio 2005 Paolo Cappellari Esercizi Considerando il seguente schema: Fornitori (CodiceFornitore, Nome, Indirizzo, Citta) Prodotti (CodiceProdotto, Tipo, Marca, Modello)

Dettagli

A.A. 2018/2019. Introduzione a SQL FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

A.A. 2018/2019. Introduzione a SQL FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante A.A. 2018/2019 Introduzione a SQL Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Le Origini di SQL Principali Versioni Anni 70 1986 SEQUEL Structured English QUEry Language

Dettagli

Basi di Dati Corso di Laura in Informatica Umanistica

Basi di Dati Corso di Laura in Informatica Umanistica Basi di Dati Corso di Laura in Informatica Umanistica Appello del 26/07/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione

Dettagli

PROGETTAZIONE DI DATABASE

PROGETTAZIONE DI DATABASE ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI PROGETTAZIONE DI DATABASE Manipolazione dei dati in SQL Lezione 12 Questa dispensa è rilasciata sotto la licenza Creative Common CC BY-NC-SA. Chiunque

Dettagli

SQL: DDL, VI, Aggiornamenti e Viste

SQL: DDL, VI, Aggiornamenti e Viste SQL: DDL, VI, Aggiornamenti e Viste 1 SQL è più di un semplice linguaggio di interrogazione v Linguaggio di definizione dati (Data-definition language, DDL): Crea/distrugge/modifica relazioni e viste Definisce

Dettagli

Soluzione esercitazione 01

Soluzione esercitazione 01 Soluzione esercitazione 01 Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SolEse01.pdf Sistemi Informativi L-A Videonoleggio - caso A: tabella

Dettagli

Informatica Grafica. Basi di dati parte 2

Informatica Grafica. Basi di dati parte 2 Informatica Grafica Corso di Laurea in Ingegneria Edile Architettura Basi di dati parte 2 Michele Lombardi su materiale originario di Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica

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

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 6 Raffaella Gentilini 1 / 40 Sommario 1 Viste 2 3 2 / 40 Viste Viste le viste sono tabelle virtuali corrispondono al risultato di una query (SELECT) valutata

Dettagli

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI INGEGNERIA INFORMATICA PROVA PRATICA 10 GIUGNO 2015 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTECodFiscale, Cognome,

Dettagli

Basi di Dati Esercitazione JDBC

Basi di Dati Esercitazione JDBC Basi di Dati Esercitazione JDBC 30 Maggio 2006 Ing. Paolo Papotti Esercizi Considerando il seguente schema: Fornitori (CodiceFornitore, Nome, Indirizzo, Citta) Prodotti (CodiceProdotto, Tipo, Marca, Modello)

Dettagli

Linguaggio SQL: fondamenti

Linguaggio SQL: fondamenti Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE 2 2007 Politecnico di Torino 1 (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple 4 2007 Politecnico di Torino 2 (2/3)

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Programmazione su Basi di Dati: JDBC Concetti Fondamentali versione 1.0 G. Mecca mecca@unibas.it Università della Basilicata JDBC >> Sommario Concetti Fondamentali Introduzione

Dettagli

Informatica I Facoltà di Ingegneria

Informatica I Facoltà di Ingegneria Informatica I Facoltà di Ingegneria Prova scritta del 13/02/2014 Si chiede di realizzare un programma per la gestione del palinsesto settimanale di una emittente radiofonica. I dati del palinsesto settimanale

Dettagli

Basi di Dati Attive. Basi di Dati Attive

Basi di Dati Attive. Basi di Dati Attive Basi di Dati Passive le politiche di reazione nei vincoli d integrità referenziale sono il primo esempio della necessità di introdurre un comportamento reattivo nelle basi di dati mettendo a fattor comune

Dettagli

Esercitazione di lunedì - TUTTE LE MATRICOLE -

Esercitazione di lunedì - TUTTE LE MATRICOLE - 1 Esercitazione di lunedì - TUTTE LE MATRICOLE - 2 Pre-esercitazione - Prova a fare il primo esercizio guidato in modo da riprendere le fila del discorso fatto a lezione su come strutturare un progetto.

Dettagli

PHP i5 #3. By SIRI. : accesso adl DB2 IBMi

PHP i5 #3. By SIRI. : accesso adl DB2 IBMi PHP i5 #3 By SIRI : accesso adl DB2 IBMi Agenda Il dialetto DB2 le estensioni PHP per DB2 connessione al DB2 esecuzioni di query su DB2 reperimento e gestione dato DB2: dialetto sql Interrogazioni sul

Dettagli

Basi di Dati. Esercitazione JDBC. Ing. Paolo Cappellari

Basi di Dati. Esercitazione JDBC. Ing. Paolo Cappellari Basi di Dati Esercitazione JDBC Ing. Paolo Cappellari Sorgente di dati ODBC Andare su: Avvio Pannello di Controllo Strumenti di Amministrazione Origine dati (ODBC). 2 Sorgente di dati ODBC DSN a.utente:

Dettagli

Esercitazione 2 SQL 1 (installazione MySQL)

Esercitazione 2 SQL 1 (installazione MySQL) Esercitazione 2 SQL 1 (installazione MySQL) Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E2-1 La famiglia Base di dati contenete la seguente informazioni: Informazione sulle persone: Nome Sesso Anno

Dettagli

SQL: le funzioni di aggregazione

SQL: le funzioni di aggregazione SQL: le funzioni di aggregazione funzioni predefinite che agiscono sui valori contenuti in insiemi di righe della tabella: Conteggi Somme Medie Massimi, minimi Funzione Count La funzione COUNT conta il

Dettagli

Metodi di una Collection

Metodi di una Collection Java Collections Introduzione Una java collection (a volte chiamata anche container) è un oggetto che raggruppa più elementi dello stesso tipo in una singola unità. Tipicamente è utilizzata per raggruppare

Dettagli

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) SQL quick reference piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) I tipi dei dati di SQL sono: delimitatori delle costanti: TEXT(n) stringa di caratteri

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Basi di Dati Il Linguaggio SQL Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ Il Linguaggio SQL SQL (Structured Query Language) è il linguaggio di riferimento per le basi di dati

Dettagli

Basi di Dati. Esercitazione JDBC 28/05/2007

Basi di Dati. Esercitazione JDBC 28/05/2007 Basi di Dati Esercitazione JDBC 28/05/2007 Sorgente di dati ODBC Andare su: Avvio Pannello di Controllo Strumenti di Amministrazione Origine dati (ODBC). 2 Sorgente di dati ODBC DSN a.utente: disponibile

Dettagli

Appunti su SQL. Query Language. Comando Select

Appunti su SQL. Query Language. Comando Select Appunti su SQL Query Language... 1 Comando Select... 1 Select con campi ordinati: order By... 3 Sintassi generale:... 3 Ordinamanto su PIU campi... 3 DML (Data Manipulation Language per inserimento e modifica

Dettagli

SQL. Lezione 1. Docente: Alberto Belussi

SQL. Lezione 1. Docente: Alberto Belussi LaboratoriodiBasidiDatieWeb 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 SQL è

Dettagli

Triggers. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica Università di Roma La Sapienza

Triggers. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica Università di Roma La Sapienza Triggers Antonella Poggi, Claudio Corona Dipartimento di informatica e Sistemistica Università di Roma La Sapienza Progetto di Applicazioni Software Anno accademico 2008-2009 Questi lucidi sono stati prodotti

Dettagli

Programmazione 2 - Marco Ronchetti. Fondamenti di Java. Fac.Scienze Università di Trento. Static

Programmazione 2 - Marco Ronchetti. Fondamenti di Java. Fac.Scienze Università di Trento. Static 1 Fondamenti di Java Static 2 Modificatori: static Variabili e metodi associati ad una Classe anziche ad un Oggetto sono definiti static. Le variabili statiche servono come singola variabile condivisa

Dettagli

Aspetti avanzati nella definizione degli schemi DDL2 1

Aspetti avanzati nella definizione degli schemi DDL2 1 Aspetti avanzati nella definizione degli schemi DDL2 1 Aspetti avanzati del DDL Creazione di indici Modifica degli schemi Gestione di viste Autorizzazioni d'accesso Vincoli di integrità Procedure e regole

Dettagli

Istruzioni DCL di SQL. Pag. 119 par.5

Istruzioni DCL di SQL. Pag. 119 par.5 Istruzioni DCL di SQL Pag. 119 par.5 Comando: GRANT (Per concedere diritti su tabelle a nuovi o vecchi utenti) Dato un determinato DB è necessario predisporre e concedere i relativi diritti d accesso a

Dettagli

Corso di Algoritmi e Strutture Dati con Laboratorio. The JCF(continua): L interfaccia Map

Corso di Algoritmi e Strutture Dati con Laboratorio. The JCF(continua): L interfaccia Map Corso di Algoritmi e Strutture Dati con Laboratorio The JCF(continua): L interfaccia Map Unamappaè unaraccolta (oggetto che contiene elementi: es: array, oggetto di tipo Collection) in cui ogni elemento

Dettagli

Structured. Language. Basi di Dati. Introduzione. DDL: Data Definition Language. Tipi di dato. Query. Modifica dei Dati

Structured. Language. Basi di Dati. Introduzione. DDL: Data Definition Language. Tipi di dato. Query. Modifica dei Dati Basi di Dati Matteo Longhi Structured Query Language Introduzione Standard creato nel 1976 da IBM Aggiornato (versione 2 nel 1992 (ANSI X3.135 e ISO 9075 Consente di: DDL: definire la struttura del DB

Dettagli

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/2002 4.1

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/2002 4.1 Modelli di Base Dati 4 Un DBMS: Access a.a. 2001/2002 4.1 DBMS 4.2 DBMS = Data Base Management System Software per la costruzione e la gestione di una base dati Esempi di DBMS: Oracle, MySQL, SQLServer,

Dettagli

LABORATORIO di INFORMATICA

LABORATORIO di INFORMATICA Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto IL MODELLO RELAZIONALE http://www.diee.unica.it/giacinto/lab

Dettagli

SQL - Sottointerrogazioni

SQL - Sottointerrogazioni una delle ragioni che rendono SQL un linguaggio potente è la possibilità di esprimere interrogazioni più complesse in termini di interrogazioni più semplici, tramite il meccanismo delle subqueries (sottointerrogazioni)

Dettagli

Esempio di database relazionale con l utilizzo del prodotto MySQL

Esempio di database relazionale con l utilizzo del prodotto MySQL Esempio di database relazionale con l utilizzo del prodotto MySQL Marco Liverani Aprile 2015 In queste pagine viene riportato in sintesi il progetto di un database relazionale esemplificativo con cui viene

Dettagli