Anteprima
Vedrai una selezione di 4 pagine su 12
Riassunto esame Informatica, prof. Ferrara, libro consigliato Informazione, conoscenza e web per le scienze umanistiche, Ferrara Pag. 1 Riassunto esame Informatica, prof. Ferrara, libro consigliato Informazione, conoscenza e web per le scienze umanistiche, Ferrara Pag. 2
Anteprima di 4 pagg. su 12.
Scarica il documento per vederlo tutto.
Riassunto esame Informatica, prof. Ferrara, libro consigliato Informazione, conoscenza e web per le scienze umanistiche, Ferrara Pag. 6
Anteprima di 4 pagg. su 12.
Scarica il documento per vederlo tutto.
Riassunto esame Informatica, prof. Ferrara, libro consigliato Informazione, conoscenza e web per le scienze umanistiche, Ferrara Pag. 11
1 su 12
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

MODELLO CONCETTUALE

E' la struttura usata in fase di progettazione, che attraverso uno schema concettuale rappresenta la

realtà categorizzandoli in classi di oggetti e nelle loro relazioni. Descrive i dati in modo indipendente

dal modello logico.

Il sistema usato si chiama ER (entity relationship) dove abbiamo appunto le entità, che

rappresentano le categorie di oggetti aventi delle proprietà in comune (disegnati graficamente come

un rettangolo con all'interno il nome del gruppo), collegati, da un motivo logico, dalle relazioni

(rappresentati da un rombo con all'interno l'iniziale della relazione).

Alle entità e alle relazioni vengono aggiunti gli attributi, cioè determinate informazioni che

completano il quadro delle notizie (es. la data di nascita, la città di residenza di un autore). Gli attributi

si indicano con un cerchio vuoto.

Per evitare che nel software siano inseriti dati che si possano confondere, ad ogni entità va attribuito

anche un id, cioè un codice di identificazione utile al calcolatore per la distinzione di altri dati simili.

L'id viene indicato con un cerchio annerito e può essere anche esterno (es. quando due numeri di

matricola si possono confondere s eprovenienti da due università diverse). L'id solitamente

rappresenta la chiave interna dell'entità, e non può avere valore nullo.

Si possono inoltre formare gerarchie di generalizzazione, cioè una data entità può comprendere

un'entità di espansione minore che comunque mantiene le caratteristiche dell'entità principale (es. gli

studenti sono persone). Si tratta quindi di un legame di specializzazione, dove le entità principali si

chiamano entità padre mentre quelle minori entità figlie.

Tutti gli attributi dell'entità padre andranno anche alle figlie, mentre non è vero il contrario.

Le gerarchie possono essere totali, quando l'unione delle entità minori danno forma esattamente a

quella principale, oppure parziali, quando ciò non avviene.

Inoltre possono essere esclusive, quando i componenti delle entità minori non possono essere

mischiate ad altre (es. maschio-femmina), o sovrapposte, quando invece possono sovrapporsi (es.

lavoratore-studente).

Queste caratteristiche danno forma a quattro possibilità di combinazione.

Nello schema ER vengono rappresentate attraverso una freccia che parte dalle sottoclassi per

arrivare all'entità principale, tra parentesi devono essere indicate anche se sono intere o sovrapposte

e parziali o totali.

Le relazioni possono essere anche ricorsive, cioè legami logici fra elementi interni alla stessa entità

(es.opera e il suo seguito). Per distinguere le due direzioni possibili della relazione, si aggiungono due

termini che qualificano il ruolo dei due oggetti dell'entità.

La cardinalità corrisponde ai legami massimi e minimi che vigono fra due entità, precisamente al

numero di soggetti di un'entità che può interagire con l'altra (es. una persona può essere residente in

una sola città--> cardinalità max 1, cardinalità min 1. Una città invece può avere più persone-->

cardinalità max N, cardinalità min 0).

Le relazioni possono essere divise in 3 categorie: 1 a 1, corrispondenza unica, 1 a N, corrispondenza

unica a senso unico, N a N, non c'è corrispondenza unica.

MODELLO RELAZIONALE

E' il risultato della nozione di relazione matematica, cioè il prodotto fra ogni elemento di ogni dominio

per ogni elemento degli altri (prodotto cartesiano), da cui estrapoleremo solo le corrispondenze

corrette. La rappresentazione grafica avviene per mezzo di tabelle.

Inizialmente si forma una tabella per ogni entità, dove ogni colonna rappresenta un diverso attributo,

mentre le righe rappresentano i diversi inserimenti di dati.

L'insieme di righe si chiama tupla, l'insieme di colonne, attributo, e ogni casella si può definire cella.

Il numero delle righe si chiama cardinalità, quello delle colonne si chiama grado, le caselle contenente

i nomi delle colonne schema della relazione.

Lo schema è la struttura invariabile della tabella, mentre l'istanza è la parte variabile cioè da

immettere. La singola casellina è il valore della relazione.

Ogni colonna ha un insieme di informazioni dello stesso tipo. Le righe sono orientate ai valori, cioè

hanno un valore univoco che permette di riconoscermi nella riga.

[In informatica viene creato un dominio a seconda della tipologia del dato (testo, numero), ogni

colonna avrà lo stesso dominio]

Per inserire un valore nullo--> si usa il valore NULL. Inserendolo in una casella vuota, serve a far

funzionare la relazione anche se manca un'informazione non obbligatoria nelle righe. Questo valore

introduce una nuova istituzione di verità (non lo so, oltre a vero e falso).

Per trasformare nella tabella le gerarchie di generalizzazione--> vi sono tre possibilità: eliminare

le entità figlie e mantenere solo quella padre (quella usata), eliminare l'entità padre e tenere solo le

