IDUL 2010 BASI DI DATI. USO DI STRUMENTI INFORMATICI PER LA GESTIONE DI INFORMAZIONI Forse la piu importante applicazione di metodi informatici nelle.

Slides:



Advertisements
Presentazioni simili
Modulo 5 DataBase ACCESS.
Advertisements

DBMS (DataBase Management System)
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
CORSO ITP Informatica Gestionale Modulo – Le basi di dati
Biglietti e Ritardi: schema E/R
Biglietti: schema E/R.
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
4 – Progettazione – Introduzione e Modello E-R
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
SQL Structured Query Language
Luglio 2004Memorie Tradizionali1 MEMORIE TRADIZIONALI Luglio 2004.
Archivio Cé necessità di immagazzinare in modo permanente grandi quantità di dati. Esempio: anagrafe dei cittadini di un comune.
Corso di Informatica (Basi di Dati)
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) SQL: Data Manipulation Language (DML) Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi,
SQL per la modifica di basi di dati. 29/01/2014SQL per la modifica di basi di dati2 Data Manipulation Language Introduciamo ora il Data Manipulation Language.
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
IDUL 09 BASI DI DATI. USO DI STRUMENTI INFORMATICI PER LA GESTIONE DI INFORMAZIONI Forse la piu importante applicazione di metodi informatici nelle materie.
Basi di dati Università Degli Studi Parthenope di Napoli
SQL: Lezione 7 Nataliya Rassadko
INFORMATICA UMANISTICA B
INFORMATICA UMANISTICA: MODULO B INFORMAZIONE ED INFORMATICA: I PRINCIPALI TEMI DEL MODULO.
INFORMATICA UMANISTICA: MODULO B Lezione 1: Informazione ed informatica: i principali temi del modulo.
INFORMATICA UMANISTICA B STRUTTURE DATI BASI DI DATI RAPPRESENTAZIONE DELLA CONOSCENZA ONTOLOGIE.
SQL Per la modifica di basi di dati
Duplicati Lalgebra relazionale non ammette duplicati, SQL li ammette. Quindi select Città from Persona where Cognome= Rossi estrae una lista di città in.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
Basi di dati Claudia Raibulet
SQL: Structured Query Language
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Implementare un modello di dati
INFORMATICA Corso Base Modulo G: I DataBase  Access.
MODELLO LOGICO DEI DATI
Introduzione a Oracle 9i
Corso di Basi di Dati Il Linguaggio SQL Home page del corso:
sql: esempi di linguaggio sql nell'implementazione mysql
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi Il Linguaggio SQL Home page del corso:
SQL.
DATABASE Introduzione
Sistemi Informativi Insieme di “strutture” in grado di acquisire, elaborare, trasmettere ed archiviare informazioni in genere ad uso di un’organizzazione.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
DB- Sistemi Informativi
Modulo 5 DataBase ACCESS. Informazioni e Dati INFORMAZIONI vengono scambiate con linguaggio scritto o parlato DATI rappresentazione di informazioni in.
SQL (IV) Data Definition Language/ Data Manipulation Language.
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
SQL, esempi 30/10/2014Basi di dati SQL1. 30/10/2014Basi di dati SQL2 CREATE TABLE, esempi CREATE TABLE corsi( codice numeric NOT NULL PRIMARY KEY, titolo.
MySQL Database Management System
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.
Data Base ACCESS EM 09.
Vincoli interrelazionali
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Lezione 5 - SQL. Linguaggi per DB Per interagire con le basi di dati occorre un linguaggio Linguaggio SQL (Structured Query Language), linguaggio standardizzato.
Funzionalità del DBMS relazionale l Funzioni per –definizione della base di dati –inserimento / rimozione /aggiornamento di informazioni deve soddisfare.
Approfondimenti SQL.
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Microsoft Access Filtri, query. Filtri Un filtro è una funzione che provoca la visualizzazione dei soli record contenenti dati che rispondono a un certo.
Linguaggi per basi di dati Linguaggi di definizione dei dati Utilizzati per definire gli schemi e le autorizzazioni per l’accesso Linguaggi di manipolazione.
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
Elementi di statistica con R e i database LEZIONE 2 Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 12 Aprile 2012.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
Il linguaggio SQL (Structured Query Language) è il linguaggio standard per creare, manipolare e interrogare database relazionali. SQL non è case-sensitive:
I DONEITÀ DI C ONOSCENZE E C OMPETENZE I NFORMATICHE ( A – D ) Un database è un insieme di record (registrazioni) e di file (archivi) organizzati per uno.
Esercizi SQL Group by. CREATE TABLE dipendente (codDip CHAR(8) NOT NULL UNIQUE PRIMARY KEY, cognome CHAR(60) NOT NULL, nome CHAR(60) NOT NULL, stipendio.
IDUL 2010 BASI DI DATI 1.
Transcript della presentazione:

IDUL 2010 BASI DI DATI

USO DI STRUMENTI INFORMATICI PER LA GESTIONE DI INFORMAZIONI Forse la piu importante applicazione di metodi informatici nelle materie umanistiche è per gestire grandi quantita di dati STRUTTURATI (in basi di dati) NON STRUTTURATI (in archivi di testi)

PROSOPOGRAFIA DELLIMPERO BIZANTINO Basilios 7 Sex M FloruitE/L IX Dates813 (n.) / 886 (ob.) PmbZ No.832 Variant NamesBasileios EthnicityMacedonian;Armenian Locations: Kepoi (Thrakesioi); Macedonia (property); Peloponnesos; Hagios Diomedes (Monastery of, Constantinople) (topographical); Constantinople (officeplace); Adrianoupolis (Macedonia) (residence); Bulgaria (residence); Constantinople (residence); Adrianoupolis (Macedonia); Bulgaria; Constantinople; Adrianoupolis (Macedonia) (birthplace) OccupationFarmer TitlesPatrikios (dignity); Augustus (office); Basilikos protostrator (office); Basilikos strator (office); Emperor (office); Parakoimomenos (office); Protostrator (office) Textual SourcesBar Hebraeus, Chronographia, tr. E. A. W. Budge, The Chronography of Abu 'l-Faraj (London, 1932; repr. Amsterdam, 1976) (history); Chronicon Anonymi ad annum 1234 pertinens, ed. and tr. J.-B. Chabot, I = CSCO (Paris, ), II = CSCO 109 (Louvain, 1937) (chronicle); Genesii, Josephi, Regum Libri Quattuor, eds. A. Lesmüller-Werner and I. Thurn, CFHB 14 (Berlin, 1978) (history); Georgius Monachus Continuatus, in Theophanes Continuatus, ed I Bekker (Bonn, 1839), pp (history); Leo Grammaticus, Chronographia, ed. I. Bekker (Bonn, 1842) (chronicle); Pseudo-Symeon, Chronographia, ed. I. Bekker (Bonn, 1838), pp (history); Theophanes Continuatus, ed. I. Bekker (Bonn, 1838) (history); Vita Ignatii Patriarchae, by Nicetas (BHG 817), PG ) (hagiography); Vita Irenae Chrysobalanton, The Life of St Irene Abbess of Chrysobalanton, ed. with introd., tr., notes and indices, J. O. Rosenqvist, Acta Universitatis Upsaliensis (hagiography); Vita Nicolai Studitae (BHG 1365), PG (hagiography); Zonaras = Ioannis Zonarae Epitome Historiarum, libri XIII-XVIII, ed. Th. Büttner-Wobst, (Bonn, 1897) (history) Basilios 7 is the emperor Basil I ( ). The history of his life and reign was written by his grandson, the emperor Constantine VII Porphyrogenitus (= Theophanes Continuatus, Book V); Constantine described him as of great benefit to the empire and composed his history in order to inform posterity of the origins of the ruling dynasty and to provide a model of conduct to be followed by future descendants of Basilios 7 (in particular, no doubt, Constantine's own son, the future emperor Romanos II): Theoph. Cont. V 1.

DATABASE STORICI:PROSOPOGRAPHY OF THE BIZANTYNE EMPIRESTORICI:PROSOPOGRAPHY OF THE BIZANTYNE EMPIRE Prosopografia: un registro di tutti gli individui vissuti in un certo periodo In questo caso: tutti gli individui vissuti a Bisanzio tra il 641 ed il 1261 Costruita a partire dalle loro menzioni in documenti dellepoca Informazioni su 8500 individui, dimensioni equivalenti a pagine di testo

BASI DI DATI DI OPERE DARTE

STRUTTURE DATI TEMPORANEE E PERMANENTI Per potere rappresentare informazioni in modo duraturo occorre sviluppare delle tecniche per mantenerle in memoria secondaria e poterle consultare in modo pratico Lo strumento informatico utilizzato per questo scopo sono le BASI DI DATI (Data-Base)

BASI DI DATI Una base di dati e una collezione di dati immagazzinati in modo PERMANENTE su disco Una base di dati permette di Definire degli oggetti (concetti) e delle relazioni Inserire nuovi dati Ritrovare questi dati anche combinandoli con altri Visualizzare i dati in modi particolari Il tipo di base di dati più comune sono le basi di dati RELAZIONALI

PROGETTAZIONE DI UNA BASE DATI MODELLAZIONE CONCETTUALE Progetto dello SCHEMA MODELLAZIONE LOGICA Scelta della rappresentazione: TABELLE, ALBERI, etc PROGETTAZIONE FISICA Utilizzando il DBMS scelto

MODELLI CONCETTUALI Un modello concettuale e unanalisi del tipo di dati che si vogliono rappresentare, che prescinde dalla realizzazione fisica dei dati particolari Tipicamente, questa analisi si articola attorno ad una definizione de Gli OGGETTI che si vogliono rappresentare I loro ATTRIBUTI Le RELAZIONI tra questi oggetti

ESEMPIO DI MODELLO CONCETTUALE: IL DURHAM LIBER VITAE

UN SEMPLICE MODELLO CONCETTUALE RISULTATI_ESAMI Matricola Materia Data Voto STUDENTE Matricola Cognome, Nome Data di Nascita

MODELLAZIONE LOGICA Una volta decisi quali sono i concetti importanti da rappresentare e quali sono i loro attributi, occorre pensare come e possibile rappresentare questa informazione usando una base di dati Questo è il compito della modellazione logica (attenzione: questa non esprime ancora proprietà di dati specifici, ma delle loro proprietà e/o relazioni) Esprimibile in diagrammi

SCHEMA LOGICO (FILM) Diagramma Entità-Relazione (Chen 1970) Entità Relazioni tra entità Attributi di entità

SCHEMA LOGICO (FILM) Con cardinalità delle relazioni (MIN,MAX)

SCHEMA LOGICO (GERARCHIE)

SCHEMA LOGICO (COMPLETO)

MODELLI DI RAPPRESENTAZIONE DATI A partire dagli anni Settanta il modello dominante è stato il quello RELAZIONALE, proposto da Edgard F. Codd nel 1970 Per certi tipi di applicazioni (in particolare per basi di dati accessibili via Web) si fa molto uso di XML (vedi prossime lezioni)

IL MODELLO RELAZIONALE Linformazione e rappresentata nelle basi di dati sotto forma di RELAZIONI r(x,y,z,w) Due tipi di relazioni rappresentate Relazioni rappresentate con TABELLE che rappresentano un OGGETTO ed i suoi attributi risultato_esame(IUB,4/2/2008,112233,29) Relazioni tra le tabelle Per esempio, tra tabella studente e tabella risultato_esame

TABELLE CHE RAPPRESENTANO RELAZIONI RECORD ATTRIBUTO

RECORDS I records sono strutture dati usate per rappresentare oggetti che hanno ATTRIBUTI

ESEMPIO: RISULTATO ESAME MateriaDataMatr.VotoLode? IDUL4/2/ no IUC4/2/ si RECORD ATTRIBUTO risultato_esame(IDUL,4/2/2010,112233,29) VALORE (o CAMPO) SCHEMA della RELAZ.

UN ALTRO ESEMPIO MATRICOLACOGNOMENOMEDATA NASCITA … RossiMario11/11/1973 …. STUDENTE studente(112233,Rossi,Mario,11/11/1973)

VALORI CHIAVE Ogni riga di ogni tabella (cioe ogni rappresentazione di un oggetto) deve avere almeno un campo che permetta di identificare quella riga in modo univoco non deve dunque esserci un altro record con lo stesso valore per quellattributo, anche se il valore può apparire in altri attributi Tale attributo è chiamato CHIAVE

VALORI CHIAVE MATRICOLACOGNOMENOMEDATA NASCITA … RossiMario11/11/1973 …. STUDENTE

VALORI CHIAVE MULTIPLI NOMECOGNOMEESAMEAPPROVATO? CarloRossiIUBsi MarioRossiIUBno CarloBianchiIUCsi A volte la chiave è definita da più campi insieme.

VALORI CHIAVE ARTIFICIALI IDMATERIADATAMATRICOLAVOTO 1…. 2IUB4/2/ …. RISULTATO_ESAME Tipicamente, numeri consecutivi, uno per record

VALORI NULLI NOMEEtàPADRE Matusalemme968Enoch EvaNULL …. PERSONAGGI BIBLICI Il valore NULL può essere dato a campi il cui valore non si conosce, o per casi in cui il valore non è definito (a volte i due casi sono distinti in un DB)

RELAZIONI TRA TABELLE Una base di dati relazionale permette di specificare, oltre che informazioni su attributi di oggetti, informazioni sulle relazioni tra oggetti Per esempio, che un particolare risultato di esame e stato ottenuto dallo studente Mario Rossi

RELAZIONI TRA TABELLE IDMATERIADATAMATRICOLAVOTO … IUB4/2/ …. MATRICOLACOGNOMENOMEDATA NASCITA … RossiMario11/11/1973 ….

DATABASE MANAGEMENT SYSTEMS RELAZIONALI Praticamente tutti i DATABASE MANAGEMENT SYSTEMS (DBMS) moderni sono basati sul modello relazionale E.g., Oracle, Access, MySQL, PostgreSLQ (open source)MySQLPostgreSLQ Disponibili per i principali sistemi operativi (Windows, UNIX)

UNA TABELLA IN ACCESS

RELAZIONI TRA TABELLE

OPERAZIONI SU UN DATABASE RELAZIONALE Operazioni tipiche su un database relazionale RITROVARE un sottoinsieme delle righe Possibilmente restringendo il ritrovamento ad un sottoinsieme delle colonne AGGIUNGERE dati DEFINIRE nuove tabelle e nuove relazioni VISUALIZZARE un sottoinsieme dei dati per scopi particolari

PROIEZIONE E SELEZIONE PROIEZIONE ( π test ): estrazione di una serie di colonne (attributi) da un DB SELEZIONE ( σ test ): estrazione di una serie di righe (record) Dove test è un test che, se ha successo, aggiunge la colonna/riga sotto esame alla proiezione/selezione (rispettivamente)

ESEMPIO: DATABASE FILM Selezione su titolo ed anno Proiezione su selezione per valore dellattributo nazione

ESEMPIO: DATABASE FILM Intersezione ( ) tra gli attori di film diversi attori NON presenti in un film (differenza, - )

DA ER AL DB RELAZIONALE La progettazione nello schema ER contiene costrutti che vanno tradotti nel sistema relazionale. Ciò comporta: La eliminazione delle gerarchie, riportando le informazioni su nodo padre. La traduzione delle entità come tabelle, i cui valori saranno i valori dei singoli individui appartenenti a quella entità La connessione tra le tabelle così stabilite

Gerarchie come relazioni

Distribuzione o Produzione"

ENTITA COME RELAZIONI In un diagramma ER, le entità sono collezioni di individui, ciascuno dotato di attributi con valori. Rese come tabelle: EDIZIONE(codice, titolo, nazione, durata, lingua, vietato) FILM(codice, titolo, durata, anno, nazione)

COLLEGARE TABELLE EDIZIONE(codice, titolo, nazione, durata, lingua, vietato) FILM(codice, titolo, durata, anno, nazione) Come specificare che una edizione è ledizione di un certo film? Aggiungendo alla tabella EDIZIONE una chiave esterna (qui, il numero di codice del film). La chiave si specifica aggiungendo ai valori di EDIZIONE il nome della relazione che contiene la chiave: EDIZIONE(codice, titolo, nazione, durata, lingua, vietato, film) Impossibile fare il contrario, visto che un film ha tipicamente molte edizioni: un campo può contenere un solo valore! FILM(codice, titolo, durata, anno, nazione, edizione)

COLLEGARE TABELLE CON RELAZIONI N-a-N Come specificare che un film ha la relazione di CAST con molti attori, ed una PERSONA ha spesso recitato in molti FILM? E necessario indicarlo in maniera indiretta, tramite una nuova relazione (qui, CAST), che conterrà DUE chiavi esterne: PERSONA(nome, nazione, data_di_nascita) FILM(codice, titolo, durata, anno, nazione) CAST(persona, film, personaggio)

RITROVAMENTO INFORMAZIONI CON SQL Le informazioni in una base di dati possono essere ritrovate mediante INTERROGAZIONI In un database relazionale moderno le interrogazioni sono fatte utilizzando un linguaggio di interrogazione chiamato SQL (Simple Query Language)

SINTASSI DI SQL Diversi tipi di comandi: DDL (Data Definition Language: comandi per la creazione e lupdate del DB) DML (Data Manipulation Language: comandi per la interrogazione del DB) Create TABLE persona ( Nomevarchar(50) PRIMARY KEY, Nazione varchar(50), Data_Nascitadate ); SELECT nome, nazione, data_nascita FROM persona WHERE nazione = Italia;

CREARE UNA TABELLE CON SQL CREATE TABLE persona ( Codiceinteger PRIMARY KEY, Titolovarchar(50), NOT NULL, Annovarchar(4), Duratainteger, Nazionevarchar(50), DEFAULT Italia );

CREARE UNA ASSOCIAZIONE TRA TABELLE CON SQL CREATE TABLE cast ( persona varchar(50), REFERENCES persona(nome), filminteger, REFERENCES film(codice) personaggiovarchar(50) PRIMARY KEY(persona, film) );

POPOLAMENTO DI UN DB Comandi INSERT, UPDATE, DELETE 1. INSERT INTO film VALUES (5, Il sesto senso, 1999, 107, USA); 2. INSERT INTO film(codice, titolo, anno) VALUES (5, Il sesto senso, 1999); 3. UPDATE film SET durata = 130 WHERE titolo = Il senso senso; 4. DELETE FROM persona WHERE nazione = Italia; 2 inserisce valori NULL per gli attributi non specificati; 4 distrugge unintera tupla (record) della tabella persona se sono verificate le condizioni

INTERROGAZIONI DI UN DB Comando di interrogazione: SELECT Clausole piu usate: FROM (specifica la tabella) WHERE (specifica restrizioni)

INTERROGAZIONE SELECT Materia, Data, Matricola FROM Esami;

INTERROGAZIONE SELECT Materia, Data, Matricola FROM Esami;

SQL: ESEMPIO DI USO DI ATTRIBUTI SELECT Nome, Cognome FROM Studenti WHERE Matricola=112233;

SQL: ESEMPIO CON ATTRIBUTI SELECT isbn, title, price FROM books WHERE price > ORDER BY title;

INTERROGAZIONI CHE COINVOLGONO PIU TABELLE

AGGIUNGERE TABELLE

INTERROGAZIONE A TABELLE MULTIPLE

SQL VIEW

SQL: ESEMPIO DI INTERROGAZIONE DA TABELLE LINKATE SELECT Studenti.Nome, Studenti.Cognome FROM Studenti INNER JOIN Esami ON Studenti.Matricola=Esami.Matricola WHERE Esami.Materia='IUB' And Esami.Voto>25;

CREARE UNA BASE DATI Creare una base di dati realizza un modello concettuale Richiede tradurre oggetti e relazioni in tabelle e legami tra tabelle

CREARE UNA BASE DI DATI IN ACCESS 1. Creare le tabelle usando Create Table in Design View 2. Salvare 3. Cambiare a Datasheet view per inserire i dati 4. Continuare a creare altre tabelle 5. Linkare le tabelle

1. TABLE DESIGN VIEW

2. DATASHEET VIEW

REALIZZAZIONE DI MODELLI CONCETTUALI Tabelle Alberi (XML)

LETTURE Tomasi, capitolo 3 Wikipedia: ACCESS: