• Non ci sono risultati.

Fondamenti di Informatica

N/A
N/A
Protected

Academic year: 2021

Condividi "Fondamenti di Informatica"

Copied!
89
0
0

Testo completo

(1)

Fondamenti di Informatica

Introduzione ai Sistemi Informativi

Prof. Christian Esposito

Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2017/18

(2)

OUTLINE

◦ Argomenti:

◦ Introduzione ai sistemi informativi;

◦ Il modello relazione;

◦ L’algebra relazionale.

Introduzione ai Sistemi Informativi 02/89

(3)

Introduzione ai Sistemi Informativi (1/8)

Un sistema informativo è uno strumento responsabile della raccolta, organizzazione e conservazione persistente di dati. Ogni organizzazione ha un sistema informativo, che organizza e gestisce le informazioni necessarie per perseguire gli scopi dell’organizzazione stessa.

03/89

Introduzione ai Sistemi Informativi

(4)

Introduzione ai Sistemi Informativi (1/8)

Un sistema informativo è uno strumento responsabile della raccolta, organizzazione e conservazione persistente di dati. Ogni organizzazione ha un sistema informativo, che organizza e gestisce le informazioni necessarie per perseguire gli scopi dell’organizzazione stessa.

04/89

Introduzione ai Sistemi Informativi

L’archivio reale di Ebla comprende 17.000 tra tavolette intere e frammenti, scritti in eblaita, contenenti testi amministrativi, economici, storici, giuridici, religiosi.

(5)

Introduzione ai Sistemi Informativi (2/8)

L’archivio storico del Banco di Napoli, il più grande archivio storico bancario del mondo, nelle sue 330 stanze su 14mila metri quadrati, ospita un numero enorme di documenti dal Cinquecento ad oggi, inerenti l’attività del Banco.

05/89

Introduzione ai Sistemi Informativi

(6)

Introduzione ai Sistemi Informativi (3/8)

06/89

Introduzione ai Sistemi Informativi

Inizialmente i sistemi informativi erano direttamente scritti da operatori umani su supporti persistenti, ma scarsamente riusabili e con processi non automatizzabili. La stampa ha aiutato a consentire la possibilità di scambio dati.

(7)

Introduzione ai Sistemi Informativi (3/8)

07/89

Introduzione ai Sistemi Informativi

A partire dagli anni 50, si è verificata l’informatizzazione dei sistemi informativi e dematerializzazione dei contenuti, con gli operatori umani sempre coinvolti nella produzione e consultazione di dati.

(8)

Introduzione ai Sistemi Informativi (3/8)

08/89

Introduzione ai Sistemi Informativi

Attualmente, i dati sono generati e consultati sempre più da altri programmi, con un minore intervento umano. Inoltre, sono distribuiti tra varie locazioni.

(9)

Introduzione ai Sistemi Informativi (4/8)

Un’organizzazione è una struttura di comando, descrivibile con organi- grammi o schemi equivalenti, che governa processi operativi.

I sistemi informativi supportano sia i processi di governo dell’organiz- zazione, sia i processi operativi ed amministrativi, rispettivamente con

◦ sistemi informativi direzionali;

◦ sistemi informativi operativi;

◦ sistemi informativi istituzionali.

09/89

Introduzione ai Sistemi Informativi

(10)

Introduzione ai Sistemi Informativi (5/8)

I sistemi informativi operativi informatizzano processi volti alla esecuzione di attività o alla loro programmazione. Il ruolo dei sistemi informativi nelle aziende è molto variabile. In generale si assume il loro ruolo potenziale come proporzione della

“intensità informativa” delle aziende, ovvero al livello e alla complessità delle informazioni usate nel business aziendale per la gestione delle attività legate al processo produttivo.

I sistemi informativi sono definiti come una tecnologia di processo, quando il prodotto è materiale. In questo caso, si limitano a supportare il coordinamento delle attività.

10/89

Introduzione ai Sistemi Informativi

(11)

Introduzione ai Sistemi Informativi (6/8)

Possiamo assumere che il fabbisogno informativo (I) si sistemi informativi operativi sia proporzionale all’intensità informativa del prodotto (IO) e del processo (IP):

I = f(IO, IP), indicando il ruolo dei sistemi informativi.

I sistemi informativi istituzionali comprendono le applicazioni di supporto al sotto-insieme di attività infrastrutturali che rappresentano i compiti di natura amministrativo-burocratica, finanziaria e gestionale, che non fanno direttamente parte dei processi produttivi ma sono indispensabili per la loro esecuzione.

11/89

Introduzione ai Sistemi Informativi

(12)

Introduzione ai Sistemi Informativi (7/8)

Queste attività istituzionali hanno lo scopo di eseguire adempimenti di legge, e in generale sono abbastanza invarianti rispetto al settore industriale entro cui l’azienda opera.

◦ amministrazione (contabilità generale, fatture passive, fatture clienti e crediti);

◦ finanza (pagamenti, banche, pratiche finanziarie e programmazione risorse);

◦ controllo (bilanci per prodotto ed unità, reportistica &

budget, analisi investimenti o costo del prodotto).

Le attività istituzionale sono state la prima area informatizzata dalle aziende, perché le loro procedure sono particolarmente adatte all’automazione.

12/89

Introduzione ai Sistemi Informativi

(13)

Introduzione ai Sistemi Informativi (8/8)

Il livello direzionale di una azienda è responsabile di tutte quelle attività necessarie alla definizione degli obbiettivi da raggiungere ed alle azioni, eventualmente correttive, da intraprendere per perseguirli. I sistemi informativi direzionali hanno lo scopo di supportare la direzione aziendale

