Informatica Documentale PDF

Title Informatica Documentale
Course Informatica documentale (i)
Institution Università degli Studi di Verona
Pages 33
File Size 635.9 KB
File Type PDF
Total Downloads 367
Total Views 690

Summary

INFORMATICA DOCUMENTALEProgettazione di dati, concetto di archivioLibro: BASI DI DATI LINGUAGGIINSIEME ORGANIZZATO DI DATI la base di dati è un supporto digitale i cui dati sono immagazzinati e poi abbiamo un software che ci permette di ricostruire le informazioni. Insieme organizzato di dati. Model...


Description

INFORMATICA DOCUMENTALE Progettazione di dati, concetto di archivio Libro: BASI DI DATI LINGUAGGI INSIEME ORGANIZZATO DI DATI la base di dati è un supporto digitale i cui dati sono immagazzinati e poi abbiamo un software che ci permette di ricostruire le informazioni. Insieme organizzato di dati. 1. Modelli di dati: insieme di regole che mi permettono di organizzare i dati secondo una logica. Il modello che vedremo è quello più diffuso sul quale si basano dei software è il modello relazionale. Il costruttore principale del modello è la tabella. il modello relazionale parte da una nozione matematica di insiemistica. (2) 2. LINGUAGGI Una volta organizzati i miei dati devo saperli implementare. Definire dei prototipi con software opportuni, ci sono gestori di basi di dati uno è Access, ne esiste una versione che è Base di Libre office. Noi tratteremo di: -SQL è il più famose ed è alla base di tutti i software. -Algebra relazionale! è un linguaggio algebrico (generico) che ci permette di fare delle domande alle basi di dati. (3) 3. Modelli concettuali : E-R (ENTITA’ quadrati -RELAZIONE freccia a un senso solo o a doppio senso) sviluppare metodologia per sviluppare questo problema, capire come costruire la base di dati e ci permette di farlo . Modello di implementazione (1) Differenza tra dato e informazione: il dato è un qualcosa che capisce la macchina e l info è qualcosa che capisce la persona, il dato è a un livello più astratto di informazione mentre l’informazione è la versione concreta e comprensibile del dato dalle persone umane. Dato: è di per sé presente alla conoscenza al di là di ogni informazione. In informatica è un insieme di simboli. È importante organizzare bene i dati cioè in modo intelligente ed efficiente , io posso ricostruire una riconoscenza che è possibile solo dopo l’elaborazione del dato stesso, quindi il dato è un qualcosa di recuperato e sviluppato in modo risoluto. Informazione: la conoscenza immediatamente dopo l’elaborazione del dato. (Per ottenere una buona conoscenza bisogna implementare bene i dati.). Il dato è banale. Le macchine sono stupide, esse sono potenti grazie alle persone. Siamo noi che diamo loro potere e la possiamo utilizzare per vari scopi. Insegnare ad una macchina la semantica che è l’interpretazione. I linguaggi per le macchine hanno delle regole fisse che non devono essere violate e che sono molto semplici. Un dato è facilmente codificabile cioè con una sequenza da 0 a 1 possiamo codificare caratteri speciali ecc. insegnando alla macchina tante basi di dati. Il dato è una forma di conoscenza di base ma che può essere manipolato. Il dato è una risorsa strategica che poi deve essere preservata, i dati devono resistere ai software alle implementazioni che si fanno. ..? Insieme organizzato di dati che vengono utilizzati per il supporto dello svolgimento delle attività umane. Un insieme di dati opportunamente codificati sono gestiti da software opportuni. Questi software che gestiscono i dati sono: Tbms ( sistemi di gestione dei database) e sono appunto Access ad esempio.

