Introduzione alle basi di dati

Slides:



Advertisements
Presentazioni simili
Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Caduta non guidata di un corpo rettangolare in un serbatoio Velocità e rotazione.
Advertisements

TAV.1 Foto n.1 Foto n.2 SCALINATA DI ACCESSO ALL’EREMO DI SANTA CATERINA DEL SASSO DALLA CORTE DELLE CASCINE DEL QUIQUIO Foto n.3 Foto n.4.
1 Pregnana Milanese Assessorato alle Risorse Economiche Bilancio Preventivo P R O P O S T A.
Introduzione ai DBMS I Sistemi di Gestione di Basi di Dati sono strumenti software evoluti per la gestione di grandi masse di dati residenti su memoria.
DBMS (DataBase Management System)
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
Una Introduzione alle Basi di Dati
Introduzione ai sistemi di basi di dati
Frontespizio Economia Monetaria Anno Accademico
Basi di Dati prof. A. Longheu
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.
Gestione Dati & Archivi
ESEMPI DI ARCHIVI DI DATI
Implementazione dell algortimo di Viterbi attraverso la soluzione del problema di cammino mi- nimo tramite software specifico. Università degli studi di.
L’uso dei database in azienda
1 I SISTEMI INFORMATIVI Luso dei DATABASE in azienda Giovedì, 22 aprile 2004Alessandro Capodaglio.
Tipo Documento: unità didattica 1 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
1 IT FOR BUSINESS AND FINANCE ACCESS INTRODUCTION.
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Relazionale Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi.
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
04/10/2010Basi di dati , presentazione1 Basi di dati I (ordinamento DM 270/2004) già Basi di dati (ordinamento DM 509/1999) DocentePaolo.
Basi di dati Università Degli Studi Parthenope di Napoli
Appunti informatica- prof. Orlando De Pietro
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
Programma del Corso Dati e DBMS DBMS relazionali SQL
Relazioni Relazione : concetto mutuato dalla definizione di relazione matematica della teoria degli insiemi, come sottoinsieme del prodotto cartesiano.
Modello Relazionale Proposto agli inizi degli anni ‘70 da Codd
Introduzione alle basi di dati
Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi
2 3 4 RISERVATEZZA INTEGRITA DISPONIBILITA 5 6.
Implementare un modello di dati
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
ISOIVA (LOCALE) TO ISOIVA (WEB) RIPARTIZIONE INFORMATICA UFFICIO APPLICATIVI AMMINISTRATIVI 13/04/2011 UNIVERSITÀ DEGLI STUDI DI FERRARA 1.
TECNOLOGIE DELLINFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE Materiale di supporto alla didattica.
DAGLI ARCHIVI AI DATABASE
ACCESS Introduzione Una delle necessità più importanti in informatica è la gestione di grandi quantità di dati. I dati possono essere memorizzati.
Introduzione a Oracle 9i
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
DB- Sistemi Informativi
1 Basi di dati (Sistemi Informativi) Scuola di Dottorato in Scienze Veterinarie per la Salute Animale e la Sicurezza Alimentare a.a Ing. Mauro.
Corso di Laurea in Ingegneria per l’Ambiente e il Territorio Informatica per l’Ambiente e il Territorio Docente: Giandomenico Spezzano Tutor: Alfredo Cuzzocrea.
Modulo 5 DataBase ACCESS. Informazioni e Dati INFORMAZIONI vengono scambiate con linguaggio scritto o parlato DATI rappresentazione di informazioni in.
I DATABASE.
A.P. cat. B - 1 Per chi vuole: Libro di testo D.P. Curtis, K. Foley, K. Sen, C. Morin Informatica di base 2° edizione Mc Graw-Hill Companies.
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
Informatica Introduzione alle basi di dati Lezione 2 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
SCHEDA INFORMATIVA DI UNITÀ. comuni file system Data Base Management System criticità superamento criticità Potenziale immagine per file system Per DBMS.
1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.
Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico:
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica.
Dati e DBMS DBMS relazionali SQL Progettazione di un DBMS Normalizzazione Programma del Corso di Basi di Dati.
Basi Dati e Laboratorio (6 + 6) crediti – curriculum Sistemi e Reti Basi dati 1 e Basi dati 2 prec.ordin. docenti: Barbara Demo Giuseppe Berio mail :
Introduzione alle basi di dati
BASI DI DATI. 2 Sommario Introduzione e obiettivi Introduzione e obiettivi Il modello di dati relazionale Il modello di dati relazionale SQL SQL Software.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione Programma del Corso.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione Programma del Corso.
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
Informatica Introduzione alle basi di dati Lezione 1 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Tipo Documento: unità didattica 1 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
Le basi di dati.
Linguaggi per basi di dati Linguaggi di definizione dei dati Utilizzati per definire gli schemi e le autorizzazioni per l’accesso Linguaggi di manipolazione.
Introduzione alle basi di dati e ai sistemi di gestione di basi di dati.
Transcript della presentazione:

