Archivi e database. Lezione n. 7

Documenti analoghi
Archivi e database. Lezione n. 7. Dagli archivi ai database (1)

Archivi e database. Lezione n. 7

Archivi e database. Dato e gli archivi

Archivi e database. Lezione n. 7. Dagli archivi ai database (1)

Elena Baralis 2007 Politecnico di Torino 1

Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS

Elena Baralis 2007 Politecnico di Torino 1

Introduzione D B M G

Archivi e database. Lezione n. 7

Sistemi informativi D B M G. Introduzione. Introduzione alle basi di dati D B M G 2. Elena Baralis 2007 Politecnico di Torino 1

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza

Archivi e database. Lezione n. 7. Dagli archivi ai database (1)

Elena Baralis 2007 Politecnico di Torino 1

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.

Basi di dati. Elena Baralis Politecnico di Torino

Archivi e database. Lezione n. 7. Dagli archivi ai database (1)

Basi di Dati. Concetti e Principi Generali. Maria Mirto

Fondamenti di Informatica e Programmazione

MODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia

Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia. Università degli Studi di Salerno

SISTEMI INFORMATIVI TERRITORIALI DATABASES -LEZIONE 3

Basi di dati. Base di dati

Basi di dati Basi di dati per bioinformatica

Introduzione alle Basi di Dati

Corso di Informatica

Prof. Pagani corrado SISTEMI INFORMATIVI E DATABASE

I DATI E LA LORO INTEGRAZIONE 63 4/001.0

Introduzione Concetti Generali Pratica su Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 1

Fondamenti di Informatica A. A / 1 9

Basi di dati. Docente Prof. Alberto Belussi. Anno accademico 2009/10

SISTEMI INFORMATIVI E DATABASE

Operatore Informatico Giuridico Informatica Giuridica A.A 2006/2007 II Semestre. Archivi e database. prof. Monica Palmirani

BASI DI DATI: Dal problema reale al modello concettuale

Sistemi di Elaborazione dell Informazione

Basi di dati 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

Basi di dati DBMS Es:

BASI DI DATI: Dal problema reale al modello concettuale. a cura del Prof. Claudio Traini

DOCENTE PROF. ALBERTO BELUSSI. Anno accademico 2010/11

DataBase Management System - DBMS

A. Ferrari introduzione alle basi di dati

BASI DI DATI E CONOSCENZA GESTIONE DEI DATI E DELLA CONOSCENZA PRIMO EMICORSO - BASI DI DATI. Roberto Basili a.a. 2014/15

Informazione: notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere.

Sistemi Informativi Corso di Laurea in Ingegneria dell Integrazione d Impresa (E-Business)

D. Gubiani Introduzione alle Basi di Dati 3. La porzione automatizzata di un sistema informativo viene in

Cap. 1-I 1 I sistemi informatici

INFORMATICA. Prof. MARCO CASTIGLIONE ITS Tito Acerbo - PESCARA

Introduzione alle basi di dati. A. Ferrari

Capitolo 9. Sistemi di basi di dati Pearson Addison-Wesley. All rights reserved

DATABASE MODELLAZIONE DATI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL 2, HOEPLI. Informatica

INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione

Capitolo 20. I Sistemi Informativi

Informatica per le Scienze Umane. Introduzione al corso: programma

Informatica per le Scienze Umane. Introduzione al corso: programma dettagliato

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. INFORMATICA GENERALE Prof. Alberto Postiglione

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

Progettazione di Basi di Dati

Lezione 1. Introduzione ai sistemi di basi di dati

INFORMATICA PER LE SCIENZE UMANE a.a. 2016/2017

Corso Informatica di Base. Basi di Dati

record a struttura fissa

BASE DI DATI. (accezione specifica) collezione di dati gestita da un DBMS. Università degli Studi di Cassino

IL MODELLO RELAZIONALE. Patrizio Dazzi a.a

Basi di Dati: Introduzione

Basi di dati (Sistemi Informativi)

A. Ferrari introduzione alle basi di dati

Relazioni e tabelle. Introduzione alle Basi di Dati Relazionali. Relazioni uno a uno. Esempio

Basi di Dati Concetti Introduttivi