1. fornendo informazioni per decidere;

2. supportando il processo decisionale.

Il modello primario di questi sistemi informativi deriva da quello di controllo aziendale, che in alcune aziende è esemplificato in controllo budgetario.

13/89

Introduzione ai Sistemi Informativi

(14)

Introduzione ai Sistemi Informatici (1/11)

Per indicare la porzione automatizzata del sistema informativo viene di solito utilizzato il termina di sistema informatico. La diffusione dell’informatica in maniera pervasiva ha fatto sì che gran parte dei sistemi informativi siano, in buona parte, anche dei sistemi informatici.

Per ragioni tecnologiche e di semplicità nella gestione, le informazioni vengono rappresentate per mezzo di dati. I dati da soli non hanno alcun significato, ma una volta interpretati e correlati opportunamente, forniscono le informazioni richieste.

14/89

Introduzione ai Sistemi Informativi

(15)

Introduzione ai Sistemi Informatici (2/11)

Una base di dati è una collezione di dati, utilizzati per rappresentare le informazioni di interesse per un sistema informativo.

L’approccio “convenzionale” alla gestione dei dati sfrutta la presenza di archivi o file per memorizzare i dati in modo persistente su memoria di massa. Un file consente di memorizzare e ricercare i dati, ma fornisce solo semplici meccanismi di accesso e di condivisione.

Secondo questo approccio, le procedure scritte in un linguaggio di programmazione sono completamente “autonome”: ciascuna definisce i propri file per i dati di interesse, e dati per più programmi sono memorizzati in tanti file distinti quanto sono i programmi. Le basi di dati sono state concepite per superare questo inconveniente.

15/89

Introduzione ai Sistemi Informativi

(16)

Introduzione ai Sistemi Informatici (3/11)

Un sistema di gestione di basi di dati (Data Base Management System – DBMS) è un sistema software in grado di gestire collezioni di dati, che siano grandi, condivise e persistenti, assicurando la loro affidabilità e riservatezza.

Le caratteristiche dei DBMS e delle basi di dati su cui essi si fondano sono:

◦ Le basi di dati possono essere di grandi dimensioni, superando talvolta la memoria disponibile in memoria centrale. Di conseguenza, i DBMS devono prevedere la gestione dei dati in memoria secondaria, da portare in quella principale all’evenienza.

16/89

Introduzione ai Sistemi Informativi

(17)

Introduzione ai Sistemi Informatici (4/11)

◦ Le basi di dati sono condivise tra applicazioni ed utenti diversi, che devono poter accedere all’occorrenza ai dati comuni. Ciò evita inutili ridondanza, con il relativo spreco di memoria e l’insorgenza di possibili inconsistenze tra i dati replicati.

◦ Le basi di dati sono persistenti, tollerando possibili malfunzionamenti hardware e software grazie a meccanismi di salvataggio e ripristino.

◦ I DBMS garantiscono la riservatezza dei dati, caratterizzando ogni utente con un identificativo e password e autenticando chi sottopone al DBMS ogni richiesta.

17/89

Introduzione ai Sistemi Informativi

(18)

Introduzione ai Sistemi Informatici (5/11)

Un modello dei dati è un insieme di concetti utilizzati per organizzare i dati di interesse e descriverne la struttura in modo che risulti comprensibile ad un elaboratore. Il modello relazionale dei dati permette di organizzare i dati in insiemi di record a struttura fissa. Una relazione viene spesso rappresentata per mezzo di una tabella, le cui righe rappresentano specifici record e le cui colonne corrispondono ai campi di un record.

18/89

Introduzione ai Sistemi Informativi

Corso NomeDocente

Basi di Dati Rossi

Impianti Neri

Linguaggi Verdi

Docenza CdLII MateriaBasi di Dati Anno5

II Impianti 5

II Linguaggi 4

IE Basi di Dati 5

IE Impianti 5

Manifesto

(19)

Introduzione ai Sistemi Informatici (5/11)

Un modello dei dati è un insieme di concetti utilizzati per organizzare i dati di interesse e descriverne la struttura in modo che risulti comprensibile ad un elaboratore. Il modello relazionale dei dati permette di organizzare i dati in insiemi di record a struttura fissa. Una relazione viene spesso rappresentata per mezzo di una tabella, le cui righe rappresentano specifici record e le cui colonne corrispondono ai campi di un record.

19/89

Introduzione ai Sistemi Informativi

Corso NomeDocente

Basi di Dati Rossi

Impianti Neri

Linguaggi Verdi

Docenza CdLII MateriaBasi di Dati Anno5

II Impianti 5

II Linguaggi 4

IE Basi di Dati 5

IE Impianti 5

Manifesto Relazioni Relazioni

(20)

Introduzione ai Sistemi Informatici (6/11)

Oltre al modello relazionale sono stati definiti altri tipi di modelli:

Il modello gerarchico, basato sull’uso di strutture ad albero;

Il modello reticolare, basato sull’uso di grafi;

Il modello ad oggetti, che estende alle basi di dati il paradigma di programmazione ad oggetti.

Il modello XML, dove i dati sono abbinati a tag XML per fornirne la loro descrizione;

I modelli semi-strutturati e flessibili (alla base dei sistemi NoSQL), caratterizzati dal fatto di non utilizzare il modello relazionale.

Questi modelli sono detti logici, per sottolineare il fatto che pur essendo astratti, riflettono una particolare organizzazione. Più recentemente sono stati introdotti dei modelli concettuali, utilizzati per descrivere i concetti, piuttosto che i dati utili a rappresentarli.

