Fa riferimento ad una famiglia di linguaggi dichiarativi, basati sul calcolo dei predicati del primo ordine
|
|
- Amedeo Leo
- 8 anni fa
- Visualizzazioni
Transcript
1 Calcolo relazionale Fa riferimento ad una famiglia di linguaggi dichiarativi, basati sul calcolo dei predicati del primo ordine calcolo Specifica (èla base relazionale su tuple le di proprietà molti con costrutti su dichiarazioni domini del risultato del linguaggio di range piuttosto SQL) che indicare la procedura per calcolarlo Ne esistono versioni con potenzialità espressive diverse 1 A1,..., Calcolo su domini x1,.., f(x,...,aksono attributi distinti (anche non nella base di dati) A1: f(x1,..,,..,xk, :,..,xk) x1, x, èuna Ak: variabili a valori nei corrispondenti domini { A1: A xkèdetta formula logica (vale vero o falso) : x1, x, Target Ak: xk listin f(x1,..,xk) quanto definisce } Il struttura valori risultato sostituiti del èuna risultato a x1,..,xkrendono relazione su A1,...,,...,Akche vera la formula contiene fle tuple la i cui Le espressioni del calcolo sui domini hanno la forma 2
2 R(A1:x1,...,Ap:xp) La formula f xϑy formano e x1,..,xpsono una tupla variabili dove di RR(A1,..,Ap) èvera per èuno valori schema di x1,..,xpche di relazione Formule atomiche Se confronto o xϑc (=,,,,<,>) con x,y variabili, c costante e ϑoperatore di f1 f2(or) f1f2(and) f1(not) f1e f2sono formule allora sono formule Operatori logici 3 Data La una formula f e una variabile x (f) x si definisce la formula Data alla formula variabile èvera x rende se esiste vera falmeno un valore a che sostituito La x, formula una formula èvera f èvera f se e per una ogni x variabile possibile (f) x si definisce valore per la la formula variabile 4 Quantificatori Quantificatore esistenziale Quantificatore universale
3 P P Relazione fra e Ad esempio... Valgono le leggi di De Morgan x Per ogni impiegato x P cnon ècapo x x P Quindi... uno Non solo esiste dei m Supervisione(Impiegato: nessun msupervisione(impiegato: due operatori impiegato che ha ccome m, Capo: capo c) c) èsufficiente... Impiegati(Matricola,Nome,età,Stipendio) [1] Target Trovare guadagnano matricola, piùdi Supervisione(Capo,Impiegato) nome, 1.700etàe stipendio degli impiegati che Si considera il seguente schema {Matricola: Impiegati(Matricola: list...in m, Nome: m,nome: n, Età: e, n, Stipendio: Età: e, Stipendio: s s) (s>1700)} condizione Q: algebra relazionale σstipendio>1700(impiegati) 5 6
4 Target Trovare matricola, nome, etàdi tutti gli impiegati {Matricola: m, Nome: n, [2] s Impiegati(Matricola: list...in algebra m,nome: Età: e relazionale πmatricola,nome,età(impiegati) n, Età: e, Stipendio: s)} Q: Target {Matricola: Impiegati(Matricola: list m, Nome: m,nome: n,... Età: e anche... e n, Età: e, Stipendio: s)}condizione condizione Q:...in Target Trovare algebra πcapo(supervisione la matricola relazionale dei capi degli Impiegato=Matricola(σStipendio>1700(Impiegati))) impiegati che guadagnano piùdi [3] {Capo: listc Impiegati(Matricola: Supervisione(Impiegato: m,nome: Capo: n, Età: c) e, s>1700 Stipendio: s) La variabile mcomune alle due condizioni atomiche realizza la condizione} correlazione fra le tuple prevista dal join 7 8
5 Q:{NomeCapo: Target Trovare di 1700 listnome e stipendio dei capi degli impiegati che guadagnanopiù nc, StipCapo: [4] s>1700 Impiegati(Matricola: sc m,nome: Supervisione(Impiegato: Capo: n, Età: c) e, Stipendio: s) Le variabili Impiegati(Matricola: crealizzano due join c, Nome: nc, Età: ec, Stipendio: sc)} Q:{Matricola: Trovare gli impiegati che guadagnano piùdel rispettivo capo, MatrCapo: mostrando m, matricola, Nome: nome n, Stipendio: e stipendio s, di entrambi c, NomeCapo: [5] nc, m,nome: StipCapo: n, sc Età: e, Stipendio: s) s>sc Supervisione(Impiegato: Impiegati(Matricola: Capo: c) Variabili } riferite a tuple c, diverse nc, Età: ec, Stipendio: sc) 9 10
6 {Matricola: Trovare matricola e nome dei capi i cui impiegati guadagnano tutti più di 1700c, Nome: n c,nome: [6] n, Età: e, Stipendio: s) Q: m ( n ( e ( s (Impiegati(Matricola: m, Nome: n, Età: e,stipendio: specifica Supervisione(Impiegato: m, Capo: c) s 1700)))) } i capi s ) tutti Non esiste un Impiegato con capo ce stipendio inferiore a {Matricola: Trovare di 1700 c, Nome: matricola n e nome dei capi i cui impiegati guadagnano tutti più m ( n ( e ( s ( (Impiegati(Matricola: c,nome: n, Età: e, Stipendio: m, Nome: s) n, Età: specifica Supervisione(Impiegato: m, Capo: c)) s >1700)))) } e,stipendio: i capituttis ) Si ottiene O cnon m dall espressione (A ha B impiegati C) = m dipendenti precedente (A B o C) l impiegato applicando = m ( (A guadagna le leggi B) di piùdi De C) Morgan Q: [7]
7 dichiaratività "verbosità": espressioni senza tante senso variabili! { A: x R(A: x) } dipendono queste espressioni { sono A: { x, A: dipendenti B: x, y B: y dal R(A: x) dominio: y=y} x) } risposta èinfinita... dal dominio delle variabili. Se il le èinfinito, risposte la possibili 13 Pregi e difetti Pregi Difetti Calcolo e algebra per indipendente relazionale equivalente dal dominio a calcolo essa esiste un'espressione relazionale che dell'algebra sia un'espressione di conseguenza ogni espressione del indipendente calcolo dell'algebra relazionale dal dominio) relazionale equivalente esiste a essa (e 14 L algebra relazionale è indipendente dal dominio Si considerano solo le espressioni del calcolo relazionale che sono indipendenti dal dominio Calcolo e algebra sono equivalenti Dimostrazione costruttiva...
8 Riduzione Dipendenza dati delle dal variabili dominio le i i valori variabili provengono rappresentano solo dalla tuple base di Le La fèunaformula target espressioni range listelencale listèla del con listadegliobiettividell interrogazione valoreveroo calcolo variabililiberedellaformula su falso tuple con dichiarazioni f di 15 Calcolo su tuple con dichiarazioni di range Per superare le limitazioni del calcolo su domini range hanno la forma { target list range list f } Y: x x.z èuna variabile che rappresenta una tupla il cui rangeèuna x.z Z X Y relazione èuna lista definita di attributi su un insieme e Y = Z di attributi X x.* abbreviazione x) per X: Z: x.z x.x (si prelevano tutti gli attributi della tupla 16 Target list La target list è composta da elementi del tipo
9 i.* Impiegati(Matricola,Nome,Età,Stipendio),Stipendio) i.(nome,età) definisce Impiegati, come ovvero risultato {Matricola,Nome,Età,Stipendio} una tupla che contiene tutti gli attributi di relazione NomeCapo,StipCapo:i.(Nome,Stipendio) rappresenta {Nome,Età} una tupla definita sulla relazione con i due attributi definisceunatuplacon i due attributi{nomecapo,stipcapo} 17 Target list: esempio i è una variabile associata ad una tupla della Range list Ad i i esempio... può (Impiegati) assumere i valori delle tuple contenute nella relazione x(r) i (Impiegati), s (Supervisione), i1 (Impiegati) Elenca le variabili libere della formula f con i relativi campi di variabilità (relazione di appartenenza R) 18
10 atomi x.a ϑc-confronto valore dell attributo A della tupla x con connettivi x1.a la.a1ϑx2.a costante.a2-confronto c quantificatori x1e quello logici(,, ) dell attributo A2della fra il valore tupla dell attributo x2 A1della tupla x(r) x(r) esiste che nella associano relazione un rangealle R una alle tupla variabili vero se (f) tutte le tuple x in R soddisfano fx che soddisfa f 19 La formula f La formula f è costruita utilizzando Q: { Q: { Trovare guadagnano matricola, nome, etàe stipendio degli impiegati che Target i.* piùdi list i(impiegati) i.stipendio> 1700 } [1] Trovare matricola, nome, Rangelist etàdi tutti gli condizione i.(matricola,nome,età) i(impiegati) impiegati Target list Rangelist condizione }(vuota) 20
11 Q: Trovare Target matricola dei capi degli impiegati che guadagnano piùdi { s.capo listi(impiegati), [2] i.matricola= Rangelist condizione s.impiegatoi.stipendio>1700 join s(supervisione) condizione selezione } 21 Q:{NomeCapo, Target Trovare di 1700 listnome e stipendio dei capi degli impiegati che guadagnanopiù StipCapo: [3] c(impiegati), c.matricola= s(supervisione), s.capos.impiegato=i.matricola c.(nome,stipendio) i(impiegati) i.stipendio> 1700} Rangelist condizione selezione condizioni di join Le indipendente due variabili ce iaccedono ai valori della stessa relazione in modo 22
12 Q: Target Trovare gli impiegati che guadagnano piùdel rispettivo capo, {i.(matricola,nome,stipendio), mostrando matricola, nome e stipendio di entrambi [4] MatrCapo,NomeCapo,StipCapo: list c(impiegati), c.matricola= s(supervisione), s.capos.impiegato= c.(matricola,nome,stipendio) i(impiegati) Rangelist i.stipendio> condizione di c.stipendio} selezione condizioni di join i.matricola Trovare di 1700matricola e nome dei capi i cui impiegati guadagnano tutti più {c.(matricola, Target Nome) [5] c(impiegati), list s(supervisione) Q: c.matricola= Rangelist i(impiegati) ( (s.capo=s1.capo ( s1(supervisione) s1.impiegato=i.matricola) join per trovare in i.stipendio> Impiegati la tupla del 1700))} capo i e s1 non all interno sono variabili delle libere relazioni nella corrispondenti formula, ma variano s.capo 23 24
13 Trovare di 1700matricola e nome dei capi i cui impiegati guadagnano tutti più {c.(matricola, Target Nome) [6] c(impiegati), list s(supervisione) Q: c.matricola= Rangelist ( i(impiegati) (s.capo=s1.capo( s1(supervisione) s1.impiegato=i.matricolai.stipendio 1700)))} join per trovare in Impiegati la tupla del capo condizioni accedere alla di join tupla rispettivamente con le informazioni per trovare ogni i impegatodipendente capi in Supervisione e s.capo 25 I Ogni risultati variabile sono ha costruiti come rangeuna a partire dalle sola variabili relazionelibere Se relazione non si si hanno riesce una due sola a combinarle variabili variabile si libera per può produrre far si fa riferimento riferimento il risultato alle ad in due una modo relazioni sola corretto ma 26 Limitazioni: unione es. Il calcolo su tuple con dichiarazioni di range non permette di esprimere l unione di relazioni R1(A) R2(A)
14 Operazioni insiemistiche Intersezione Differenza { x1.* x1(r1) x2(r2) (x1.a1=x2.a2...x1.ak=x2.ak)} { x1.* preleva x1(r1) le x2(r2) tuple di r1che (x1.a1=x2.a2...x1.ak=x2.ak)} hanno una tupla uguale in r2 preleva le tuple di r1che non hanno una tupla uguale in r2 SQL che è basato sul calcolo su tuple con dichiarazione di range prevede un operatore esplicito per l unione Gli operatori di intersezione e differenza sono esprimibili possiamo calcoli solo estrarrevalori, non calcolarne di nuovi In a su SQL livello insiemi di ci interesse sono di di tupla estensioni tuple o di (somme, singolo ad hoc medie, valore (conversioni, ecc.) somme, ecc.) Soluzione esterna a SQL.. con programma Altri limiti calcolo di valori derivati interrogazioni inerentemente ricorsive, come la chiusura transitiva 27
15 Chiusura transitiva Per capo, ogni impiegato, trovare Supervisione(Impiegato, tutti i superiori (cioèil Capo) Paolo e BianchiGaia cosi' via) Belli capo, il capo del Gaia Mario Belli Mei Filippo Mario Mori Verdi ImpiegatoSuperiore Paolo Gaia Mario Belli BianchiGaia BianchiMario Mei Filippo Belli Mori Verdi Q:ImpiegatoCapo Accesso ricorsivo alla stessa relazione per un numero non predeterminato di volte {Impiegato: Soluzione i, Superiore: col s join? (Supervisione(Impiegato: join trovare i capi i,capo: dei Supervisione(Impiegato: capi s) c) c, Capo: s))} Se la gerarchia è a 2 livelli si può pensare a una soluzione con un join di Supervisione con se stessa Se si vuole estendere a gerarchie più profonde si devono aggiungere join a più termini 29 30
16 Conclusione Non esiste in algebra e calcolo relazionale la possibilità di esprimere l'interrogazione che, per ogni relazione binaria, ne calcoli la chiusura transitiva Per ciascuna relazione, è possibile calcolare la chiusura transitiva, ma con un'espressione ogni volta diversa: quanti join servono? non c'è limite! 31
Fondamenti di Teoria delle Basi di Dati
Fondamenti di Teoria delle Basi di Dati Riccardo Torlone Parte 6: Potenza espressiva del calcolo Calcolo su domini, discussione Pregi: dichiaratività Difetti: "verbosità": tante variabili! espressioni
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
DettagliAlgebra Relazionale e Calcolo Relazionale. L. Vigliano
Algebra Relazionale e Calcolo Relazionale Operazioni associate al modello relazionale Notazione algebrica Algebra relazionale Linguaggio procedurale interrogazioni espresse applicando operatori alle relazioni
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
DettagliCalcolo Relazionale Basi di dati e sistemi informativi 1. Calcolo Relazionale. Angelo Montanari
Calcolo Relazionale Basi di dati e sistemi informativi 1 Calcolo Relazionale Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Calcolo Relazionale Basi di dati e sistemi informativi
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
Dettaglilogica dei predicati
Calcolo relazionale Calcolo relazionale: logica dei predicati, dove la semantica di ogni predicato esprime una condizione sui dati. E un linguaggio di query, dichiarativo: il risultato è dato da una descrizione
DettagliAlgebra di Boole ed Elementi di Logica
Algebra di Boole ed Elementi di Logica 53 Cenni all algebra di Boole L algebra di Boole (inventata da G. Boole, britannico, seconda metà 8), o algebra della logica, si basa su operazioni logiche Le operazioni
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
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
DettagliVincoli di integrità
Vincoli di integrità Non tutte le istanze di basi di dati sintatticamente corrette rappresentano informazioni plausibili per l applicazione di interesse Studenti Matricola Nome Nascita 276545 Rossi 23-04-72?
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
DettagliLinguaggi per basi di dati
ALGEBRA RELAZIONALE Linguaggi per basi di dati operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query") aggiornamento 2 Linguaggi
DettagliBasi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale
Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente
DettagliCardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni
e identificatori Codice (0,1) (1,1) Dirige Informatica Lezione 8 Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2012 2013 1 Cognome
DettagliIntroduzione all Algebra Relazionale
Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente
DettagliAlcune nozioni di base di Logica Matematica
Alcune nozioni di base di Logica Matematica Ad uso del corsi di Programmazione I e II Nicola Galesi Dipartimento di Informatica Sapienza Universitá Roma November 1, 2007 Questa é una breve raccolta di
DettagliBasi di dati 9 febbraio 2010 Compito A
Basi di dati 9 febbraio 2010 Compito A Domanda 0 (5%) Leggere e rispettare le seguenti regole: Scrivere nome, cognome, matricola (se nota), corso di studio e lettera del compito (ad esempio, A) sui fogli
DettagliAlgebra e calcolo relazionale. Ripasso. Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia
Algebra e calcolo relazionale Ripasso Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia I 4 Livelli di astrazione Le Tabelle Livello fisico (o interno)
DettagliCONCETTO DI LIMITE DI UNA FUNZIONE REALE
CONCETTO DI LIMITE DI UNA FUNZIONE REALE Il limite di una funzione è uno dei concetti fondamentali dell'analisi matematica. Tramite questo concetto viene formalizzata la nozione di funzione continua e
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
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à
DettagliBasi di dati 30 settembre 2010 Compito A
Basi di dati 30 settembre 2010 Compito A Domanda 0 (5%) Leggere e rispettare le seguenti regole: Scrivere nome, cognome, matricola (se nota), corso di studio e lettera del compito (ad esempio, A) sui fogli
DettagliCalcolatori: Algebra Booleana e Reti Logiche
Calcolatori: Algebra Booleana e Reti Logiche 1 Algebra Booleana e Variabili Logiche I fondamenti dell Algebra Booleana (o Algebra di Boole) furono delineati dal matematico George Boole, in un lavoro pubblicato
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.
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
DettagliDB - Modello relazionale dei dati. DB - Modello Relazionale 1
DB - Modello relazionale dei dati DB - Modello Relazionale 1 Definizione Un modello dei dati è un insieme di meccanismi di astrazione per definire una base di dati, con associato un insieme predefinito
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
DettagliModello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi
Modello Relazionale Modello Relazionale Proposto agli inizi degli anni 70 da Codd Finalizzato alla realizzazione dell indipendenza dei dati Unisce concetti derivati dalla teoria degli insiemi (relazioni)
DettagliIntroduzione alla teoria dei database relazionali. Come progettare un database
Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare
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
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.
DettagliGli operatori relazionali
Gli operatori relazionali Agiscono su una o più relazioni per ottenere una nuova relazione (servono a realizzare le interrogazioni sul database) Ci sono tre operazioni fondamentali per i database relazionali:
Dettagli2.2b: RELAZIONI E BASI DI DATI. Atzeni, cap. 2.1.4
2.2b: RELAZIONI E BASI DI DATI Atzeni, cap. 2.1.4 Il modello è basato su valori Una Base di Dati è generalmente costituita da più di una Tabella Le corrispondenze fra dati presenti in tabelle diverse sono
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
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
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
DettagliArchitettura standard (ANSI/SPARC) a tre livelli per DBMS. Viste (relazioni derivate) Viste virtuali e materializzate. Viste materializzate
Viste (relazioni derivate) Rappresentazioni diverse per gli stessi dati (schema esterno) Relazioni derivate: relazioni il cui contenuto è funzione del contenuto di altre relazioni (definito per mezzo di
DettagliBASE DI DATI: sicurezza. Informatica febbraio 2015 5ASA
BASE DI DATI: sicurezza Informatica febbraio 2015 5ASA Argomenti Privatezza o riservatezza Vincoli di integrità logica della base di dati intrarelazionali interrelazionali Principio generale sulla sicurezza
DettagliData Management Software. Il linguaggio SQL. Raggruppamenti. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004
DB2 Data Management Software Il linguaggio SQL Raggruppamenti Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004 LEGGERE LE SEGUENTI ATTENZIONI Le informazioni contenute in questa
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,
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
DettagliQuery. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi
Query (Interrogazioni) Ultima modifica: 5/4/2012 SQL Materiale aggiuntivo per il corso di laurea in Lingue e Culture per il Turismo classe L-15! È necessario un modo per interrogare le basi di dati, cioè
DettagliUniversità degli Studi di Ferrara - A.A. 2014/15 Dott. Valerio Muzzioli ORDINAMENTO DEI DATI
ORDINAMENTO DEI DATI Quando si ordina un elenco (ovvero una serie di righe contenenti dati correlati), le righe sono ridisposte in base al contenuto di una colonna specificata. Distinguiamo due tipi di
DettagliMODELLO RELAZIONALE. Introduzione
MODELLO RELAZIONALE Introduzione E' stato proposto agli inizi degli anni 70 da Codd finalizzato alla realizzazione dell indipendenza dei dati, unisce concetti derivati dalla teoria degli insiemi (relazioni)
DettagliIntroduzione al corso
Introduzione al corso Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: introduzione.pdf Sistemi Informativi L-B Docente Prof. Paolo Ciaccia
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
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.
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
DettagliCompito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1
Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione della base di dati di una facoltà e si definisca
DettagliProgettare una base di dati che permetta di gestire il problema descritto nel seguito, nei seguenti punti:
Progettare una base di dati che permetta di gestire il problema descritto nel seguito, nei seguenti punti: 1. Definire uno schema Entità/Relazione che descriva il problema 2. Definire uno schema logico
DettagliLo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.
Progettazione logica Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. La progettazione logica è basata su un particolare modello logico dei
Dettaglix u v(p(x, fx) q(u, v)), e poi
0.1. Skolemizzazione. Ogni enunciato F (o insieme di enunciati Γ) è equisoddisfacibile ad un enunciato universale (o insieme di enunciati universali) in un linguaggio estensione del linguaggio di F (di
DettagliAlgebra booleana. Si dice enunciato una proposizione che può essere soltanto vera o falsa.
Algebra booleana Nel lavoro di programmazione capita spesso di dover ricorrere ai principi della logica degli enunciati e occorre conoscere i concetti di base dell algebra delle proposizioni. L algebra
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
DettagliFasi di creazione di un programma
Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma
DettagliEsercizio 1. Cognome e nome:... Matricola:...
Sistemi Informativi - Prova d'esame del 20/12/2000 Regole del gioco: 1) vietato scambiare informazioni con altri; 2) motivare ampiamente tutte le risposte; 3) indicare con chiarezza, cognome, nome e numero
DettagliProgettazione di Basi di Dati
Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello
DettagliBasi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2
Basi di dati Concetti Introduttivi ESEMPIO Fisica, Analisi, Informatica Entità Relazioni Interrogazioni Database 2 Tabella (I) STUDENTE Attributi Data di Nascita Indirizzo Matricola Luca Neri 27/10/1980
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
Dettaglif(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da
Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede
DettagliRiccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino
Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server
DettagliAPPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)
ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1) Un insieme è una collezione di oggetti. Il concetto di insieme è un concetto primitivo. Deve esistere un criterio chiaro, preciso, non ambiguo, inequivocabile,
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
DettagliSommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.
Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell
DettagliLe Basi di Dati. Le Basi di Dati
Le Basi di Dati 20/05/02 Prof. Carlo Blundo 1 Le Basi di Dati Le Base di Dati (database) sono un insieme di tabelle di dati strutturate in maniera da favorire la ricerca di informazioni specializzate per
DettagliECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2
ECDL - Database European Computer Driving Licence - Modulo 5 - Database LEZIONE 2 Ripasso Introduzione - Ripasso Cosa si intende per dbms? e cosa per database? Quali sono gli elementi che lo compongono?
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
DettagliPredicati e Quantificatori
Predicati e Quantificatori Limitazioni della logica proposizionale! Logica proposizionale: il mondo è descritto attraverso proposizioni elementari e loro combinazioni logiche! I singoli oggetti cui si
DettagliBasi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007
Basi di dati Concetti introduttivi Ultima modifica: 26/02/2007 ESEMPIO INSEGNAMENTI Fisica, Analisi, Informatica Aule Docenti Entità Relazioni Interrogazioni St udent i Database 2 Tabella (I) STUDENTE
DettagliSQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"
SQL SQL: concetti base originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo gli aspetti essenziali,
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
DettagliSchemi delle Lezioni di Matematica Generale. Pierpaolo Montana
Schemi delle Lezioni di Matematica Generale Pierpaolo Montana Al-giabr wa al-mukabalah di Al Khuwarizmi scritto approssimativamente nel 820 D.C. Manuale arabo da cui deriviamo due nomi: Algebra Algoritmo
DettagliOperatori logici e porte logiche
Operatori logici e porte logiche Operatori unari.......................................... 730 Connettivo AND........................................ 730 Connettivo OR..........................................
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
DettagliAPPLICAZIONI LINEARI
APPLICAZIONI LINEARI 1. Esercizi Esercizio 1. Date le seguenti applicazioni lineari (1) f : R 2 R 3 definita da f(x, y) = (x 2y, x + y, x + y); (2) g : R 3 R 2 definita da g(x, y, z) = (x + y, x y); (3)
DettagliMATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c
Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione
DettagliInformatica (Basi di Dati)
Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.
DettagliAccess. P a r t e p r i m a
Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di
DettagliCapitolo II. La forma del valore. 7. La duplice forma in cui si presenta la merce: naturale e di valore.
Capitolo II La forma del valore 7. La duplice forma in cui si presenta la merce: naturale e di valore. I beni nascono come valori d uso: nel loro divenire merci acquisiscono anche un valore (di scambio).
DettagliAlgebra e Calcolo relazionale. Algebra e calcolo relazionale (parte 2)
Algebra e calcolo relazionale (parte 2) Algebra e valori nulli Persone Nome Età Reddito Aldo 35 15 Andrea 27 21 Maria NULL 42 σ Età>30 (Persone) Quali ennuple compaiono nel risultato? La prima sì, la seconda
DettagliXQuery. è lo standard adottato dal W3C per la XML. - Consente di iterare sugli elementi di un documento - Consente di ristrutturare i contenuti XML
;4XHU\ XQuery Il linguaggio XQuery è lo standard adottato dal W3C per la manipolazione e ristrutturazione di documentid XML. - Consente di iterare sugli elementi di un documento - Consente di ristrutturare
DettagliLA CORRELAZIONE LINEARE
LA CORRELAZIONE LINEARE La correlazione indica la tendenza che hanno due variabili (X e Y) a variare insieme, ovvero, a covariare. Ad esempio, si può supporre che vi sia una relazione tra l insoddisfazione
DettagliEsercizio sui data base "Gestione conti correnti"
Database "Gestione conto correnti" Testo del quesito La banca XYZ vuole informatizzare le procedure di gestione dei conti correnti creando un archivio dei correntisti (Cognome, Nome, indirizzo, telefono,
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
DettagliModello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli
Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli gerarchico e reticolare sono più vicini alle strutture
DettagliN ORE LEZIONI FRONTALI: STUDIO INDIVIDUALE ( ) N ORE ESERCITAZIONI/LABORATORIO: STUDIO INDIVIDUALE ( )
Invia modulo Basi di Dati + Laboratorio INSEGNAMENTO 214-215 ANNO ACCADEMICO Informatica Triennale sede di Brindisi CORSO DI LAUREA IN Paolo Buono DOCENTE 2 1 ANNO DI CORSO SEMESTRE 7 N CREDITI LEZIONI
DettagliApplicazioni lineari
Applicazioni lineari Esempi di applicazioni lineari Definizione. Se V e W sono spazi vettoriali, una applicazione lineare è una funzione f: V W tale che, per ogni v, w V e per ogni a, b R si abbia f(av
Dettaglirisulta (x) = 1 se x < 0.
Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente
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
DettagliB9. Equazioni di grado superiore al secondo
B9. Equazioni di grado superiore al secondo Le equazioni di terzo grado hanno una, due o tre soluzioni, risolvibili algebricamente con formule molto più complesse di quelle dell equazione di secondo grado.
DettagliSVILUPPO IN SERIE DI FOURIER. Prof. Attampato Daniele
SVILUPPO IN SERIE DI FOURIER Prof. Attampato Daniele SVILUPPO IN SERIE DI UNA FUNZIONE Uno dei problemi più frequenti in matematica è legato alla necessità di approssimare una funzione. Uno degli strumenti
DettagliBasi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale
Basi di Dati e Sistemi Informativi Progettazione logica: Il modello relazionale Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Introduzione Basato sul lavoro di Codd (~1970) E attualmente
DettagliAlgebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE
Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE Andrea Bobbio Anno Accademico 2000-2001 Algebra Booleana 2 Calcolatore come rete logica Il calcolatore può essere visto come una rete logica
DettagliInformatica. Il modello relazionale: Relazioni e tabelle. Relazioni con attributi
Informatica Basi di dati parte 3 Basi di dati relazionali: relazioni, tabelle, chiavi, vincoli Lezione 9 Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione
DettagliAlgoritmi e strutture dati. Codici di Huffman
Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per
DettagliDerivate Limiti e funzioni continue
Derivate Limiti e funzioni continue Se il valore di una funzione f() si avvicina al valore l quando si avvicina ad 0 diciamo che f() ha come ite l per tendente ad 0. Noi per rappresentare questo fatto
DettagliModulo 2 Data Base 2
Modulo 2 Data Base 2 Università degli Studi di Salerno Corso di Laurea in Scienze della comunicazione Informatica generale Docente: Angela Peduto A.A. 2004/2005 Relazioni: riepilogo Relazione : concetto
DettagliPROCESSO DI INDICIZZAZIONE SEMANTICA
PROCESSO DI INDICIZZAZIONE SEMANTICA INDIVIDUAZIONE DEI TEMI/CONCETTI SELEZIONE DEI TEMI/CONCETTI ESPRESSIONE DEI CONCETTI NEL LINGUAGGIO DI INDICIZZAZIONE TIPI DI INDICIZZAZIONE SOMMARIZZAZIONE INDICIZZAZIONE
Dettagli