INFORMATICA PER LE SCIENZE UMANE a.a. 2017/2018

BASI DI DATI. Titolo Prof. Cognome Nome Indirizzo Numero Telefono

INFORMATICA PER LE SCIENZE UMANE a.a. 2015/2016

Basi di Dati. Corso di Informatica. Memorizzazione dei Dati. Accesso ai Dati. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

La progettazione concettuale

ITI M. FARADAY. Programmazione a. s

Teoria delle Basi Di Dati. Basi di Dati: Introduzione. Definizione di Database (o Base di Dati) Caratteristiche di un DB

Informatica per l Ambiente e il Territorio

Informatica per l Ambiente e il Territorio

Introduzione ai DataBase. Alice Pavarani

Basi di dati. Concetti introduttivi

ARCHITETTURA DI UN DBMS

Le Basi di Dati per i Beni culturali

Microsoft Access. Nozioni di base. Contatti: Dott.ssa Silvia Bonfanti

INTRODUZIONE ALLE BASI DI DATI

Modello Relazionale. Schemi. Schemi. Schemi. In ogni base di dati si possono distinguere: Es. (relazioni INSEGNAMENTO e MANIFESTO)

DBMS. Affidabilità. Privatezza dei dati. Efficienza. Efficacia. Un DBMS deve garantire:

FONDAMENTI DI INFORMATICA 1

Le Basi di dati: generalità. Unità di Apprendimento A1 1

LE BASI DI DATI. Prima parte Premesse introduttive I MODELLI DEI DATI

DBMS. Alice Pavarani

BASI DI DATI E UTENTI DI BASI DI DATI

Corso di. Basi di Dati I. 1. Introduzione

RELAZIONI E BASI DI DATI

Informatica e Tecnologie per la Produzione del Software Crediti formativi 9

Basi di Dati Concetti Introduttivi

Corso di. Basi di Dati I. 1. Introduzione

Basi di Dati. Corso di Laurea in Informatica Corso B A.A. 2015/16. Dr. Claudia d'amato. Dipartimento di Informatica, Università degli Studi Bari

Sommario FONDAMENTI DI INFORMATICA 1. Sistemi informatici e sistemi informativi. Informazioni e dati BASI DI DATI

Transcript:

Archivi e database Lezione n. 7

Dagli archivi ai database (1) I dati non sempre sono stati considerati dall informatica oggetto separato di studio e di analisi Nei primi tempi i dati erano parte integrante del programma e venivano organizzati seguendo la logica sia dell algoritmo sia del supporto fisico di memorizzazione. Si utilizzavano i modelli degli archivi Se per esempio si aveva a disposizione un tape ossia un nastro per archiviare i dati di una banca, necessariamente i dati dovevano essere trattati con algoritmi sequenziali a causa del mezzo fisico di memorizzazione

Dagli archivi ai database (2) Questo creava problemi di diversa natura e si è iniziato a pensare a modellare i dati come oggetto indipendente Nasce la disciplina dell organizzazione dell informazione spesso chiamata Sistemi informativi e database Scopo di questa disciplina è di organizzare concettualmente e logicamente i dati per rappresentarli così come ontologicamente sono, indipendentemente dal supporto fisico di memorizzazione (memorie di massa) o dalla funzione che devono assolvere (programma)

Dagli archivi ai database (3) La definizione dei dati era embedded nei programmi applicativi piuttosto che essere memorizzaza separatamente e indipendentemente Nessun controllo sugli accessi e la manipolazione di dati se non quella imposta dal programma applicativo Database: un sistema di gestione dati integrato in cui i dati sono mantenuti in modo non ridondante e in cui l utente può specificare con un comando unico una richiesta (query) per una varietà di dati DBMS - Data Base Management System Un sistema software che consente all utente di definire, creare, e mantenere il database e fornisce accesso controllato ad esso

Limiti dei sistemi di gestione di archivi - I Separazione e isolamento dei dati Ogni programma gestisce il proprio insieme di dati : gli utenti di un programma non hanno possibilità di accedere a dati utili gestiti da altri programmi Duplicazione dei dati Gli stessi dati sono gestiti da programmi diversi. Spazio di memoria sprecato e talora valori e format diversi per lo stesso dato

