Estratto del documento

Gestione dell’informazione

Samuele Vinci

March 2023

Ingegneria Gestionale

Università Carlo Cattaneo

Contents

1 Intro DBSM 2

1.1 Rappresentazione delle relazioni: Le tabelle . . . . . . . . . . . . . . . . . . . . . . . 2

2 ER Model 3

2.1 Conoscenze base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.2 Occorrenza di entità e relazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.3 Frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.4 Attributi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.4.1 Attributi delle istanze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.4.2 Tipologie di attributi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.5 Valori unici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.6 Identificatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.7 Identificatori compositi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.8 Cardinalità delle relazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.9 Relazioni ricorsive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.9.1 Esempio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.10 Identificatori esterni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.11 Entità deboli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.12 Generalizzazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.12.1 Proprietà delle generalizzazioni . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3 Relational Model 13

3.1 The relational model is value-based . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.2 Informazioni incomplete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.3 Chiavi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.3.1 Superchiavi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.4 Referential constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1

4 Relational Algebra 16

4.1 JOIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5 SQL 19

5.1 Notazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.2 Modifica dei dati in SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.3 SQL come un liguaggio di query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5.4 Predicate conjunction and disjunction . . . . . . . . . . . . . . . . . . . . . . . . . . 22

5.4.1 Predicate conjunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

5.4.2 Predicate disjunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5.5 Logical expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5.6 Other operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5.6.1 Ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5.7 Funzioni aggregate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.7.1 Aggregate query with JOIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5.7.2 Grouping - GROUP BY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5.7.3 HAVING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.8 Example of a comeplte SQL query . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.9 UNION INTERSECT EXCEPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5.10 Nested query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5.10.1 IN/NOT IT OPERATORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5.10.2 MAX and MIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

1 Intro DBSM

Un database è una collezione di dati, gestiti da un DBSM. Il database management system è il

sistema in cui sono immagazzinati dati in relazione tra loro, in modo efficiente (accessibili in modo

veloce) e compatto (occupano poca memoria).

1.1 Rappresentazione delle relazioni: Le tabelle

Le tabelle nei DBSM sono correlate tra loro, in quanto rappresentano delle relazioni. Le tabelle

di un database sono divise e rappresentano lo schema, ovvero ciò che descrive la struttura, che è

stabile nel tempo (le righe ”portanti” della tabella); rappresentano poi anche le istanze, ovvero i

valori effettivi, che possono variare, anche molto velocemente (il ”corpo” della tabella).

N.B. Data definition language (DDL) sono utilizzati per definire la logica, ovvero lo schema

fisico e l’accesso alle varie autorizzazioni nel database; mentre i DML data manipulation language

vengono usati per le query e per aggiornare le istanze del database.

2

2 ER Model

ER sta per ”Entity-Relationship” (entità-relazione) ed è un modello concettuale per la progettazione

di database relazionali. Un modello ER rappresenta i dati come entità, attributi e relazioni.

Le entità sono oggetti reali o concettuali, come persone, luoghi, oggetti o eventi, che possono

essere distinti dagli altri oggetti. Gli attributi sono le caratteristiche o le proprietà delle entità,

come il nome, l’età o l’indirizzo di una persona. Le relazioni definiscono le connessioni tra le entità

e possono essere uno-a-uno, uno-a-molti o molti-a-molti.

2.1 Conoscenze base

Conoscenza astratta:

1. Entità: un’entità rappresenta un oggetto del mondo reale o del mondo virtuale che può essere

identificato in modo univoco e su cui si desidera memorizzare informazioni nel database. Ad

esempio, un’entità può rappresentare un cliente, un dipendente, un prodotto, un ordine, un

film e cosı̀ via.

2. Relazione: una relazione rappresenta l’associazione tra due o più entità. Le relazioni de-

scrivono come le entità sono collegate tra loro e possono essere uno-a-uno, uno-a-molti o

molti-a-molti.

3. Attributo: un attributo è una proprietà o una caratteristica che descrive un’entità o una

relazione. Gli attributi sono utilizzati per definire la struttura delle entità e delle relazioni e

per specificare i dati che devono essere memorizzati per ciascuna istanza dell’entità o della

relazione. Ad esempio, consideriamo un’entità ”Cliente” che può avere gli attributi ”Nome”,

”Cognome”, ”Indirizzo”, ”Telefono”, ”Email”, ”Data di nascita”, ”Sesso” e cosı̀ via

Conoscenza concreta:

• Instanza di entità;

• Instanza di relazione;

• Proprietà/attributi delle istanze.

2.2 Occorrenza di entità e relazione

Un’occorrenza, o istanza, di un’entità è un oggetto della classe che l’entità rappresenta: Il prof che

tiene la lezione ”Buonanno”, il corso ”Gestione dell’info”, la targa della macchina ”aa000aa”...

Un’occorreza, o istanza, di una Relazione è un ”tuple” composto da istanze di entità, una per

ognuna delle entità coinvolte. (”Buonanno” teaches ”Gestione dell’info”, ”Rossi” partecipa al corso

di ”Marketing”, ”Simpatico.tech” ordered a ”PC”).

2.3 Frameworks

Descrive i collegamenti tra le entità e la corrispondente relazione. Descrive, inoltre, la struttura

basica di uno schema senza aggiungere informazioni dettagliate riguardo a relazioni e entità.

Esempio di framework: 3

Un’azienda deve gestire le informazioni riguardo l’attività commerciale; per ciascuna fattura

l’azienda vuole immagazzinare le informazioni riguardo i componenti, i clienti, il dipendente che ha

generato la fattura e l’ufficio di cui fa parte il dipendente:

Figure 1: Frameworks example

2.4 Attributi

