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à
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Appunti di Gestione dell'Informazione
-
Appunti esame Diritto tributario
-
Appunti esame completo Gestione Acquisti
-
Appunti lezioni di Gestione dell'informazione aziendale
- Risolvere un problema di matematica
- Riassumere un testo
- Tradurre una frase
- E molto altro ancora...
Per termini, condizioni e privacy, visita la relativa pagina.