Limiti dei sistemi di gestione di archivi - II Data dependence La struttura dei file è definita nel codice del programma Format incompatibili per i dati I programmi sono scritti in linguaggi diversi e non possono accedere agli file altrui Query fisse e proliferazione dei programmi applicativi I programmi sono scritti per funzioni particolari; ogni nuova esigenza richiede un nuovo programma

Dato come risorsa Dato - la più piccola unità significativa atomica che rappresenta un oggetto, un evento, un fatto, un astrazione, un concetto a senso compiuto Il Dato ha un ciclo di vita, un valore, una necessità per qualche unità organizzativa Un dato si dice persistente quando spento il calcolatore mantiene la sua integrità Il dato è una risorsa preziosa Il dato merita di essere rappresentato nel suo valore intensionale e astratto indipendentemente dalle attuali e contingenti applicazioni

Triangolo semiotico: intensione ed estensione Intensione concetto astratto Significante classe o entità Estensione o istanza specifica oggetto Gottlob Frege [1848-1925], Charles Sanders Peirce [1839-1914], e Ferdinande de Saussure [1857-1913]

Differenza fra archivi e database Il dato può essere visto come valore (estensionale), come valore del significante e come elemento di una classe (intensionale) Es. La classe dei numeri primi P = {x l x N e x non ha divisori diversi da 1 e da se stesso} definizione intensionale tramite le proprietà P = {I numeri primi } - abbiamo dato un nome a questa classe definizione del significante tramite una categoria (primi) P = {1,3,5,7, 11, 13, } - abbiamo dato una definizione tramite i dati oggettivi concreti ossia le istanze concrete dell insieme dei numeri primi, abbiamo elencato i membri dell insieme che sono i valori estensionali Negli archivi hanno una struttura lineare e registrano la sola rappresentazione entensionale, la rappresentazione intensionale è modellata nei programmi applicativi Nei DBMS poichè abbiamo la rappresentate delle relazioni e degli attributi riespetto ad ogni entità riusciamo a catturare anche la rappresentazione estensionale

Dato e gli archivi Il dato persistente viene memorizzato in apposite strutture dati dette ARCHIVI o file Un archivio è una collezione di dati organizzati secondo uno schema detto record logico- lung. fissa o lung. variabile Esempio: l archivio AGENDA NOME COGN. INDIRIZZO TELEFONO1 TELEFONO2 Record logico

Operazioni sui dati in generale Indipendentemente se usiamo archivi o database abbiamo alcune operazioni di basilari da compiere con i dati lettura scrittura - inserimento modificazione cancellazione ricerca

Come è fatto un archivio - il record Per comprendere come è formato un archivio occorre partire dall unità di base ossia il Record o registrazione: unità logica minima di dati cui il computer può accedere negli archivi strutturati: suddiviso in campi, ciascuno dei quali codifica una singola informazione elementare, numerica o alfanumerica negli archivi di testo: l intero record è costituito da una riga o paragrafo

Un formato di record Nome: Cognome: Via: Città: CAP: testo, 15 caratteri testo, 20 caratteri testo, 30 caratteri testo, 20 caratteri Numero intero

Il contenuto di un record Nome: Mario Cognome: Rossi Via: Verdi, 30 Città: Milano CAP: 204378

Archivio o file: definizione File strutturato: file destinato a contenere un insieme di record dotati della medesima struttura (formato) Viene creato o modificato mediante apposite istruzione del linguaggio di programmazione relativo (o mediante apposite interfacce grafiche) Diversi tipi di file: Sequenziale Accesso diretto Accesso con chiave Inverted file

Gli operatori booleani - (I) Operatori booleani: and canta e danza ossia la condizione è vera quando il soggetto canta e danza contemporaneamente or canta o danza - in modo alternativo ossia sono valide le seguenti situazioni: canta e non danza, oppure danza e non canta, oppure canta e danza not non canta - negazione xor canta o danza - in modo esclusivo ovvero sono valide le seguenti situazioni canta e non danza oppure danza e non canta

Gli operatori booleani - (II) A = l insieme degli avvocati B = l insieme dei professori A B A B A AND B NOT B A B l insieme degli avvocati che sono anche professori A l insieme degli avvocati che non sono professori B A OR B A XOR B l insieme di tutti e due l insieme dei soli avvocati e dei soli professori