20/89

Introduzione ai Sistemi Informativi

(21)

Introduzione ai Sistemi Informatici (7/11)

Esiste una parte invariante nel tempo, detta schema, costituita dalle caratteristiche dei dati, e una parte variabile, detta istanza o stato della base di dati, costituita dai valori effettivi.

Lo schema di una relazione è costituito dalla sua intestazione, cioè dal nome della relazione seguito dai nomi dei suoi attributi:

21/89

Introduzione ai Sistemi Informativi

(22)

Introduzione ai Sistemi Informatici (7/11)

Esiste una parte invariante nel tempo, detta schema, costituita dalle caratteristiche dei dati, e una parte variabile, detta istanza o stato della base di dati, costituita dai valori effettivi.

Lo schema di una relazione è costituito dalla sua intestazione, cioè dal nome della relazione seguito dai nomi dei suoi attributi:

22/89

Introduzione ai Sistemi Informativi

Corso NomeDocente

Basi di Dati Rossi

Impianti Neri

Linguaggi Verdi

Docenza CdLII MateriaBasi di Dati Anno5

II Impianti 5

II Linguaggi 4

IE Basi di Dati 5

IE Impianti 5

Manifesto

(23)

Introduzione ai Sistemi Informatici (7/11)

Esiste una parte invariante nel tempo, detta schema, costituita dalle caratteristiche dei dati, e una parte variabile, detta istanza o stato della base di dati, costituita dai valori effettivi.

Lo schema di una relazione è costituito dalla sua intestazione, cioè dal nome della relazione seguito dai nomi dei suoi attributi:

23/89

Introduzione ai Sistemi Informativi

Corso NomeDocente

Basi di Dati Rossi

Impianti Neri

Linguaggi Verdi

Docenza CdLII MateriaBasi di Dati Anno5

II Impianti 5

II Linguaggi 4

IE Basi di Dati 5

IE Impianti 5

Manifesto

Docenza(Corso, NomeDocente) Manifesto(CdL, Materia, Anno)

(24)

Introduzione ai Sistemi Informatici (8/11)

L’istanza di una relazione è l’insieme, variante nel tempo, delle sue righe o tuple. Si dice che lo schema è la componente intensionale della base di dati, mentre l’istanza è la componente estensionale.

Esiste una proposta di architettura standardizzata per DBMS articolata su tre livelli:

Lo schema logico costituisce una descrizione dell’intera base di dati per mezzo del modello logico adottato dal DBMS;

Lo schema interno costituisce la rappresentazione dello schema logico per mezzo di strutture fisiche di memorizzazione;

Lo schema esterno costituisce la descrizione di una porzione della base di dati di interesse, per mezzo del modello logico.

24/89

Introduzione ai Sistemi Informativi

(25)

Introduzione ai Sistemi Informatici (9/11)

Lo schema esterno può prevedere delle organizzazioni dei dati diverse rispetto a quelle utilizzate nello schema logico, che riflettono il punto di vista di un particolare utente o insieme di utenti. Nei sistemi più moderni il livello esterno non è esplicitamente presente, ma è possibile definire relazioni derivate (o viste).

25/89

Introduzione ai Sistemi Informativi

Corso NomeDocente

Basi di Dati Rossi

Impianti Neri

Linguaggi Verdi

Elettronica

Corso NomeDocente

Basi di Dati Rossi

Impianti Neri

Linguaggi Verdi Informatica Esposito

Docenza

vista

(26)

Introduzione ai Sistemi Informatici (10/11)

L’architettura a livelli garantisce l’indipendenza dei dati, così da permettere a utenti e programmi applicativi di interagire ad un elevato livello di astrazione, che prescinde dai dettagli realizzativi utilizzati nella costruzione della base di dati.

Sussistono due tipi di indipendenza dei dati:

◦ Indipendenza Fisica – consente di interagire con il DBMS indipendentemente dalla struttura fisica dei dati;

◦ Indipendenza logica – consente di interagire con il livello esterno della base di dati indipendentemente dal livello logico.

Gli accessi alla base di dati avviene solo per mezzo del livello esterno.

26/89

Introduzione ai Sistemi Informativi

(27)

Introduzione ai Sistemi Informatici (11/11)

I vantaggi di impiegare un DBMS sono i seguenti:

Permette di considerare i dati come una risorsa comune di un’organizzazione, a disposizione dei tutte le sue componenti;

Fornisce un modello unificato e preciso dei dati di interesse utilizzabile nelle applicazioni attuali, e con poche estensione in quelle future;

Offre un controllo centralizzato dei dati, arricchito da vari strumenti standard e beneficiare di “economie di scala”;

Riduce ridondanze ed inconsistenze;

Favorisce lo sviluppo di applicazioni più flessibili.

Gli svantaggi sono i seguenti:

Sono prodotti costosi, complessi e diversi da altri strumenti informatici;

Forniscono una serie di servizi, associati ad un costo.

27/89

Introduzione ai Sistemi Informativi

(28)

Il Modello Relazionale (1/10)

Il modello relazionale si basa su due concetti: relazione e tabella. La prima nozione proviene dalla matematica, in particolare dalla teoria degli insiemi. Dati due insiemi D1 e D2, si chiama prodotto cartesiano di D1 e D2, in simboli D1 x D2, l’insieme delle coppie ordinate (v1,v2), tali che v1 è un elemento di D1 e v2 è un elemento di D2. Una relazione matematica sugli insiemi D1 e D2, è un sottoinsieme di D1 x D2, e può essere rappresentata graficamente sotto forma tabellare.