Introduzione alle basi di dati Informatica 03/04 Introduzione alle basi di dati

Orario Lunedì 14:00 - 17:00 Martedì 14:00 - 17:00 Aula Informatica Gli studenti con il cognome che comincia con una lettera compresa tra A e L Martedì 14:00 - 17:00 Gli studenti con il cognome che comincia con una lettera compresa tra M e Z

Libro P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone Basi di dati (seconda edizione) McGraw-Hill. 1999 Capitoli: 1, 2, 3, 4, 5, Appendix A

Sistemi informativi e basi di dati Ogni organizzazione ha bisogno di memorizzare e mantenere informazioni specifiche. Per esempio: Utenze telefoniche Conti correnti bancari Studenti iscritti a un corso di laurea Quotazioni di azioni nei mercati telematici

Sistemi informativi e basi di dati I sistemi informativi organizzano e gestiscono le informazioni necessarie alle attività di un’organizzazione: Inizialmente non erano automatizzati (per esempio, gli archivi bancari) Informatica  gestione automatica dei dati  basi di dati Informazione memorizzata in modo rigoroso

Informazione e dati Rappresentazione dell’informazione: Basata su codifica (interpretata da programma) Dati = elementi di informazione, che di per sé non hanno interpretazione Mario Rossi  nome e cognome 2334455  numero matricola

Dati e applicazioni I dati possono variare nel tempo (per esempio, importo conto corrente) Le modalità con cui i dati sono rappresentati in un sistema sono di solito stabili Le operazioni sui dati variano spesso (per esempio, ricerche) separare i dati dalle applicazioni che operano su essi

Esempio:Rappresentazione astratta di utenze telefoniche Utente Codice Cognome Nome Comune ListaTelefonate Telefonata NumeroTelefonico OrarioInizio OrarioFine NumeroScatti

Basi di Dati (DB) e DBMS Basi di dati = collezione di dati per rappresentare informazioni di interesse: grandi, condivise, persistenti

Basi di Dati (DB) e DBMS DBMS = Data Base Management System = software in grado di gestire collezioni di dati Un DBMS deve essere: affidabile, sicuro, efficiente, efficace

Caratteristiche dei DB e DBMS Grandi = miliardi di byte (gestione in memoria secondaria) Condivisibili = diverse applicazioni e utenti possono accedere a dati comuni Evitare le ridondanze Aggiornamenti agevoli Evitare le inconsistenze dovute agli accessi concorrenti

Caratteristiche dei DB e DBMS Persistenza = dati sempre disponibili, non “vivono” dentro una sola applicazione Affidabilità = protezione dei dati, in caso di guasto HW o SW capacità di ripristinare i dati (almeno parzialmente) Privatezza = abilitazioni diverse a seconda dell’utente Efficienza = tempi di risposta e occupazione spazio accettabili (dipende molto dalla tecnica di memorizzazione dei dati) Efficacia = facilitare l’attività di organizzazione

Basi di dati vs. file system Tecnicamente, i DB sono collezioni di file: Si potrebbero usare direttamente i file per memorizzare i dati… …ma si perdono le buone proprietà garantite dai DBMS Normalmente, file pensati per una specifica applicazione e non per servire più di una applicazione, magari in parallelo

Come organizzare i dati in un DB (Data Base) Insieme di concetti per organizzare le informazioni di interesse e descriverne la struttura Meccanismi per strutturare tipi di dati complessi a partire da tipi semplici Per esempio: data = <giorno, mese, anno>

Modello logico dei dati Sottointende una specifica rappresentazione dei dati (tabelle, alberi, grafi, oggetti…) Descrive i dati a un livello intermedio, tra ciò che vede l’utente e il livello dell’implementazione Molte proposte in DBMS commerciali

Modello concettuale Per la progettazione di un DB: analisi della realtà di interesse Modello astratto Indipendente dal modello logico Modello concettuale = rappresentazione dei concetti Modello logico = rappresentazione dei dati