Le basi di dati sono molto grandi. La tecnologia quindi deve tener presente che i dati sono tanti. Con internet siamo ormai sommersi da base di dati e non sono però strutturati, ad esempio in modo automatico si possono sviluppare sinonimi di parole. Quindi non essendo strutturati bisogna usare degli algoritmi che da ciò che viene scritto in rete si ottengono delle basi semantiche da cui si costruiscono archivi. Lo scopo è costruire una correlazione intelligente ed efficiente che ci dia modo di estrarre informazioni utili. Avere dati ed averli strutturati bene mi permette di essere efficiente, e di recuperare il dato in modo selettivo. Il fatto che i dati siano condivise ci da la possibilità di avere privatezza (password) questi meccanismi mi permettono di agire in modo condiviso, e possono fare una serie di azioni attraverso il mio profilo. Questi aspetti devono essere gestiti dai software che garantiscono affidabilità. Anche concetto di transazione è alla base di produzione di software. Nozione di indipendenza dei dati rispetto al livello di utilizzo dell’utenza ed a livello fisico. Il modello relazionale crea le tabelle. Questi modelli vanno a fondare l’indipendenza del dato perché sono indipendenti da quella che è la realizzazione fisica del database, esiste un livello intermediò che è quello logico dove si occupa della progettazione organizzazione e formazione dei linguaggi e del recupero. Sono metodi formali perché permettono di ragionare in modo indipendente. Il metodo per realizzare qualcosa viene sempre via via perso, invece ponendoci nella prospettiva dei metodi formali possiamo riuscire a costruire un archivio attraverso vari studi e si saprà anche creare un archivio.

6/03/18 IL MODELLO RELAZIONALE

I modelli logici: regole che mi permettono di organizzare le regole che intendo utilizzare ci sono tre modelli logici tradizionali: gerarchico, reticolare, RELAZIONALE. Il modello relazionale è basato sui valori utilizzano riferimenti espliciti (puntatori) fra record. Anche i riferimenti fra dati in strutture (relazioni) diverse sono rappresentati per mezzo dei valori stessi. Il modello relazionale è importante perché è basato sui valori. Una tabella singola ha un potere limitato combinando invece tabelle diverse ho una informazione più complessa (/completa). Aggancio tra tabelle diverse utile alla comprensione delle informazioni riportante all’interno di esse. L’istanza cioè i dati però non sono controllabili, quindi può succedere che certi collegamenti manchino. Il modello relazionale : proposto da E.F. Codd nel 1970 per favorire l’indipendenza dei dati; Disponibile in DBMS reali nel 1981 non è facile implementare l’indipendenza con efficienza e affidabilità); si basa su un concetto matematico di relazione (con una variante)la relazione matematica viene semplificata ma anche arricchita e le relazioni hanno naturale rappresentazione per mezzo di tabelle. vedremo: -le strutture e - i vincoli di integrità, che sono vincoli semantici quindi predicati che mi vanno a specificare un’integrità semantica dei

dati che vado a utilizzare. Il vincolo è qualcosa che vado ad imporre dall’esterno per avere correttezza semantica. LE STRUTTURE DEL MODELLO RELAZIONALE Il concetto di relazione: tre accezioni. La prima interpretazione nella teoria matematica degli insiemi. Poi relazione intesa come relazione secondo il modello relazionale dei dati. La terza accezione è relazione che rappresenta una classe di fatti, nel modello ENTITYRELATIONSHIP, tradotto anche con associazione o correlazione. Cominciamo a parlare di RELAZIONE MATEMATICA: è il sottoinsieme del prodotto cartesiano. Abbiamo due insiemi. Il prodotto cartesiano è fatto con tutte le possibili relazioni dei dati all’interno degli insiemi. Ci sono coppie che sono fatte con un elemento del primo insieme e coppie fatte dal secondo insieme. a a a b b b

x y z x y z

esempio Esempio D1= (a;b) D2 (x,y,z) prodotto cartesiano D1xD2 Una relazione r ⊆ D1xD2 a a b

x z y

Relazione matematica D1….Dn ( n insiemi anche non distinti) Prodotto cartesiano D1x…xDn: l’insieme di tutte le n-uple (d1…,dn) tali che d1∈ a D1…dn ∈ Dn Relazione matematica su D1…Dn: un sottoinsieme di D1x…xDn. D1…, Dn sono i domini…(?) ∈: appartiene a ⊆: contiene RELAZIONE MATEMATICA, PROPRIETÀ Una relazione matematica è un insieme n-uple ordinate:



(d1…,dn) tali che d1 ∈ a D1…,dn∈ a Dn

Una relazione è un insieme: •

non c’è un ordinamento fra n-uple;