Ricordando che i frameworks rappresentano i collegamenti tra entità e relazioni, la descrizione deve

essere completata con degli attributi, che descrivono le proprietà delle entità e delle relazioni utili,

per rappresentare correttamene ed in modo dettagliato la situazione.

Figure 2: Attributi

4

2.4.1 Attributi delle istanze

Gli attributi delle istanze rappresentano le proprietà o le caratteristiche di un’istanza di un’entità

in un modello di dati. , ogni attributo di un’istanza è associato ad un valore, conosciuto come il

dominio dell’attributo.

Esempi di attributi delle istanze entità:

• Lo studente ”Smith” ha id di registrazione ”4321”;

• ”Click SPA” ha il quartier generale a ”34, oxford street”.

Esempi di attirbuti delle istanze relazioni:

• Il lavoratore ”Bianchi” ha lavorato per ”3 ore” allo stock numero ”4”;

• l’azienda ”aaaa” ha ordinato ”15” PC.

2.4.2 Tipologie di attributi

[L’annotazione (m1,m2) si riferisce al minimo (m1) ed al massimo (m2) di cardinalità dell’attributo,

ovvero il numero di valori minimo e massimo che può assumere l’annotazione]

1. Simple attribute: un attributo semplice è un attributo che non può essere ulteriormente

scomposto in elementi più piccoli. Ad esempio, se consideriamo un’entità ”Persona”, gli

attributi semplici potrebbero essere il nome, il cognome, l’età, l’indirizzo e cosı̀ via.

2. Attributo mutiplo: un attributo multiplo è un attributo che rappresenta una caratteristica

dell’entità che può avere più di un valore. Un esempio di attributo multiplo potrebbe essere

l’attributo ”telefono” di un’entità ”Cliente”. Poiché un cliente può avere più di un numero di

telefono, l’attributo ”telefono” può contenere più di un valore.

3. Attributi opzionali: sono attributi che possono avere un valore o essere vuoti. Ad esempio,

l’indirizzo di un cliente può essere opzionale; la minor cardinalità è 0, (0,1) oppure (0,n).

4. Attributi composti: un attributo composto è un attributo che può essere suddiviso in più

sotto-attributi.Ad esempio, consideriamo un’entità ”Indirizzo” con gli attributi ”via”, ”nu-

mero civico”, ”città” e ”CAP”. Questi attributi sono strettamente correlati tra di loro, e

rappresentano tutti gli elementi costitutivi di un indirizzo. In questo caso, l’attributo ”Indi-

rizzo” è un attributo composto che contiene i sotto-attributi ”via”, ”numero civico”, ”città”

e ”CAP”.: 5

Figure 3: Attributi con cardinalità

2.5 Valori unici

Un attributo unico indica che il valore di quell’attributo deve essere unico per ogni istanza dell’entità.

Ad esempio, consideriamo un’entità ”Studente” che ha un attributo ”Numero di matricola”.

Se l’attributo ”Numero di matricola” è impostato come unico, significa che ogni studente ha un

numero di matricola diverso e non ci possono essere due studenti con lo stesso numero di matricola.

Vengono utilizzati per garantire che i dati all’interno del database siano coerenti e non duplicati.

2.6 Identificatori

Gli identificatori, anche noti come chiavi, sono un concetto importante nel modello Entity-Relationship

(ER). Un identificatore è un attributo o una combinazione di attributi che identifica univocamente

ogni istanza dell’entità.

Ad esempio, consideriamo un’entità ”Studente” che ha un attributo ”Numero di matricola”. Se

l’attributo ”Numero di matricola” è impostato come unico e ogni istanza dell’entità ha un valore

univoco per l’attributo ”Numero di matricola”, allora questo attributo può essere utilizzato come

6

[H]

Figure 4: Esempio identificatori

identificatore per l’entità ”Studente”.

2.7 Identificatori compositi

Gli identificatori compositi sono un tipo di identificatore che è formato da due o più attributi. In

altre parole, un identificatore composito è costituito da una combinazione di valori di più attributi

che insieme identificano univocamente ogni istanza dell’entità.

Ad esempio, consideriamo un’entità ”Ordine” che ha gli attributi ”Numero di ordine” e ”Data

dell’ordine”. In questo caso, un identificatore composito per l’entità ”Ordine” sarebbe costituito

dalla combinazione di questi due attributi, in quanto l’identificazione di ogni istanza dell’entità

Anteprima
Vedrai una selezione di 8 pagine su 35
Appunti preparazione esame Gestione dell'informazione Pag. 1 Appunti preparazione esame Gestione dell'informazione Pag. 2
Anteprima di 8 pagg. su 35.
Scarica il documento per vederlo tutto.
Appunti preparazione esame Gestione dell'informazione Pag. 6
Anteprima di 8 pagg. su 35.
Scarica il documento per vederlo tutto.
Appunti preparazione esame Gestione dell'informazione Pag. 11
Anteprima di 8 pagg. su 35.
Scarica il documento per vederlo tutto.
Appunti preparazione esame Gestione dell'informazione Pag. 16
Anteprima di 8 pagg. su 35.
Scarica il documento per vederlo tutto.
Appunti preparazione esame Gestione dell'informazione Pag. 21
Anteprima di 8 pagg. su 35.
Scarica il documento per vederlo tutto.
Appunti preparazione esame Gestione dell'informazione Pag. 26
Anteprima di 8 pagg. su 35.
Scarica il documento per vederlo tutto.
Appunti preparazione esame Gestione dell'informazione Pag. 31
1 su 35
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher PappaVince di informazioni apprese con la frequenza delle lezioni di Gestione dell'informazione e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università "Carlo Cattaneo" (LIUC) o del prof Buonanno Giacomo.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community