Nell’ambito delle base di dati, una relazione è sostanzialmente un insieme di record omogenei, cioè definiti sugli stessi campi, che sono caratterizzati da un nome e rappresentano gli attributi di una relazione. Tali attributi descrivono il “ruolo” che l’elemento gioca nel contesto del record.

28/89

Introduzione ai Sistemi Informativi

(29)

Il Modello Relazionale (2/10)

Una relazione è utilizzata per organizzare dati rilevanti nell’ambito di un’applicazione di interesse; solitamente non è presente una sola relazione, ma più relazioni con le righe contenenti valori comuni per stabilire delle corrispondenze.

29/89

Introduzione ai Sistemi Informativi

Studente Voto Corso

276545 28 01

276545 27 04

937653 25 01

200768 24 04

Esami

Matricola Cognome Nome Data di Nascita 276545 Rossi Maria 25/11/1971 485745 Neri Anna 23/04/1972 200768 Verdi Fabio 12/02/1972 587614 Rossi Luca 10/10/1971 937653 Bruni Mario 01/12/1971

Studenti

Codice Titolo Docente

01 Analisi Giani

03 Chimica Melli

04 Chimica Belli

Corsi

(30)

Il Modello Relazionale (3/10)

Solitamente sono presenti più relazioni tra di loro collegate.

30/89

Introduzione ai Sistemi Informativi

Matricola Cognome Nome Data di Nascita

276545 Rossi Maria 25/11/1971

485745 Neri Anna 23/04/1972

200768 Verdi Fabio 12/02/1972

587614 Rossi Luca 10/10/1971

937653 Bruni Mario 01/12/1971

Studenti

Corsi

Codice Titolo Docente

01 Analisi Giani

03 Chimica Melli

04 Chimica Belli

Studente Voto Corso 28

27 25 24

Esami

(31)

Il Modello Relazionale (4/10)

31/89

Introduzione ai Sistemi Informativi

Matricola Cognome Nome Data di Nascita

276545 Rossi Maria 25/11/1971

485745 Neri Anna 23/04/1972

200768 Verdi Fabio 12/02/1972

587614 Rossi Luca 10/10/1971

937653 Bruni Mario 01/12/1971

Studenti

Corsi

Codice Titolo Docente

01 Analisi Giani

03 Chimica Melli

04 Chimica Belli

Studente Voto Corso

A16 28 B21

A16 27 B47

A80 25 B21

A48 24 B47

Esami INDIRIZZO A16

INDIRIZZO A32 INDIRIZZO A48 INDIRIZZO A64 INDIRIZZO A80

INDIRIZZO B21 INDIRIZZO B34 INDIRIZZO B47

Approccio a puntatori: indicando l’indirizzo della tupla di interesse.

(32)

Il Modello Relazionale (5/10)

32/89

Introduzione ai Sistemi Informativi

Matricola Cognome Nome Data di Nascita

276545 Rossi Maria 25/11/1971

485745 Neri Anna 23/04/1972

200768 Verdi Fabio 12/02/1972

587614 Rossi Luca 10/10/1971

937653 Bruni Mario 01/12/1971

Studenti

Corsi

Codice Titolo Docente

01 Analisi Giani

03 Chimica Melli

04 Chimica Belli

Studente Voto Corso

276545 28 01

276545 27 03

937653 25 01

200768 24 03

Esami

Approccio relazionale: valori comuni per stabilire delle corrispondenze.

(33)

Il Modello Relazionale (6/10)

Il modello relazione basato su valori ha i seguenti vantaggi:

Si rappresenta solo ciò che è rilevante dal punto di vista dell’applicazione, mentre i puntatori sono qualcosa di aggiuntivo;

La rappresentazione logica dei dati non fa alcun riferimento a quella fisica, che può cambiare nel tempo;

◦ È relativamente semplice trasferire dati da un contesto ad un altro, mentre i puntatori hanno un significato locale e non sono immediati da esportare.

Il modello relazione ha un certa rigidità, visto che le istanze di una relazione devono avere tutte la stessa struttura, ma spesso i dati disponibili non corrispondono esattamente al formato richiesto. In questo caso, è prevista la presenza di un valore di default per colmare la non disponibilità di dati per un attributo oppure un valore nullo.

33/89

Introduzione ai Sistemi Informativi

(34)

Il Modello Relazionale (7/10)

Le strutture del modello relazionale consentono l’organizzazione delle informazioni, ma non sempre sono consentite ogni possibile insieme di tuple sullo schema, perché possono non rappresentare informazioni corrette per un’applicazione.

34/89

Introduzione ai Sistemi Informativi

Studente Voto Lode Corso

200768 36 05

937653 28 Lode 01

937653 30 Lode 04

276545 25 01

Esami

Matricola Cognome Nome Data di Nascita 200768 Verdi Fabio 12/02/1972 937653 Rossi Luca 10/10/1971 937653 Bruni Mario 01/12/1971

Studenti

Codice Titolo Docente

01 Analisi Giani

03 Chimica Melli

04 Chimica Belli

Corsi

(35)

Esami

Studenti

Corsi

Il Modello Relazionale (7/10)

Le strutture del modello relazionale consentono l’organizzazione delle informazioni, ma non sempre sono consentite ogni possibile insieme di tuple sullo schema, perché possono non rappresentare informazioni corrette per un’applicazione.

35/89

Introduzione ai Sistemi Informativi

Studente Voto Lode Corso