le n-uple sono distinte;



ciascuna n-upla è ordinata: l’i-esimo valore proviene dall’i-esimo dominio

l’ordinamento è anche un limite relazione matematica esempio istanza: la relazione partite è un sottoinsieme di questo prodotto cartesiano partite⊆ string x string x int x int Juve Lazio

3 2 0 0

Lazio Milan Juve Roma Roma Milan

1 0 2 1

Ciascuno dei domini ha due ruoli diversi, distinguibili attraverso la posizione: •

la struttura è posizionale



l’ordinamento non è una proprietà ottimale

STRUTTURA NON POSIZIONALE •

A ciascun dominio si associa un nome unico nella tabella (attributo) che ne descrive il ruolo il contenuto



La colonna è una singola colonna mentre l’attributo si riferisce a casa fuori Reticasa Retifuori

CASA Juve Lazio Juve Roma

FUORI Lazio Milan Roma Milan

RETICASA 3 2 0 0

RETIFUORI 1 0 2 1

nel modello relazionale l’ordine delle righe non conta Inserendo un nome unico (attributi) l’ordine delle colonne non è più rilevante (perché posso fare infiniti scambi tra colonne senza cambiare il significato dello schema) in sintesi:

-

Nella struttura posizionale: l’ordine delle righe non conta ma conta l’ordine delle colonne

-

Nella struttura non posizionale! non conta né l’ordine delle righe né quello delle colonne

TABELLE E RELAZIONI in una tabella che rappresenta una relazione: -

l’ordinamento tra righe è irrilevante

-

l’ordinamento tra le colonne è irrilevante

Una tabella rappresenta una relazione ( però è un’entità) se: -

le righe sono diverse tra loro

-

le intestazioni delle colonne sono diverse fra loro

-

i valori di ogni colonna sono fra loro omogenei ( o solo lettere o solo numeri)

il modello è basato sui valori -

i riferimenti fra i dati in relazioni diverse sono rappresentati per mezzo di valori dei domini che compaiono nelle ennuple.

Il fatto di avere lo stesso dato mi permette di fare un collegamento fra le tabelle (guarda tabelle ilaria p 2/3) STRUTTURA BASATA SU VALORI: VANTAGGI -

indipendenza delle strutture fisiche che possono cambiare dinamicamente

-

si rappresentano solo ciò che è rilevante dal punto di vista dell’applicazione (i valori, cioè le rappresentazione logica dei dati)

-

L’utente finale vede gli stessi dati dei programmatori

-

I dati sono portabili più facilmente da un sistema ad un altro

Alternativa: altri modelli (sia quelli “storici”, reticolare o gerarchico, sia quello a oggetti) prevedono riferimenti espliciti, gestiti dal sistema. DEFINIZIONI (IMPORTANTI!) •

Schema di relazione: un nome R con un insieme di attributi A1,…,An:

R(A1,….,An) •

Schema di base di dati: insieme di schemi di relazione: R={R1(X1),…, Rk (Xk)}

R= {STUDENTI (Matricola, Cognome, Nome, Data di nascita) ESAMI(studente, Voto, Corso)! vuol dire che la tabella si chiama esami e che come colonne ha

queste

tre qui !

CORSI(Codice, Titolo, Docente)} DEFINIZIONE 2 • Una ENNUPLA (o tupla=riga) su un insieme di attributi X è una funzione che associa a ciascun attributo A in X un valore del dominio di A • t [A] denota il valore della ennupla t sull’attributo A Casa

Fuori

RetiCasa

RetiFuori

Juve Lazio Juve Roma

Lazio Milan Roma Milan

3 2 0 0

1 0 2 1

(prima riga) : t[Casa]=Juve RELAZIONI SU SINGOLI ATTRIBUTI A volte può avere senso avere una relazione su un singolo attributo Esempio Studenti Matricola

Cognome

Nome

Data di nascita

6554 8765 9283 3456

Rossi Neri Verdi Rossi

Mario Paolo Luisa Maria

05/12/1978 03/11/1976 12/11/1979 01/02/1978

