Basi di dati Claudia Raibulet

Slides:



Advertisements
Presentazioni simili
Interrogazioni Semplici Le operazioni di interrogazione vengono specificate per mezzo dellistruzione select select ListaAttributi from ListaTabelle [where.
Advertisements

© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
Algebra relazionale Presentazione 12.1
1 Comandi per la manipolazione dei dati. 2 Tipi di comandi INSERT UPDATE DELETE COMANDI COMANDI 2.
Biglietti e Ritardi: schema E/R
1 Biglietti: schema E/R. 2 Biglietti: albero degli attributi.
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
SQL.
SQL Dati i seguenti schemi relazionali:
SQL Structured Query Language
19/01/2014 Viste. 19/01/2014 Viste Le Viste Logiche o Viste o View possono essere definite come delle tabelle virtuali, i cui dati sono riaggregazioni.
Corso di Informatica (Basi di Dati)
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) SQL: Data Manipulation Language (DML) Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi,
SQL per la modifica di basi di dati. 29/01/2014SQL per la modifica di basi di dati2 Data Manipulation Language Introduciamo ora il Data Manipulation Language.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Basi di dati Università Degli Studi Parthenope di Napoli
SQL: Lezione 7 Nataliya Rassadko
SQL Per la modifica di basi di dati
SQL Per la definizione di basi di dati SQL per definire ed amministrare Ogni utente puo definire una base di dati di cui diventa lamministratore potendo.
Esercitazione.
Vincoli di integrità generici Con i costrutti visti sinora, non è sempre possibile definire tutti i possibili vincoli di integrità. Per questo esiste listruzione.
Duplicati Lalgebra relazionale non ammette duplicati, SQL li ammette. Quindi select Città from Persona where Cognome= Rossi estrae una lista di città in.
Vincoli di integrità generici Con i costrutti visti sinora, non è sempre possibile definire tutti i possibili vincoli di integrità. Per questo esiste listruzione.
Vincoli di integrità generici Con i costrutti visti sinora, non è sempre possibile definire tutti i possibili vincoli di integrità. Per questo esiste listruzione.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
SELECT STATEMENT Clausola WHERE permette di limitare il numero di record da estrarre SELECT */ [DISTINCT] colonna/ espressione [alias],… FROM table [WHERE.
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
Introduzione alle Basi di Dati. Overview Informazione = contenuto + struttura Informazione non strutturata Molto contenuto, poca struttura Un romanzo.
SQL: Structured Query Language
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Basi di Dati e Sistemi Informativi
Corso di Basi di Dati Il Linguaggio SQL Home page del corso:
Basi di Dati e Sistemi Informativi Il Linguaggio SQL Home page del corso:
SQL.
BIOINFO3 - Lezione 51 INSERIMENTO DEI DATI Visto come si creano le tabelle (sinora tristemente vuote), cominciamo ad occuparci di come riempirle con dei.
Sistemi Informativi Insieme di “strutture” in grado di acquisire, elaborare, trasmettere ed archiviare informazioni in genere ad uso di un’organizzazione.
Informatica II – Basi di Dati (07/08) – Parte 2 Gianluca Torta Dipartimento di Informatica dell’Università di Torino
DB- Sistemi Informativi
Microsoft Access (parte 5) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Basi di dati I Prof.ssa Rosalba Giugno Prof. Alfredo Pulvirenti SQL :Structured Query Language: SELECT (IV) SQL (Slide tratte in parte da da Atzeni, Ceri,
SQL (IV) Data Definition Language/ Data Manipulation Language.
Pagine ASP parte 3 I data base Stefano Schacherl.
Microsoft Access Maschere (II).
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
SQL, esempi 30/10/2014Basi di dati SQL1. 30/10/2014Basi di dati SQL2 CREATE TABLE, esempi CREATE TABLE corsi( codice numeric NOT NULL PRIMARY KEY, titolo.
Algebra relazionale (III). Esempi di Interrogazioni: 3 Trovare matricola e nome dei capi i cui impiegati guadagnano tutti più di Tutti gli impiegati?
Microsoft Access Query (III).
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
SQL (III) Data Definition Language/ Data Manipulation Language.
MySQL Database Management System
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Interrogazioni Le interrogazioni in SQL sono formulate in modo dichiarativo specificando cioè cosa si vuole ottenere e non come lo si vuole ottenere. L’interrogazione.
Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.
Vincoli Interrelazionali Per i vincoli visti l’inserimento di un valore che li viola viene semplicemente impedito. In caso di vincoli di integrità referenziale,
Vincoli interrelazionali
Raggruppamenti e target list scorretta select padre, avg(f.reddito), p.reddito from persone f join paternita on figlio = nome join persone p on padre =
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Interrogazioni Le interrogazioni in SQL sono formulate in modo dichiarativo specificando cioè cosa si vuole ottenere e non come lo si vuole ottenere. L’interrogazione.
Funzionalità del DBMS relazionale l Funzioni per –definizione della base di dati –inserimento / rimozione /aggiornamento di informazioni deve soddisfare.
Approfondimenti SQL.
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
Basi di Dati e Sistemi Informativi Esercitazione: Il Linguaggio SQL (DDL+DML) Home page del corso:
Microsoft Access Filtri, query. Filtri Un filtro è una funzione che provoca la visualizzazione dei soli record contenenti dati che rispondono a un certo.
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
SQL Linguaggio per l’interrogazione di una base dati.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
Esercizi SQL Group by. CREATE TABLE dipendente (codDip CHAR(8) NOT NULL UNIQUE PRIMARY KEY, cognome CHAR(60) NOT NULL, nome CHAR(60) NOT NULL, stipendio.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Transcript della presentazione:

Basi di dati Claudia Raibulet

Chiave primaria Definizione:Insieme di attributi che identificano univocamente le ennuple di una relazione Esempi: Il numero di matricola identifica gli studenti: non ci sono due ennuple con lo stesso valore dellattributo Matricola I dati anagrafici identificano gli studenti: non ci sono due ennuple uguali su tutti e tre gli attributi Cognome, Nome e Data di Nascita

Limportanza della chiave primaria Lesistenza delle chiavi garantisce laccessibilità a ciascun dato della base di dati Ogni singolo valore è univocamente accessibile tramite: nome della relazione valore della chiave nome dellattributo Le chiavi sono lo strumento principale attraverso il quale vengono correlati i dati in relazioni diverse (il modello relazionale è basato su valori)

Operazioni di aggiornamento INSERT inserisce nuove tuple nel DB DELETE cancella tuple dal DB UPDATE modifica tuple del DB Tutte le istruzioni possono operare su un insieme di tuple In ogni caso gli aggiornamenti riguardano una sola relazione sulla base di una condizione che può coinvolgere anche altre relazioni

Operazioni di aggiornamento INSERT può usare il risultato di una query per eseguire inserimenti multipli DELETE e UPDATE possono fare uso di condizioni per specificare le tuple da cancellare o modificare

INSERT INSERT INTO Tabella [ ( Attributi ) ] VALUES ( Valori ) oppure INSERT INTO Tabella [ ( Attributi )] SELECT...

INSERT È possibile inserire una nuova tupla specificandone i valori INSERT INTO Sedi (Sede, Responsabile, Citta) VALUES (S04, Bruni, Firenze) INSERT INTO Sedi (Sede, Citta) VALUES (S04,Firenze) -- sede senza responsabile

Esempi di query INSERT INSERT INTO Persone VALUES ('Mario', 25, 52) INSERT INTO Persone (Nome, Eta, Reddito) VALUES ('Pino', 25, 52) INSERT INTO Persone (Nome, Reddito) VALUES ('Lino', 55) INSERT INTO Persone (Nome) SELECT Padre FROM Paternita WHERE Padre NOT IN (SELECT Nome FROM Persone)

INSERT: Osservazioni Lordinamento degli attributi (se presente) e dei valori è significativo Le due liste debbono avere lo stesso numero di elementi Se la lista di attributi è omessa, si fa riferimento a tutti gli attributi della relazione, secondo lordine con cui sono stati definiti Se la lista di attributi non contiene tutti gli attributi della relazione, per gli altri viene inserito un valore nullo (che deve essere permesso) o un valore di default

DELETE DELETE FROM Tabella [ WHERE Condizione ] Listruzione DELETE può fare uso di una condizione per specificare le tuple da cancellare Esempio: DELETE FROM Sedi WHERE Citta = Bologna -- elimina le sedi di Bologna

Esempi di query DELETE DELETE FROM Persone WHERE Eta < 35 DELETE FROM Paternita WHERE Figlio NOT IN ( SELECT Nome FROM Persone) DELETE FROM Paternita

Osservaziono DELETE Elimina le ennuple che soddisfano la condizione Può causare (se i vincoli di integrità referenziale sono definiti con politiche di reazione cascade) eliminazioni da altre relazioni Ricordare: se la where viene omessa, si intende where true

DELETE Per cancellare tutte le tuple da STUDENTE (mantenendo lo schema della tabella): DELETE FROM Studente Per cancellare completamente la tabella STUDENTE (contenuto e schema): DROP TABLE Studente

UPDATE UPDATE NomeTabella SET Attributo = < Espressione | SELECT … | NULL | DEFAULT > [ WHERE Condizione ]

UPDATE Anche listruzione UPDATE può fare uso di una condizione (per specificare le tuple da modificare) e di espressioni (per determinare i nuovi valori) UPDATE Sedi SET Responsabile = Bruni, Citta = Firenze WHERE Sede = S01 UPDATE Imp SET Stipendio = 1.1 * Stipendio WHERE Ruolo = Programmatore

UPDATE Esempio: si vuole promuovere Gianni a dirigente e contemporaneamente aumentare il suo stipendio del 10% UPDATE Impiegati SET Mansione = 'dirigente, Stipendio = 1.10*Stipendio WHERE Nome = 'Gianni;

Ancora esempi UPDATE UPDATE Persone SET Reddito = 45 WHERE Nome = 'Piero' UPDATE Persone SET Reddito = Reddito * 1.1 WHERE Eta < 30

SELECT Le interrogazioni SQL hanno una struttura select- from-where: select AttrEspr [[ as ] Alias ] {, AttrEspr [[ as ] Alias ] } from Tabella [[ as ] Alias ] {, Tabella [[ as ] Alias ] } [ where Condizione ] Le tre parti della query sono chiamate: clausola select / target list clausola from clausola where La query effettua il prodotto cartesiano delle tabelle nella clausola from, considera solo le righe che soddisfano la condizione nella clausola where e per ogni riga valuta le espressioni nella target list

Esempio

Esempio Si chiede di selezionare tutti gli elementi presenti nella tabella Studente: SELECT * FROM Studente

Esempi di query Si chiede di selezionare le informazioni relative a tutti gli studenti che vivono nella citta di Bologna: SELECT * FROM Studente WHERE citta = Bologna Si chiede di selezionare il nome degli studenti del dipartimento di Inf: SELECT Nome FROM Studente WHERE CDip = Inf

Esempi di query Si chiede di selezionare le informazioni relative a tutti gli studenti che vivono a Torino o a Roma: SELECT * FROM Studente WHERE citta = Torino OR citta = Roma Si chiede di selezionare la matricola degli studenti del dipartimento di informatica di Torino: SELECT matr FROM Studente WHERE citta = Torino AND CDip = Inf

JOIN JOIN rappresenta un'importante funzionalità in quanto permette di correlare dati in relazioni diverse. In SQL il JOIN è espresso tramite un prodotto cartesiano tra tabelle a cui sono applicati uno o più predicati di join. Un predicato di join esprime una condizione che deve essere verificata dalle tuple del risultato dell'interrogazione.

Esempio JOIN Studenti Esami SELECT Studenti.Cognome,Studenti.Nome, Esami.Voto FROM Studenti, Esami WHERE (Studenti.Matricola = Esami.Studente) AND (Esame.Corso = Analisi I) Query: Estrarre Nome, Cognome e Voto di tutti gli studenti che hanno sostenuto lesame di Analisi I.

Esercizio (I) Si chiede di creare due tabelle: Tabella Giocatore caratterizzata dagli attributi Identificatore, Cognome, Nome, DataDiNascita e NomeSquadra Tabella Risultato caratterizzata dagli attibuti Data, Squadra1, Squadra2, Risultato1, Risultato2 Si chiede di indicare le chiavi primarie delle due tabelle.

Esercizio (II) Si chiede di inserire i seguenti dati nelle tabelle:

Esercizio (III) Si chiede di: Visualizzare i nome e cognomi di tutti i gioccatori della squadra del Brasile Visualizzare i risultati delle partite giocate il giorno 17 di giugno 2006

Esercizio (IV) Che cosa sara visualizzato come risultato dopo lesecuzione delle seguenti query: SELECT * FROM Giocatore WHERE NomeSquadra = Italia SELECT Squadra1, Squadra2 FROM Risultati WHERE Risultato1 <> Risultato2

Esercizio (V) Si chiede di visualizzare i risultati relativi alle partite in cui hanno vinto le sequadre ospiti.