200768 36 05

937653 28 Lode 01

937653 30 Lode 04

276545 25 01

Matricola Cognome Nome Data di Nascita 200768 Verdi Fabio 12/02/1972 937653 Rossi Luca 10/10/1971 937653 Bruni Mario 01/12/1971 Codice Titolo Docente

01 Analisi Giani

03 Chimica Melli

04 Chimica Belli

Voto pari a 36 non ammissibile dato che i voti dovrebbero essere compresi tra 0 e 30 (o in caso di superamento dell’esame fra 18 e 30.

(36)

Esami

Studenti

Corsi

Il Modello Relazionale (7/10)

Le strutture del modello relazionale consentono l’organizzazione delle informazioni, ma non sempre sono consentite ogni possibile insieme di tuple sullo schema, perché possono non rappresentare informazioni corrette per un’applicazione.

36/89

Introduzione ai Sistemi Informativi

Studente Voto Lode Corso

200768 36 05

937653 28 Lode 01

937653 30 Lode 04

276545 25 01

Matricola Cognome Nome Data di Nascita 200768 Verdi Fabio 12/02/1972 937653 Rossi Luca 10/10/1971 937653 Bruni Mario 01/12/1971 Codice Titolo Docente

01 Analisi Giani

03 Chimica Melli

04 Chimica Belli

È stata assegnata una lode ad un voto pari a 28, non è possibile dato che la lode è assegnabile solo quando voto è pari a 30.

(37)

Il Modello Relazionale (7/10)

Le strutture del modello relazionale consentono l’organizzazione delle informazioni, ma non sempre sono consentite ogni possibile insieme di tuple sullo schema, perché possono non rappresentare informazioni corrette per un’applicazione.

37/89

Introduzione ai Sistemi Informativi

Studente Voto Lode Corso

200768 36 05

937653 28 Lode 01

937653 30 Lode 04

276545 25 01

Matricola Cognome Nome Data di Nascita 200768 Verdi Fabio 12/02/1972 937653 Rossi Luca 10/10/1971 937653 Bruni Mario 01/12/1971 Codice Titolo Docente

01 Analisi Giani

03 Chimica Melli

04 Chimica Belli

Due studenti hanno associato la stessa matricola, cosa non ammissibile visto che ogni studente è univocamente identificato dalla matricola.

Esami

Studenti

Corsi

(38)

Esami

Studenti

Corsi

Il Modello Relazionale (7/10)

Le strutture del modello relazionale consentono l’organizzazione delle informazioni, ma non sempre sono consentite ogni possibile insieme di tuple sullo schema, perché possono non rappresentare informazioni corrette per un’applicazione.

38/89

Introduzione ai Sistemi Informativi

Studente Voto Lode Corso

200768 36 05

937653 28 Lode 01

937653 30 Lode 04

276545 25 01

Matricola Cognome Nome Data di Nascita 200768 Verdi Fabio 12/02/1972 937653 Rossi Luca 10/10/1971 937653 Bruni Mario 01/12/1971 Codice Titolo Docente

01 Analisi Giani

03 Chimica Melli

04 Chimica Belli

La matricola indicata per un esame non associata a nessun studente presente nella tabella Studenti.

(39)

Il Modello Relazionale (8/10)

Per evitare queste situazioni, è stato introdotto il concetto di vincolo di integrità, ovvero una proprietà soddisfatta dalle istanze con informazioni corrette per l’applicazione. Ogni vincolo è espresso come un predicato. In generale, ad uno schema sono associati un insieme di vincoli, e le tuple lecite sono solo quelle che soddisfano tutti i vincoli. I vincoli sono classificati a seconda di quali elementi coinvolgono:

Un vincolo intrarelazionale è applicato ad elementi di una data relazione:

un vincolo di tupla viene valutata su ciascuna tupla, indipendentemente dalle altre;

un vincolo su valori o di dominio è una restrizione sui valori assumibili da un attributo;

Un vincolo interrelazionale coinvolge elementi di più relazioni.

39/89

Introduzione ai Sistemi Informativi

(40)

Il Modello Relazionale (9/10)

L’insieme degli attributi impiegati per identificare univocamente una tupla all’interno di una relazione viene chiamata chiave.

Quando gli attributi di una chiave non possono assumere un valore nullo, allora la chiave è definita primaria, e sono spesso evidenziati da una sottolineatura. La maggior parte dei riferimenti tra relazioni vengono realizzati attraverso i valori della chiave primaria.

40/89

Introduzione ai Sistemi Informativi

Matricola Cognome Nome Data di Nascita 200768 Verdi Fabio 12/02/1972 937653 Rossi Luca 10/10/1971 276545 Bruni Mario 01/12/1971

Studenti

Codice Titolo Docente

01 Analisi Giani

03 Chimica Melli

04 Chimica Belli

Corsi

(41)

Il Modello Relazionale (9/10)

L’insieme degli attributi impiegati per identificare univocamente una tupla all’interno di una relazione viene chiamata chiave.

Quando gli attributi di una chiave non possono assumere un valore nullo, allora la chiave è definita primaria, e sono spesso evidenziati da una sottolineatura. La maggior parte dei riferimenti tra relazioni vengono realizzati attraverso i valori della chiave primaria.

41/89

Introduzione ai Sistemi Informativi

Matricola Cognome Nome Data di Nascita 200768 Verdi Fabio 12/02/1972 937653 Rossi Luca 10/10/1971 276545 Bruni Mario 01/12/1971

Studenti

Codice Titolo Docente

01 Analisi Giani

03 Chimica Melli

04 Chimica Belli

Corsi

(42)

Il Modello Relazionale (10/10)

Un vincolo di integrità referenziale fra un insieme di attributi X di una relazione R1 verso un’altra relazione R2 è soddisfatto se i valori su X di ciascuna tupla di R1 compaiono come chiave (primaria) di R2.

42/89

Introduzione ai Sistemi Informativi

(43)

Il Modello Relazionale (10/10)

Un vincolo di integrità referenziale fra un insieme di attributi X di una relazione R1 verso un’altra relazione R2 è soddisfatto se i valori su X di ciascuna tupla di R1 compaiono come chiave (primaria) di R2.

43/89

Introduzione ai Sistemi Informativi

Studente Voto Lode Corso

200768 36 05

937653 28 Lode 01

937653 30 Lode 04

276545 25 01

Esami

Matricola Cognome Nome Data di Nascita 200768 Verdi Fabio 12/02/1972 937653 Rossi Luca 10/10/1971 276545 Bruni Mario 01/12/1971

Studenti

Codice Titolo Docente

01 Analisi Giani

03 Chimica Melli

04 Chimica Belli

Corsi

In questo esempio, sussistono due vincoli di integrità referenziale:

(44)

Il Modello Relazionale (10/10)

Un vincolo di integrità referenziale fra un insieme di attributi X di una relazione R1 verso un’altra relazione R2 è soddisfatto se i valori su X di ciascuna tupla di R1 compaiono come chiave (primaria) di R2.

44/89

Introduzione ai Sistemi Informativi

Studente Voto Lode Corso

200768 36 05

937653 28 Lode 01

937653 30 Lode 04

276545 25 01

Esami

Matricola Cognome Nome Data di Nascita 200768 Verdi Fabio 12/02/1972 937653 Rossi Luca 10/10/1971 276545 Bruni Mario 01/12/1971

Studenti

Codice Titolo Docente

01 Analisi Giani

03 Chimica Melli

04 Chimica Belli

Corsi

In questo esempio, sussistono due vincoli di integrità referenziale:

• Tra l’attributo Studente in Esami e la chiave Matricola di Studenti;

(45)

Il Modello Relazionale (10/10)

Un vincolo di integrità referenziale fra un insieme di attributi X di una relazione R1 verso un’altra relazione R2 è soddisfatto se i valori su X di ciascuna tupla di R1 compaiono come chiave (primaria) di R2.

45/89

Introduzione ai Sistemi Informativi

Studente Voto Lode Corso

200768 36 05

937653 28 Lode 01

937653 30 Lode 04

276545 25 01

Esami

Matricola Cognome Nome Data di Nascita 200768 Verdi Fabio 12/02/1972 937653 Rossi Luca 10/10/1971 276545 Bruni Mario 01/12/1971

Studenti

Codice Titolo Docente

01 Analisi Giani

03 Chimica Melli

04 Chimica Belli

Corsi

In questo esempio, sussistono due vincoli di integrità referenziale:

• Tra l’attributo Corso in esami e Codice in Corsi.

(46)

Algebra Relazionale (1/14)

L’algebra relazione è un linguaggio procedurale, basato su concetti di tipo algebrico al fine di determinare interrogazioni da effettuare nell'ambito della gestione di una base di dati. è costituito da un insieme di operatori, definiti su relazioni e generando ancora relazioni come risultati. In tal modo, è possibile concatenare operatori al fine di scrivere espressioni complesse.

Operatori Insiemistici: dato che le relazioni sono insiemi, ovvero un insieme di tuple omogenee (definite sugli stessi attributi), ha senso definirne i tradizionali operatori insiemistici.

46/89

Introduzione ai Sistemi Informativi

(47)

Algebra Relazionale (2/14)

◦ Unione – date due relazioni R1 e R2, definite sullo stesso insieme di attributi X, la loro unione, indicata con R1 U R2, è una relazione su X contente tutte le tuple delle due relazioni.

◦ Intersezione – date due relazioni R1 e R2, definite sullo stesso insieme di attributi X, la loro intersezione, indicata con R1 R2, è una relazione su X contente tutte le tuple presenti in entrambe le relazioni.

◦ Differenza – date due relazioni R1 e R2, definite sullo stesso insieme di attributi X, la loro differenza, indicata con R1 - R2, è una relazione su X contente tutte le tuple in R1 ma non in R2.

47/89

Introduzione ai Sistemi Informativi

(48)

Algebra Relazionale (3/14)

48/89

Introduzione ai Sistemi Informativi

Matricola Cognome Età

7275 Rossi 37

7432 Neri 39

9824 Verdi 38

Laureati

Matricola Cognome Età

9297 Neri 56

7432 Neri 39

9824 Verdi 38

Dirigenti

(49)

Algebra Relazionale (3/14)

49/89

Introduzione ai Sistemi Informativi

Matricola Cognome Età

7275 Rossi 37

7432 Neri 39

9824 Verdi 38

Laureati

Matricola Cognome Età

9297 Neri 56

7432 Neri 39

9824 Verdi 38

Dirigenti

Matricola Cognome Età

7275 Rossi 37

7432 Neri 39

9824 Verdi 38

9297 Neri 56

Laureati U Dirigenti

(50)

Algebra Relazionale (3/14)

50/89

Introduzione ai Sistemi Informativi

Matricola Cognome Età

7275 Rossi 37

7432 Neri 39

9824 Verdi 38

Laureati

Matricola Cognome Età

9297 Neri 56

7432 Neri 39

9824 Verdi 38

Dirigenti

Matricola Cognome Età

7432 Neri 39

9824 Verdi 38

Laureati DirigentiU

(51)

Algebra Relazionale (3/14)

51/89

Introduzione ai Sistemi Informativi

Matricola Cognome Età

7275 Rossi 37

7432 Neri 39

9824 Verdi 38

Laureati

Matricola Cognome Età

9297 Neri 56

7432 Neri 39

9824 Verdi 38

Dirigenti Matricola7275 CognomeRossi Età37

Laureati - Dirigenti

(52)

Algebra Relazionale (4/14)

La limitazione degli operatori insiemistici è che l’insieme degli attributi sia uguale nelle due relazione a cui sono applicate. Ciò però rende tali operatori inapplicabili in contesti in cui potrebbero essere sensati:

52/89

Introduzione ai Sistemi Informativi

Padre Figlio

Adamo Caino

Adamo Abele

Abramo Isacco Abramo Ismaele

Paternità

Madre Figlio

Eva Caino

Eva Set

Sara Isacco

Agar Ismaele

Maternità

Paternità U Maternità ??

(53)

Algebra Relazionale (5/14)

Per risolvere il problema, si introduce uno specifico operatore che ha come unico obbiettivo quello di adeguare i nomi degli attributi, a seconda delle necessità, così da facilitare le operazioni insiemistiche. Tale operatore è detto ridenominazione, perché altera il nome degli attributi, lasciando alterato il contenuto delle tuple.

53/89

Introduzione ai Sistemi Informativi

Padre Figlio

Adamo Caino

Adamo Abele

Abramo Isacco Abramo Ismaele

Paternità

Madre Figlio

Eva Caino

Eva Set

Sara Isacco

Agar Ismaele

Maternità

(54)

Algebra Relazionale (5/14)

Per risolvere il problema, si introduce uno specifico operatore che ha come unico obbiettivo quello di adeguare i nomi degli attributi, a seconda delle necessità, così da facilitare le operazioni insiemistiche. Tale operatore è detto ridenominazione, perché altera il nome degli attributi, lasciando alterato il contenuto delle tuple.

54/89

Introduzione ai Sistemi Informativi

Genitore Figlio

Adamo Caino

Adamo Abele

Abramo Isacco Abramo Ismaele

Eva Caino

Eva Set

Sara Isacco

Agar Ismaele

Genitore Figlio

Adamo Caino

Adamo Abele

Abramo Isacco Abramo Ismaele

ρGenitoreçPadre(Paternità)

Genitore Figlio

Eva Caino

Eva Set

Sara Isacco

Agar Ismaele

ρGenitoreçMadre(Maternità)

ρGenitoreçPadre(Paternità) U ρGenitoreçMadre(Maternità)

(55)

Algebra Relazionale (5/14)

◦ La selezione ha come risultato una porzione orizzontale della relazione a cui è applicata, ovvero un sottoinsieme delle tuple su tutti gli attributi.

◦ La proiezione è l’operazione duale della selezione, che produce una porzione verticale della relazione a cui è applicata, restituendo tutte le tuple della relazione ma su un sottoinsieme degli attributi.

55/89

Introduzione ai Sistemi Informativi

(56)

Algebra Relazionale (6/14)

56/89

Introduzione ai Sistemi Informativi

Cognome Nome Età Stipendio

Rossi Mario 25 2000

Neri Luca 40 3000

Verdi Nico 36 4500

Rossi Marco 40 3900

Impiegati

(57)

Algebra Relazionale (6/14)

57/89

Introduzione ai Sistemi Informativi

Cognome Nome Età Stipendio

Verdi Nico 36 4500

σEtà>30∧Stipendio>4000(Impiegati)

Cognome Nome Età Stipendio

Rossi Mario 25 2000

Neri Luca 40 3000

Verdi Nico 36 4500

Rossi Marco 40 3900

Impiegati

Tale formula è ottenuta combinando, con i logici connettivi ∨,∧ e ¬, condizioni atomiche del tipo AθB e Aθc, dove A e B sono attributi della relazione, c è una costante compatibile con l’attributo A e θ è un operatore di confronto.

La selezione si effettua per

mezzo di una formula

proposizionale F su X attributi della relazione a cui è applicata r.

(58)

πCognome,Nome(Impiegati)

Cognome Nome

Rossi Mario

Neri Luca

Verdi Nico

Rossi Marco

Algebra Relazionale (6/14)

58/89

Introduzione ai Sistemi Informativi

Cognome Nome Età Stipendio

Rossi Mario 25 2000

Neri Luca 40 3000

Verdi Nico 36 4500

Rossi Marco 40 3900

Impiegati

La proiezione restituisce tutte le tuple della relazione di partenza se queste sono significative, ovvero non si hanno valori ridondanti.

(59)

Algebra Relazionale (7/14)

L’operatore di join permette di correlare dati contenuti in relazioni diverse, confrontandone i valori e utilizzando la caratteristica del modello relazionale di essere basato su valori.

Esistono due versioni di tale operando:

◦ Il join naturale correla tuple in relazioni diverse restituendo una relazione sull’unione degli insiemi di attributi degli operandi e le sue tuple sono ottenute combinando le tuple degli operandi con valori uguali sugli attributi comuni.

59/89

Introduzione ai Sistemi Informativi

Impiegato Reparto Rossi vendite Neri produzione Bianchi produzione

R1 Impiegato Reparto Capo

Rossi vendite Mori

Neri produzione Bruni Bianchi produzione Bruni

R1 R2

Reparto Capo

vendite Mori

produzione Bruni

R2

(60)

Algebra Relazionale (8/14)

Ciascuna tupla di ciascun operando del join naturale contribuisce ad almeno una tupla nel risultato del join, in tal caso si dice che il join è completo. Questa proprietà non è sempre verificata, perché presuppone che le due relazioni contengano tuple con gli stessi valori nell’attributo comune.

60/89

Introduzione ai Sistemi Informativi

Impiegato Reparto Capo Neri produzione Mori Bianchi produzione Mori Impiegato Reparto

Rossi vendite Neri produzione Bianchi produzione

R1

R1 R2

Reparto Capo produzione Mori acquisti Bruni

R2

(61)

Ciascuna tupla di ciascun operando del join naturale contribuisce ad almeno una tupla nel risultato del join, in tal caso si dice che il join è completo. Questa proprietà non è sempre verificata, perché presuppone che le due relazioni contengano tuple con gli stessi valori nell’attributo comune.

Impiegato Reparto Capo Neri produzione Mori Bianchi produzione Mori Impiegato Reparto

Rossi vendite Neri produzione Bianchi produzione

R1

R1 R2

Reparto Capo produzione Mori acquisti Bruni

R2

Algebra Relazionale (8/14)

61/89

Introduzione ai Sistemi Informativi

Queste tuple non si ritrovano nel risultato del join, e sono definite dangling.

Queste tuple non si ritrovano nel risultato del join, e sono definite dangling.

(62)

Algebra Relazionale (8/14)

Ciascuna tupla di ciascun operando del join naturale contribuisce ad almeno una tupla nel risultato del join, in tal caso si dice che il join è completo. Questa proprietà non è sempre verificata, perché presuppone che le due relazioni contengano tuple con gli stessi valori nell’attributo comune.

Possiamo avere che le due relazioni abbiamo tutte tuple dangling e il join restituisce una relazione vuota. Nel caso opposto, ciascuna tupla di R1 corrisponde con tutte quelle di R2.

62/89

Introduzione ai Sistemi Informativi

Impiegato Reparto Capo Neri produzione Mori Bianchi produzione Mori Impiegato Reparto

Rossi vendite Neri produzione Bianchi produzione

R1

R1 R2

Reparto Capo produzione Mori acquisti Bruni

R2

(63)

Algebra Relazionale (9/14)

La caratteristica dell’operatore di join naturale di tralasciare le tuple di una relazione che non hanno una controparte nell’altra può essere utile in alcuni casi, pericoloso in altri. Per questo esiste una variante detta join esterno:

◦ tutte le tuple partecipano la risultato, eventualmente estese con valori nulli in caso di mancanza di corrispondenze.

Esistono tre differenti varianti di questa soluzione:

◦ join esterno sinistro: estende solo le tuple del primo operando;

◦ join esterno destro: estende solo le tuple del secondo operando;

◦ join esterno completo: estende tutte le tuple.

63/89

Introduzione ai Sistemi Informativi

(64)

Algebra Relazionale (10/14)

64/89

Introduzione ai Sistemi Informativi

Impiegato Reparto Rossi vendite Neri produzione Bianchi produzione

Reparto Capo produzione Mori acquisti Bruni

R1 R2

Impiegato Reparto Capo

Rossi vendite NULL

Neri produzione Mori Bianchi produzione Mori

R1 LEFT R2

Impiegato Reparto Capo Neri produzione Mori Bianchi produzione Mori

NULL acquisti Bruni

R1 RIGHT R2

Impiegato Reparto Capo

Rossi vendite null

Neri produzione Mori Bianchi produzione Mori

NULL acquisti Bruni

R1 FULL R2

(65)

Algebra Relazionale (11/14)

Il join naturale gode di diverse proprietà:

◦ è commutativo: R1 ⋈ R2 = R2 ⋈R1

◦ è transitivo: R1 ⋈ (R2 ⋈ R3) = (R1 ⋈ R2) ⋈ R3)