Prova con Google (1) locazione abuso violazione domicilio ergastolo intrusione estranei Google esegue una operazione in AND di tutti i termini inseriti e la bilancia con un meccanismo a punteggio (PageRank) Il PageRank si basa sul numero di link in arrivo, più link ci sono alla pagina in arrivo più il punteggio è alto perché si suppone che più referenze la pagina ha nella rete, più alta è la sua qualità (questo non è valore sempre valido) Successivamente Google conta le frequenze delle parole ed esamina eventuali metadati abbinati al documento testuale Risultati 80 (data 13/11/2008)

Prova con Google (2) locazione +abuso +violazione +domicilio +ergastolo+ intrusione + estranei Uso il + per protegge la parola dal filtro dalla stop list Risultati 1 (data 13/11/2008) solo le pagine che hanno tutti i termini "violazione di domicilio" +locazione +ergastolo +estranei + abuso Uso le -- per i sintagmi, parole la cui vicinanza e sequenza determina un concetto ben preciso diverso dall uso degli stessi termini in ordine diverso Risultati 23 (data 13/11/2008) locazione or abuso or violazione or domicilio or ergastolo or intrusione or estranei Risultati 146

Google come banca dati: autocomplete Tribunale Milano del 31 marzo 2011 http://www.leggioggi.it/wpcontent/uploads/2011/04/tribmilano_google.pdf http://punto-informatico.it/3125765/pi/news/googlesuggest-colpevole-italia.aspx Marzo 29, 2013 http://www.ilsole24ore.com/art/norme-e-tributi/2013-03-29/google-responsabile-risultati-algoritmo- 123941.shtml?uuid=AbKwbhiH

Base di dati In senso lato (giuridico) si intende per base di dati una qualsiasi collezione di dati organizzata seguendo uno schema logico che ne permette il reperimento (possono essere anche documenti cartacei) In senso stretto (informatico) una base di dati o database è l insieme di archivi memorizzati in modo permanente nella memoria di massa e di relazioni fra di essi Attenzione non sempre le definizioni sono uniformi: banca dati normativa = insieme dei testi normativi + relazioni fra le norme (citazioni) banca dati = contenuto + schema logico dei dati database o base di dati = schema logico dei dati

DBMS DBMS - database management system è il programma specifico (software di base) che gestisce ed organizza basi di dati solitamente i DBMS consentono e gestiscono l aggiornamento e l accesso dei dati da parte di più utenti contemporaneamente i DBMS contengono i dati le informazioni sulle strutture dei dati ovvero i metadati - cataloghi

Caratteristiche di un DBMS: IMPORTANTE I DBMS consentono l indipendenza dei dati dai programmi persistenza - i dati persistono nel tempo non ridondanza dei dati - i dati vengono memorizzati una sola volta sicurezza - meccanismi di accesso autorizzato ai dati integrità - ad ogni dato vengono associati vincoli di integrità e i programmi che non rispettano queste regole vengono bloccati utilizzo concorrente - i dati sono acceduti da più programmi contemporaneamente sistemi di backup e recovery dei dati in caso di errore

File vs. DBMS

Livelli di astrazione del DBMS: IMPORTANTE Livello fisico o schema interno: insieme di record memorizzati nel dispositivo di memoria di massa Livello logico: descrive l organizzazione dei dati e delle sue relazioni Livello esterno o vista o livello concettuale: descrive i dati così come vengono visti da un certo utente Indipendenza fisica - si può ridefinire il livello fisico senza modificare il modello logico Indipendenza logica - si può estendere il modello logico senza alterare il livello esterno

Livelli di un DBMS

Livelli di un DBMS

Livelli Requisiti della base di dati Progettazione concettuale COME : progettazione Schema concettuale Progettazione logica Progettazione fisica (da Atzeni e altri, Basi di dati, McGraw-Hill, 2002) CHE COSA : analisi Schema logico Schema fisico

Esempio più concreto della divisione dei livelli nella modellazione dei data base Livello concettuale Modellazione entità relazione dei dati Livello logico Scelta del modello del DBMS (es. relazionale) e modellazione delle tabelle in terza forma normale sciogliendo anche le relazioni N:M Livello fisico istruzioni SQL per gestire i dischi