Studenti lavoratori Matricol a 6554 3456 L’istanza è l’insieme dei dati contenuti nelle righe L’istanza è variabile mentre la struttura della relazione è più robusta. Quindi staticità sulla tipologia di dati che voglio memorizzare localmente alla relazione. Linea di dinamicità sull’istanza mentre struttura relazione è solida. INFORMAZIONE INCOMPLETA Il modella relazione impone ai dati una struttura rigida: - le informazioni sono rappresentate per mezzo di ennuple solo alcuni formati di ennuple sono ammessi e cioè quelli che corrispondono agli schemi di relazione i dati disponibili non possono corrispondere al formato previsto

VALORE NULLO= i due spazi vuoti presenti sotto la colonna del numero di telefono (=non consco il numero di Emanuele ed Elisa) Nome

cognome

N telefono

ANNA LUIGI EMANUELE ELISA

ROSSI BERDI TRESSE MENGALLI

3465294030 3663448891

Ai valori nulli non si può lasciare lo spazio ma bisogna comunque inserire una stringa o numero intero (nome) che rappresenti il valore nullo Soluzioni ad informazioni incomplete: -non usare valori del dominio (es: 0,stringa,99,…) o stringhe ambigue Estendere i domini in modo che possono accettare il valore NULL ed inserisco quindi il valore NULL (stringa per i valori nulli) Nome

cognome

N telefono

ANNA LUIGI EMANUELE ELISA

ROSSI BERDI TRESSE MENGALLI

3465294030 3663448891 NULL NULL

TIPI DI VALORE NULLO: -valore sconosciuto -valore inesistente (es: numero di patente se uno la patente non la ha) - valore senza informazione I DBMS non distinguono il tipo di valore nullo TROPPI VALORI NULLI Studenti Matricola

Cognome

Nome

Data di nascita

6554 8765 9283 NULL

Rossi Neri Verdi Rossi

Mario Paolo Luisa Maria

05/12/1978 03/11/1976 12/11/1979 01/02/1978

Esami Studente

Voto

Corso

NULL NULL 9283

30 24 28

NULL 02 01

Corsi Codice

Titolo

Docente

01 02 04

Analisi NULL Chimica

Mario NULL Verdi

IL MODELLO RELAZIONE : VINCOLI DI INTEGRITÀ! Aiuta il problema della semplicità della tabella. Esistono istanze di basi di dati che, pur sintatticamente corrette, non rappresentano delle rappresentazioni semanticamente corrette o ammissibili

Esami Studente

Voto

Lode

Corso

276545 276545 787643

32 30 27 24

e lode e lode

01 02 03 04

Nome

Cognome

Nome

276545 276545 76891 76891

Nardi Rossi Motta De paoli

Luca Andrea Ester Martina

Studenti

VINCOLI DI INTEGRITA’ !proprietà che deve essere soddisfatta da istanze che rappresentano informazioni corrette per l’applicazione VINCOLO= è un predicato cioè un’espressione sintattica che in un determinato contesto può essere vera o falsa: associa ad ogni istanza il valore vero o falso Esempio: Traduciamo in linguaggio logico la proprietà che vogliamo sia soddisfatta dalle istanze della nostra base di dati. Ad esempio se vogliamo esprimere dei vincoli sui valori che può assumere l’attributo VOTO (Voto≥18) AND(Voto≤30) ! tutto ciò che su trova sotto la colonna VOTO deve essere contemporaneamente maggiore uguale di 18 e minore uguale di 30 AND vuol dire che devono essere entrambi veri

(NOT (Lode=”lode”)) OR (Voto=30) VINCOLI DI INTEGRITA, perché? - Descrizione più accurata della realtà - Contributo alla “qualità dei dati” - Utili nella progettazione (vedremo) - Usati dai DBMS nella esecuzione delle interrogazioni Tipi di vincoli - Vincoli intrarelazionali (vincolo definito rispetto alle singole relazioni della Base di dati ) -

Vincoli ennupla: esprimono condizioni sui valori di ciascuna ennupla, indipendentemente dalle altre ennuple Vincoli sui valori o di dominio: coinvolgono un solo attributo ( caso particolare di vincolo di ennupla)

-

Vincolo interrelazioni (tra relazioni diverse della Base di dati) importanti: vincoli di integrità referenziali . (tra tabelle diverse)