◦ Se l’insieme degli attributi delle relazioni coincide, allora il join corrisponde all’intersezione:

R1(X1) ⋈ R2(X1) = R1(X1) ∩R2(X1)

◦ Se l’insieme degli attributi delle relazioni non ha nulla in comune, allora il join restituisce una relazione con tuple che sono tutte le possibile combinazioni delle tuple delle due relazioni, e ciò prende il nome di prodotto cartesiano.

65/89

Introduzione ai Sistemi Informativi

Riferimenti

Documenti correlati

(2 punti) Dovendo risolvere lo stesso problema di cui al punto precedente nel caso di una rete privata, quale rete e quale netmask

Non sono ammessi appunti, libri, calcolatrici, personal computer, tablet, telefoni cellulari, ecc. Il cablaggio strutturato è già stato realizzato. Le attività nei diversi

(4 punti) Un host deve spedire un pacchetto a un determinato indirizzo IP di destinazione. 1) come fa a sapere se appartiene alla propria rete/subnet?.. 2) a chi spedisce

Assegnato a ciascun parametro uno dei valori trovati, si calcoli nel modo più conveniente l'inversa di A, il suo raggio spettrale e il suo indice di condizionamento in norma 1, 2 e

Prova scritta di Matematica Applicata 31 gennaio

Si calcolino infine le prime due iterazioni del metodo di Jacobi a partire dal vettore iniziale x (0) =

Prova scritta di Matematica Applicata 21 settembre

- Mediante le quattro sonde termometriche del sistema termocrono, acquisire contemporaneamente nei quattro punti predefiniti della sbarra, mediante computer, la temperatura