Le transazioni ACID: IMPORTANTE Le transazioni sono operazioni di programma che agiscono sulla banca dati e non alterano la sua integrità (commit e rollback) commit fine della transazione con esito positivo roll-back fine della transazione con esito negativo e quindi ritorno allo stato precedente l inizio della transazione atomicità- l operazione viene eseguita tutto o si torna indietro ripristinando la situazione originale consistenza - le operazioni non devono violare i vincoli di l integrità dei dati isolamento - ogni transazione agisce in modo isolato dall altra per non creare sovrapposizioni durabilità - l operazione deve avere effetto duraturo nel tempo

Modello entità relazione LIVELLO CONCETTUALE Lezione n. 7

Modello entità-relazione Entità Relationship (relazioni o associazioni) Part-of (composizione) Is-a (gerarchica) Associazione funzionale (per un preciso scopo diverso dai precedenti Attributi

Entità (da www.cs.unibo.it/~montesi/corso01/p2progettazione/)

Rappresentazione grafica di entità (da www.cs.unibo.it/~montesi/corso01/p2progettazione/)

Relazione (da www.cs.unibo.it/~montesi/corso01/p2progettazione/)

Rappresentazione grafica di relazione (da www.cs.unibo.it/~montesi/corso01/p2progettazione/)

Nota sulle relazioni - I (da www.cs.unibo.it/~montesi/corso01/p2progettazione/)

Nota sulle relazioni - II (da www.cs.unibo.it/~montesi/corso01/p2progettazione/)

Attributi Proprietà elementare di un entità o di una relazione, di interesse ai fini dell applicazione Un attributo associa ad ogni occorrenza di entità o relazione un valore appartenente a un insieme detto dominio dell attributo

Rappresentazione grafica di attributi (da www.cs.unibo.it/~montesi/corso01/p2progettazione/)

Modello relazionale LIVELLO LOGICO Lezione n. 7

Modelli di dati Un Modello di dati è un formalismo utilizzato per descrivere la realtà che si intende modellare mediante un DB Modello gerarchico - IBM Modello reticolare - Codasyl (Conference on Data System Language) Modello relazionale - Egdar F. Codd anni 70 Modello a oggetti - anni 80-90 Ogni modello comprende entità, attributi, relazioni fra i dati

Modello relazionale Un data base relazionale è un insieme di relazioni Una relazione è una tabella composta da un numero fisso di colonne (attributi) e da un numero variabile di righe (tuple) Ciascuna relazione ha un nome Con le colonne si indicano gli attributi ed ogni attributo a un nome Tutti gli elementi della stessa colonna sono omogenei Ogni tupla deve essere unica all interno della relazione La relazione è definita come l insieme delle sue tuple Schema di una relazione=nome relazione+nome degli attributi+dominio di ogni attributo (schema astratto) Istanza di una relazione è uno schema di una relazione in un determinato istante ovvero l insieme dei valori delle tuple (valori) LIBRO(codice isbn, autore, titolo, casa editrice, città, anno)

Elementi del modello relazionale Tabelle o Entità - oggetti della realtà da descrivere e modellare Attributi - Associazioni o relazioni uno-a-uno - un cliente ha una sola sede legale uno-a-molti - un cliente ha più sedi operative molti-a-molti - un articolo è contenuto in più ordini e un ordine contiene più articoli

Da relazione molti a molti Studenti M-N Insegnamenti

Due relazioni uno a molti, mediante un nodo intermedio Studenti Frequenta Insegnamenti

La tabella Studenti idstudente nome cognome datanascita 3456 Mario Rossi 1/1/1985 6342 Lucia Bianchi 1/1/1986

La tabella Insegnamenti IdInsegn CgnDocente Materia Semestre 09960 Chiari Informatica 1 09923 Scuri Privato 2

La tabella Frequenze idstudente 6342 idinsegnamento 09960 6342 09923 3456 09960

Le associazioni tra tabelle Studenti idstudente nome cognome datanascita Frequenta idstudente idcorsi Corsi idcorsi docente Materia semestre

Esempio Studenti - Corsi