10/04/2018 Concerto identificazione dell’ennuple: voglio definire un modello semplice che mi permetta un identificazione univoca. Superchiave —> insieme di attributi che identificano univocamente le ennuple di una relazione. Formalmente: Un insieme K di attributi è superchiave per r se r non contiene due ennuple distinte t e t2 con t1 [K]=t2 [K] K è chiave per r se è una superchiave minimale per r (cioè non contiene un’altra superchiave) Chiave—> k è una chiave per r se è una superchiave minimale per r cioè non contiene un’altra superchiave Vincoli, schemi e istanze • I vincoli corrispondono a proprietà del mondo reale modellato dalla base di dati • Interessano a livello di schema con riferimento cioè a tutte le istanze • Ad uno schema associamo un insieme di vincoli e consideriamo corrette (valide/ ammissibili) le istanze che soddisfano tutti i vincoli • Un’istanza può soddisfare altri vincoli (“per caso”) Importante: esistenza delle chiavi • Una relazione non può contenere ennuple distinte ma uguali (grazie alle chiavi) • Ogni relazione h come superchiave l’insieme degli attributi su cui è definita e quindi ha (almeno) una chiave Importanza delle chiavi • Le esistenze delle chiavi garantisce l’accessibilità a ciascun dato della base di dati • Le chiavi permettono di correlare i dati in relazioni diverse: ciò è fondamentale, perché sappiamo che il modello della reazione è basato su valori Chiavi e valori nulli • In presenza di valori nulli, i valori della chiave non permettono • Di identificare le ennuple • Di realizzare facilmente i riferimenti da altre relazioni Esempio ammettere il valore nullo sull’attributo Matricola … Chiave primaria Definizione —> è una chiave che non può assumere un valore nullo (notazione:sottolineatura) Vincoli internazionali: integrità referenziale • Informazioni in relazioni diverse sono correlate attraverso valori comuni • In particolare, valori delle chiavi (primarie) • Le correlazioni debbono essere “coerenti” Vincoli di integrità referenziale

È detto anche foreign key fra gli attributi X di una relazione R, e un’altra relazione R2 impone i valori su X in R, di comparire come valori della chiave primaria di R2 Vincoli di integrità referenziale fra: • L’attributo Vigile della relazione INFRAZIONI e la relazione vigili • Gli attributi Prov e Numero… Linguaggi di interrogazione per basi di dati relazionali Dichiarativi • Specificano le proprietà del risultato Procedurali • Specificano le modalità di generazione del risultato Algebra relazionale Linguaggio procedurale, basato su concetti di tipo algebrico. Insieme di operatori • Definiti su relazioni • Producono relazioni a partire da altre relazioni • Possono essere composti operatori dell’algebra relazione Tipici dell’algebra relazionale • Ridenominazione utile per gli insiemistici • Selezione • Proiezione • Join Ridenominazione In generale, inoltre può essere utile cambiare il nome di un attributo. La ridenominazione viene introdotta al fine di adeguare il nome degli attributi al fine di facilitare le operazioni insiemistiche. • Operatore monadico (con un argomento) • “Modifica lo schema” lasciando inalterata l’istanza dell’operando Ridenominazione: sintassi REN—> ⍴ (r) Nomi nuovi …|…|… Indicano che deve essere scelto uno dei termini separati dalle barre. Le parentesi tonde non saranno simboli ella grammatica ma parte di termini SQL. Definizione dei dati in SQL: creare una tabella

• crea una tabella ed ha una sintassi di tanti passaggi che vanno a rispecchiare uno alla volta il modello relazionale : Struttura: Istruzione CREATE TABLE Create table

NomeTabella

(Nome Attributo Dominio [ValoreDiDefault] [Vincoli] AltriVincoli ) Spiegazione Struttura: -Le parentesi fanno parte dei termi, esse vanno ad isolare un blocco centrale che va a specificare altre cose. -Ciascuna di queste espressioni (quelle che si trova tra le parentesi tonde) va a specificare un attributo della relazione dove NomeAttributo è il nome che vado a dare all’attributo. -Il Dominio mi dice il tipo di dato che io mi aspetto in corrispondenza della tabella qui...


Similar Free PDFs