DATABASE PER IL WEB. Programmazione Web 1



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

Laboratorio di Basi di Dati

Sistemi di Elaborazione delle Informazioni

Manuale SQL. Manuale SQL - 1 -

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

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

PRODOTTO CARTESIANO Caso Generale

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

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

Fondamenti di Informatica A. A / 1 9

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

Esempio di database relazionale con l utilizzo del prodotto MySQL

Tipi numerici esatti Valori interi o con parte decimale di lunghezza prefissata

Fondamenti di Informatica e Programmazione

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

Laboratorio di Basi di Dati e Multimedia

SQL: DDL, VI, Aggiornamenti e Viste

PROGETTAZIONE DI DATABASE Linguaggio SQL

Basi di Dati. Esercitazione SQL. 18 maggio 2007

Appunti su SQL. Query Language. Comando Select

2011 Politecnico di Torino 1

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2

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

Laboratorio di Basi di Dati

Corso sul linguaggio SQL

Basi di Dati. Esercitazione Algebra Relazionale e SQL. Ing. Paolo Cappellari. 15 maggio 2006

Prof. Alberto Postiglione Dipartimento di Scienze della Comunicazione Università degli Studi di Salerno

PROGETTAZIONE DI DATABASE

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

ISTITUTO PARITARIO MICHELANGELO - RIMINI- PIANO DI LAVORO

Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI

A. Veneziani Linguaggio SQL

Sommario. Introduzione... 13

Istruzioni. DDL: CREATE, DROP e ALTER TABLE. DML: INSERT, DELETE e UPDATE DQL: SELECT. DCL: GRANT e REVOKE

Informatica Grafica. Basi di dati parte 2

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

Aspetti avanzati nella definizione degli schemi DDL2 1

Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Caratteristiche dei linguaggi per Database

Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a

Connessione con MySQL

Metodi per la Gestione dei Dati (lezioni di laboratorio)

Manuale Comandi SQL SQL. Sito per esercitarsi (on line) SQL

Corso di Basi di Dati Prime nozioni relative all utilizzo del DBMS MySQL

DBMS (Data Base Management System)

SQL: le funzioni di aggregazione

Stringhe di caratteri

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

Laboratorio di Sistemi Informativi

Basi di Dati: Corso di laboratorio

DataBase Management System - DBMS

Esercitazione 4 SQL.

Esercitazione 2 SQL 1 (installazione MySQL)

SQL - Structured Query Language

SQL DDL. Create database. Alter database. Drop database

SQL /10/2016 Basi di dati - SQL 1

Corso di Informatica Linguaggio SQL prima parte

Interpretazione delle query nidificate

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

Esercitazione: Interrogazioni SQL

Basi di Dati: Corso di laboratorio

QL (Query Language) Alice Pavarani

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

ESERCITAZIONE: Fornitore-Fornisce-Articolo

A. Veneziani Primi elementi di Linguaggio SQL

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

Laboratorio di Basi di Dati

D B M G 2. Linguaggio SQL: fondamenti. Istruzioni di aggiornamento. Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE

Soluzione esercitazione 01

LABORATORIO di INFORMATICA

Left Join, Right Join, Full Join

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

IL MODELLO RELAZIONALE

Esercitazione 2 SQL 1 (installazione MySQL)

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

Principi di Progettazione del Software a.a Il linguaggio SQL. Il Linguaggio SQL

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

Principi di Progettazione del Software a.a Il linguaggio SQL. Prof. Luca Mainetti Università del Salento

Corso di Basi di Dati

Principi di Progettazione del Software a.a Il linguaggio SQL. Linguaggi per DBMS

Tecnologie di Sviluppo per il Web

Select From Where...

Connessione con MySQL

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

Structured Query Language

Operazioni. Lezione 8. Operazioni Relazionali. Operazioni insiemistiche Intersezione: Operazioni insiemistiche Unione:

Archivi e basi di dati - ing. M. Cossentino. Settore. Traccia 1. Traccia 200. Settore non polarizzato

Basi di dati. Gabriella Trucco

ESERCITAZIONE: AZIENDA

SQL: "storia" 31/05/2006 2

Il linguaggio SQL. TUTORATO DIFONDAMENTI DIINFORMATICA

