DATABASE PER IL WEB. Programmazione Web 1
|
|
|
- Evangelista Chiari
- 9 anni fa
- Visualizzazioni
Transcript
1 DATABASE PER IL WEB Programmazione Web 1
2 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
3 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
4 Trend Database hwp://db-engines.com/en/ranking Programmazione Web 4
5 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 Caroll Alice in W Tanenbaum Reti di Calc AA. VV. Lonely Plan Hofstadter GEB-EGB utente libro dataprestito datarestituzione RSSMR /12/ VRDGS /10/ /11/2011 Programmazione Web 5
6 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
7 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 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/2011 Programmazione Web 7
8 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 Caroll Alice in W Tanenbaum Reti di Calc AA. VV. Lonely Plan Hofstadter GEB-EGB utente libro dataprestito datarestituzione RSSMR /12/ VRDGS /10/ /11/2011 Programmazione Web 8
9 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 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/2011 Programmazione Web 9
10 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 Caroll Alice in W BNCFR... Franco Bianchi Tanenbaum Reti di Calc VRDGS... Giuseppe Verdi RSSMR... Mario Rossi AA. VV. Lonely Plan Hofstadter GEB-EGB Devono esistere Prestiti (utente, libro, dataprestito, datarestituzione) utente libro dataprestito datarestituzione RSSMR /12/ VRDGS /10/ /11/2011 Programmazione Web 10
11 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
12 Programmazione Web 12
13 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
14 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
15 SELECT Seleziona una matrice di da8 da un database Il risultato è posto in una tabella dewa result-set Sintassi Programmazione Web 15
16 Esempio Northwind sample database Programmazione Web 16
17 SELECT DISTINCT Res8tuisce dei da8 diversi fra loro Sintassi Esempio Programmazione Web 17
18 WHERE Serve a selezionare le tuple secondo un certo criterio ESEMPI Programmazione Web 18
19 INSERT INTO Inserisce una tupla di valori in una tabella Sintassi Esempi Programmazione Web 19
20 UPDATE Aggiorna dei record Sintassi Esempio Warning Programmazione Web 20
21 DELETE Cancellare dei record Sintassi Esempio Programmazione Web 21
22 Programmazione Web 22
23 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
24 AND e OR AND logico tra due condizioni della WHERE OR logico tra due condizioni della WHERE Espressioni complesse Programmazione Web 24
25 ORDER BY Ordina i risulta8 nel Result set Esempio Programmazione Web 25
26 LIMIT Limita il numero dei risulta8 Esempio (5 tuple) Programmazione Web 26
27 LIKE Cercare con dei pawern Sintassi Esempi Programmazione Web 27
28 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
29 BETWEEN Seleziona dei range numerici, testo o data Esempi Programmazione Web 29
30 IN Specifica liste di valori per la clausola WHERE Esempio Programmazione Web 30
31 ALIAS Posso definire dei nomi temporanei nell'istruzione per colonne o tabelle Programmazione Web 31
32 INNER JOIN Combinare tuple di tabelle diverse Programmazione Web 32
33 INNER JOIN Combinare tuple di tabelle diverse Programmazione Web 33
34 INNER JOIN Combinare tuple di tabelle diverse Programmazione Web 34
35 Altre Istruzioni Programmazione Web 35
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,
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
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
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
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
Fondamenti di Informatica e Programmazione
Fondamenti di Informatica e Programmazione Prof. G ianni D Angelo Email: [email protected] A. A. 2018/ 19 Le Origini di SQL Principali Versioni Anni 70 1986 SEQUEL Structured English QUEry Language Sviluppato
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
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
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
Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2
Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Vincoli di integrita 2 Cosa e un vincolo di integrita E una proprieta sempre valida
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. 2017/2018 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2017-18.htm Prof.ssa Francesca A. Lisi [email protected]
Basi di Dati. Esercitazione Algebra Relazionale e SQL. Ing. Paolo Cappellari. 15 maggio 2006
Basi di Dati Esercitazione Algebra Relazionale e SQL 15 maggio 2006 Ing. Paolo Cappellari Esercitazione Considerando la seguente base di dati: Fornitori (CodiceFornitore, Nome, Indirizzo, Città) Prodotti
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
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
Sommario. Introduzione... 13
Sommario Introduzione... 13 1. Database pro e contro... 19 A cosa serve conoscere i database?...19 Le alternative alla gestione manuale...22 Quando non serve un database?...24 Domande ed esercizi...26
Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.
PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,
Caratteristiche dei linguaggi per Database
IL LINGUAGGIO Caratteristiche dei linguaggi per Database I linguaggi per basi di dati relazionali possiedono i comandi per: definizione del data base; manipolazione dei dati; associazione tra tabelle diverse;
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
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
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
Basi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 3 Raffaella Gentilini 1 / 52 Sommario 1 Il DML di SQL: Interrogazione di una BD 2 / 52 Data Manipulation Language (DML) Istruzioni del DML Le istruzioni del DML
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
SQL DDL. Create database. Alter database. Drop database
SQL In informatica, SQL (Structured Query Language) è un linguaggio standardizzato per database basati sul modello relazionale (RDBMS), progettato per le seguenti operazioni: creare e modificare schemi
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
Esercitazione: Interrogazioni SQL
Laurea in Ingegneria Informatica SAPIENZA Università di Roma Insegnamento di Basi di Dati Esercitazione: Interrogazioni SQL Domenico Fabio Savo 1 Sommario 1. Creazione del database utilizzato per l esercitazione
QL (Query Language) Alice Pavarani
QL (Query Language) Alice Pavarani QL Query Language Linguaggio di interrogazione dei dati, permette di: Interrogare la base di dati per estrarre informazioni Elaborare i dati Il risultato di un interrogazione
ESERCITAZIONE: Fornitore-Fornisce-Articolo
ESERCITAZIONE: Fornitore--Articolo PROGETTAZIONE CONCETTUALE Sia dato il diagramma ER rappresentativo di una certa realtà di interesse Cognome CodF Nome DataN CodA Descrizione Prezzo Fornitore N N E Fornito
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
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
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
Left Join, Right Join, Full Join
Left Join, Right Join, Full Join Consideriamo il solito schema di database dell'ultima verifica. Ipotizziamo inoltre che tra le due relazioni sia impostato un vincolo di Integrità Referenziale. Modello
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 E3 - MySQL: Creazione di Schemi ed Interrogazioni Tiziana Catarci, Andrea Marrella Ultimo aggiornamento
Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor
Interrogare una base di dati: algebra relazionale e SQL Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Contesto didattico Il seguente materiale didattico è
Select From Where...
Select From Where... SELECT Le colonne che saranno mostrate e in che ordine. Calcoli su colonne FROM La tabella o le tabelle usate dall interrogazione WHERE Condizione che deve essere soddisfatta dalle
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
Structured Query Language
IL LINGUAGGIO SQL Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un
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,