Modello logico dei dati Modello gerarchico (anni ‘60) = struttura gerarchica (albero) Modello reticolare (inizio ‘70) = struttura a grafo Modello relazionale (fine ‘70) = struttura a tabelle Modello orientato agli oggetti (anni ‘80) = struttura a classi/oggetti

Modello logico dei dati Modello gerarchico (anni ‘60) = struttura gerarchica (albero) Modello reticolare (inizio ‘70) = struttura a grafo Modello relazionale (fine ‘70) = struttura a tabelle Modello orientato agli oggetti (anni ‘80) = struttura a classi/oggetti Per esempio: Microsoft Access

Modello relazionale Basato sul concetto di relazione Relazione = rappresentazione di un’entità complessa tramite attributi Relazione  tabella: Colonna = attributo(/campo) Riga = valore degli attributi di un individuo appartenente all’entità

Esempio (modello relazionale) Dati relativi a docenti nomi relazioni attributi Docenza corso docente Informatica Bianchi Economia Rossi Architettura Verdi individui

Esempio (modello relazionale) Dati relativi a corsi nomi relazioni attributi OrganizzCorsidiLaurea cdl materia anno Informatica Basi di dati 2 Matematica Analisi I 1 Lettere Latino Programmazione individui

Esempio (modello relazionale) Dati relativi a corsi e docenti (Dbcorsi) OrganizzCorsidiLaurea Docenza cdl materia anno Informatica Basi di dati 2 Matematica Analisi I 1 Lettere Latino Programmazione corso docente Informatica Bianchi Economia Rossi Architettura Verdi

Schema di una relazione Schema = definizione della struttura della relazione È l’intestazione della relazione: NomeRelazione(Attr1,…,Attrn) Non varia nel tempo (modulo ristrutturazione del DB) Per esempio: in Dbcorsi Docenza(corso,docente)

Istanza di una relazione Istanza = dati che descrivono gli individui appartenenti alla relazione (sono le righe della tabella) Varia nel tempo (aggiunta, modifica, eliminazione dei dati riguardanti gli individui)

Schema e istanza di un DB Schema = insieme degli schemi delle relazioni (struttura) Istanza (o stato) = valori dei dati nelle tabelle (righe)

Livelli di astrazione nel DBMS Architettura standard su 3 livelli: Schema esterno: descrizione di una porzione del DB (per vedere i dati da punti di vista diversi a seconda dell’utente) Schema logico: descrizione del DB tramite le strutture-dati del modello logico del DBMS (per esempio, le tabelle del modello relazionale) Schema interno: “mapping” tra schema logico e strutture fisiche di memorizzazione (file)

Livelli di astrazione del DBMS Le applicazioni lavorano qui Schema esterno (viste) Il DBMS lavora per “mettere d’accordo” i livelli Schema logico (tabelle) Schema interno (file)

Indipendenza dei dati Garantita dai livelli di astrazione: Indipendenza fisica: permette di interagire con DB in modo indipendente da struttura fisica in cui sono memorizzati i dati Se i dati vengono riorganizzati fisicamente, le applicazioni funzionano lo stesso Indipendenza logica: permette di accedere al DB in modo indipendente da struttura logica dei dati (per esempio, tabelle) Modificare schema logico senza modificare le viste (livello esterno) Estendere le viste senza alterare livello logico

Linguaggi per DB Data Definition Language (DDL) = definisce schemi fisici, logici, esterni del DB (tratta anche le autorizzazioni di accesso) Data Manipulation Language (DML) = per formulare interrogazioni e aggiornamenti delle istanze del DB

DDL e DML relazionali Due paradigmi: Dichiarativo  SQL (Structured Query Language) Procedurale  algebra relazionale Varie proposte commerciali (non esiste un vero “standard SQL”, sintassi un po’ diverse)

Accesso ai dati Mediante linguaggi testuali (per esempio, SQL) Tramite comandi speciali integrati nei linguaggi di programmazione Tramite interfacce “amichevoli” (per esempio, Wizards, in Access, ecc.)

Utenti di un DB Amministratori del DB: progetta, controlla e amministra il DB Progettisti e programmatori di applicazioni: sviluppano i programmi che interagiscono con DBMS Utenti: usano il DB per trovare le informazioni di interesse (possono essere + o – esperti)

Vantaggi dei DBMS Permettono di considerare i dati come risorsa di un’organizzazione Una risorsa comune: a disposizione di molteplici utenti e applicazioni Offrono un modello formale della realtà di interesse Preciso, riutilizzabile