Archivi e Basi di Dati. lezione 07 1

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

Gestione delle informazioni. Tot. h 10. Base di Dati. Tot. h 56. Grafica in C# - Laboratorio- Tot. h 40. Dipartimento Informatica Materia Informatica

Vincoli interrelazionali

Interrogazioni nidificate

Transcript:

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 da8 la comunicazione usa dei protocolli specifici Programmazione Web 2

Database Database o base di da8 : sia collezione di da8 sia database management system (DBMS): Programma standalone per la ges8one di collezioni di da8 MySQL, PostgreSQL, Oracle DB, CouchDB Libreria all'interno di un programma SQLite, BerkleyDB Tipi di database: Relazionali A ogger No-SQL (Not Only SQL) Programmazione Web 3

Trend Database hwp://db-engines.com/en/ranking Programmazione Web 4

Database relazionali Da8 raccol8 in tabelle non ordinate: relazioni colonne: campi, awribu8, fields righe: tuple, records Utenti (CF, nome, cognome) CF nome cognome BNCFR... Franco Bianchi VRDGS... Giuseppe RSSMR... Mario Verdi Rossi Prestiti (utente, libro, dataprestito, datarestituzione) Libri (ISBN, autore, titolo) ISBN autore titolo 111111111 Caroll Alice in W 22222222 Tanenbaum Reti di Calc 33333333 AA. VV. Lonely Plan 44444444 Hofstadter GEB-EGB utente libro dataprestito datarestituzione RSSMR... 22222222 12/12/2012 - VRDGS... 44444444 01/10/2011 11/11/2011 Programmazione Web 5

Vincoli di integrità Evitano che vengano inserite informazioni "non possibili" Esistono da8 che sono sintarcamente correr ma non rappresentano informazioni possibili per l applicazione di interesse Vincoli di dominio 8po di dato ammesso per un campo Vincoli di chiavi primarie Insieme di awribu8 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 SoddisfaR se valore esiste nell'altra relazione Programmazione Web 6

Vincoli di dominio Tipi di dato che uso per le diverse colonne ES: range di interi o di date ES: insieme di valori, o di stringhe ES: Il codice fiscale ha il suo formato Utenti (CF, nome, cognome) CF nome cognome BNCFR... Franco Bianchi VRDGS... Giuseppe RSSMR... Mario Verdi Rossi Libri (ISBN, autore, titolo) ISBN autore titolo 111111111 Caroll Alice in W 22222222 Tanenbaum Reti di Calc 33333333 AA. VV. Lonely Plan 44444444 Hofstadter GEB-EGB Prestiti (utente, libro, dataprestito, datarestituzione) utente libro dataprestito datarestituzione RSSMR... 22222222 12/12/2012 - VRDGS... 44444444 01/10/2011 11/11/2011 Programmazione Web 7

Chiavi Primarie Insieme di awribu8 che iden8ficano univocamente le tuple di una relazione Almeno una per ogni relazione Possono essere definite su più awribu8 Se non esiste una chiave, va definita (es. valore incrementale) Utenti (CF, nome, cognome) CF nome cognome BNCFR... Franco Bianchi VRDGS... Giuseppe RSSMR... Mario Verdi Rossi Prestiti (utente, libro, dataprestito, datarestituzione) Libri (ISBN, autore, titolo) ISBN autore titolo 111111111 Caroll Alice in W 22222222 Tanenbaum Reti di Calc 33333333 AA. VV. Lonely Plan 44444444 Hofstadter GEB-EGB utente libro dataprestito datarestituzione RSSMR... 22222222 12/12/2012 - VRDGS... 44444444 01/10/2011 11/11/2011 Programmazione Web 8

Vincoli di tupla datapres8to < datares8tuzione Utenti (CF, nome, cognome) CF nome cognome BNCFR... Franco Bianchi VRDGS... Giuseppe Verdi RSSMR... Mario Rossi Libri (ISBN, autore, titolo) ISBN autore titolo 111111111 Caroll Alice in W 22222222 Tanenbaum Reti di Calc 33333333 AA. VV. Lonely Plan 44444444 Hofstadter GEB-EGB Prestiti (utente, libro, dataprestito, datarestituzione) utente libro dataprestito datarestituzione RSSMR... 22222222 12/12/2012 - VRDGS... 44444444 01/10/2011 11/11/2011 Programmazione Web 9

