APPUNTI DI DATABASE - 25/10/2018
|
|
- Giuseppina Alberti
- 5 anni fa
- Visualizzazioni
Transcript
1 APPUNTI DI DATABASE - 25/10/2018 INTRODUZIONE Lo scopo principale per cui viene progettato e realizzato un database è quello di gestire, manipolare e conservare permanentemente delle informazioni, le quali devono poter essere estratte all occorrenza. Il linguaggio standardizzato ed utilizzato per fare tutto ciò è SQL (Structured Query Language). Innanzitutto, è bene comprendere che SQL non è un linguaggio di programmazione come Java, Python, Visual Basic, C, C++, C# e molti altri. Infatti, questi ultimi utilizzano un paradigma di programmazione imperativo procedurale: è il programmatore ad ordinare alla macchina le operazioni da svolgere (imperativo) e l azione complessiva viene spezzata in una serie di azioni elementari, facendo diventare l algoritmo una sequenza di operazioni elementari (procedurale). SQL, invece, si avvale di un paradigma dichiarativo: si deve solo specificare quali sono le informazioni desiderate, e non le operazioni che devono essere svolte per generarle. Esistono anche altri paradigmi di programmazione: il paradigma funzionale utilizzato, ad esempio, dal linguaggio F#, che prevede che tutto debba essere scritto in termini di funzioni; il paradigma a liste utilizzato dal linguaggio LISP (List Processing) in cui tutto viene descritto in termini di liste ed operazioni sulle liste, e molti altri. In SQL è necessario solo specificare quali sono le informazioni di cui si ha bisogno perché nel DBMS (Database Management System) è stato già definito il modo ottimale per estrarle, grazie alla teoria relazionale, che è l algebra delle relazioni, cioè che agisce sulle tabelle (intese come un particolare tipo di insiemi). Il linguaggio SQL si colloca al livello del modello fisico e permette la realizzazione vera e propria del database; il modello relazionale è presente al livello logico, ed il diagramma EER al modello concettuale. Uno dei principali utilizzi di SQL è il ciclo CRUD (Create Read Update Delete) di un database. Ad esempio, il modo generico per scrivere una Read è il seguente: SELECT <*> FROM <R> WHERE <condizione> Questa struttura di base si usa per tutti i comandi di SQL. Si evince che il programmatore deve concentrarsi solo sulle informazioni da estrarre, e non sul modo per poterlo fare (approccio dichiarativo). SQL è un linguaggio che opera sugli insiemi: non si scrivono procedure; qualunque operazione è ottenuta scrivendo una sola istruzione. Allora, in realtà, un linguaggio dichiarativo è un linguaggio interpretato: le istruzioni sono scritte in SQL, e poi il DBMS le decodifica e le esegue. Quindi, è importante comprendere che la programmazione dichiarativa è molto differente dalla programmazione procedurale, e questa differenza è la fonte del problema di impedance mismatching: il software (che stabilisce come devono essere organizzate le operazioni) e le strutture dati (che definiscono il modo in cui i dati rappresentano un certo mondo) sono dei concetti fra loro ortogonali.
2 Dal punto di vista intuitivo, una query è un percorso che viene disegnato sul grafo delle relazioni. È molto interessante osservare che se si riesce a connettere due informazioni tramite un percorso, allora vuol dire che quel dato è presente nel database. Quindi, si tratta di un calcolo insiemistico che si esegue in un solo colpo: bisogna estrarre un oggetto e tutti quelli che ad esso sono collegati nel database. Perciò, con SQL non è necessario realizzare degli algoritmi di manipolazione sui dati, poiché tutte le possibili operazioni sono eseguite direttamente dal DBMS. SQL permette di effettuare tutte le operazioni di cui si può aver bisogno, al pari di C, Java, ecc. In tal caso, però, bisogna fare una precisazione di natura pratica. Infatti, si preferisce scrivere codice in Java, C, JavaScript, ecc. e non in SQL nei casi in cui i dati risiedono su un unico server in maniera centralizzata, al fine di evitare la ridondanza. Però, nel momento in cui su un server vengono eseguite diversi milioni di queries al secondo, siccome ogni query richiede un certo tempo per essere elaborata, il carico di lavoro per il singolo server risulta indubbiamente eccessivo. Allora, la classica architettura client-server viene resa un po più complessa, aggiungendo un Data Server, un Load Balancer e diversi Application Servers che sono collegati ad Internet, i quali rappresentano il frontend. Fare i calcoli negli Application Servers (Java) e gestire i dati nel Data Server consente di alleggerire il carico di lavoro del server e renderlo scalabile, infatti viene aggiunto un certo numero di Application Servers in base alle esigenze. Inoltre, in questo tipo di architettura, fino a circa utenti connessi, possono essere tranquillamente utilizzati i database relazionali che sono molto precisi e robusti, i quali offrono la massima garanzia e robustezza. Altrimenti, si fa uso dei database non relazionali che, al contrario, sono molto veloci e poco precisi: a volte, possono generare informazioni addirittura contraddittorie.
3 TEORIA DELL ALGEBRA RELAZIONALE La tabella sottostante rappresenta la relazione R definita sugli attributi r j, la cui notazione è: R{ r j } Sulle tabelle è possibile eseguire delle operazioni, combinando i dati in esse contenuti in maniera insiemistica. di effettuare operazioni algebriche tra le relazioni. È necessario tenere a mente che esiste una sostanziale differenza tra i diagrammi EER (Enhanced Entity Relationship) e l algebra relazionale: i primi presentano le entità e le relazioni, quindi mettono in evidenza quali informazioni sono contenute nel database e come sono legate tra loro; la seconda, invece, permette Le operazioni più elementari che l algebra relazionale permette di eseguire sulle tabelle sono la SELECT e la PROJECT: σ <ci >(R) Operazione di Select eseguita sulla relazione R e sulla condizione c i π <aj >(R) Operazione di Project, eseguita sugli attributi a j della relazione R L operazione di Select filtra le righe in accordo con la condizione c i. L operazione di Project filtra solo le colonne a j, creando così una nuova tabella che estrae dalla precedente solo gli attributi a j. ESEMPIO: Si supponga di avere la relazione Persona definita sugli attributi SSN (chiave primaria), Nome, Cognome, B_date. Selezionare solo le righe in cui la persona si chiama Francesco. L operazione da effettuare è la seguente: σ <Persona.Nome="Francesco"> (Persona) OSSERVAZIONE: È stata utilizzata la Notazione Punto, scrivendo Persona.Nome, che permette di specificare che ci si riferisce all attributo Nome della relazione Persona. In tal caso, tale notazione non era strettamente necessaria, perché la relazione coinvolta è solo una e quindi l attributo Nome è univoco. Ma ci sono dei casi in cui in un operazione sono coinvolte più di una relazione con attributi che hanno nomi uguali, e quindi si necessita della Notazione Punto.
4 ESEMPIO: Si faccia riferimento alla relazione definita precedentemente. Creare una nuova tabella che abbia solo le colonne di Persona corrispondenti a SSN, Nome, B_date. L operazione da effettuare è: π <SSN,Nome,B_date> (Persona) ATTENZIONE: Project è un operazione molto delicata perché, nel caso in cui fra gli attributi non sia inserita anche la chiave primaria, si rischia di ottenere una nuova tabella con dei records che risultano ripetuti, in quanto aventi gli stessi valori. Ad esempio, π <Nome> (Persona) potrebbe generare una tabella in cui sono presenti delle righe ripetute. In casi come questo, in SQL è importante specificare il vincolo DISTINCT, che impone che eventuali ripetizioni di un record all interno delle tabelle siano fuse in un unica riga. Nell algebra relazionale si assume che non possano mai essere presenti due n-uple che hanno gli stessi valori, perché altrimenti essa non produce più valori coerenti. Un altra semplice operazione è quella di RENAME, che non viene mai usata da sola, ma unitamente ad altre operazioni: ρ(r{r i }) Operazione di Rename eseguita sugli attributi r i Serve per rinominare attributi o una tabella. Può essere utilizzata, ad esempio, in combinazione con una Project: ρ <B> ( π <SSN,Nome,B_date> (Persona) ) In tal caso, la Project sulla relazione Persona ha creato una tabella, la quale viene rinominata B. Gli operatori enunciati finora si definiscono operatori unari, poiché lavorano solo su una relazione per volta. OPERAZIONI INSIEMISTICHE Le operazioni insiemistiche sono: Unione Intersezione Differenza
5 Si supponga di avere due insiemi: A e B. L insieme unione (A B) è l insieme degli elementi di A e di B. Nel caso di due relazioni, l unione può essere eseguita solo se esse sono UNION COMPATIBLE, cioè definite sugli stessi attributi, a prescindere dall ordine. L ordine con cui gli attributi compaiono nelle due relazioni non è rilevante perché, nel caso in cui fosse diverso, attraverso una Select è possibile estrarre le colonne delle due relazioni nell ordine desiderato, in tal modo riordinandole. In tal caso, se sono presenti records con gli stessi valori nelle due relazioni, essi compariranno solo una volta nella relazione unione. L insieme intersezione (A B) è l insieme degli elementi presenti sia in A sia in B. Nel caso di due relazioni, è l insieme dei records comuni, cioè presenti contemporaneamente in entrambe. L insieme differenza (A-B) è l insieme degli elementi presenti in A, ma non in B. Equivalentemente, nel caso di due relazioni, la differenza rappresenta l insieme dei records presenti nella relazione A, ma non in B. Oltre che per l unione, anche per effettuare intersezione e differenza tra relazioni è necessario che esse siano union compatible. Gli operatori appena introdotti sono chiamati operatori binari poiché eseguono operazioni contemporaneamente su due relazioni distinte. Si considerino l insieme A che contiene gli elementi a1, a2, a3, e l insieme B che contiene gli elementi b1, b2, b3. Insieme a tutte le operazioni insiemistiche elementari, è possibile definire anche il PRODOTTO CARTESIANO, come l insieme C di tutte le possibili coppie { ai, bj }. Eseguire il prodotto cartesiano fra due relazioni A e B vuol dire creare una relazione C costituita da tutti i records ai di A affiancati da tutti i records bj di B. ESEMPIO: nel caso Cliente-Acquista-Prodotto, il prodotto cartesiano fra le relazioni Cliente e Prodotto è il seguente:
6 Nella relazione ottenuta compaiono tutte le possibili coppie fra i clienti ed i prodotti che sono stati acquistati. In genere, non è molto utile effettuare un singolo prodotto cartesiano. Ciò che si fa quasi sempre è la seguente operazione: σ <C> ( A*B ) Select sulla condizione C del prodotto cartesiano A*B Questa operazione corrisponde al costrutto SELECT FROM A, B WHERE <C> in SQL, e prende il nome di JOIN fra la relazione A e la relazione B: A <c j >B = σ <C> ( A*B ) Eseguire una Join fra due relazioni significa crearne una terza in cui non si inseriscono tutte le possibili coppie di records di una relazione e dell altra, ma solo quelle in corrispondenza in base alla condizione specificata. In genere, la condizione cj di Join corrisponde al vincolo di chiave esterna. È per questo motivo che viene eseguita la Join al posto di un singolo prodotto cartesiano: non si è interessati a tutte le coppie possibili fra due relazioni, ma solo a quelle collegate da un vincolo di chiave esterna. ESEMPIO: Considerando in Cliente-Acquista-Prodotto la seguente operazione di Join: CLIENTE <PRODOTTO.SSN_ACQUIRENTE=CLIENTE.SSN>PRODOTTO Tale operazione analizza tutte le possibili coppie di records di CLIENTE e di PRODOTTO, e considera solo quelle in cui gli attributi PRODOTTO.SSN_ACQUIRENTE e CLIENTE.SSN coincidono, e cioè solo le coppie in cui la persona ha effettivamente acquistato il prodotto. Viene generata la tabella contenente contiene tutti i clienti ed i prodotti acquistati per ogni cliente. L operazione di Join concretizza il fatto che se è presente un percorso che collega delle informazioni nel diagramma delle relazioni, allora quelle informazioni possono essere estratte. ESEMPIO: Market-Basket Analysis Determinare, dato un prodotto, quali sono i clienti che lo hanno acquistato e quali sono gli altri prodotti comprati da tali clienti. PRODOTTO <C>CLIENTE <D>CLIENTE
7 ATTENZIONE: La Join può essere effettuata anche su più di due relazioni contemporaneamente. La Join presenta anche alcune varianti: LEFT JOIN: estrae tutti gli elementi di A e solo gli elementi corrispondenti di B; RIGHT JOIN: estrae tutti gli elementi di B e solo gli elementi corrispondenti di A; FULL OUTER JOIN: estrae tutti gli elementi di A, tutti gli elementi di B e trova le corrispondenze. ESEMPIO (Left Join): Estrarre tutti gli studenti e, se qualcuno di essi ha sostenuto un esame, i voti degli esami. Con una Join potrebbero essere estratti solo gli studenti che hanno fatto e superato l esame, perché è necessaria la corrispondenza fra gli elementi. OSSERVAZIONE: Con una Full Outer Join si possono ottenere degli elenchi che a sinistra sono pieni e a destra sono in parte vuoti ed in parte pieni, o viceversa. Inoltre, in diversi contesti come quello aziendale, è necessario avere informazioni aggregate sui dati contenuti nel database, le quali sono indispensabili per i sistemi di supporto alle decisioni, ad esempio. Pertanto, un altra operazione fondamentale dell algebra relazionale è la FUNZIONE DI AGGREGAZIONE: F<f()>(A) Funzione di aggregazione definita sulla funzione f() e sulla relazione A Tale operazione estrae, per mezzo della relazione A, tutti gli elementi sui quali deve essere eseguita la funzione f(). Le possibili funzioni f() sono le FUNZIONI STATISTICHE DI AGGREGAZIONE: COUNT() Conta gli elementi estratti SUM() Somma il valore degli elementi estratti AVG() Calcola la media degli elementi estratti VAR() Calcola lo scarto all interno degli elementi estratti. Alessandro Caniglia Francesco Immorlano
SQL QUERY: Le interrogazioni del database
Appunti della lezione di Database del 20 ottobre 2016 (mattina) Studenti: D Amuri Giuseppe, De Luca Federico Professore: Mario Bochicchio SQL QUERY: Le interrogazioni del database Per effettuare un interrogazione
DettagliAPPUNTI DELLA LEZIONE DI DATABASE DEL 26/10/2016 Studenti: Marco D'Amato, Adriano Luigi Piscopello Professore: Mario Bochicchio
APPUNTI DELLA LEZIONE DI DATABASE DEL 26/10/2016 Studenti: Marco D'Amato, Adriano Luigi Piscopello Professore: Mario Bochicchio INTRODUZIONE L algebra relazionale è l algebra su cui si basa il linguaggio
DettagliLezione 6. Algebra e Calcolo Relazionale
Lezione 6 Algebra e Calcolo Relazionale 1 Sommario Esempio di Applicazione con Database (AZIENDA) Algebra Relazionale Operazioni Relazionali Unarie Operazioni dell Algebra Relazionale dalla teoria degli
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 4 Raffaella Gentilini 1 / 46 Sommario 1 Join di Tabelle Join Naturale Theta Join Join Esterno 2 3 Funzioni d aggregazione La Clausola GROUP BY La Clausola HAVING
DettagliScopo. Informatica. Sistema informativo. Sistema informatico
BASI DI DATI 1 BASI DI DATI 2 Scopo Informatica Elaborazione di dati: Basi di dati Gestione dell informazione Informazione: difficile da definire ma a tutti è chiara l importanza della sua gestione in
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 4 Raffaella Gentilini 1 / 48 Sommario 1 Join di Tabelle Join Naturale Theta Join Join Esterno 2 La Clausola HAVING 3 2 / 48 Join Naturale Theta Join Join Esterno
DettagliInterrogare 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 è
DettagliStructured 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
DettagliQL (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
DettagliLinguaggi per Basi di Dati - 1. Algebra Relazionale. Algebra Relazionale. Linguaggi per Basi di Dati - 2. Operatori Insiemistici.
Linguaggi per Basi di Dati - 1 Università degli Studi di Trieste Corso di Laurea in Informatica D. Gubiani marzo 2008 Distinguiamo due classi di linguaggi per basi di dati : - linguaggi di definizione,
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 4 Raffaella Gentilini 1 / 27 Sommario 1 Join di Tabelle 2 3 2 / 27 Lo Statement JOIN Join espliciti di tabelle nella clausola FROM In SQL e possibile scrivere
DettagliScopo Informatica. Sistema informativo. Sistema informatico. Gestione dell informazione per le lauree triennali
Scopo Informatica Gestione dell informazione per le lauree triennali LEZIONE 9 Elaborazione di dati: Basi di dati Informazione: difficile da definire ma a tutti è chiara l importanza della sua gestione
DettagliBASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI 1 Algebra relazionale Definizione L'algebra relazionale è un insieme di operazioni (query) che servono
DettagliScopo Laboratorio di Informatica
Corso di laurea triennale in Chimica - Laboratorio di Informatica 1 Corso di laurea triennale in Chimica - Laboratorio di Informatica 2 Scopo Laboratorio di Informatica Gestione dell informazione per la
DettagliTipi di operatori. Gli operatori dell algebra relazionale sono classificabili nelle seguenti categorie:
lgebra relazionale Il linguaggio per interrogare ed aggiornare la base di dati fa parte del modello di questi ultimi. Un operazione di aggiornamento può essere vista come una funzione che, data un istanza
DettagliAlgebra relazionale. Algebra relazionale. Operatori dell algebra relazionale. Operatori dell algebra relazionale. Algebra relazionale.
Algebra relazionale Algebra relazionale Introduzione Selezione e proiezione Prodotto cartesiano e join Natural join, theta-join e semi-join Outer join Unione e intersezione Differenza e antijoin Divisione
DettagliBasi di dati (database)
Basi di dati (database) 1 Scopo Gestione dell informazione Informazione: difficile da definire ma a tutti è chiara l importanza della sua gestione in diversi tipi di attività Esempi: aziende, banche, anagrafi,
DettagliSommario. 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
DettagliSQL. SQL: "storia. Sviluppato nella metà degli anni settanta (1974) presso il laboratorio di ricerca IBM di S.Josè. Dal 1983 ca. "standard di fatto"
SQL SQL: "storia Sviluppato nella metà degli anni settanta (194) presso il laboratorio di ricerca IBM di S.Josè Dal 1983 ca. "standard di fatto" E il linguaggio di riferimento per l interrogazione di DBMS
DettagliSistemi 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 Sesta parte Interrogazione di una
DettagliBasi di dati. Gabriella Trucco
Basi di dati Gabriella Trucco gabriella.trucco@unimi.it Algebra relazionale Definizione: insieme di operazioni (query) che servono per manipolare relazioni (tabelle). Formalizzazione matematica del modo
DettagliBASI DATI: algebra relazionale
BASI DATI: algebra relazionale BIOINGEGNERIA ED INFORMATICA MEDICA 1 Algebra relazionale Definizione L'algebra relazionale è un insieme di operazioni (query) che servono per manipolare relazioni (tabelle).
DettagliInformatica. per laurea triennale di area non informatica. 1 Le basi di dati
1 Informatica per laurea triennale di area non informatica LEZIONE 7 - 2 Scopo Gestione dell informazione Informazione: difficile da definire ma a tutti è chiara l importanza della sua gestione in diversi
DettagliDatabase Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati
Sommario - Progettazione di un database - Join - Valore NULL - Operatori aggregati Progettazione di un database - In un database c'è una marcata distinzione tra i valori in esso contenuti e le operazioni
DettagliInformatica 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
DettagliCAPITOLO V. DATABASE: Il modello relazionale
CAPITOLO V DATABASE: Il modello relazionale Il modello relazionale offre una rappresentazione matematica dei dati basata sul concetto di relazione normalizzata. I principi del modello relazionale furono
DettagliGestione delle informazioni. Tot. h 10. Base di Dati. Tot. h 56. Grafica in C# - Laboratorio- Tot. h 40. Dipartimento Informatica Materia Informatica
Dipartimento Informatica Materia Informatica Classe 5 Tec Ore/anno 198 A.S. 2018-2019 MODULI COMPETENZE UNITA di APPRENDIMENTO Gestione delle informazioni Tot. h 10 Base di Dati Tot. h 56 Grafica in C#
DettagliI DATI E LA LORO INTEGRAZIONE 63 4/001.0
I DATI E LA LORO INTEGRAZIONE 63 4/001.0 L INTEGRAZIONE DEI DATI INTEGRAZIONE DEI DATI SIGNIFICA LA CONDIVISIONE DEGLI ARCHIVI DA PARTE DI PIÙ AREE FUNZIONALI, PROCESSI E PROCEDURE AUTOMATIZZATE NELL AMBITO
DettagliMicrosoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati
Microsoft Access Programma applicativo del pacchetto Microsoft Office per la gestione delle basi di dati. Microsoft Access 2 Creazione base di dati Apertura di una base dati Una nuova base dati si crea
DettagliALGEBRA'RELAZIONALE'
ALGEBRA'RELAZIONALE'! 2 Definizioni'! Algebra Relazionale! Insieme di operatori di base del modello relazionale! Espressioni in Algebra relazionale! Sequenza di operazioni in algebra relazionale! Calcolo
DettagliInformatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia
Informatica Dipartimento di Economia Ing. Cristiano Gregnanin Corso di laurea in Economia 20 ottobre 2016 1 / 22 Introduzione ai database Prima dei DBMS, le organizzazioni utilizzavano semplici file per
DettagliDatabase parte 2. Database azienda
Database parte 2 Esercizio azienda SQL Ing. Lucia Vaira lucia.vaira@unisalento.it Database azienda L azienda è organizzata in dipartimenti Ciascun dipartimento ha un codice, un nome e un impiegato che
DettagliSQL - Structured Query Language
SQL - Structured Query Language Luca Martini Università di Pisa 16 aprile 2010 Riepilogo sugli operatori aggregati Sintassi SELECT A t t r i b u t o 1, MAX( A t t r i b u t o 2 ),... FROM Tabella1, Tabella2,...
DettagliCorso di Informatica Medica
Università degli Studi di Trieste Corso di Laurea Magistrale in INGEGNERIA CLINICA ESERCITAZIONE: IL LINGUAGGIO SQL Corso di Informatica Medica Docente Sara Renata Francesca MARCEGLIA Dipartimento di Ingegneria
DettagliCorso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste
Corso di Basi di Dati 9. Esercitazioni in SQL: Check, asserzioni, viste A.A. 2016 2017 Check Come abbiamo visto, SQL permette di specificare vincoli sugli attributi e le tabelle attraverso il comando check
DettagliD. Gubiani Introduzione alle Basi di Dati 3. La porzione automatizzata di un sistema informativo viene in
Università degli Studi di Udine Facoltà di Agraria CORSO DI LAUREA IN SCIENZE E TECNOLOGIE DELL AMBIENTE E DEL TERRITORIO Sistemi di Elaborazione dell Informazione alle D. Gubiani 14 ottobre 2009 D. Gubiani
DettagliINTRODUZIONE AL 2 TEST IN ITINERE. a.a
INTRODUZIONE AL 2 TEST IN ITINERE a.a. 2014-15 Modalità d esame Tipologia degli studenti: A(ll). Non Sufficienti al Primo Test in Itinere (su tutto il programma sino ad SQL base). Si presentano su tutto
DettagliModulo 8 I data base Unità 5 Le Query
Modulo 8 I data base Unità 5 Le Query Prof. Antonio Scanu 1 Le operazioni relazionali: In questa lezione focalizziamo l attenzione sulle operazioni che consentono di interrogare una base di dati relazionale.
DettagliInformatica per le Scienze Umane. Introduzione al corso: programma
Informatica per le Scienze Umane Introduzione al corso: programma 1 Obiettivi del corso Fornire le conoscenze e le competenze necessarie alla rappresentazione e al trattamento consapevole delle informazioni
DettagliAlgebra Relazionale. Interrogazione Basi di Dati. Algebra relazionale. Algebra relazionale. Unione. Algebra relazionale
Interrogazione Basi di Dati Algebra Relazionale Interrogare un DB signifia estrarre le informazioni desiderate dal DB stesso In genere le informazioni desiderate si possono estrarre da una singola tabella
DettagliModulo 2 Data Base 3
Modulo 2 Data Base 3 Università degli Studi di Salerno Corso di Laurea in Scienze della comunicazione Informatica generale Docente: Angela Peduto A.A. 2004/2005 Proiezione Dati una relazione r(x) e un
DettagliMODULO 2. Query normali e parametriche Query di:
MODULO 2 TITOLO DBMS e SQL In questo Modulo si affronta lo studio dei DBMS Access e MySQL. In particolare per Access, si descrive come progettare, impostare e modificare gli strumenti di lavoro (tabelle,
DettagliParte III. L algebra relazionale
Parte III L algebra relazionale asi di dati - prof. Silvio Salza - a.a. 2014-2015 III - 1 Linguaggi di interrogazione Dichiarativi: specificano le proprietà del risultato ("che cosa") Procedurali: specificano
DettagliSQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative
SQL SQL Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative l utente specifica quale informazione è di suo interesse, ma non come estrarla dai dati Le interrogazioni vengono
DettagliOperazioni. Lezione 8. Operazioni Relazionali. Operazioni insiemistiche Intersezione: Operazioni insiemistiche Unione:
Operazioni Lezione 8 Operazioni Relazionali Le diverse operazioni vengono eseguite sulle istanze non sulla struttura della tabella Il risultato dell operazione sono un insieme di istanze che soddisfano
DettagliBasi di dati - Laboratorio
Basi di dati - Laboratorio Corso di Laurea in Bioinformatica Docente: Barbara Oliboni Lezione 4 Contenuto della lezione Interrogazioni SQL Join interni ed esterni Uso di variabili tupla o ALIAS Interrogazioni
DettagliBasi di Dati. Dettagli e Approfondimenti
Basi di Dati Dettagli e Approfondimenti Dettagli e Approfondimenti Altre Forme di Join Funzioni Aggregative Approfondimenti DDL Espressioni Algebra Relazionale >> Dettagli e Approfondimenti Operatori Binari
DettagliInformatica per le Scienze Umane. Introduzione al corso: programma dettagliato
Informatica per le Scienze Umane Introduzione al corso: programma dettagliato 1 Obiettivi del corso Fornire le conoscenze e le competenze necessarie alla rappresentazione e al trattamento consapevole delle
DettagliOperatori aggregati. Operatori aggregati. Interrogazioni con raggruppamento. Interrogazioni con raggruppamento
Operatori aggregati In algebra relazionale le espressioni vengono valutate sulle singole tuple in successione. Talvolta però possono essere necessarie informazioni derivabili dall esame di tutte le tuple
DettagliL ALGEBRA RELAZIONALE (2) Lezione del 28/10/2008 Prof. Mario Bochicchio
L ALGEBRA RELAZIONALE (2) Lezione del 28/10/2008 Prof. Mario Bochicchio Ricapitoliamo brevemente gli operatori dell algebra relazionale visti sino ad ora: gli operatori unari, ovvero π (select, estrae
DettagliITI M. FARADAY. Programmazione a. s
ITI M. FARADAY Programmazione a. s. 2018-2019 Disciplina: INFORMATICA Indirizzo: INFORMATICA E TELECOMUNICAZIONI Classi: Quinta A Quinta B Ore settimanali previste: 6 (3 ora Teoria - 3 ore Laboratorio)
DettagliCorso sul linguaggio SQL
Corso sul linguaggio SQL Modulo L2B (SQL) 4.3-1 Prerequisiti Creazione e gestione tabelle Uso ambiente SQL in algebra relazionale 2 1 Introduzione In questa Unità vediamo i comandi SQL con i quali è possibile
DettagliSQL. 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
DettagliLE RELAZIONI IN SQL. SELECT ordini.id_ordine, clienti.cognome, clienti.nome, ordini.articolo, ordini.quantità
LE RELAZIONI IN SQL INNER JOIN La inner join si effettua andando a cercare righe corrispondenti nelle due tabelle, basandosi sul valore di determinate colonne. In Access è il caso del campo di tipo Ricerca
DettagliFondamenti di Informatica e Programmazione
Fondamenti di Informatica e Programmazione Prof. G ianni D Angelo Email: giadangelo@unisa.it A. A. 2018/19 Dati e Basi di Dati 1/4 I dati sono importanti poiché costituiscono una risorsa aziendale La loro
DettagliOperazioni sui database
Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle
DettagliIstituto Statale E.Torricelli Liceo Scientifico Tecnologico-Tecnico Industriale. Compiti Estivi Informatica
Studiare ciascuno degli argomenti proposti nel corso dell anno sul libro di testo (secondo le pagine assegnate) oppure sul sito comunicato all inizio dell anno con le stesse credenziali: 1) Da pag. 352
DettagliCorso di Access. Prerequisiti. Modulo L2A (Access) 1.2 Strumenti di Access. Utilizzo elementare del computer Concetti fondamentali di basi di dati
Corso di Access Modulo L2A (Access) 1.2 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione In questa Unità si introduce Access 2007, un applicazione
Dettagli<Nome Tabella>.<attributo>
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (2) Tabelle mult., variabili, aggreg, group Prof. Alberto
DettagliI.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
DettagliSQL: 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
DettagliProf. Alberto Postiglione Dipartimento di Scienze della Comunicazione Università degli Studi di Salerno
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (1) Interrogazioni semplici Prof. Alberto Postiglione
DettagliDati una relazione r(x) e un sottoinsieme Y di X, la proiezione di r su Y si indica con
Proiezione Dati una relazione r(x) e un sottoinsieme Y di X, la proiezione di r su Y si indica con Y ( r ) o PROJ Y ( r ) ed è l insieme di tuple su Y ottenute dalle tuple di r considerando solo i valori
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 5 Raffaella Gentilini 1 / 22 Sommario 1 Gruppi 2 / 22 Raggruppamenti Gruppi Quanto sinora visto permette di estrarre dal DB informazioni che si riferiscono a
DettagliSQL operazioni sui dati: interrogazioni con join e prodotti cartesiano
SQL operazioni sui dati: interrogazioni con join e prodotti cartesiano Selezione, proiezione e join Le istruzioni SELECT : con una sola relazione nella clausola FROM permettono di realizzare: selezioni,
DettagliParte III L algebra relazionale
Parte III L algebra relazionale asi di dati - prof. Silvio Salza - a.a. 2017-2018 III - 1 Linguaggi di interrogazione Dichiarativi: specificano le proprietà del risultato ("che cosa") Procedurali: specificano
DettagliPRODOTTO 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,
DettagliManuale 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,
DettagliSQL 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
DettagliGestione di basi di dati relazionali con SQL (parte I) Linguaggi per basi di dati
Gestione di basi di dati relazionali con SQL (parte I) Gian Pietro Picco Dipartimento di Elettronica e Informazione Politecnico di, Italy picco@elet.polimi.it http://www.elet.polimi.it/~picco Linguaggi
DettagliINFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno
: SQL (3) Tabelle multiple, variabili, operatori di aggregazione QUERIES SU PIU TABELLE Queries su più tabelle 17 mar 010 Dia 3 17 mar 010 Dia 4 Per formulare un interrogazione su più tabelle, la clausola
DettagliSQL - 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
DettagliVincoli di Integrità Referenziale
Vincoli di Integrità Referenziale In alcuni casi (corrispondenze fra relazioni) è necessario che i valori degli attributi di una relazione R 1 si trovino anche in attributi corrispondenti di un altra relazione
DettagliALGEBRA RELAZIONALE. L algebra relazionale
ALGEBRA RELAZIONALE 2 L algebra relazionale L insieme principale di operazioni per il modello relazionale è l algebra relazionale. Le operazioni dell algebra relazionale consentono all utente di specificare
DettagliLaboratorio di Basi di Dati IV esercitazione 17 aprile 2007
Laboratorio di Basi di Dati IV esercitazione 17 aprile 2007 Sia data la base di dati Unige, che riprende ed estende la basi di dati creata durante le precedenti esercitazioni per la modellazione dei dati
DettagliSQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:
SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i
DettagliOperazioni Relazionali. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto san giovanni
Operazioni Relazionali Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto san giovanni Algebra relazionale Il modello logico Relazionale si fonda sull algebra relazionale Permette di
DettagliBasi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi.
Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi. Cognome: Nome: Matricola: Domanda 1 (15%) Considerare la base di dati relazionale contenente le seguenti relazioni:
DettagliAPPUNTI DELLA LEZIONE DI DATABASE DEL 20/10/2016 (POMERIGGIO)
APPUNTI DELLA LEZIONE DI DATABASE DEL 20/10/2016 (POMERIGGIO) Studenti: Luca Signore, Cristian Annicchiarico Professoressa: Lucia Vaira Lo scopo di questa lezione è quello di introdurre gli strumenti necessari
DettagliSISTEMI 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
DettagliSQL: ALTRE FORME DI JOIN, FUNZIONI AGGREGATIVE, ESPRESSIONI. Patrizio Dazzi a.a
SQL: ALTRE FORME DI JOIN, FUNZIONI AGGREGATIVE, ESPRESSIONI Patrizio Dazzi a.a. 2017-2018 COMUNICAZIONI Homeworks preso il prossimo! Compitini un po di pazienza Assistente Vinicius Monteiro De Lira PICCOLO
DettagliLezione 1 Concetti generali
Inizio contenuto della pagina. Lezione 1 Concetti generali Introduzione Microsoft Access è un programma per la gestione di database relazionali sviluppato da Microsoft. Un database (in italiano "base di
DettagliAlgebra Relazionale.
Algebra Relazionale c.vallati@iet.unipi.it Sommario Introduzione all algebra relazionale I costrutti principali dell algebra relazionale Esempi Esercitazione Basi di dati Ciclo di vita Finita la fase di
DettagliIntroduzione all algebra relazionale. Prof. Giovanni Giuffrida
Introduzione all algebra relazionale Prof. Giovanni Giuffrida Esempio di interrogazione Studenti Nome Matricola Indirizzo Telefono Mario Rossi 456 Via Roma 1 095 111 Ugo Bianchi 567 Via Etnea 154 095 222
DettagliMinistero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale
Unione Europea Regione Sicilia Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale ISTITUTO TECNICO INDUSTRIALE STATALE G. MARCONI EDILIZIA ELETTRONICA e
DettagliDomande 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
DettagliPRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE BIOLOGICHE
PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE BIOLOGICHE Gennaro Cordasco e Rosario De Chiara {cordasco,dechiara}@dia.unisa.it Dipartimento di Informatica ed Applicazioni R.M. Capocelli Laboratorio
DettagliQueries su più tabelle
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (2) Tabelle mult., variabili, aggreg, group Prof. Alberto
DettagliIL LINGUAGGIO SQL LE BASI
IL LINGUAGGIO SQL LE BASI DB DI RIFERIMENTO PER GLI ESEMPI 2 ESPRESSIONI NELLA CLAUSOLA SELECT La SELECT list può contenere non solo attributi, ma anche espressioni: Le espressioni possono comprendere
DettagliSELECT s.nome, e.data Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola
SQL SELECT s.nome, e.data FROM Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola SELECT s.nome As Nome, 2002 - s.annonascita As Eta, 0 As NumeroEsami FROM Studenti
DettagliSELECT s.nome, e.data FROM Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola
SQL, e.data, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola As Nome, 2002 - s.annonascita As Eta, 0 As NumeroEsami WHERE NOT EXISTS (SELECT * WHERE e.matricola = s.matricola
DettagliMicrosoft Access. Nozioni di base. Contatti: Dott.ssa Silvia Bonfanti
Microsoft Access Nozioni di base Contatti: Dott.ssa Silvia Bonfanti silvia.bonfanti@unibg.it Introduzione In questa lezione vedremo lo strumento Microsoft Access ed impareremo come realizzare con esso
DettagliCorso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.
Corso integrato di Sistemi di Elaborazione Modulo I Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Basi di dati: introduzione 2 Introduzione Gestione delle informazioni Basi di dati / DBMS Modello dei
Dettagli2.2a: MODELLO RELAZIONALE. (1 Struttura)
2.2a: MODELLO RELAZIONALE (1 Struttura) Introduzione Formulato da Codd nel 1970 Codd, E.F. A Relational Model of Data for Large Shared Data Banks Communications of the ACM, vol. 13, num. 6, jun 1970, pp.
DettagliLeft 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
DettagliBasi di dati e Relazioni
Basi di dati e Relazioni Studenti (Matricola,Cognome,Nome,DataNascita) Corsi (Codice,Titolo,Docente) Esami (Studente,Voto,Corso) Studenti Corsi Esami contiene dati su un insieme di studenti contiene dati
DettagliCapitolo 9. Sistemi di basi di dati Pearson Addison-Wesley. All rights reserved
Capitolo 9 Sistemi di basi di dati 2007 Pearson Addison-Wesley. All rights reserved Capitolo 9: Sistemi di basi di dati 9.1 Definizione di Sistemi di Basi di Dati 9.2 Modello relazionale 9.3 Basi di dati
Dettagli