entità specializzate, oppure sostituire delle relazioni generiche a quelle di gerarchizzazione.

Devono quindi essere eliminate le gerarchie. Nel primo caso, dopo aver accorpato tutti i dati nell'unica

entità padre, per evitare perdite d'informazioni, bisogna inserire un ulteriore attributo (TIPO) che

definirà a quale sottoclasse appartiene al momento dell'inserimento. Nel caso di gerarchie totali il

valore non potrà essere nullo, nel caso di gerarchie esclusive il numero di possibilità da inserire sarà

uguale al numero di entità accorpate, nelle gerarchie sovrapposte dovrà esserci la possibilità di

inserire valori misti.

Per trovare una riga--> es. "Trova età < 20", "Trova età < 20 and/or città = 'MI'"

Tra le richieste possono vigere dei connettivi che influenzano il risultato dell'interrogazione, questi

connettivi sono and, or e not a.

A B AND A B OR A NOT A

V V V V V V V F

V F F V F V F V

F F F F F F

Per mettere in relazione due tabelle--> il metodo più semplice è di aggiungere un attributo alla

prima tabella riguardante la seconda, in cui verrà immesso il codice corrispondente della seconda

tabella. Questo nel caso in cui almeno una delle due entità abbia una corrispondenza univoca con

l'altra (film-produzione).

[Il fatto che tutte le caratteristiche di una realtà possano essere rappresentate esclusivamente

attraverso dei valori che descrivono i singoli oggetti, si chiama orientamento ai valori.]

Nel caso in cui le corrispondenze delle entità sono multiple (film-attori), si creerà un ulteriore tabella

che rappresenterà la relazione (PARTECIPA (film, attore)), in cui ogni riga sarà il legame di un

soggetto di un'entità con un soggetto dell'altra (Pulp Fiction-John Travolta, Pulp Fiction-Uma

Thurman). Bisogna mettere nella tabella anche gli attributi della relazione dello schema ER.

L'attributo o la tabella per mettere in collegamento le due tabelle si definisce chiave esterna, in

quanto contiene e gestisce le chiavi primarie. Può contenere valori nulli.

Per garantire una coerenza di dati--> il DBMS usa una serie di vincoli, che garantiscono che le

corrispondenze siano corrette e coerenti sia internamente che rispetto allo schema della base di dati:

-Vincoli di dominio--> funzione che permette di confinare dei valori entro un certo range (es. età > 0

and età < 120).

Vi è anche il vincolo di dominio NotNull che impedisce l'inserimento di valori nulli.

-Vincoli di chiave--> ogni riga di ogni tabella deve essere identificata univocamente, si usa il concetto

di primary key, che solitamente è l'id e non ammette valori nulli.

-Vincoli di integrità referenziale--> garantiscono che i legami fra righe di tabelle diverse siano

coerenti. Quindi che si possa risalire, partendo da un dato, alle informazioni riguardo alle tabelle

legate.

Algebra relazionale

L'algebra relazionale è un linguaggio che consente l'interrogazione e l'estrazione di informazioni dalla

base di dati attraverso operazioni logiche nella tabella.

Ogni operazione dell'algebra relazionale ha un input e un output. L'operazione di input avviene

attraverso le tabelle di partenza su cui si deve svolgere l'operazione algebrica. L'operazione di output

consiste invece nella restituzione di una tabella filtrata a seconda della nostra richiesta/condizione;

sarà quindi una tabella con lo stesso o minor numero di righe.

Sulla seconda tabella si possono poi fare ulteriori operazioni, portando così il riusultato sempre più

vicino a quello ricercato.

L'operazione di partenza è quella di selezione, indicata con la lettera greca sigma seguita da una

parentesi contenente il nome della tabella.

La selezione filtra le righe della tabella che corrispondono alle caratteristiche di vincolo che ho

comandato (questa condizione prende il nome di condizione di selezione, es. persone con età

maggiore di 20). Mantiene le stesse colonne e filtra soltanto le righe.

In SQL selezione = FROM Condizione di selezione = WHERE

La seconda operazione è quella di proiezione, indicata con P greco, che invece fa l'operazione

inversa. Prende tutte le righe ma prende in considerazione solo alcune colonne (es. colonne:

nazionalità e nome). La condizione di proiezione è posta sotto il P greco.

In SQL = SELECT

[Posso fare una catena che fa internamente la selezione ed esternamente la proiezione.

Es.--> recuperare i cognomi delle persone che hanno più di 20 anni. Prima internamente faccio la

selezione in cui elimino le persone con meno di 20 anni. In seguito su questa tabella virtuale faccio la

proiezione.

Si legge "Seleziona le persone che hanno più di 20 anni e restituiscimi solo i cognomi".

Queste due operazioni non si possono invertire, in quanto la proiezione butta via le altre colonne.]

Una terza categoria di operazioni nell'algebra relazionale sono le operazioni insiemistiche. Esse

sono l'intersezione, l'unione e la differenza. Per effettuare ciò, gli elementi dei due insiemi devono

essere compatibili, cioè devono avere lo stesso tipo e numero di attributi.

Intersezione--> crea un insieme che contiene solo le righe che compaiono in entrambi gli insiemi

d'ingresso.

Unione--> crea un insieme riportanti tutte le righe degli insiemi in ingresso.

Differenza--> crea un insieme che riporta le righe che compaiono solamente in un insieme e non

nell'altro.

L'ultima operazione è il prodotto cartesiano che, come già

Dettagli
A.A. 2013-2014
12 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Francois Reget di informazioni apprese con la frequenza delle lezioni di Fondamenti di Informatica per Scienze umanistiche e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Milano o del prof Ferrara Alfio.