Vincoli di integrità referenziale Fanno riferimento a chiavi primarie su altre relazioni SoddisfaR se valore esiste nell'altra relazione Libri (ISBN, autore, titolo) Utenti (CF, nome, cognome) ISBN autore titolo CF nome cognome 111111111 Caroll Alice in W BNCFR... Franco Bianchi 22222222 Tanenbaum Reti di Calc VRDGS... Giuseppe Verdi RSSMR... Mario Rossi 33333333 AA. VV. Lonely Plan 44444444 Hofstadter GEB-EGB Devono esistere Prestiti (utente, libro, dataprestito, datarestituzione) utente libro dataprestito datarestituzione RSSMR... 22222222 12/12/2012 - VRDGS... 44444444 01/10/2011 11/11/2011 Programmazione Web 10

Ambiente di Lavoro MYSQL un DBMS che useremo nelle esercitazioni ci si interagisce a linea di comando su una shell oppure via rete con protocollo proprietario il server risponde su porta 3306 di default ha il concewo di utente, password e permessi amministratore di default: root phpmyadmin una serie di script per interagire con mysql da una pagina web comunica con mysql via rete Programmazione Web 11

Programmazione Web 12

SQL 2 pronunce, entrambe valide Linguaggio di programmazione per la ges8one di basi di da8 Standard ma non molto interoperabile Case insensi8ve Programmazione Web 13

Sintassi Sequenza di instruzioni separa8 da ; Principali comandi SELECT - extracts data from a database UPDATE - updates data in a database DELETE - deletes data from a database INSERT INTO - inserts new data into a database CREATE DATABASE - creates a new database ALTER DATABASE - modifies a database CREATE TABLE - creates a new table ALTER TABLE - modifies a table DROP TABLE - deletes a table CREATE INDEX - creates an index (search key) DROP INDEX - deletes an index Programmazione Web 14

SELECT Seleziona una matrice di da8 da un database Il risultato è posto in una tabella dewa result-set Sintassi 1. 2. Programmazione Web 15

Esempio Northwind sample database Programmazione Web 16

SELECT DISTINCT Res8tuisce dei da8 diversi fra loro Sintassi Esempio Programmazione Web 17

WHERE Serve a selezionare le tuple secondo un certo criterio ESEMPI Programmazione Web 18

INSERT INTO Inserisce una tupla di valori in una tabella Sintassi Esempi Programmazione Web 19

UPDATE Aggiorna dei record Sintassi Esempio Warning Programmazione Web 20

DELETE Cancellare dei record Sintassi Esempio Programmazione Web 21

Programmazione Web 22

Operatori = Equal <> Not equal. Note: In some versions of SQL this operator may be wriwen as!= > Greater than < Less than >= Greater than or equal <= Less than or equal BETWEEN Between an inclusive range LIKE Search for a pawern IN To specify mul8ple possible values for a column Programmazione Web 23

AND e OR AND logico tra due condizioni della WHERE OR logico tra due condizioni della WHERE Espressioni complesse Programmazione Web 24

ORDER BY Ordina i risulta8 nel Result set Esempio Programmazione Web 25

LIMIT Limita il numero dei risulta8 Esempio (5 tuple) Programmazione Web 26

LIKE Cercare con dei pawern Sintassi Esempi Programmazione Web 27

Wildcard % - A subs8tute for zero or more characters _ - A subs8tute for a single character [charlist] - Sets and ranges of characters to match [!charlist] - Matches only a character NOT specified within the brackets Esempi Programmazione Web 28

BETWEEN Seleziona dei range numerici, testo o data Esempi Programmazione Web 29

IN Specifica liste di valori per la clausola WHERE Esempio Programmazione Web 30

ALIAS Posso definire dei nomi temporanei nell'istruzione per colonne o tabelle Programmazione Web 31

INNER JOIN Combinare tuple di tabelle diverse Programmazione Web 32

INNER JOIN Combinare tuple di tabelle diverse Programmazione Web 33

INNER JOIN Combinare tuple di tabelle diverse Programmazione Web 34

Altre Istruzioni Programmazione Web 35