89
Fondamenti di Informatica Introduzione ai Sistemi Informativi Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2017/18

Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

  • Upload
    haxuyen

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

FondamentidiInformaticaIntroduz ionea i S i stemi Informat iv i

Prof. Chr i st ian Espos i to

Corso d i Laurea in Ingegner ia Meccanica e Gest iona le (C lasse I )A .A . 2017/18

Page 2: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

OUTLINE◦ Argomenti:◦ Introduzioneaisistemiinformativi;◦ Ilmodellorelazione;◦ L’algebrarelazionale.

IntroduzioneaiSistemiInformativi 02/89

Page 3: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformativi(1/8)

Un sistema informativo è uno strumento responsabile dellaraccolta, organizzazione e conservazione persistente didati. Ogni organizzazione ha un sistema informativo, cheorganizza e gestisce le informazioni necessarie perperseguire gli scopi dell’organizzazione stessa.

03/89IntroduzioneaiSistemiInformativi

Page 4: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformativi(1/8)

Un sistema informativo è uno strumento responsabile dellaraccolta, organizzazione e conservazione persistente didati. Ogni organizzazione ha un sistema informativo, cheorganizza e gestisce le informazioni necessarie perperseguire gli scopi dell’organizzazione stessa.

04/89IntroduzioneaiSistemiInformativi

L’archivio reale di Eblacomprende 17.000 tra tavolette intere eframmenti, scritti in eblaita, contenentitesti amministrativi, economici, storici,giuridici, religiosi.

Page 5: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformativi(2/8)

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

05/89IntroduzioneaiSistemiInformativi

Page 6: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformativi(3/8)

06/89IntroduzioneaiSistemiInformativi

Inizialmente i sistemi informativi erano direttamente scrittida operatori umani su supporti persistenti, ma scarsamenteriusabili e con processi non automatizzabili. La stampa haaiutato a consentire la possibilità di scambio dati.

Page 7: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformativi(3/8)

07/89IntroduzioneaiSistemiInformativi

A partire dagli anni 50, si è verificatal’informatizzazione dei sistemi informativie dematerializzazione dei contenuti, congli operatori umani sempre coinvolti nellaproduzione e consultazione di dati.

Page 8: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformativi(3/8)

08/89IntroduzioneaiSistemiInformativi

Attualmente, i dati sono generatie consultati sempre più da altriprogrammi, con un minoreintervento umano. Inoltre, sonodistribuiti tra varie locazioni.

Page 9: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformativi(4/8)

Un’organizzazione è una struttura dicomando, descrivibile con organi-grammi o schemi equivalenti, chegoverna processi operativi.

I sistemi informativi supportano sia iprocessi di governo dell’organiz-zazione, sia i processi operativi edamministrativi, rispettivamente con◦ sistemi informativi direzionali;◦ sistemi informativi operativi;◦ sistemi informativi istituzionali.

09/89IntroduzioneaiSistemiInformativi

Page 10: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformativi(5/8)

I sistemi informativi operativi informatizzano processi volti allaesecuzione di attività o alla loro programmazione. Il ruolo deisistemi informativi nelle aziende è molto variabile. In generale siassume il loro ruolo potenziale come proporzione della“intensità informativa” delle aziende, ovvero al livello e allacomplessità delle informazioni usate nel business aziendale perla gestione delle attività legate al processo produttivo.

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

10/89IntroduzioneaiSistemiInformativi

Page 11: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformativi(6/8)

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

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

I sistemi informativi istituzionali comprendono le applicazioni disupporto al sotto-insieme di attività infrastrutturali cherappresentano i compiti di natura amministrativo-burocratica,finanziaria e gestionale, che non fanno direttamente parte deiprocessi produttivi ma sono indispensabili per la loroesecuzione.

11/89IntroduzioneaiSistemiInformativi

Page 12: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformativi(7/8)

Queste attività istituzionali hanno lo scopo di eseguireadempimenti di legge, e in generale sono abbastanza invariantirispetto 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 informatizzatadalle aziende, perché le loro procedure sono particolarmenteadatte all’automazione.

12/89IntroduzioneaiSistemiInformativi

Page 13: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformativi(8/8)

Il livello direzionale di una azienda è responsabile di tutte quelleattività necessarie alla definizione degli obbiettivi daraggiungere ed alle azioni, eventualmente correttive, daintraprendere per perseguirli. I sistemi informativi direzionalihanno lo scopo di supportare la direzione aziendale1. fornendo informazioni per decidere;2. supportando il processo decisionale.

Il modello primario di questi sistemiinformativi deriva da quello dicontrollo aziendale, che in alcuneaziende è esemplificato in controllobudgetario.

13/89IntroduzioneaiSistemiInformativi

Page 14: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformatici(1/11)

Per indicare la porzione automatizzata del sistema informativo vienedi solito utilizzato il termina di sistema informatico. La diffusionedell’informatica in maniera pervasiva ha fatto sì che gran parte deisistemi informativi siano, in buona parte, anche dei sistemiinformatici.Per ragioni tecnologiche e di semplicità nella gestione, le informazionivengono rappresentate per mezzo di dati. I dati da soli non hannoalcun significato, ma una volta interpretati e correlatiopportunamente, forniscono le informazioni richieste.

