Ricorsione in SQL-99. Introduzione. Idea di base
|
|
- Floriana Fabiani
- 8 anni fa
- Visualizzazioni
Transcript
1 Ricorsione in SQL-99 Introduzione In SQL2 non è possibile definire interrogazioni che facciano uso della ricorsione Esempio Voli(lineaAerea, da, a, parte, arriva) non è possibile esprimere l interrogazione che ritrova tutte le città raggiungibili l una dall altra, con un numero arbitrario di tappe intermedie per risolvere queste interrogazioni con SQL2, è necessario utilizzare SQL da programma in SQL-99 è stata aggiunta la possibilità di esprimere interrogazioni ricorsive Idea di base Base teorica: basi di dati deduttive Uso regole logiche eventualmente ricorsive per definire il contenuto delle relazioni i predicati rappresentano le relazioni le variabili rappresentano attributi la virgola rappresenta AND (join) Definizioni multiple per la stessa relazione rappresentano un OR (unione) 1
2 Esempio Relazione estensionale Voli(lineaAerea, da, a, parte, arriva) Voli e memorizzata su disco Relazione intensionale 1. Raggiunge(da,a) Voli(lineaAerea, da, a, parte, arriva) 2. Raggiunge(da,a) Voli(lineaAerea, da, citta1, parte, arriva), Raggiunge(citta1,a) Raggiunge è una vista, cioè una relazione intensionale, la cui definizione dipende da se stessa e dalla relazione Voli Ricorsione Esempio (continua) Raggiunge e definita dall unione di due interrogazioni 1. Proiezione (da,a) da Voli R1= da,a (Voli) 2. (i) Join tra Voli e Raggiunge sulla base del campo citta1, che rappresenta una citta intermedia (ricorsione) e (ii) proiezione su (da,a) R2 = da,a (Voli x a = da Raggiunge) 3. Raggiunge = R1 U R2 Una volta definita, la relazione intensionale Raggiunge puo essere utilizzata nel contesto di una interrogazione SQL-99 - comando Supporta il comando per definire relazioni intensionali le relazioni intensionali definite con il comando non diventano parte dello schema ma rappresentano solo dichiarazioni di relazioni da utilizzare nel contesto dell interrogazione l interrogazione può poi essere usata in un qualunque contesto in cui sia possibile utilizzare un interrogazione SQL 2
3 SQL-99 - comando R 1 AS <definizione di R 1 >,... R n AS <definizione di R n >, Definizione <interrogazione che coinvolge R 1,, R n > Uso SQL-99 - comando ogni dichiarazione può essere ricorsiva e le relazioni possono essere mutuamente ricorsiva ogni relazione coinvolta in una ricorsione deve essere preceduta dalla parola chiave RECURSIVE la definizione per la relazione R i consiste in parola chiave opzionale RECURSIVE il nome della relazione che si sta definendo parola chiave AS interrogazione che definisce R i e può fare riferimento a R 1,, R i-1 l interrogazione finale che può far riferimento a tutte le relazioni definire in precedenza Esempio (continua) predicato Raggiunge (lineare) RECURSIVE Raggiunge(da,a) AS (SELECT da,a FROM Voli) UNION (SELECT R1.da, R2.a FROM Voli AS R1, Raggiunge AS R2 WHERE R1.a = R2.da) SELECT * FROM Raggiunge; Definizione Uso 3
4 Esempio (continua) predicato Raggiunge (lineare), definizione alternativa Coppie AS SELECT da,a FROM Voli, RECURSIVE Raggiunge(da,a) AS Coppie UNION (SELECT Coppie.da, Raggiunge.a FROM Coppie, Raggiunge WHERE Coppie.a = Raggiunge.da) SELECT * FROM Raggiunge; SQL-99 - restrizione la ricorsione deve essere lineare nella definizione di una relazione R, R può comparire una sola volta Esempio ricorsione non lineare Relazione estensionale Voli(lineaAerea, da, a, parte, arriva) Relazione intensionale 1. Raggiunge(da,a) Voli(lineaAerea, da, a, parte, arriva) 2. Raggiunge(da,a) Raggiunge(da, citta1), Raggiunge(citta1,a) 4
5 Esempio ricorsione non lineare (non corretto in SQL-99) predicato Raggiunge non lineare RECURSIVE Raggiunge(da,a) AS (SELECT da,a FROM Voli) UNION (SELECT R1.da, R2.a FROM Raggiunge AS R1, Raggiunge AS R2 WHERE R1.a = R2.da) SELECT * FROM Raggiunge; SQL-99 - comando le definizioni all'interno del comando sono disponibili solo all'interno del comando e non possono essere usate al di fuori di questo tali tabelle sono comunque create e memorizzate temporaneamente (per tutta la durata del comando) nel comando si possono definire viste invece che tabelle la differenza sintattica è che si usa la parola chiave VIEW nella definizione della relazione Esempio VIEW Coppie AS SELECT da, a FROM Voli se si definisce Coppie come vista, tale relazione non viene effettivamente generata, ma il suo uso nella costruzione di Raggiunge viene sostituito dall'uso delle componenti dalle tuple di Voli 5
6 SQL-99 - semantica La semantica delle interrogazioni ricorsive è definita mediante la nozione di punto fisso si costruisce una sequenza R i di relazioni tali che: R 0 è la relazione vuota R i, 1 i, viene ottenuta applicando la definizione della relazione a R i-1 quando, per un certo i, si ha che R i = R i-1 ci si ferma e tale relazione è il risultato dell'interrogazione Esempio Determinare i cammini di un grafo dati gli archi Supponiamo di partire da una relazione Arco(da,a) Cammino(da,a) Arco(da,a) Cammino(da,a) Arco (da,nodo), Cammino(nodo,a) RECURSIVE Cammino(da,a) AS (SELECT da,a FROM Arco) UNION (SELECT R1.da, R2.a FROM Arco AS R1, Cammino AS R2 WHERE R1.a = R2.da); SELECT * FROM Cammino; Esempio (continua) Arco Cammino 0 = { }; Cammino 1 = 6
7 Esempio - semantica Cammino 2 = Cammino 1 Cammino 3 = Cammino 2 Cammino 4 = Cammino 3 punto fisso e risultato Ricorsione e negazione In alcuni casi è necessario utilizzare la negazione nella definizione di un predicato ricorsivo EXCEPT, INTERSECT NOT IN, NOT EXISTS in presenza di ricorsione, questo può però dare luogo a problemi nel definire la semantica Esempio errato P(X) R(X), NOT Q(X) Q(X) R(X), NOT P(X) P = R - Q Q = R P RECURSIVE P(X) AS (SELECT * FROM R) EXCEPT (SELECT * FROM Q), RECURSIVE Q(X) AS (SELECT * FROM R) EXCEPT (SELECT * FROM P) SELECT * FROM P; 7
8 Esempio errato (continua) se R contiene solo la tupla 0, l'interrogazione ha due possibili risposte: {R(0), P(0)} {R(0), Q(0)} ma non c è modo di scegliere tra le due al contrario, SQL-99 vuole garantire una semantica deterministica alle interrogazioni Esempio corretto Non sempre l uso di costrutti negativi porta al non determinismo Si vogliono determinare le città: raggiungibili una dall altra anche in più voli della United Airlines (UA) non raggiungibili una dall altra anche in più voli della American Airlines (AA) In questo esempio la negazione e utilizzata nell interrogazione finale e non interviene nella ricorsione Esempio corretto (continua) Triple AS SELECT lineaaerea, da, a FROM Voli, RECURSIVE Raggiunge(lineaAerea,da,a) AS Triple UNION (SELECT Triple.lineaAerea, Triple.da, Raggiunge.a FROM Triple, Raggiunge WHERE Triple.a = Raggiunge.da AND Triple.lineaAerea = Raggiunge.lineaAerea) (SELECT da,a FROM Raggiunge WHERE lineaaerea = 'UA') EXCEPT (SELECT da,a FROM Raggiunge WHERE lineaaerea = 'AA'); 8
9 Esempio corretto (continua) Esempio corretto (continua) La prima sottointerrogazione restituisce le seguenti coppie la seconda sottointerrogazione restituisce le seguenti coppie Esempio corretto (continua) Il risultato è la differenza tra questi insiemi di coppie 9
10 Stratificazione Per evitare i problemi dovuti all'uso della ricorsione attraverso la negazione, ci si restringe alla ricorsione in cui la negazione è stratificata la nozione di negazione stratificata permette di limitare l uso della ricorsione a interrogazioni la cui semantica è ben definita quando la negazione è stratificata esiste un algoritmo per calcolare un particolare minimo punto fisso, che corrisponde al contenuto informativo "intuitivo" Stratificazione - grafo Grafo i cui nodi corrispondono alle relazioni definite nella clausola arco dal nodo A al nodo B etichettato da - se nella definizione di A compare B negato arco dal nodo A al nodo B se nella definizione di A compare B non-negato se il grafo ha un ciclo che contiene uno o più archi negativi la ricorsione non è stratificata, altrimenti la ricorsione è stratificato Esempio negazione non stratificata P(X) R(X), NOT Q(X) Q(X) R(X), NOT P(X) P = R - Q Q = R - P P - R Negazione non stratificata - Q 10
11 Stratificazione Se la ricorsione e stratificata, i predicati intensionali possono essere raggruppati in strati lo strato di un predicato A è il più grande numero di archi negativi su un cammino che comincia da A In questo caso, e possibile calcolare il contenuto delle relazioni in accordo alla semantica di punto fisso nell'ordine dei loro strati, partendo dal più basso Esempio negazione stratificata P(X) R(X), NOT Q(X) Q(X) R(X), T(X) T(X) Q(X), NOT S(X) T(X) R(X) P - R Q T - S P = R Q Q = R X T T = (Q S) U R Non ci sono cicli con archi negativi quindi e stratificato Esempio (continua) R 0 2 P - Q 1 Lo strato dei predicati estensionali e sempre 0 T 1 - S 0 11
12 Esempio (continua) P = R Q Q = R X T T = (Q - S) U R Strato 0: R = {0,1}, S = {1} Strato 1: applico algoritmo punto fisso per calcolare la semantica dei predicati con strato pari a 1 (T e Q) Tale semantica dipendera solo da predicati con strato pari a 0 (semantica gia calcolata), che vengono considerati come estensionali, utilizzando la loro semantica come estensione Risultato: T 0 = {}, Q 0 = {} T 1 = {0,1}, Q 1 = {} T 2 = {0,1}, Q 2 = {0,1} T 3 = {0,1}, Q 3 = {0,1} punto fisso Esempio (continua) P = R Q Q = R X T T = (Q - S) U R Strato 2: applico algoritmo punto fisso per calcolare la semantica dei predicati con strato pari a 2 (P) Tale semantica dipendera solo da predicati con strato pari a 0 oppure 1 (semantica gia calcolata), che vengono considerati come estensionali, utilizzando la loro semantica come estensione Risultato: P 0 = {} P 1 = {} punto fisso Risultato: R = {0,1}, S= {1}, T = {0,1}, Q = {0,1}, P = {} Stratificazione Si noti che la query che utilizza le relazioni definite nella clausola non puo mai generare problemi di stratificazione Assumendo di assegnarle un nome e di inserire il nodo corrispondente nel grafo Ci possono essere archi uscenti da tale nodo, dati dalle relazioni utilizzate per la sua definizione Non ci possono essere archi entranti Quindi non puo esistere un ciclo che contiene il nodo che rappresenta l interrogazione finale 12
13 Stratificazione In SQL-99 viene richiesta la stratificazione anche rispetto ad altri costrutti non monotoni, ad esempio aggregati Vale tutto quanto detto per la negazione, in questo caso un arco negato rappresenta una funzione di aggregazione Esempio RECURSIVE P(X) AS (SELECT * FROM R) UNION (SELECT * FROM Q), RECURSIVE Q(X) AS SELECT SUM(X) FROM P SELECT * FROM P; Esempio (continua) R = {12, 34} P 0 = { }, Q 0 = { } P 1 = {12, 34}, Q 1 = {46} P 2 = {12, 34, 46}, Q 2 = {92} P 3 = {12, 34, 92}, Q 3 = {138} Non si raggiunge mai un punto fisso 13
14 Esempio (continua) P R - Q Comando in Oracle Si puo utilizzare, con la stessa sintassi vista per SQL-99 Non e pero possibile definire relazioni ricorsive Serve quindi solo per definire delle relazioni da utilizzare eventualmente piu volte nel contesto di una interrogazione 14
Ricorsione in SQL-99
Ricorsione in SQL-99 Introduzione In SQL2 non è possibile definire interrogazioni che facciano uso della ricorsione Esempio Voli(lineaAerea, da, a, parte, arriva) non è possibile esprimere l interrogazione
DettagliIntroduzione. Ricorsione in SQL-99. Esempio. Idea di base. Esempio (continua) SQL-99 - comando WITH
icorsione in SQL99 Introduzione In SQL2 non è possibile definire interrogazioni che facciano uso della ricorsione Voli(lineaAerea, da, a, parte, arriva) non è possibile esprimere l interrogazione che ritrova
DettagliIl linguaggio SQL: query innestate
Il linguaggio SQL: query innestate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLc-subquery.pdf Sistemi Informativi L-A DB di riferimento
Dettagli(anno accademico 2008-09)
Calcolo relazionale Prof Alberto Belussi Prof. Alberto Belussi (anno accademico 2008-09) Calcolo relazionale E un linguaggio di interrogazione o e dichiarativo: at specifica le proprietà del risultato
DettagliSQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12
SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2011/12 DEFINIZIONE Il concetto di vista 2 È una relazione derivata. Si specifica l espressione che genera il suo contenuto.
DettagliUso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26
Uso delle variabili di alias SQL slide aggiuntive Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione educazione Non solo per disambiguare la notazione
DettagliESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7
ESEMPI DI QUERY SQL Dati di esempio... 2 Query su una sola tabella... 2 Esempio 1 (Ordinamento)... 2 Esempio 2 (Scelta di alcune colonne)... 3 Esempio 3 (Condizioni sui dati)... 3 Esempio 4 (Condizioni
DettagliGERARCHIE RICORSIVE - SQL SERVER 2008
GERARCHIE RICORSIVE - SQL SERVER 2008 DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER
DettagliCONCETTO DI ANNIDAMENTO
LEZIONE14 SQL ANNIDAMENTI PAG. 1 / 5 PROF. ANDREA ZOCCHEDDU LEZIONE14 SQL ANNIDAMENTI CONCETTO DI ANNIDAMENTO LINGUAGGIO SQL QUERY ANNIDATE Per annidamento si intende la possibilità che, all interno di
DettagliSQL - Funzioni di gruppo
una funzione di gruppo permette di estrarre informazioni da gruppi di tuple di una relazione le funzioni di gruppo si basano su due concetti: partizionamento delle tuple di una relazione in base al valore
DettagliIstruzioni DML di SQL
Istruzioni DML di SQL Pag. 99 par.4 1 Sintassi: Costrutto: INSERT INTO (Inserimento di dati in tabelle) INSERT INTO [(, ,, )] VALUES (, ,
DettagliJoin in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a
Join in SQL (primo modo) Informatica Lezione 7 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 09- Per formulare interrogazioni che coinvolgono
DettagliIl linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf
Il linguaggio SQL: trigger Sistemi Informativi T Versione elettronica: 04.7.SQL.trigger.pdf DBMS attivi Un DBMS si dice attivoquando dispone di un sottosistema integrato per definire e gestire regole I
DettagliElementi di Algebra Relazionale
Note dalle lezioni di INFORMATICA (per gli allievi della classe quinta - indirizzo MERCURIO) Elementi di Algebra Relazionale prof. Stefano D.L.Campanozzi I.T.C. Giulio Cesare Bari - a.s. 2008-2009 1 Introduzione
DettagliSQL seconda parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/13
SQL seconda parte D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2012/13 Interrogazioni nidificate Interrogazioni nidificate 2 Si ottiene una interrogazione nidificata quando un interrogazione
DettagliDATABASE RELAZIONALI
1 di 54 UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI DISCIPLINE STORICHE ETTORE LEPORE DATABASE RELAZIONALI Dott. Simone Sammartino Istituto per l Ambiente l Marino Costiero I.A.M.C. C.N.R.
Dettagli4 SQL : Interrogazioni nidificate
Corso di Laurea in Ingegneria Gestionale SAPIENZA Università di Roma Esercitazioni del corso di Basi di Dati Prof.ssa Catarci e Prof.ssa Scannapieco Anno Accademico 2010/2011 Andrea Marrella Ultimo aggiornamento
DettagliSQL/OLAP. Estensioni OLAP in SQL
SQL/OLAP Estensioni OLAP in SQL 1 Definizione e calcolo delle misure Definire una misura significa specificare gli operatori di aggregazione rispetto a tutte le dimensioni del fatto Ipotesi: per ogni misura,
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
DettagliIntroduzione ai database relazionali
Introduzione ai database relazionali Tabelle Un database (DB) è costituito da un insieme di file che memorizzano dati opportunamente organizzati Nei database relazionale tale organizzazione è costituita
DettagliPer visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;
Maschere e Query Le Maschere (1/2) Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde un etichetta
DettagliGestione della memoria centrale
Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti
DettagliSQL IL LINGUAGGIO DI INTERROGAZIONE
SQL IL LINGUAGGIO DI INTERROGAZIONE SQL! Originato da SEQUEL-XRM e System-R (1974-1977) dell IBM! Significato originario Structured Query Language! Standard de facto! Attuale standard ANSI/ISO è SQL:1999
DettagliDDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione
SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni
DettagliInterrogazioni nidificate, commenti
Interrogazioni nidificate, commenti La forma nidificata è meno dichiarativa, ma talvolta più leggibile (richiede meno variabili) La forma piana e quella nidificata possono essere combinate Le sottointerrogazioni
DettagliStrutturazione logica dei dati: i file
Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer
DettagliFunzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
DettagliSiti web centrati sui dati Architettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
DettagliBasi Di Dati, 09/12/2003
Basi Di Dati, 09/12/2003 Una concessionaria di auto nuove ed usate vuole automatizzare alcune delle sue attività. L attività che la concessionaria vuole automatizzare riguarda la gestione delle auto nuove,
DettagliProcedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM
Procedure memorizzate SQL-2003/PSM Procedure memorizzate nel database Programmazione general-purpose Leggere sezione 8.2 di Garcia-Molina et al. Lucidi derivati da quelli di Jeffrey D. Ullman 1 Una estensione
DettagliMATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010
elementi di teoria dei grafi anno acc. 2009/2010 Grafi semplici Un grafo semplice G è una coppia ordinata (V(G), L(G)), ove V(G) è un insieme finito e non vuoto di elementi detti vertici o nodi di G, mentre
DettagliSoluzione dell esercizio del 2 Febbraio 2004
Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo
DettagliFondamenti di Teoria delle Basi di Dati
Fondamenti di Teoria delle Basi di Dati Riccardo Torlone Parte 7: Datalog Calcolo e algebra relazionale: limiti Calcolo e algebra sono sostanzialmente equivalenti: l'insieme di interrogazioni con essi
DettagliProgettaz. e sviluppo Data Base
Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo
DettagliSono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza
Il problema di flusso di costo minimo (MCF) Dati : grafo orientato G = ( N, A ) i N, deficit del nodo i : b i (i, j) A u ij, capacità superiore (max quantità di flusso che può transitare) c ij, costo di
DettagliArchitettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
DettagliProva Scritta di Basi di Dati
Prova Scritta di Basi di Dati 25 Luglio 2006 COGNOME: NOME: MATRICOLA: Si prega di risolvere gli esercizi direttamente sui fogli del testo, negli spazi indicati. Usare il foglio protocollo solo per la
DettagliRicerca Operativa e Logistica
Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili A.A. 2011/2012 Lezione 10: Variabili e vincoli logici Variabili logiche Spesso nei problemi reali che dobbiamo affrontare ci sono dei
DettagliSISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione
SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi
DettagliPer visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;
Maschere e Query Le Maschere (1/2) Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde un etichetta
DettagliTraccia di soluzione dell esercizio del 25/1/2005
Traccia di soluzione dell esercizio del 25/1/2005 1 Casi d uso I casi d uso sono in Figura 1. Ci sono solo due attori: il Capo officina e il generico Meccanico. Figura 1: Diagramma dei casi d uso. 2 Modello
DettagliIl Modello Relazionale
Il Modello Relazionale 1 Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati e reso disponibile come modello logico in DBMS reali nel 1981 Si basa sul concetto matematico di relazione,
DettagliPlanning as Model Checking Presentazione della Tesina di Intelligenza Artificiale
Planning as Model Checking Presentazione della Tesina di Intelligenza Artificiale di Francesco Maria Milizia francescomilizia@libero.it Model Checking vuol dire cercare di stabilire se una formula è vera
DettagliIl Modello Relazionale
Il Modello Relazionale Il modello relazionale 1 Il modello relazionale Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati e reso disponibile come modello logico in DBMS reali nel 1981
DettagliIl linguaggio SQL: viste e tabelle derivate
Il linguaggio SQL: viste e tabelle derivate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLd-viste.pdf Sistemi Informativi L-A DB di riferimento
Dettagliper immagini guida avanzata Stampare i fogli di lavoro di Excel Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1
Stampare i fogli di lavoro di Excel Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Stampare un foglio di lavoro per immagini guida avanzata utilizzare la finestra di dialogo Stampa per scegliere
DettagliAutomatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione
Automatizzare i compiti ripetitivi I file batch Anno accademico 2000-01 1 Spesso capita di dover eseguire ripetutatmente una data sequenza di comandi Introdurli uno a uno da tastiera è un processo lento
DettagliCapitolo 13. Interrogare una base di dati
Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per
DettagliSistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, >
Algoritmo del banchiere Permette di gestire istanze multiple di una risorsa (a differenza dell algoritmo con grafo di allocazione risorse). Ciascun processo deve dichiarare a priori il massimo impiego
DettagliIl linguaggio SQL: viste e tabelle derivate. Versione elettronica: SQLd-viste.pdf
Il linguaggio SQL: viste e tabelle derivate Versione elettronica: SQLd-viste.pdf DB di riferimento per gli esempi Imp Sedi CodImp Nome Sede Ruolo Stipendio Sede Responsabile Citta E001 Rossi S01 Analista
DettagliSistemi per la gestione di database: MySQL ( )
Sistemi per la gestione di database: MySQL ( ) Relational Database e Relational Database Management System Un database è una raccolta di dati organizzata in modo da consentire l accesso, il reperimento
DettagliAlbero semantico. Albero che mette in corrispondenza ogni formula con tutte le sue possibili interpretazioni.
Albero semantico Albero che mette in corrispondenza ogni formula con tutte le sue possibili interpretazioni. A differenza dell albero sintattico (che analizza la formula da un punto di vista puramente
DettagliBasi di Dati Corso di Laura in Informatica Umanistica
Basi di Dati Corso di Laura in Informatica Umanistica Appello del 10/09/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione
DettagliCorso di Informatica
Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down
DettagliTipi MULTISET: accesso
Tipi MULTISET: accesso Poiche non e previsto un ordine tra gli elementi un accesso diretto come quello visto per gli array non e possibile E necessario utilizzare funzioni ad hoc Tali funzioni possono
DettagliEsercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:
Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare
DettagliMacchine sequenziali
Corso di Calcolatori Elettronici I A.A. 2010-2011 Macchine sequenziali Lezione 14 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Automa a Stati Finiti (ASF) E una prima astrazione di
DettagliPL/SQL PL/SQL. Ordine degli elementi dei triggers di Oracle. Differenze nei triggers. Versione dei trigger e PSM di Oracle
Versione dei trigger e PSM di Oracle Lucidi derivati da quelli di Jeffrey D Ullman Oracle usa una variante di SQL/PSM che si chiama non consente solo di creare e memorizzare procedure e funzioni, ma puo
DettagliAppunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio
Appunti di informatica Lezione 2 anno accademico 2015-2016 Mario Verdicchio Sistema binario e logica C è un legame tra i numeri binari (0,1) e la logica, ossia la disciplina che si occupa del ragionamento
Dettaglib i 1,1,1 1,1,1 0,1,2 0,3,4
V o Appello // RICERCA OPERATIVA - Corso A (a.a. 9/) Nome Cognome: Corso di Laurea: L C6 LS LM Matricola: ) Si consideri il problema di flusso di costo minimo in figura. Si verifichi se il flusso ammissibile
DettagliMacchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO
Macchine a stati finiti 1 G. MARSELLA UNIVERSITÀ DEL SALENTO Introduzione Al più alto livello di astrazione il progetto logico impiega un modello, la cosiddetta macchina a stati finiti, per descrivere
DettagliBasi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1
Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1 Si consideri il seguente schema di base di dati che vuole tenere traccia delle attività di un autofficina. MECCANICO (CodiceFiscale,
DettagliMisure (parte II) Gerarchie Incomplete
Sistemi Informativi Avanzati Anno Accademico 2013/2014 Prof. Domenico Beneventano Misure (parte II) Gerarchie Incomplete Esempio Schema di Fatto STUDENTE(STUDENTE,,REGIONE,), DF:! REGIONE (,,) REGIONE!
DettagliBasi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL
Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,
DettagliMacchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:
Sommario Macchine a stati finiti M. Favalli Engineering Department in Ferrara 4 Sommario (ENDIF) Analisiesintesideicircuitidigitali / 35 (ENDIF) Analisiesintesideicircuitidigitali 2 / 35 4 Le macchine
DettagliFondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2)
Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Definiamo innanzitutto una relazione d ordine tra le funzioni. Siano φ e ψ funzioni
DettagliCorrispondenze e funzioni
Corrispondenze e funzioni L attività fondamentale della mente umana consiste nello stabilire corrispondenze e relazioni tra oggetti; è anche per questo motivo che il concetto di corrispondenza è uno dei
DettagliUtilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi
Vogliamo creare una struttura per permettere di memorizzari i voti della classe in tutte le materie Per fare questo untilizziamo tre tabelle Alunni,materie,voti Alunni Materie Voti Creo un record per ogni
DettagliManuale di realizzazione dei modelli di documento
MystiqueXML Manuale di realizzazione dei modelli di documento Indice 1 Le tabelle...5 1.1 Tabelle condizionali...5 1.2 Tabelle Multiple - un solo livello...5 1.3 Tabelle Multiple - a più livelli...5 2
Dettagli13. Campi vettoriali
13. Campi vettoriali 1 Il campo di velocità di un fluido Il concetto di campo in fisica non è limitato ai fenomeni elettrici. In generale il valore di una grandezza fisica assegnato per ogni punto dello
DettagliDefinizione di domini
Definizione di domini Come nei linguaggi ad alto livello (es. C) è possibile definire nuovi domini (tipi di dati) a partire da quelli predefiniti, anche se il costruttore è più limitato. create domain
DettagliMetodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo
Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo L. De Giovanni G. Zambelli 1 Problema del flusso a costo minimo Il problema del flusso a costo minimo é definito
DettagliLe query di raggruppamento
Le query di raggruppamento Le "Query di raggruppamento" sono delle Query di selezione che fanno uso delle "Funzioni di aggregazione" come la Somma, il Conteggio, il Massimo, il Minimo o la Media, per visualizzare
DettagliDati relazionali e XML
Dati relazionali e Introduzione (1) Memorizzazione dei dati Utilizzo dei dati Applicazione DBMS relazionale Applicazione Applicazione 2 Introduzione (2) Memorizzazione dei dati Utilizzo dei dati Applicazione
DettagliLinguaggi. Claudio Sacerdoti Coen 11/04/2011. 18: Semantica della logica del prim ordine. <sacerdot@cs.unibo.it> Universitá di Bologna
Linguaggi 18: Semantica della logica del prim ordine Universitá di Bologna 11/04/2011 Outline Semantica della logica del prim ordine 1 Semantica della logica del prim ordine Semantica
DettagliSi formulino le seguenti interrogazioni tramite il linguaggio SQL:
Informatica per le Scienze Umane - Corso di Laurea in Lettere Appello del 15.01.2009 - Docente: Massimo Coppola Modello Relazionale e SQL Si consideri la seguente base di dati relativa alla redazione di
DettagliFunzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente
Funzioni In matematica, una funzione f da X in Y consiste in: 1. un insieme X detto dominio di f 2. un insieme Y detto codominio di f 3. una legge che ad ogni elemento x in X associa uno ed un solo elemento
DettagliIl seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto:
Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto: Tabella Cliente: Tabella NumTel: Tabella Dati_Cliente: L'esempio è per ragioni di chiarezza
DettagliOttimizzazione delle interrogazioni (parte I)
Ottimizzazione delle interrogazioni I Basi di Dati / Complementi di Basi di Dati 1 Ottimizzazione delle interrogazioni (parte I) Angelo Montanari Dipartimento di Matematica e Informatica Università di
DettagliLezione 8. La macchina universale
Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione
Dettagli( x) ( x) 0. Equazioni irrazionali
Equazioni irrazionali Definizione: si definisce equazione irrazionale un equazione in cui compaiono uno o più radicali contenenti l incognita. Esempio 7 Ricordiamo quanto visto sulle condizioni di esistenza
DettagliOrganizzazione degli archivi
COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i
DettagliMacchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007
Sommario Macchine a stati finiti M. Favalli 5th June 27 4 Sommario () 5th June 27 / 35 () 5th June 27 2 / 35 4 Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:
DettagliSTRUTTURE NON LINEARI
PR1 Lezione 13: STRUTTURE NON LINEARI Michele Nappi mnappi@unisa.it www.dmi.unisa.it/people/nappi Per la realizzazione della presentazione è stato utilizzato in parte materiale didattico prodotto da Oronzo
DettagliLuigi Piroddi piroddi@elet.polimi.it
Automazione industriale dispense del corso 10. Reti di Petri: analisi strutturale Luigi Piroddi piroddi@elet.polimi.it Analisi strutturale Un alternativa all analisi esaustiva basata sul grafo di raggiungibilità,
DettagliAttributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota
Attributi e domini Assumiamo un universo infinito numerabile U = {A 0, A 1, A 2...} di attributi. Denotiamo gli attributi con A, B, C, B 1, C 1... e gli insiemi di attributi con X, Y, Z, X 1,... per brevità
DettagliLE FUNZIONI A DUE VARIABILI
Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre
DettagliMEZZI CodM Tipo Targa AnnoI Assicurato
Esercizio 1 Si consideri il seguente schema relazionale, relativo alla base di dati di un agenzia di assicurazioni: ASSICURATI(CodA, Nome, Cognome, Indirizzo, Telefono) POLIZZE(CodP, Data, Tipo, CodA,
DettagliSistema operativo: Gestione della memoria
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e
DettagliIl linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.
(Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System
DettagliData Base. Master "Bio Info" Reti e Basi di Dati Lezione 6
Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica
DettagliALGEBRA RELAZIONALE RIEPILOGO
ALGEBRA RELAZIONALE RIEPILOGO PROIEZIONE: (notazione ) Operatore unario per estrarre colonne da una relazione: lista_attributi (R) Lo schema del risultato contiene i soli attributi contenuti in lista_attributi.
Dettagli9. Urti e conservazione della quantità di moto.
9. Urti e conservazione della quantità di moto. 1 Conservazione dell impulso m1 v1 v2 m2 Prima Consideriamo due punti materiali di massa m 1 e m 2 che si muovono in una dimensione. Supponiamo che i due
DettagliBasi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati
Basi di dati Il Modello Relazionale dei Dati Proposto da E. Codd nel 1970 per favorire l indipendenza dei dati Disponibile come modello logico in DBMS reali nel 1981 (non è facile realizzare l indipendenza
DettagliAbilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere
Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.
DettagliDimensione di uno Spazio vettoriale
Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione
DettagliSQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma
SQL: Structured Query Language 1 SQL:Componenti Principali Data Manipulation Language (DML): interrogazioni, inserimenti, cancellazioni, modifiche Data Definition Language (DDL): creazione, cancellazione
DettagliUser Tools: DataBase Manager
Spazio di lavoro Per usare T-SQL Assistant selezionare il link Simple Query e spostare a piacere la piccola finestra dove un menu a tendina mostra i diversi comandi SQL selezionabili, il pulsante Preview
DettagliCorso di Basi di Dati A.A. 2014/2015
Corso di Laurea in Ingegneria Gestionale Sapienza - Università di Roma Corso di Basi di Dati A.A. 2014/2015 Esercitazione su Progettazione Logica Tiziana Catarci, Andrea Marrella Ultimo aggiornamento :
DettagliEsercizio data base "Biblioteca"
Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni
Dettagli