SCHEMA RELAZIONALE 1
|
|
- Marcellina Bertolini
- 5 anni fa
- Visualizzazioni
Transcript
1 SCHEMA RELAZIONALE 1
2 DIAGRAMMA RELAZIONALE 2
3 Analisi e riconciliazione della sorgente operazionale I concetti principali sono EMPLOYEES, DEPARTMENTS, JOBS e JOB_HISTORY; inoltre cʼè una componente geografica costituita da LOCATIONS, COUNTRIES e REGIONS. Un punto importante da chiarire è la relazione tra il JOB attuale di un EMPLOYEE (FK2 nello schema) e la sua JOB_HISTORY: il JOB attuale di un EMPLOYEE è anche nella JOB_HISTORY? Per rispondere alla domanda, si può far riferimento a 1) Specifiche e requisiti del progetto 2) Dizionario dei dati associati al DBO In assenza di queste informazioni, si possono analizzare i dati presenti nel DBO; il JOB attuale di un EMPLOYEE dovrebbe essere presente in JOB_HISTORY con START_DATE = HIRE_DATE e END_DATE=NULL. Ma se analizziamo lo schema, in JOB_HISTORY END_DATE è in grassetto, ovvero non può essere NULL. Allora si conclude che il JOB attuale di un EMPLOYEE non è nella sua JOB_HISTORY Data Profiling 1) Analisi delle chiavi JOB_TITLE è chiave (alternativa) di JOBS? Tale attributo è NOT NULL (infatti è in grassetto nello schema) quindi occorre controllare solo che sia UNIQUE, controllando che il risultato di questa query sia vuoto SELECT JOB_TITLE FROM JOBS GROUP BY JOB_TITLE HAVING count(*)> 1 Nota : se nello schema lʼattributo JOB_TITLE è già dichiarato come chiave alternativa (cioè come attributo non nullo ed unique ) allora non è necessario fare nessun controllo. Se JOB_TITLE è chiave di JOBS allora determina gli altri attributi JOB_ID, MIN_SALARY e MAX_SALARY. Nella progettazione concettuale del fatto si potrà quindi considerare JOB_TITLE come attributo dimensionale al posto di JOB_ID. Nella progettazione logica, JOB_ID si potrebbe considerare come chiave surrogata della dimension table JOBS. Supponiamo che al termine dellʼanalisi delle chiavi siano state individuate le seguenti chiavi (nelle rispettive tabelle): JOB_TITLE rinominata per semplicità JOB REGION_NAME rinominata per semplicità REGION COUNTRY_NAME rinominata per semplicità COUNTRY DEPARTMENT_NAME rinominata per semplicità DEPARTMENT E tali chiavi verranno utilizzate come attributi dimensionali nello schema di fatto. 3
4 2) Analisi delle dipendenze funzionali (FD) Ricordiamo che le FD esplicitamente dichiarate in uno schema sono quelle derivanti dalle chiavi (ad esempio in COUNTRIES si ha che COUNTRY_NAME à REGION_ID quindi, siccome REGION_ID à REGION_NAME per transitività si ottiene COUNTRY_NAME à REGION_NAME Eʼ interessante analizzare le FD della tabella LOCATIONS. Trascurando POSTAL_CODE e STREET_ADDRESS, che relazione cʼè tra CITY, STATE_PROVINCE a COUNTRY_ID? In base al significato dei termini una CITY è in un STATE_PROVINCE che a sua volta è in una COUNTRY, quindi CITY à STATE_PROVINCE e STATE_PROVINCEà COUNTRY_ID. Per verificare che queste FD siano effettivamente valide sui dati, si effettuano, rispettivamente, le seguenti query: SELECT CITY FROM LOCATIONS GROUP BY CITY HAVING count(distinct STATE_PROVINCE)> 1 SELECT STATE_PROVINCE FROM LOCATIONS GROUP BY STATE_PROVINCE HAVING count(distinct COUNTRY_ID)> 1 Se le query restituiscono vuoto, allora le FD sono rispettate, altrimenti occorre analizzare nel dettaglio i dati. Supponiamo ad esempio che la prima query restituisca solo Reggio Emilia ; questo indica che la FD è valida per le altre città mentre per Reggio Emilia è probabile che ci siano dei dati errati Allora modifico la query per vedere quante STATE_PROVINCE ha Reggio Emilia SELECT STATE_PROVINCE, count(*) FROM LOCATIONS WHERE CITY= Reggio Emilia GROUP BY STATE_PROVINCE Se ottengo Emilia Romagna con count=100 ed Emilia_Romagna con count=2, allora ho trovato lʼerrore e nelle due righe con Emilia_Romagna posso correggere i dati riportando Emilia Romagna. Questo appena discusso è un semplice caso di data cleaning, la cui trattazione esula dagli scopi del nostro corso. Per la tesina, i dati presenti in Adwenture Works non dovrebbero essere sporchi, quindi non è necessaria alcuna azione di data cleaning. 4
5 Una considerazione particolare vale per il valore NULL. Supponiamo che la query SELECT STATE_PROVINCE FROM LOCATIONS GROUP BY STATE_PROVINCE HAVING count(distinct COUNTRY_ID)> 1 Restituisca una sola riga con NULL (ricordiamo che in base allo schema STATE_PROVINCE può assumere il valore NULL): questo indica che la FD STATE_PROVINCE à COUNTRY_ID È verificata, quindi abbiamo la gerarchia Quindi CITY à STATE_PROVINCE à COUNTRY_ID CITY à STATE_PROVINCE à COUNTRY_NAME però si deve considerare anche il caso in cui STATE_PROVINCE sia NULL: Cosa significa STATE_PROVINCE con valore NULL? Può essere un errore, una incompletezza nei dati, però può essere anche un valore significativo, un modo per indicare che per una certa location non è applicabile il concetto di STATE_PROVINCE, cioè ci sono alcune location per le quali è riportata la CITY e il COUNTRY_ID (quindi COUNTRY_NAME) ma non STATE_PROVINCE. Il classico esempio è CITTA DEL VATICANO che è collegata direttamente allo STATO VATICANO senza passare attraverso una STATE_PROVINCE. In questo caso si parla di GERARCHIE INCOMPLETE (argomento ancora da trattare); si suppone che STATE_PROVINCE non presenti valori NULL. 5
6 Reverse engineering: dallo schema logico allo schema ER Il punto di partenza della progettazione concettuale di uno schema di fatto è lo schema ER del DB operazionale, costituito da entità ed associazioni; pertanto, dato lo schema logico del DB operazionale (espresso in termini di key e foreign key) normalmente viene ricavato lo schema ER corrispondente. Dʼaltra parte è possibile effettuare la progettazione concettuale dello schema di fatto partendo direttamente dallo schema logico del DB operazionale. Tuttavia, come si mostrerà nel seguito, ci sono vantaggi di passare prima attraverso lo schema ER, i principali sono seguenti: 1) Avere una rappresentazione più semplice ed efficace dello schema dei dati, in termini di entità ed associazioni tra entità 2) Evidenziare le cardinalità delle associazioni, in particolare distinguendo tra associazioni uno-amolti, uno-a-uno e molti-a-molti La regola più semplice e frequente per ricavare lo schema ER corrispondente è quella che riporta una FOREIGN KEY (che non è chiave o parte di una chiave) dello schema relazionale in unʼassociazione UNO-A-MOLTI dello schema ER. Ad esempio la foreign key REGION_ID di COUNTRIES riferita a REGIONS equivale ad unʼassociazione in cui COUNTRIES partecipa con molteplicità 1 e REGIONS con molteplicità N. Siccome REGION_ID non è dichiarato NOT NULL, cioè può assumere il valore NULL, allora la cardinalità minima di COUNTRIES è 0. Se analizzando i dati reali si vede che in effetti REGION_ID non è mai NULL, allora si mette come cardinalità minima 1. Ricordiamo che a livello di schema di fatto una cardinalità minima 0 corrisponde ad un arco opzionale. Siccome REGION_ID non è chiave (alternativa) di COUNTRIES, REGION_ID può ripetersi in COUNTRIES cioè la cardinalità massima di REGIONS è N. La cardinalità minima di REGIONS non è rilevante e viene generalmente indicata 0; tale cardinalità si potrebbe verificare sui dati ad esempio attraverso il seguente LEFT JOIN: SELECT * FROM REGIONS R LEFT JOIN COUNTRIES C ON (R.REGION_ID=C.REGION_ID) WHERE C.REGION_ID IS NULL Se vuoto allora ogni REGION ha almeno una COUNTRY, quindi cardinalità minima 1. Consideriamo la FK2 MANAGER_ID in DEPARTMENTS; la domanda sorge spontanea: MANAGER_ID è chiave (alternativa) di DEPARTMENTS (cioè non deve ripetersi in DEPARTMENTS, ovvero un MANAGER può dirigere un solo DEPARTMENT) oppure no (cioè può ripetersi in DEPARTMENTS, ovvero un MANAGER può dirigere più DEPARTMENT) Si effettua il controllo e si decide. SELECT MANAGER_ID FROM DEPARTMENTS GROUP BY MANAGER_ID HAVING count(*)> 1 6
7 Se MANAGER_ID è chiave allora lʼassociazione della FK2 tra DEPARTMENTS e EMPLOYEES è di tipo uno-a-uno e come tale deve essere trattata a livello di progetto concettuale del fatto: la soluzione normalmente adottata è quella di considerare lʼemployee MANAGER del DEPARTMENT come un attributo descrittivo di DEPARTMENT (pag 23 di Se MANAGER_ID non è chiave allora lʼassociazione della FK2 tra DEPARTMENTS e EMPLOYEES è di tipo uno-a-molti: in questo caso si ricade in una gerarchia ricorsiva (argomento ancora da trattare) in quanto un DEPARTMENT ha un EMPLOYEE MANAGER, ma lʼemployee ha a sua volta il DEPARTMENT, e cosi via, ricorsivamente. Lʼultimo caso da considerare è quello in cui la FOREIGN KEY è parte di una chiave, come nel caso di JOB_HISTORY, in cui EMPLOYEE_ID è foreign key riferita ad EMPLOYEE: a livello di schema ER, lʼentità JOB_HISTORY ha EMPLOYEE come componente del suo identificatore, costituito da.{ EMPLOYEE, START_DATE}. Di seguito viene riportato lo schema ER, limitatamente alle associazioni e agli attributi principali (discussi in precedenza). 7
8 Nello schema ER non sono riportate le FD relative alla LOCATION, cioè FD2: CITY à STATE_PROVINCE FD3: STATE_PROVINCE à COUNTRY Tali dipendenze verranno prese in considerazione direttamente nella costruzione dello schema di fatto (durante la fase di editing dellʼalbero degli attributi). 8
9 SCELTA DEL FATTO E PROGETTAZIONE CONCETTUALE Il fatto dovrebbe essere unʼassociazione n-aria, cioè unʼassociazione molti-a-molti, tra le dimensioni. Inoltre tale associazione dovrebbe variare rispetto al tempo, cioè dovrebbe avere almeno una componente temporale. JOB_HISTORY è unʼassociazione n-aria (nello schema ER ottenuto, tale associazione è espressa in forma reificata) tra i seguenti concetti EMPLOYEE START_DATE END_DATE JOB DEPARTMENT (denominata OLD_DEPARTMENT per distinguerla dal DEPARTMENT dellʼemployee) 9
10 10
11 Schema di Fatto; Non sono riportate le gerarchie ricorsive; Alcuni attributi sono stati omessi (quale ad esempio SALARY di EMPLOYEE) 11
12 Condivisione su JOB : ci sono due concetti di JOB, quello di JOB_HISTORY (corrispondete alla dimensione JOB) e quello (attuale) di EMPLOYEE. Condivisione su DEPARTMENT: ci sono due concetti di DEPARTMENT, quello di JOB_HISTORY (corrispondete alla dimensione OLD_DEPARTMENT) e quello (attuale) di EMPLOYEE. 12
ESEMPIO TELEFONATE. Esempio di progettazione con indicazioni per lo svolgimento della Tesina. DIAGRAMMA RELAZIONALE
ESEMPIO TELEFONATE Esempio di progettazione con indicazioni per lo svolgimento della Tesina. DIAGRAMMA RELAZIONALE NOTA: Molte tabelle hanno come chiave un identificatore ID che è stato rinominato (è possibile
DettagliReverse engineering di schemi relazionali in schemi E/R. Esercizio svolto in parte il 16/10/2014
Reverse engineering di schemi relazionali in schemi E/R Esercizio svolto in parte il 16/10/2014 Diagramma Relazionale Data Profiling Relazione AEROPORTO: CITTA è AK? Si in quanto entrambe le seguenb query
DettagliAPPUNTI LEZIONE 22 OTTOBRE 2015 Diagramma relazionale del DB https://dl.dropboxusercontent.com/u/ /sitoweb/adventureworkslt_sia.
APPUNTI LEZIONE 22 OTTOBRE 2015 Diagramma relazionale del DB https://dl.dropboxusercontent.com/u/15491020/sitoweb/adventureworkslt_sia.bak 1 Per generare il diagramma relazionale : quindi aggiungere le
DettagliEsercizio: Esame. In questo esercizio sono dettagliati tutti i passi richiesti per la prima consegna della tesina
Esercizio: Esame In questo esercizio sono dettagliati tutti i passi richiesti per la prima consegna della tesina Il punto di partenza è il diagramma relazionale del DBO con la relativa documentazione Per
DettagliVersione draft: l esempio verrà completato la prossima settimana
ESERCIZIO DEL 24 OTTOBRE 2013 Versione draft: l esempio verrà completato la prossima settimana SCHEMA RELAZIONALE E lo schema parziale del DB AdventureWorks 2008 Le interrogazioni fatte in classe per l
DettagliESAME CFU (C) VOTO (AVG) SOST REG
Schema di Fatto CITTA ESERCIZIO DEL 20 MAGGIO 2011 STATO STUDENTE DOCENTE CORSO FACOLTA ESAME CFU (C) VOTO (AVG) SOST REG Schema Logico del DM con Push- Down Backup DM e DB OLAP sono disponibili in : http://www.dbgroup.unimo.it/sia/20110520
DettagliEstensioni del linguaggio SQL per interrogazioni OLAP
Sistemi Informativi Avanzati Anno Accademico 2012/2013 Prof. Domenico Beneventano Estensioni del linguaggio SQL per interrogazioni OLAP Esempio! Esempio delle vendite con scontrino (nella tabella, per
DettagliESEMPIO A: Arco multiplo su LIBRO- AUTORE
ESEMPIO A: Arco multiplo su LIBRO- AUTORE Consideriamo un DBO con il seguente schema E/R ed il corrispondente schema relazionale: AUTORE(AUTORE,CITTA) LIBRO(LIBRO,GENERE) PESO(AUTORE:AUTORE, LIBRO:LIBRO,PESO)
Dettagli! Un arco multiplo corrisponde ad un associazione molti-a-molti: il padre (libro) non determina funzionalmente il figlio (autore)
Arco Multiplo! Schema di fatto contenente un arco multiplo: genere autore libro VENDITA numero incasso data mese anno arco multiplo (AM) " Per illustrare il concetto di arco multiplo si parte da uno schema
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
DettagliEsercizio con attributo cross-dimensionale - transazionale
Esercizio con attributo cross-dimensionale - transazionale TIPO (,CITTA) DI QTY CITTA (,ANNO) SCONTRINO(NSC, :) (,TIPO) VENDITA IN VENDITA(NSC:SCONTRINO,:, :,QTY,PU) IN PU NSC ANNO SCONTRINO DEL Viene
DettagliSistemi Informativi Avanzati Anno Accademico 2012/2013 Prof. Domenico Beneventano. Archi multipli
Sistemi Informativi Avanzati Anno Accademico 2012/2013 Prof. Domenico Beneventano Archi multipli Capitoli 5.2.5 e 9.1.4 del libro Data Warehouse - teoria e pratica della Progettazione Autori: Matteo Golfarelli,
DettagliUn arco multiplo corrisponde ad un associazione molti-a-molti: il padre (libro) non determina funzionalmente il figlio (autore)
Arco Multiplo Schema di fatto contenente un arco multiplo: genere autore libro VENDITA numero incasso data mese anno arco multiplo (AM) Per illustrare il concetto di arco multiplo si parte da uno schema
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#
DettagliErrata Corrige dell edizione 2007
Errata Corrige dell edizione 2007 Aggiornata al 30/03/2011 pag 11 ASSOCIAZIONI card(studente,esame)=(0,n) pag 17 IDENTIFICATORI Un identificatore di un entità E è una collezione di attributi e/o di entità
DettagliSistemi Informativi Avanzati Anno Accademico 2013/2014 Prof. Domenico Beneventano. Archi multipli
Sistemi Informativi Avanzati Anno Accademico 2013/2014 Prof. Domenico Beneventano Archi multipli Capitoli 5.2.5 e 9.1.4 del libro Data Warehouse - teoria e pratica della Progettazione Autori: Matteo Golfarelli,
DettagliESEMPIO DI TRIGGER PER IL CONTROLLO DELLE PROPRIETÀ COPERTURA DI UNA GERARCHIA (ARGOMENTO SVOLTO IN CLASSE IL 25 MAGGIO 2011)
ESEMPIO DI TRIGGER PER IL CONTROLLO DELLE PROPRIETÀ COPERTURA DI UNA GERARCHIA (ARGOMENTO SVOLTO IN CLSE IL 25 MAGGIO 2011) Dato il seguente schema E/R consideriamo solo le due gerarchie relative a MANAGER/SEGRETARIA/IMPIEGATO
DettagliBasi di Dati - Informatica umanistica Esercitazione (Lab)
Basi di Dati - Informatica umanistica Esercitazione (Lab) a.a. 2017-2018 Vinícius Monteiro de Lira (vinicius.monteirodelira@isti.cnr.it) Esercitazione Mini-project! openflights.org Esercitazione (Summary)
DettagliSistemi Informativi Avanzati Anno Accademico 2011/2012 Prof. Domenico Beneventano SQL-OLAP. Estensioni OLAP in SQL
Sistemi Informativi Avanzati Anno Accademico 2011/2012 Prof. Domenico Beneventano SQL-OLAP Estensioni OLAP in SQL Estensioni OLAP in SQL SQL99 è stato il primo standard SQL ad offrire soluzioni per l analisi
DettagliESAME di INFORMATICA e ARCHIVIAZIONE
UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA ESAME di INFORMATICA e ARCHIVIAZIONE 8 settembre 2011 1 Progettazione
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
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
DettagliIl sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.
PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,
DettagliEsempio di progettazione di un DW
Esempio di progettazione di un DW! La sorgente dati è costituita da un unico DataBase SQL-Server con informazioni sui Manifesti degli Studi e gli orari delle lezioni. Viene considerato il progetto di un
DettagliSi considerino le seguenti specifiche relative alla realizzazione di un sistema informativo di una società di sviluppo software.
Compito Sistemi Informativi. Tempo concesso : 90 minuti 14 settembre 2011 Nome: Cognome: Matricola: Crediti: [6] [9] Esercizio 1 (punti 6+2) Si considerino le seguenti specifiche relative alla realizzazione
DettagliIL MODELLO RELAZIONALE
Basi di dati 1 IL MODELLO RELAZIONALE (CAPITOLO 2) Seconda parte: dal diagramma ER allo schema relazionale Progettazione 2 Dominio Applicativo PROGETTAZIONE CONCETTUALE PROGETTAZIONE LOGICA VALUTAZIONE
DettagliEsame di Basi di Dati
Esame di Basi di Dati 11 Giugno 2013 Matricola CFU (9/12/9+9) Progetto (Sì/No) Cognome Nome Istruzioni I voti verranno resi disponibili su AlmaEsami. Chi vorrà rifiutare il voto dovrà comunicarlo tassativamente
DettagliSchema Del DB Operazionale TELEFONATE
Schema Del DB Operazionale TELEFONATE Costruire lo Schema di Fatto per analizzare le chiamate considerando come dimensioni TelefonoDA e TelefonoA, Data e Fascia, intesa come FasciaOraria della chiamata
DettagliInformatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno Cognome e nome: Matricola:
Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno 2012 Cognome e nome: Matricola: Parte prima Domanda 1 Domanda 2 Domanda 3 Totale Istruzioni: È vietato portare
DettagliConcettuale. Giuseppe Amato
Esercitazione Progettazione Concettuale 14 Aprile 2010 Giuseppe Amato Esercitazione Progettazione Concettuale Si considerino i i seguenti fttidi fatti interesse di un agenzia immobiliare. Immobili in vendita:
DettagliOperatori aggregati. Un operatore aggregato è una funzione che si applica ad un insieme di tuple di una tabella
Operatori aggregati Un operatore aggregato è una funzione che si applica ad un insieme di tuple di una tabella e ha come risultato un valore atomico. Count Questo operatore serve per contare le tuple di
DettagliBasi di dati I 28 gennaio 2014 Compito A Tempo a disposizione: un ora e quarantacinque minuti.
Basi di dati I 28 gennaio 2014 Compito A Tempo a disposizione: un ora e quarantacinque minuti. Cognome: : Matricola: Domanda 1 (10%) Considerare i due schemi seguenti a) Professore Afferenza Dipartimento
DettagliGRUPPO MODENA CORPORATION LEONARDO DRAHORAD LAURA CORSINI ALFREDO ADINOLFI BOREA SECONDA CONSEGNA FATTO DIMENSIONI
GRUPPO MODENA CORPORATION LEONARDO DRAHORAD LAURA CORSINI ALFREDO ADINOLFI BOREA SECONDA CONSEGNA FATTO SALESORDERDETAIL DIMENSIONI PRODUCT TERRITORY SALESPERSON DUEMONTH SPECIALOFFER SALESTERRITORYHISTORY
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,
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,...
DettagliIPOTESI con riferimento al testo proposto come simulazione in preparazione all Esame di Stato 2015
IPOTESI con riferimento al testo proposto come simulazione in preparazione all Esame di Stato 2015 Possono essere prodotte forme (invendute) non acquistate da un cliente per giorni di chiusura del caseificio,
DettagliIl BACKUP è disponibile in http://www.dbgroup.unimo.it/sia/esercizio_21_novembre_2013/esercizio_21_novembre_2013.bak
ESEMPIO DELLE VENDITE: MISURE ED AGGREGABILITA E l esempio discusso nelle dispense è Dispense : http://www.dbgroup.unimo.it/sia/sia_2014_progettazionediundw_misure.pdf esteso e dettagliato. Il BACKUP è
DettagliESEMPIO DI COPERTURA DI ARCHI OPZIONALI
ESEMPIO DI COPERTURA DI ARCHI OPZIONALI Di seguito è riportato un esempio per illustrare la Copertura di un arco opzionale (PAG. 22 dei lucidi MODELLAZIONE CONCETTUALE). A tale scopo si considera un DBO
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
DettagliEsame di Basi di Dati
Esame di Basi di Dati 10 Settembre 2014 Matricola CFU (9/12/9+9) Progetto (Sì/No) Cognome Nome Istruzioni I voti verranno resi disponibili su AlmaEsami. Chi vorrà rifiutare il voto dovrà comunicarlo tassativamente
DettagliBasi di Dati Corso di Laura in Informatica Umanistica
Basi di Dati Corso di Laura in Informatica Umanistica Appello del 09/06/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione
DettagliOperatori aggregati. Gli operatori di aggregazione NON sono rappresentabili in Algebra Relazionale. conteggio, minimo, massimo, media, somma
Aggregazione dati Operatori aggregati Nelle espressioni della target list possiamo avere anche espressioni che calcolano valori a partire da insiemi di ennuple SQL-2 prevede 5 possibili operatori di aggregamento:
DettagliA. Veneziani - Analisi DB Campionato ( Partite )
A. Veneziani - Analisi DB Campionato ( Partite ) Il problema Il testo del problema è quello proposto all esercizio 3 di pagina 53 del libro di testo. Il testo è del tutto generale, se non per il fatto
DettagliProgettazione concettuale usando il modello Entità-Relazione (ER)
Progettazione concettuale usando il modello Entità-Relazione (ER) 1 Introduzione alla progettazione delle basi di dati Progettazione concettuale (in questa fase si usa il modello ER) Quali sono le entità
DettagliBasi di dati Soluzione per l appello del
Basi di dati Soluzione per l appello del 20-02-2019 Anno Accademico 2018/19 Problema 1 Schema concettuale Stipendio DataInizio CF DataNascita Data Lavoro Svolge (1,n) Ricercatore Effettua (1,n) Esperimento
DettagliESAME di INFORMATICA e ARCHIVIAZIONE
UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA ESAME di INFORMATICA e ARCHIVIAZIONE 20 luglio 2011 1 Progettazione
DettagliSoluzione prova scritta di basi di dati del 30 Settembre 2002
Soluzione prova scritta di basi di dati del 30 Settembre 2002 Esercizio 1 ER: UNIVERSITA' OFFRE CORSO LAUREA TIENE DI CORSO PRESIDENTE IN PRESIEDE EDIZIONE Ruolo Email Cognome Tel DIPARTIMENTO AFFILIATO
DettagliGestione dei valori nulli
Gestione dei valori nulli La gestione dei valori nulli, a seconda dell implementazione, avviene attraverso una logica a due valori come in SQL-89, o a tre valori (vero, falso, unknown) come in SQL-2. In
Dettagli8 SQL : Check, Asserzioni,Viste
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 2011/2012 8 SQL : Check, Asserzioni,Viste
DettagliEsame di Basi di Dati
Esame di Basi di Dati 17 Febbraio 2014 Matricola CFU (9/12/9+9) Progetto (Sì/No) Cognome Nome Istruzioni I voti verranno resi disponibili su AlmaEsami. Chi vorrà rifiutare il voto dovrà comunicarlo tassativamente
DettagliBasi di dati I 10 luglio 2017 Tempo a disposizione: un ora e 30 minuti.
Tempo a disposizione: un ora e 30 minuti. Cognome: Nome: Matricola: Domanda 1 (20%) Considerare le seguenti quattro relazioni su uno stesso schema: (A) 2 4000 1000 3000 true 3 3000 1000 2200 true (C) 2
DettagliCorso di Basi di Dati
Corso di Laurea in Ingegneria Gestionale Sapienza - Università di Roma Corso di Basi di Dati A.A. 2016/2017 7 SQL : Check, Asserzioni,Viste Tiziana Catarci Ultimo aggiornamento : 22/02/2017 Costrutti Avanzati
DettagliAltri costrutti del modello E-R. Esempio di cardinalità. Cardinalità di Residenza. Occorrenze di Residenza. Cardinalità di relationship
Altri costrutti del modello E-R Cardinalità di relationship Cardinalità di relationship di attributo Identificatore interno Coppia di valori associati a ogni entità che partecipa a una relationship specificano
DettagliSQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)
SQL quick reference piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) I tipi dei dati di SQL sono: delimitatori delle costanti: TEXT(n) stringa di caratteri
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
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
DettagliEsercitazione 6 SQL 3
Esercitazione 6 SQL 3 Basi di dati - prof. Silvio Salza - a.a. 2017-2018 E6-1 Schema della base di dati Customers (CustomerID, ComapnyName, City, Phone) Employees (EmpoyeeID, LastName, FirstName, HireDate,
DettagliFondamenti di Informatica A. A / 1 9
Fondamenti di Informatica Introduzione ai DBMS ed al Modello E -R Prof. Marco Lombardi A. A. 2 0 1 8 / 1 9 Dati e Basi di Dati 1/4 I dati sono importanti poiché costituiscono una risorsa aziendale La loro
DettagliLezione 7 SQL (II) Basi di dati bis Docente Mauro Minenna Pag.1
Lezione 7 SQL (II) Pag.1 Ancora sugli operatori di confronto tra insiemi Abbiamo già visto IN, EXISTS e UNIQUE. Possiamo anche usare NOT IN, NOT EXISTS e NOT UNIQUE Disponibili anche: op ANY, op ALL Trovare
DettagliBASE DI DATI. Esercizi Progettazione concettuale Progettazione logica Concetti avanzati SQL: Raggruppamento Nidificazione
BASE DI DAI Esercizi Progettazione concettuale Progettazione logica Concetti avanzati SQL: Raggruppamento Nidificazione Informatica Umanistica Università di Pisa Esercizio: Agenzia immobiliare Si considerino
DettagliBasi di Dati Corso di Laura in Informatica Umanistica
Basi di Dati Corso di Laura in Informatica Umanistica Appello del 28/06/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione
DettagliBASE DI DATI. Esercizio: Campionato corse Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa
BASE DI DAI Esercizio: Campionato corse Progettazione concettuale Progettazione logica Informatica Umanistica Università di Pisa Esercizio: campionato corse Si vuole costruire una base di dati che contenga
DettagliEsercitazione Simulazione Compito
Esercitazione Simulazione Compito 04/12/2015 Compito del 26/05/2014 1.1 Il comando DELETE FROM Utenti WHERE alias = gino dove alias è una primary key: (a)elimina zero o una riga (b) elimina un numero imprecisato
DettagliEsempio di progettazione di un DW
Esempio di progettazione di un DW La sorgente dati è costituita da un unico DataBase SQL-Server con informazioni sui Manifesti degli Studi e gli orari delle lezioni. Viene considerato il progetto di un
DettagliSQL: definizione schema
Si Clienti(codice,nome,indirizzo,p_iva) scriva il SQL che definisce il seguente schema relazionale Prodotti(codice,nome,descrizione,prezzo) SQL: definizione schema Fatture(codice,cliente,data) RigheFattura(codice,fattura,prodotto,quantità,prezzo)
DettagliEsercitazione 2 SQL.
Esercitazione 2 SQL foglia@iet.unipi.it DB Riferimento Consideriamo i seguenti schemi di una base di dati relazionale: DIPARIMENTI(CodiceDipartimento, Nome, Indirizzo, Citta, NumeroDipendenti, CostiTotaliAnnui,
DettagliTipi di sottoquery SQL
Tipi di sottoquery SQL È possibile specificare subquery in numerose posizioni: Con le parole chiave IN e NOT IN. Con operatori di confronto. Con le parole chiave ANY, SOME e ALL. Con le parole chiave EXISTS
DettagliDefinizione e calcolo delle misure
Definizione e calcolo delle misure! Misure Derivate! Misure Calcolate! Misure Derivate e Progetto Logico! Calcolo delle Misure! Aggregabilità Misure Derivate " Sono misure definite a partire da altre misure
DettagliESERCITAZIONE: Fornitore-Fornisce-Articolo
ESERCITAZIONE: Fornitore--Articolo PROGETTAZIONE CONCETTUALE Sia dato il diagramma ER rappresentativo di una certa realtà di interesse Cognome CodF Nome DataN CodA Descrizione Prezzo Fornitore N N E Fornito
DettagliDATABASE CLIENTIRAPPRESENTANTI
DATABASE CLIENTIRAPPRESENTANTI Esempio tratto dal libro di testo. TESTO L azienda INCOM Srl vuole organizzare un DB per gestire informazioni relative a fatture emesse ai propri clienti italiani, riportando
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
DettagliProva Scritta di Basi di Dati
Prova Scritta di Basi di Dati 27 Giugno 2007 COGNOME: NOME: MATRICOLA: Si prega di risolvere gli esercizi direttamente sui fogli del testo, negli spazi indicati. Usare il foglio protocollo solo per la
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 è
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
DettagliA. Veneziani Analisi e soluzione esercizio 2 pagina 53
A. Veneziani Analisi e soluzione esercizio 2 pagina 53 Testo del problema Rappresenta i dati e le relazioni tra i dati necessari a gestire un sistema di prenotazione di un teatro di 1000 posti suddivisi
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
DettagliInterpretazione delle query nidificate
Interpretazione delle query nidificate Per analizzare il risultato di una interrogazione nidificata si può supporre di valutare prima il risultato dell interrogazione nidificata (query interna) per poi
DettagliBasi di Dati: Elementi
Basi di Dati: Elementi Docente: Prof. Pierangela Samarati Appello di Maggio online - 22 Maggio 2010 Tempo a disposizione 2:00h Soluzioni Domanda 1) Illustrare e commentare le diverse fasi del ciclo di
DettagliSQL 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
DettagliProgettazione logica relazionale (1/2) Progettazione logica. Progettazione logica relazionale (2/2) Introduzione. Progettazione logica
Progettazione logica Progettazione logica relazionale (1/2) Introduzione Ristrutturazione dello schema ER Eliminazione delle gerarchie Partizionamento di concetti Eliminazione degli attributi multivalore
DettagliLa progettazione concettuale
PROGETTAZIONE La progettazione concettuale Sintesi tra la visione degli utenti e la visione dei progettisti. I progettisti devono essere certi di aver compreso esattamente e completamente le esigenze degli
DettagliInterrogazioni di tipo insiemistico. Select. Interrogazioni di tipo insiemistico. Interrogazioni nidificate
Select La sintassi di select cui siamo arrivati dopo le estensioni viste è quindi: SelectSQL ::= select ListaAttributiOEspressioni from ListaTabelle [ where CondizioniSemplici ] [ group by ListaAttributiDiRaggruppamento]
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
DettagliAtzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Capitolo 6: Progettazione di basi di dati: Metodologie e modelli
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : Progettazione di basi di dati: Metodologie e modelli Altri costrutti del modello E-R Cardinalità di relationship di attributo Identificatore
DettagliSistemi Informativi Avanzati Anno Accademico 2011/2012 Prof. Domenico Beneventano
Sistemi Informativi Avanzati Anno Accademico 2011/2012 Prof. Domenico Beneventano ESERCITAZIONI DEL 20 e 27 APRILE 2012 Sommario 1.1 VENDITA Dimensioni = { PROD, DATA,CASSA,COM }... 2 1.2 Esercizio A (20
DettagliIl modello concettuale dei dati
Il modello concettuale dei dati A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright Istituto Italiano Edizioni Atlas Livelli di analisi Realtà Modello Concettuale Entità/Associazioni
DettagliPrimo Compitino di Basi di Dati
Primo Compitino di Basi di Dati 19 Aprile 2004 Svolgere gli esercizi direttamente sul foglio del testo Usare fogli aggiuntivi solo in mancanza di spazio. NOME: COGNOME: MATRICOLA: Esercizio Punti previsti
DettagliLezioni di Laboratorio sui Data Base
Lezioni di Laboratorio sui Data Base Informatica per l'impresa Docente Tutor: Dott. Gianluigi Roveda OBIETTIVO: Rivedere come attività di laboratorio le query di tipo select scritte in SQL ma con le variazioni
DettagliBasi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni
Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni Domanda 1 Si consideri una base di dati sulle relazioni R 1 (A, B, C) R 2 (D, E, F ) Scrivere interrogazioni in SQL equivalenti alle seguenti
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
DettagliAnalisi soluzione DB esercizio 1
Analisi soluzione DB esercizio 1 Analisi del problema Il testo propone un database capace di archiviare fatture con i relativi dati dei clienti che acquistano e degli articoli trattati. I dati fondamentali
DettagliEsercitazione 7 Correzione della prova di autovalutazione
Esercitazione 7 Correzione della prova di autovalutazione Basi di dati - prof. Silvio Salza - a.a. 2017-2018 E7-1 Specifiche dello schema ER Si vuole progettare una base di dati che rappresenta l'organizzazione
DettagliMini Corso di Data Base. Dott. Nicola Dragoni
Mini Corso di Data Base Dott. Nicola Dragoni nicola.dragoni@gmail.com Programma del corso (Cenni di) Progettazione Concettuale (Cenni di) Progettazione Logica Interrogare un DB: il linguaggio SQL Tool
DettagliCaratteristiche dei linguaggi per Database
IL LINGUAGGIO Caratteristiche dei linguaggi per Database I linguaggi per basi di dati relazionali possiedono i comandi per: definizione del data base; manipolazione dei dati; associazione tra tabelle diverse;
DettagliBasi di Dati Corso di Laura in Informatica Umanistica
Basi di Dati Corso di Laura in Informatica Umanistica Appello del 26/07/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione
DettagliSQL. SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe
SQL SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe Operazioni di aggiornamento Abbiamo visto come creare tabelle e come interrogarle. Vedremo ora come popolarle
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
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
DettagliTraduzione dello schema E-R in modello logico relazionale
Traduzione dello schema E-R in modello logico relazionale 1 2 Entità con identificatore esterno - Esempio Risoluzione delle entità con identificatore esterno 3 4 5 Traduzioni dal modello E-R al modello
Dettagli