Vantaggi dei DBMS Controllo centralizzato dei dati Riduzione di ridondanze e inconsistenze Indipendenza dei dati Sviluppo di applicazioni flessibili e modificabili

Svantaggi dei DBMS Complessi, costosi, hanno specifici requisiti in termini di SW e HW Difficile separare servizi utili da quelli inutili Inadatti alla gestione di poche informazioni condivise da un numero basso di utenti

Insiemi Insieme: collezione di elementi L’ordine non è importante Per esempio: {1,5,3} = {1,3,5} Un insieme non contiene duplicati {rosso,verde,rosso} è identificato con {rosso, verde}

Insiemi Esempi: Caso speciale:  = {}, l’insieme vuoto {x | x è un colore primario} = {rosso, blu, giallo} {y | y è un numero pari tra 5 e 15} = {6, 8, 10, 12, 14} Caso speciale:  = {}, l’insieme vuoto

Elemento di un’insieme Per esempio, 1 è un elemento dell’insieme {1,5,3} Per esempio, rosso è un elemento dell’insieme {rosso, verde} L’elemento x è un elemento di un’insieme A: x in A (oppure xA, x appartiene a A)

Sottoinsieme A è un sottoinsieme di B se ogni elemento x in A è anche un elemento di B A è un sottoinsieme di B è scritto A  B Per esempio, {1,3} è un sottoinsieme di {1,5,3} Per esempio, {rosso} è un sottoinsieme di {rosso, verde}

Prodotto cartesiano Prodotto cartesiano di due insiemi A e B AxB = {(x1,x2) | x1A e x2B} dove (x1,x2) sono coppie ordinate di elementi Per esempio: A = {1,2,4}, B= {a,b} AxB = {(1,a),(1,b),(2,a),(2,b),(4,a),(4,b)}

D1x…xDn = {(x1,…,xn) | x1D1,…, xnDn} Prodotto cartesiano Prodotto cartesiano di n insiemi D1, D2, …, Dn D1x…xDn = {(x1,…,xn) | x1D1,…, xnDn} dove (x1,…,xn) sono n-uple ordinate di elementi

AxB = {(1,a),(1,b),(2,a),(2,b),(4,a),(4,b)} Relazione matematica Relazione matematica su insiemi A e B (domini della relazione) = sottoinsieme di AxB Per esempio: AxB = {(1,a),(1,b),(2,a),(2,b),(4,a),(4,b)} Una relazione matematica su insieme A e B potrebbe essere: R={(1,a),(1,b),(4,b)}

Relazione matematica Relazione matematica sugli insiemi D1,…,Dn (domini della relazione) = un sottoinsieme di D1x…xDn

Unione Unione di due insiemi A e B AB = {x | xA o xB} Per esempio: {1,5,3}  {4,5,9} = {1,5,4,9,3} {1,5,3}  {rosso, verde} = {1,5,rosso,verde,3}

Intersezione Intersezione di due insiemi A e B AB = {x | xA e xB} Per esempio: {1,5,3}  {1,3,8} = {1,3} {rosso, blu}  {rosso, verde} = {rosso} {1,5,3}  {1} = {1} {1,5,3}  {1,5,3} = {1,5,3} {rosso, blu}  {verde, giallo} = 

Differenza insiemistica Differenza insiemistica tra due insiemi A e B A-B = {x | xA e non xB} Per esempio: {1,5,3} – {1,3} = {5} {rosso,blu,giallo} – {blu} = {rosso,giallo}

Esercitazioni {10,20,30}  {5,10,15,20,25,30,35}? {1,2,35}  {1,2,30}? {10,20,30}  {x | x è tra 1 e 50}? Che cos’è {1,2,3}x{a,b}?

Esercitazioni Che cos’è {0,1}x{a,b}x{rosso,blu}? Che cos’è {0,1}  {a,b}? Che cos’è {a,b,c}  {a,b}? Che cos’è {a,b,c}  {a,b}?

Esercitazioni Che cos’è {1,2,3}  {a,b}? Che cos’è {1,2,3} – {3}?

Schema esterno - esempio Date le 2 tabelle di Dbcorsi: Docenza(corso,docente) OrganizzCorsidiLaurea(cdl,materia,anno) definiamo 2 tabelle derivate: Informatica(cdl,materia,anno) Info(materia, anno) Informatica cdl materia anno Informatica Basi di dati 2 Programmazione 1