14/89IntroduzioneaiSistemiInformativi

Page 15: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformatici(2/11)

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

L’approccio “convenzionale” alla gestione dei dati sfrutta la presenzadi archivi o file per memorizzare i dati in modo persistente sumemoria 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 diprogrammazione sono completamente “autonome”: ciascunadefinisce i propri file per i dati di interesse, e dati per più programmisono memorizzati in tanti file distinti quanto sono i programmi. Lebasi di dati sono state concepite per superare questo inconveniente.

15/89IntroduzioneaiSistemiInformativi

Page 16: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformatici(3/11)

Un sistema di gestione di basi di dati (Data Base ManagementSystem – DBMS) è un sistema software in grado di gestirecollezioni 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 sifondano sono:◦ Le basi di dati possono essere di grandi dimensioni,

superando talvolta la memoria disponibile in memoriacentrale. Di conseguenza, i DBMS devono prevedere lagestione dei dati in memoria secondaria, da portare inquella principale all’evenienza.

16/89IntroduzioneaiSistemiInformativi

Page 17: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformatici(4/11)

◦ Le basi di dati sono condivise tra applicazioni ed utentidiversi, che devono poter accedere all’occorrenza ai daticomuni. Ciò evita inutili ridondanza, con il relativo spreco dimemoria e l’insorgenza di possibili inconsistenze tra i datireplicati.

◦ Le basi di dati sono persistenti, tollerando possibilimalfunzionamenti hardware e software grazie a meccanismidi salvataggio e ripristino.

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

17/89IntroduzioneaiSistemiInformativi

Page 18: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformatici(5/11)

Un modello dei dati è un insieme di concetti utilizzati perorganizzare i dati di interesse e descriverne la struttura in modoche risulti comprensibile ad un elaboratore. Il modellorelazionale dei dati permette di organizzare i dati in insiemi direcord a struttura fissa. Una relazione viene spessorappresentata per mezzo di una tabella, le cui righerappresentano specifici record e le cui colonne corrispondono aicampi di un record.

18/89IntroduzioneaiSistemiInformativi

Corso NomeDocente

Basi diDati Rossi

Impianti Neri

Linguaggi Verdi

DocenzaCdL Materia Anno

II Basi diDati 5

II Impianti 5

II Linguaggi 4

IE Basi diDati 5

IE Impianti 5Manifesto

Page 19: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformatici(5/11)

Un modello dei dati è un insieme di concetti utilizzati perorganizzare i dati di interesse e descriverne la struttura in modoche risulti comprensibile ad un elaboratore. Il modellorelazionale dei dati permette di organizzare i dati in insiemi direcord a struttura fissa. Una relazione viene spessorappresentata per mezzo di una tabella, le cui righerappresentano specifici record e le cui colonne corrispondono aicampi di un record.

19/89IntroduzioneaiSistemiInformativi

Corso NomeDocente

Basi diDati Rossi

Impianti Neri

Linguaggi Verdi

DocenzaCdL Materia Anno

II Basi diDati 5

II Impianti 5

II Linguaggi 4

IE Basi diDati 5

IE Impianti 5Manifesto

RelazioniRelazioni

