DATABASE PER IL WEB. Programmazione Web 1



Похожие документы
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

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

Esempio di database relazionale con l utilizzo del prodotto MySQL

Fondamenti di Informatica e Programmazione

SQL: DDL, VI, Aggiornamenti e Viste

PROGETTAZIONE DI DATABASE Linguaggio SQL

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)

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

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

Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI

Sommario. Introduzione... 13

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

Connessione con MySQL

DBMS (Data Base Management System)

SQL: le funzioni di aggregazione

Basi di Dati: Corso di laboratorio

SQL - Structured Query Language

SQL DDL. Create database. Alter database. Drop database

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

Esercitazione: Interrogazioni SQL

QL (Query Language) Alice Pavarani

ESERCITAZIONE: Fornitore-Fornisce-Articolo

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

Soluzione esercitazione 01

LABORATORIO di INFORMATICA

Left Join, Right Join, Full Join

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

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

Select From Where...

Connessione con MySQL

Structured Query Language

Interrogazioni nidificate

Транскрипт:

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