Page 20: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformatici(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 puressendo astratti, riflettono una particolare organizzazione. Piùrecentemente sono stati introdotti dei modelli concettuali, utilizzatiper descrivere i concetti, piuttosto che i dati utili a rappresentarli.

20/89IntroduzioneaiSistemiInformativi

Page 21: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformatici(7/11)

Esiste una parte invariante nel tempo, detta schema, costituitadalle caratteristiche dei dati, e una parte variabile, detta istanzao 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/89IntroduzioneaiSistemiInformativi

Page 22: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformatici(7/11)

Esiste una parte invariante nel tempo, detta schema, costituitadalle caratteristiche dei dati, e una parte variabile, detta istanzao 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/89IntroduzioneaiSistemiInformativi

Corso NomeDocente

Basi diDati Rossi

Impianti Neri

Linguaggi Verdi

DocenzaCdL Materia Anno

II Basi diDati 5

II Impianti 5

II Linguaggi 4

IE Basi diDati 5

IE Impianti 5

Manifesto

Page 23: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformatici(7/11)

Esiste una parte invariante nel tempo, detta schema, costituitadalle caratteristiche dei dati, e una parte variabile, detta istanzao 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/89IntroduzioneaiSistemiInformativi

Corso NomeDocente

Basi diDati Rossi

Impianti Neri

Linguaggi Verdi

DocenzaCdL Materia Anno

II Basi diDati 5

II Impianti 5

II Linguaggi 4

IE Basi diDati 5

IE Impianti 5

Manifesto

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

Page 24: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformatici(8/11)

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

Esiste una proposta di architettura standardizzata per DBMS articolatasu 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/89IntroduzioneaiSistemiInformativi

Page 25: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformatici(9/11)

Lo schema esterno può prevedere delle organizzazioni dei datidiverse rispetto a quelle utilizzate nello schema logico, cheriflettono il punto di vista di un particolare utente o insieme diutenti. Nei sistemi più moderni il livello esterno non èesplicitamente presente, ma è possibile definire relazioniderivate (o viste).

25/89IntroduzioneaiSistemiInformativi

Corso NomeDocente

Basi diDati Rossi

Impianti Neri

Linguaggi Verdi

ElettronicaCorso NomeDocente

Basi diDati Rossi

Impianti Neri

Linguaggi Verdi

Informatica Esposito

Docenza

vista

Page 26: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformatici(10/11)

L’architettura a livelli garantisce l’indipendenza dei dati, così dapermettere a utenti e programmi applicativi di interagire ad unelevato livello di astrazione, che prescinde dai dettaglirealizzativi 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 livellologico.

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

26/89IntroduzioneaiSistemiInformativi

Page 27: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IntroduzioneaiSistemiInformatici(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 inquelle future;

◦ Offre un controllo centralizzato dei dati, arricchito da varistrumenti 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/89IntroduzioneaiSistemiInformativi

Page 28: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IlModelloRelazionale(1/10)Il modello relazionale si basa su due concetti: relazione etabella. La prima nozione proviene dalla matematica, inparticolare dalla teoria degli insiemi. Dati due insiemi D1 e D2, sichiama prodotto cartesiano di D1 e D2, in simboli D1 x D2,l’insieme delle coppie ordinate (v1,v2), tali che v1 è unelemento di D1 e v2 è un elemento di D2. Una relazionematematica 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 è sostanzialmenteun insieme di record omogenei, cioè definiti sugli stessi campi,che sono caratterizzati da un nome e rappresentano gli attributidi una relazione. Tali attributi descrivono il “ruolo” chel’elemento gioca nel contesto del record.

28/89IntroduzioneaiSistemiInformativi

Page 29: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IlModelloRelazionale(2/10)Una relazione è utilizzata per organizzare dati rilevantinell’ambito di un’applicazione di interesse; solitamente non èpresente una sola relazione, ma più relazioni con le righecontenenti valori comuni per stabilire delle corrispondenze.

29/89IntroduzioneaiSistemiInformativi

Studente Voto Corso

276545 28 01

276545 27 04

937653 25 01

200768 24 04Esami

Matricola Cognome Nome DatadiNascita

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 BelliCorsi

Page 30: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IlModelloRelazionale(3/10)Solitamente sono presenti più relazioni tra di loro collegate.

30/89IntroduzioneaiSistemiInformativi

Matricola Cognome Nome DatadiNascita

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

CorsiCodice Titolo Docente

01 Analisi Giani

03 Chimica Melli

04 Chimica Belli

Studente Voto Corso

28

27

25

24

Esami

Page 31: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IlModelloRelazionale(4/10)

31/89IntroduzioneaiSistemiInformativi

Matricola Cognome Nome DatadiNascita

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

CorsiCodice Titolo Docente

01 Analisi Giani

03 Chimica Melli

04 Chimica Belli

Studente Voto Corso

A16 28 B21A16 27 B47A80 25 B21A48 24 B47

Esami

INDIRIZZOA16INDIRIZZOA32INDIRIZZOA48INDIRIZZOA64INDIRIZZOA80

INDIRIZZOB21INDIRIZZOB34INDIRIZZOB47

Approccio a puntatori: indicando l’indirizzo della tupla diinteresse.

Page 32: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IlModelloRelazionale(5/10)

32/89IntroduzioneaiSistemiInformativi

Matricola Cognome Nome DatadiNascita

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

CorsiCodice Titolo Docente

01 Analisi Giani

03 Chimica Melli

04 Chimica Belli

Studente Voto Corso

276545 28 01276545 27 03937653 25 01200768 24 03

Esami

Approccio relazionale: valori comuni per stabilire dellecorrispondenze.

Page 33: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IlModelloRelazionale(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 sonoimmediati da esportare.

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

33/89IntroduzioneaiSistemiInformativi

Page 34: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IlModelloRelazionale(7/10)Le strutture del modello relazionale consentono l’organizzazionedelle informazioni, ma non sempre sono consentite ognipossibile insieme di tuple sullo schema, perché possono nonrappresentare informazioni corrette per un’applicazione.

34/89IntroduzioneaiSistemiInformativi

Studente Voto Lode Corso

200768 36 05

937653 28 Lode 01

937653 30 Lode 04

276545 25 01

Esami

Matricola Cognome Nome DatadiNascita

200768 Verdi Fabio 12/02/1972

937653 Rossi Luca 10/10/1971

937653 Bruni Mario 01/12/1971

StudentiCodice Titolo Docente

01 Analisi Giani

03 Chimica Melli

04 Chimica BelliCorsi

Page 35: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

Esami

Studenti

Corsi

IlModelloRelazionale(7/10)Le strutture del modello relazionale consentono l’organizzazionedelle informazioni, ma non sempre sono consentite ognipossibile insieme di tuple sullo schema, perché possono nonrappresentare informazioni corrette per un’applicazione.

35/89IntroduzioneaiSistemiInformativi

Studente Voto Lode Corso

200768 36 05

937653 28 Lode 01

937653 30 Lode 04

276545 25 01

Matricola Cognome Nome DatadiNascita

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 ivoti dovrebbero essere compresi tra 0 e 30(o in caso di superamento dell’esame fra 18 e30.

Page 36: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

Esami

Studenti

Corsi

IlModelloRelazionale(7/10)Le strutture del modello relazionale consentono l’organizzazionedelle informazioni, ma non sempre sono consentite ognipossibile insieme di tuple sullo schema, perché possono nonrappresentare informazioni corrette per un’applicazione.

36/89IntroduzioneaiSistemiInformativi

Studente Voto Lode Corso

200768 36 05

937653 28 Lode 01

937653 30 Lode 04

276545 25 01

Matricola Cognome Nome DatadiNascita

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 a28, non è possibile dato che la lode èassegnabile solo quando voto è pari a 30.

Page 37: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IlModelloRelazionale(7/10)Le strutture del modello relazionale consentono l’organizzazionedelle informazioni, ma non sempre sono consentite ognipossibile insieme di tuple sullo schema, perché possono nonrappresentare informazioni corrette per un’applicazione.

37/89IntroduzioneaiSistemiInformativi

Studente Voto Lode Corso

200768 36 05

937653 28 Lode 01

937653 30 Lode 04

276545 25 01

Matricola Cognome Nome DatadiNascita

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 stessamatricola, cosa non ammissibile visto cheogni studente è univocamente identificatodalla matricola.

Esami

Studenti

Corsi

Page 38: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

Esami

Studenti

Corsi

IlModelloRelazionale(7/10)Le strutture del modello relazionale consentono l’organizzazionedelle informazioni, ma non sempre sono consentite ognipossibile insieme di tuple sullo schema, perché possono nonrappresentare informazioni corrette per un’applicazione.

38/89IntroduzioneaiSistemiInformativi

Studente Voto Lode Corso

200768 36 05

937653 28 Lode 01

937653 30 Lode 04

276545 25 01

Matricola Cognome Nome DatadiNascita

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 nonassociata a nessun studente presente nellatabella Studenti.

Page 39: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IlModelloRelazionale(8/10)Per evitare queste situazioni, è stato introdotto il concetto di vincolodi integrità, ovvero una proprietà soddisfatta dalle istanze coninformazioni corrette per l’applicazione. Ogni vincolo è espresso comeun predicato. In generale, ad uno schema sono associati un insieme divincoli, e le tuple lecite sono solo quelle che soddisfano tutti i vincoli. Ivincoli 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/89IntroduzioneaiSistemiInformativi

Page 40: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IlModelloRelazionale(9/10)L’insieme degli attributi impiegati per identificare univocamenteuna tupla all’interno di una relazione viene chiamata chiave.Quando gli attributi di una chiave non possono assumere unvalore nullo, allora la chiave è definita primaria, e sono spessoevidenziati da una sottolineatura. La maggior parte deiriferimenti tra relazioni vengono realizzati attraverso i valoridella chiave primaria.

40/89IntroduzioneaiSistemiInformativi

Matricola Cognome Nome DatadiNascita

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

Page 41: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

IlModelloRelazionale(9/10)L’insieme degli attributi impiegati per identificare univocamenteuna tupla all’interno di una relazione viene chiamata chiave.Quando gli attributi di una chiave non possono assumere unvalore nullo, allora la chiave è definita primaria, e sono spessoevidenziati da una sottolineatura. La maggior parte deiriferimenti tra relazioni vengono realizzati attraverso i valoridella chiave primaria.

41/89IntroduzioneaiSistemiInformativi

Matricola Cognome Nome DatadiNascita

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

Page 42: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

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

42/89IntroduzioneaiSistemiInformativi

Page 43: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

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

43/89IntroduzioneaiSistemiInformativi

Studente Voto Lode Corso

200768 36 05

937653 28 Lode 01

937653 30 Lode 04

276545 25 01

Esami

Matricola Cognome Nome DatadiNascita

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 duevincoli di integrità referenziale:

Page 44: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

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

44/89IntroduzioneaiSistemiInformativi

Studente Voto Lode Corso

200768 36 05

937653 28 Lode 01

937653 30 Lode 04

276545 25 01

Esami

Matricola Cognome Nome DatadiNascita

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 duevincoli di integrità referenziale:• Tra l’attributo Studente in Esami

e la chiave Matricola di Studenti;

Page 45: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

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

45/89IntroduzioneaiSistemiInformativi

Studente Voto Lode Corso

200768 36 05

937653 28 Lode 01

937653 30 Lode 04

276545 25 01

Esami

Matricola Cognome Nome DatadiNascita

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 duevincoli di integrità referenziale:• Tra l’attributo Corso in esami e

Codice in Corsi.

Page 46: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

AlgebraRelazionale(1/14)L’algebra relazione è un linguaggio procedurale, basato suconcetti di tipo algebrico al fine di determinare interrogazioni daeffettuare nell'ambito della gestione di una base di dati. ècostituito da un insieme di operatori, definiti su relazioni egenerando ancora relazioni come risultati. In tal modo, èpossibile concatenare operatori al fine di scrivere espressionicomplesse.

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

46/89IntroduzioneaiSistemiInformativi

Page 47: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

AlgebraRelazionale(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 stessoinsieme di attributi X, la loro intersezione, indicata con R1 R2,è una relazione su X contente tutte le tuple presenti inentrambe le relazioni.

◦ Differenza – date due relazioni R1 e R2, definite sullo stessoinsieme 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/89IntroduzioneaiSistemiInformativi

Page 48: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

AlgebraRelazionale(3/14)

48/89IntroduzioneaiSistemiInformativi

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

Page 49: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

AlgebraRelazionale(3/14)

49/89IntroduzioneaiSistemiInformativi

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 UDirigenti

Page 50: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

AlgebraRelazionale(3/14)

50/89IntroduzioneaiSistemiInformativi

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

Page 51: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

AlgebraRelazionale(3/14)

51/89IntroduzioneaiSistemiInformativi

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

DirigentiMatricola Cognome Età

7275 Rossi 37

Laureati - Dirigenti

Page 52: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

AlgebraRelazionale(4/14)La limitazione degli operatori insiemistici è che l’insieme degliattributi sia uguale nelle due relazione a cui sono applicate. Ciòperò rende tali operatori inapplicabili in contesti in cuipotrebbero essere sensati:

52/89IntroduzioneaiSistemiInformativi

Padre Figlio

Adamo Caino

Adamo Abele

Abramo Isacco

Abramo Ismaele

PaternitàMadre Figlio

Eva Caino

Eva Set

Sara Isacco

Agar Ismaele

Maternità

Paternità UMaternità ??

Page 53: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

AlgebraRelazionale(5/14)Per risolvere il problema, si introduce uno specifico operatoreche ha come unico obbiettivo quello di adeguare i nomi degliattributi, a seconda delle necessità, così da facilitare leoperazioni insiemistiche. Tale operatore è dettoridenominazione, perché altera il nome degli attributi, lasciandoalterato il contenuto delle tuple.

53/89IntroduzioneaiSistemiInformativi

Padre Figlio

Adamo Caino

Adamo Abele

Abramo Isacco

Abramo Ismaele

PaternitàMadre Figlio

Eva Caino

Eva Set

Sara Isacco

Agar Ismaele

Maternità

Page 54: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

AlgebraRelazionale(5/14)Per risolvere il problema, si introduce uno specifico operatoreche ha come unico obbiettivo quello di adeguare i nomi degliattributi, a seconda delle necessità, così da facilitare leoperazioni insiemistiche. Tale operatore è dettoridenominazione, perché altera il nome degli attributi, lasciandoalterato il contenuto delle tuple.

54/89IntroduzioneaiSistemiInformativi

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à)

Page 55: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

AlgebraRelazionale(5/14)◦ La selezione ha come risultato una porzione orizzontale della

relazione a cui è applicata, ovvero un sottoinsieme delle tuplesu tutti gli attributi.

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

55/89IntroduzioneaiSistemiInformativi

Page 56: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

AlgebraRelazionale(6/14)

56/89IntroduzioneaiSistemiInformativi

Cognome Nome Età Stipendio

Rossi Mario 25 2000

Neri Luca 40 3000

Verdi Nico 36 4500

Rossi Marco 40 3900

Impiegati

Page 57: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

AlgebraRelazionale(6/14)

57/89IntroduzioneaiSistemiInformativi

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 dellarelazione, c è una costante compatibile con l’attributo A e θ è unoperatore di confronto.

La selezione si effettua permezzo di una formulaproposizionale F su X attributidella relazione a cui è applicatar.

Page 58: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

πCognome,Nome(Impiegati)Cognome Nome

Rossi Mario

Neri Luca

Verdi Nico

Rossi Marco

AlgebraRelazionale(6/14)

58/89IntroduzioneaiSistemiInformativi

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 letuple della relazione di partenza sequeste sono significative, ovveronon si hanno valori ridondanti.

Page 59: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

AlgebraRelazionale(7/14)L’operatore di join permette di correlare dati contenuti inrelazioni diverse, confrontandone i valori e utilizzando lacaratteristica 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 deglioperandi e le sue tuple sono ottenute combinando le tupledegli operandi con valori uguali sugli attributi comuni.

59/89IntroduzioneaiSistemiInformativi

Impiegato Reparto

Rossi vendite

Neri produzione

Bianchi produzione

R1Impiegato Reparto Capo

Rossi vendite Mori

Neri produzione Bruni

Bianchi produzione Bruni

R1 ⋈R2Reparto Capo

vendite Mori

produzione Bruni

R2

Page 60: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

AlgebraRelazionale(8/14)Ciascuna tupla di ciascun operando del join naturalecontribuisce ad almeno una tupla nel risultato del join, in talcaso si dice che il join è completo. Questa proprietà non èsempre verificata, perché presuppone che le due relazionicontengano tuple con gli stessi valori nell’attributo comune.

60/89IntroduzioneaiSistemiInformativi

Impiegato Reparto Capo

Neri produzione Mori

Bianchi produzione Mori

Impiegato Reparto

Rossi vendite

Neri produzione

Bianchi produzione

R1R1 ⋈R2

Reparto Capo

produzione Mori

acquisti Bruni

R2

Page 61: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

Ciascuna tupla di ciascun operando del join naturalecontribuisce ad almeno una tupla nel risultato del join, in talcaso si dice che il join è completo. Questa proprietà non èsempre verificata, perché presuppone che le due relazionicontengano 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

R1R1 ⋈R2

Reparto Capo

produzione Mori

acquisti Bruni

R2

AlgebraRelazionale(8/14)

61/89IntroduzioneaiSistemiInformativi

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

Page 62: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

AlgebraRelazionale(8/14)Ciascuna tupla di ciascun operando del join naturalecontribuisce ad almeno una tupla nel risultato del join, in talcaso si dice che il join è completo. Questa proprietà non èsempre verificata, perché presuppone che le due relazionicontengano tuple con gli stessi valori nell’attributo comune.

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

62/89IntroduzioneaiSistemiInformativi

Impiegato Reparto Capo

Neri produzione Mori

Bianchi produzione Mori

Impiegato Reparto

Rossi vendite

Neri produzione

Bianchi produzione

R1R1 ⋈R2

Reparto Capo

produzione Mori

acquisti Bruni

R2

Page 63: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

AlgebraRelazionale(9/14)La caratteristica dell’operatore di join naturale di tralasciare letuple di una relazione che non hanno una controparte nell’altrapuò essere utile in alcuni casi, pericoloso in altri. Per questoesiste 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/89IntroduzioneaiSistemiInformativi

Page 64: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

AlgebraRelazionale(10/14)

64/89IntroduzioneaiSistemiInformativi

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⋈LEFTR2

Impiegato Reparto Capo

Neri produzione Mori

Bianchi produzione Mori

NULL acquisti Bruni

R1 ⋈RIGHTR2

Impiegato Reparto Capo

Rossi vendite null

Neri produzione Mori

Bianchi produzione Mori

NULL acquisti BruniR1⋈FULLR2

Page 65: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

AlgebraRelazionale(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 incomune, allora il join restituisce una relazione con tuple chesono tutte le possibile combinazioni delle tuple delle duerelazioni, e ciò prende il nome di prodotto cartesiano.

65/89IntroduzioneaiSistemiInformativi

Page 66: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

AlgebraRelazionale(12/14)

66/89IntroduzioneaiSistemiInformativi

Impiegato Progetto

Rossi A

Neri A

Neri B

Codice Nome

A Venere

B Marte

Impiegati Progetti

Impiegato Progetto Codice Nome

Rossi A A Venere

Neri A A Venere

Neri B A Venere

Rossi A B Marte

Neri A B Marte

Neri B B Marte

Impiegati ⋈ Progetti

Page 67: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

AlgebraRelazionale(13/14)Un prodotto cartesiano ha di solito poca utilità, in quantoconcatena tuple non necessariamente correlate dal punto divista semantico e viene spesso seguito da una selezione, checentra l’attenzione su tuple correlate secondo esigenze.

67/89IntroduzioneaiSistemiInformativi

Impiegato Progetto

Rossi A

Neri A

Neri B

Codice Nome

A Venere

B Marte

Impiegati Progetti

Impiegato Progetto Codice Nome

Rossi A A Venere

Neri A A Venere

Neri B B Marte

σProgetto=Codice(Impiegati ⋈ Progetti)

Page 68: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

AlgebraRelazionale(14/14)Per questa ragione, viene spesso definito un operatore derivato,espresso per mezzo di altri operatori, chiamato il theta-join,come prodotto cartesiano seguito da una selezione:

R1 ⋈F R2 = σF(R1 ⋈R2 )Un theta-join in cui la condizione di selezione F sia unacongiunzione di atomi di uguaglianza, con un attributo dellaprima relazione ed uno della seconda, viene chiamato equi-join.

Questi join hanno una grande importanza, in quanto la maggiorparte dei sistemi di basi di dati non utilizzano i nomi di attributoper correlare le relazioni, quindi non utilizzano il join naturale,ma il theta-join e l’equi-join.

68/89IntroduzioneaiSistemiInformativi

Page 69: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

InterrogazioniinAlgebraRelazionale(1/4)

In generale, un’interrogazione può essere definita come unafunzione che, applicata a istanze di basi di dati, producerelazioni. Più precisamente, dato uno schema R di base di dati,un’interrogazione è una funzione che, per ogni istanza r di R,produce una relazione su un dato insieme di attributi X. Leespressioni dei vari linguaggi di interrogazione “rappresentano”o “realizzano” interrogazioni: ogni espressione definisce unafunzione. Indichiamo con E(R) il risultato dell’applicazionedell’espressione E alla base di dati con schema R.

In algebra relazionale, le interrogazioni su uno schema di base didati R vengono formulate con espressioni i cui atomi sono (orappresentano porzioni di) relazioni in R.

69/89IntroduzioneaiSistemiInformativi

Page 70: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

InterrogazioniinAlgebraRelazionale(2/4)

Consideriamo due relazioni:Impiegati(Matr.,Nome,Età,Stipendio)

Supervisione(Capo,Impiegato)

70/89IntroduzioneaiSistemiInformativi

Matr. Nome Età Stipendio

101 MarioRossi 34 40

103 MarioBianchi 23 35

104 LuigiNeri 38 61

105 Nico Bini 44 38

210 MarcoCelli 49 60

231 Siro Bisi 50 60

252 Nico Bini 44 70

301 SergioRossi 34 70

375 MarioRossi 50 65

Capo Impiegato

210 101

210 103

210 104

231 105

301 210

301 231

375 252

Impiegati Supervisione

Page 71: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

InterrogazioniinAlgebraRelazionale(3/4)

Prima interrogazione: trovare Matricola, Nome ed età degliimpiegati che guadagnano più di 40 mila euro:

71/89IntroduzioneaiSistemiInformativi

Page 72: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

InterrogazioniinAlgebraRelazionale(3/4)

Prima interrogazione: trovare Matricola, Nome ed età degliimpiegati che guadagnano più di 40 mila euro:

πMatr.,Nome,Età(σStipendio>40(Impiegati))

Seconda interrogazione: trovare le matricole dei capi per gliimpiegati che guadagnano più di 40 mila euro:

72/89IntroduzioneaiSistemiInformativi

Page 73: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

InterrogazioniinAlgebraRelazionale(3/4)

Prima interrogazione: trovare Matricola, Nome ed età degliimpiegati che guadagnano più di 40 mila euro:

πMatr.,Nome,Età(σStipendio>40(Impiegati))

Seconda interrogazione: trovare le matricole dei capi per gliimpiegati che guadagnano più di 40 mila euro:

πCapo(Supervisione⋈Impiegato=Matr.(σStipendio>40(Impiegati)))

Terza interrogazione: trovare nome e stipendio dei capi per gliimpiegati che guadagnano più di 40 mila euro:

73/89IntroduzioneaiSistemiInformativi

Page 74: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

InterrogazioniinAlgebraRelazionale(3/4)

Prima interrogazione: trovare Matricola, Nome ed età degliimpiegati che guadagnano più di 40 mila euro:

πMatr.,Nome,Età(σStipendio>40(Impiegati))

Seconda interrogazione: trovare le matricole dei capi per gliimpiegati che guadagnano più di 40 mila euro:

πCapo(Supervisione⋈Impiegato=Matr.(σStipendio>40(Impiegati)))

Terza interrogazione: trovare nome e stipendio dei capi per gliimpiegati che guadagnano più di 40 mila euro:

πNomeC,StipC(ρMatr.C,NomeC,EtàC,StipCçMatr.,Nome,Età,Stipendio(Impiegati)⋈Matr.C =CapoSupervisione ⋈ Impiegato=Matr.(σStipendio>40(Impiegati)))

74/89IntroduzioneaiSistemiInformativi

Page 75: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

InterrogazioniinAlgebraRelazionale(4/4)

Quarta interrogazione: trovare gli impiegati che guadagnano piùdel corrispettivo capo, mostrando matricola, nome e stipendiodi ciascuno di essi e del capo:

75/89IntroduzioneaiSistemiInformativi

Page 76: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

InterrogazioniinAlgebraRelazionale(4/4)

Quarta interrogazione: trovare gli impiegati che guadagnano piùdel corrispettivo capo, mostrando matricola, nome e stipendiodi ciascuno di essi e del capo:

πMatr.,Nome,Stip,Matr.C,NomeC,StipC(σStip>StipC(ρMatr.C,NomeC,EtàC,StpCç

Matr.,Nome,Età,Stipendio(Impiegati) ⋈Matr.C =Capo Supervisione⋈Impiegato=Matr.(σStipendio>40(Impiegati))))

Quinta interrogazione: trovare matricola e nome dei capi i cuiimpiegati guadagnano più di 40 mila euro:

76/89IntroduzioneaiSistemiInformativi

Page 77: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

InterrogazioniinAlgebraRelazionale(4/4)

Quarta interrogazione: trovare gli impiegati che guadagnano piùdel corrispettivo capo, mostrando matricola, nome e stipendiodi ciascuno di essi e del capo:

πMatr.,Nome,Stip,Matr.C,NomeC,StipC(σStip>StipC(ρMatr.C,NomeC,EtàC,StpCç

Matr.,Nome,Età,Stipendio(Impiegati) ⋈Matr.C =Capo Supervisione⋈Impiegato=Matr.(σStipendio>40(Impiegati))))

Quinta interrogazione: trovare matricola e nome dei capi i cuiimpiegati guadagnano più di 40 mila euro:

πMatr.,Nome(Impiegati ⋈Matr.=Capo(πCapo(Supervisione)–πCapo(Supervisione⋈Imp=Matr.(σStipendio>40(Impiegati)))))

77/89IntroduzioneaiSistemiInformativi

Page 78: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

Esercitazione:RelaX (1/9)RelaX è un’applicazione on-live per la valutazione diinterrogazioni in algebra relazionale, sviluppato dal gruppo diricerca sui database dell’Università di Innsbruck e disponibile suhttps://dbis-uibk.github.io/relax/.

Cliccare su get started per iniziare.

78/89IntroduzioneaiSistemiInformativi

Page 79: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

Esercitazione:RelaX (2/9)Selezionare una base di dati su cui lavorare, nel nostro caso:

79/89IntroduzioneaiSistemiInformativi

Page 80: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

Esercitazione:RelaX (3/9)Questa base di dati ha il seguente schema:

80/89IntroduzioneaiSistemiInformativi

NomeColonna Tipo didati

employee_id numero

name string

expertice string

boss number

assistantNomeColonna Tipo didati

employee_id numero

name string

type string

room number

professor

NomeColonna Tipo didati

student_id numero

name string

semester number

studentNomeColonna Tipo didati

lecture_id numero

title string

credits number

lectured_by number

lectureNomeColonna Tipo didati

student_id numero

lecture_id numero

employee_id numero

grade numero

grade

NomeColonna Tipo didati

student_id numero

lecture_id numero

attends

NomeColonna Tipo didati

predecessor numero

successor numero

requires

Page 81: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

Esercitazione:RelaX (4/9)Questa base di dati è popolata come segue:

81/89IntroduzioneaiSistemiInformativi

employee_id

name expertice boss

3002 Platon Ideenlehre 2125

3003 Aristoteles Syllogistik 2125

3004 Wittgenstein Sprachtheorie 2126

3005 Rhetikus Planetenbewegung 2127

3006 Newton KeplerscheGesetze 2127

3007 Spinoza GottundNatur 2134

assistantemployee_id name type room

2125 Sokrates C4 226

2126 Russel C4 232

2127 Kopernikus C3 310

2133 Popper C3 52

2134 Augustinus C3 309

2136 Curie C4 36

2137 Kant C4 7

professor

Page 82: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

Esercitazione:RelaX (5/9)

82/89IntroduzioneaiSistemiInformativi

student_id name semester

24002 Xenokrates 18

25403 Jonas 12

26120 Fichte 10

26830 Aristoxenos 8

27550 Schopenhauer 6

28106 Carnap 3

29120 Theophrastos 2

29555 Feuerbach 2

student lecture_id title credits lectured_by

4052 Logik 4 2125

4630 Die3Kritiken 4 2137

5001 Grundzuege 4 2137

5022 GlaubeundWissen 2 2134

5041 Ethik 4 2125

5043 Erkenntnistheorie 3 2126

5049 Maeeutik 2 2125

5052 Wissenschaftstheorie 3 2126

5216 Bioethik 2 2126

5259 DerWienerKreis 2 2133

lecture

Page 83: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

Esercitazione:RelaX (6/9)

83/89IntroduzioneaiSistemiInformativi

student_id lecture_id

27550 4052

26120 5001

27550 5001

29120 5001

29555 5001

25403 5022

29555 5022

28106 5041

29120 5041

29120 5049

28106 5052

28106 5216

28106 5259

attends

studente_id lecture_id employee_id grade

25403 5041 2125 2

27550 4630 2137 2

28106 5001 2126 1

grade

predecessor successor

5001 5041

5001 5043

5001 5049

5041 5052

5043 5052

5041 5216

5052 5259

requires

Page 84: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

Esercitazione:RelaX (7/9)L’applicazione consente di digitare interrogazioni in algebrarelazionale ed eseguirle sulla base di dati scelta. Ad esempio,determiniamo il nome degli studenti che seguono le lezioni delprof. Sokrates:πname(student ⋈((σname=“Sokrates”(professor)⋈employee_id=lectured_bylecture)⋈attends))

84/89IntroduzioneaiSistemiInformativi

Page 85: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

Esercitazione:RelaX (7/9)L’applicazione consente di digitare interrogazioni in algebrarelazionale ed eseguirle sulla base di dati scelta. Ad esempio,determiniamo il nome degli studenti che seguono le lezioni delprof. Sokrates:πname(student ⋈((σname=“Sokrates”(professor)⋈employee_id=lectured_bylecture)⋈attends))

85/89IntroduzioneaiSistemiInformativi

Page 86: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

Esercitazione:RelaX (8/9)

86/89IntroduzioneaiSistemiInformativi

Page 87: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

Esercitazione:RelaX (8/9)

87/89IntroduzioneaiSistemiInformativi

Page 88: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

Esercitazione:RelaX (9/9)Utilizzare l’applicazione per formulare le seguenti interrogazioni:◦ I nomi dei professori e dei relativi studenti che hanno

ottenuto dei voti superiori a 2;◦ Il titolo delle lezioni, e i nomi dei professori che le tengono,

seguiti da studenti appartenenti a semestri con numeroidentificativo superiore o pari a 8;

◦ I crediti conseguiti dagli studenti con un voto maggiore opari a 2 con il titolo del corso e il nome degli studenti;

◦ Il nome dei professori e i titoli dei corsi per cui alcunistudenti hanno ottenuto una votazione.

88/89IntroduzioneaiSistemiInformativi

Page 89: Argomento16 Introduzione ai Sistemi Informativicesposito/materiale/lezioni/Argomento16... · Introduzione ai Sistemi Informatici (9/11) Loschemaesternopuòprevederedelleorganizzazionideidati

Riferimenti• Capitolo1• Paragrafi1[Introduzione:lagestionedell’Informazione],e2[EsempidiSistemiInformativi].

• Capitolo2• Paragrafi1[Introduzionealmodellorelazionale],e2[BasidiDatievincolidiintegrità].

• Capitolo5• Paragrafi1[Introduzione],e2[OperazioniInsiemistiche],4[OperazioniRelazionali],e5[Ridenominazione].

89/89IntroduzioneaiSistemiInformativi