Estratto del documento

Riassunto informatica sezione A1 — Sistemi informativi e sistemi informatici

1. Dati e informazione

  • Dato → è un valore grezzo (numeri, parole, misure…).
  • Informazione → è il risultato dell’elaborazione dei dati, utile a prendere decisioni.

2. Sistemi informativi

  • Un sistema informativo è l’insieme di persone, procedure e risorse per raccogliere, archiviare e comunicare dati allo scopo di gestire le attività operative e di governo di un’organizzazione.
  • I sistemi informativi esistevano anche prima dei computer → archivi cartacei.

3. Sistemi informatici

  • Il sistema informatico è la parte del sistema informativo che usa l’informatica per gestire automaticamente i dati digitali.

4. Ciclo di vita di un sistema informatico

La progettazione di un sistema informatico è un processo ciclico e continuo che ha origine dalla raccolta delle esigenze degli utenti e dei committenti. A partire da queste richieste si procede alla progettazione concettuale, ovvero alla definizione di un modello astratto del sistema, per poi passare alla sua realizzazione tramite la progettazione logica e fisica, che comprende l’insieme delle componenti hardware e software.

Una volta messo in uso, il sistema genera nuove esigenze: gli utenti possono infatti avanzare richieste correttive o evolutive, che rendono necessario un aggiornamento costante del software.

Le fasi principali del ciclo di vita di un sistema informatico sono:

AnalisiProgettazioneImplementazioneCollaudoManutenzione.

Una cattiva progettazione può comportare costi elevati, inefficienze operative e potenziali perdite di dati.

5. File e basi di dati

L’approccio basato su file system è stato gradualmente sostituito dai Sistemi per la gestione di basi di dati (DBMS).

I DBMS più diffusi sono Oracle DB, MySQL.

  • File → sono dati non strutturati, difficile gestione.
  • Database → è un insieme organizzato di dati.
  • DBMS → è un software che gestisce i database.

In un file i dati sono raggruppati in unità logiche denominate record.

Operazioni sui dati

  • Creazione.
  • Apertura.
  • Chiusura.
  • Inserimento (nuovi record).
  • Modifica.
  • Cancellazione.
  • Ricerca.

Linguaggi per interagire con il sistema di gestione dei dati (vedi capitolo successivo)

  • DDL (Data Definition Language) - consentono di definire e modificare la struttura delle basi di dati.
  • DML (Data Manipulation Language) - consentono di accedere ai dati per effettuare operazioni di manipolazione (inserimento, modifica e cancellazione).
  • QL operazioni di lettura (interrogazione dei dati).
  • DCL (controllo degli accessi ai dati).

6. Architettura logica di un DBMS (Sistema per la gestione di basi di dati)

L’architettura logica di un DBMS comprende:

  • Gestione dei file.
  • Sicurezza.
  • Integrità.
  • Ottimizzazione delle query.
  • Controllo della concorrenza.

Riassunto sezione A2 — Le basi di dati relazionali

Fasi del processo di progettazione di una base di dati

  • Analisi della realtà.
  • Progettazione concettuale (modello E/R).
  • Progettazione logica (modello relazionale).
  • Progettazione fisica (creazione del database fisico: tabelle, campi, associazioni, vincoli, chiavi primarie, chiavi esterne, indici, ecc…).

1. Diagrammi E/R Entity – Relationship (= Associazione)

  • Rappresentano la realtà tramite:
    • Entità: oggetti di cui vogliamo memorizzare i dati, nome comune, ad esempio Autori, Libri, Editori, Genere.
    • Associazioni: sono i legami logici tra le entità, tenendo conto della cardinalità; sono espresse da un verbo (ad es. Frequenta, effettua etc.). Esempio di associazione Autori, Libri: 1:N - un libro ha un solo autore, ma un autore può avere scritto più libri).
    • Attributi: sono proprietà delle entità, ad esempio per l’entità Autori si possono individuare gli attributi cognome, nome, nazione, data_nascita, sesso; id_autore è un identificatore univoco per ogni specifico autore; anche codice fiscale può esserlo.
  • Cardinalità delle associazioni: 1:1, 1:N, M:N.

2. Modello relazionale (progettazione logica)

Il modello relazionale è un metodo di organizzazione dei dati basato su tabelle, chiamate tecnicamente relazioni (dal concetto matematico di relazione tra insiemi).

La struttura della tabella

Ogni tabella rappresenta un insieme di oggetti dello stesso tipo (es. Clienti, Prodotti) ed è composta da:

  • Righe (Tuple): rappresentano i singoli record (i dati di un singolo cliente o prodotto). Il numero totale delle righe è detto cardinalità.
  • Colonne (Attributi): rappresentano le caratteristiche degli oggetti (es. Nome, Prezzo). Il numero totale delle colonne è detto grado (o ordine) della relazione.

Definizione matematica

Matematicamente, una relazione è un sottoinsieme del prodotto cartesiano tra i domini degli attributi. In parole semplici: ogni riga è una combinazione di valori scelti tra quelli permessi per ogni colonna. Ogni riga rappresenta un singolo elemento (es. un cliente). Ogni colonna rappresenta una caratteristica di quell’elemento (es. nome, indirizzo, ecc.).

I collegamenti (Chiavi)

I dati tra tabelle diverse sono collegati attraverso valori logici:

  • Chiave primaria (Primary Key): un attributo (o un insieme di attributi) che identifica, ad es. id_autore o codice fiscale, in modo univoco un’istanza dell’entità. Un record in una tabella.
  • Chiave esterna (Foreign Key): un attributo in una tabella che fa riferimento alla Chiave Primaria di un'altra tabella, creando così il collegamento (associazione) tra i dati. Le chiavi esterne (FK) collegano le tabelle tra loro, creando associazioni logiche (es. ogni ordine appartiene a un cliente).

Chiavi primarie e chiavi esterne

id_cliente Ad esempio in Clienti, è la chiave primaria (identifica in modo unico ogni cliente). In Ordini, id_cliente è una chiave esterna che si riferisce alla chiave primaria della tabella Clienti. La chiave esterna crea un legame con un record di un’altra tabella. Serve per mantenere coerenza dei dati: ad esempio, non puoi inserire un ordine con id_cliente = 99 se quel cliente non esiste nella tabella Clienti. (Integrità referenziale)

Le cinque regole per passare dal modello concettuale al modello logico

  • Le entità diventano tabelle/relazioni.
  • L’Id univoco diventa chiave primaria.
  • Nell’associazione 1:N la PK della entità di partenza diventa FK nell’entità di destinazione.
  • In presenza di un’associazione 1:1 una delle due entità si elimina e tutti gli attributi dell’entità eliminata vengono aggiunti nell’entità che rimane.
  • In presenza di un’associazione N:M si crea una nuova tabella che associa le prime due, chiamata tabella associativa. → Nella tabella associativa le chiavi primarie delle due tabelle di partenza diventano chiavi esterne.

3. Esempi di progettazione

  • Conversione da schema concettuale (E/R) a schema logico (tabelle). 0

4. Linguaggi per operare su un DB

Per operare su basi di dati relazionali, si usano diversi tipi di linguaggi, ognuno con un ruolo preciso.

In generale, questi linguaggi fanno parte dell’insieme chiamato SQL (Structured Query Language), ma si distinguono in categorie a seconda di cosa permettono di fare.

1. DDL – Data Definition Language

Serve per definire la struttura del database: creare, modificare o eliminare tabelle e altri oggetti.

Comandi principali:

  • CREATE → crea tabelle o altri oggetti (es. CREATE TABLE Clienti (...)).
  • ALTER → modifica la struttura (es. aggiungere una colonna).
  • DROP → elimina una tabella.
  • TRUNCATE → svuota una tabella.

2. DML – Data Manipulation Language

Serve per gestire i dati contenuti nelle tabelle (inserire, modificare, cancellare, leggere).

Comandi principali:

  • INSERT → inserisce nuovi dati.
  • UPDATE → modifica dati esistenti.
  • DELETE → elimina dati.

3. QL-Query Language

  • SELECT → interroga i dati.

4 - DCL – Data Control Language

Serve per controllare i permessi e l’accesso ai dati.

Comandi principali:

  • GRANT → assegna permessi a un utente.
  • REVOKE → toglie permessi.

5. TCL – Transaction Control Language

Gestisce le transazioni, cioè gruppi di operazioni che devono essere eseguite tutte insieme.

Comandi principali:

  • COMMIT → conferma le modifiche.
  • ROLLBACK → annulla le modifiche.
  • SAVEPOINT → imposta un punto di ripristino.

Algebra relazionale e comandi SQL

7.1 Algebra relazionale

È il modello matematico alla base dei database relazionali e di SQL.

Serve per descrivere le operazioni che si possono fare sulle tabelle (relazioni). In pratica, l’algebra relazionale fornisce le regole teoriche; SQL è il linguaggio pratico che le realizza.

Alcune operazioni dell’algebra relazionale:

Operazione Significato Esempio intuitivo
SELEZIONE (σ) Estrae le righe che soddisfano una condizione (cambia la cardinalità e non l’ordine). “Mostra i clienti di Roma.”
PROIEZIONE (π) Mostra solo alcune colonne. (cambia l’ordine, ma non la cardinalità) “Mostra solo i nomi dei clienti.”
JOIN (⨝) Combina righe di due tabelle collegate da una condizione. “Mostra gli ordini con il nome del cliente.”
UNIONE (∪) Unisce i record di due tabelle compatibili (stessi campi). “Unisci Clienti_2024 e Clienti_2025.”
INTERSEZIONE (∩) Mostra i record presenti in entrambe le tabelle (compatibili). “Clienti che hanno fatto ordini in due anni.”
DIFFERENZA (−) Mostra i record presenti in una tabella ma non nell’altra (compatibili). “Clienti che non hanno fatto ordini.”
PRODOTTO CARTESIANO (×) Combina tutte le righe di due tabelle. Usato come base per la JOIN.

Ecco una spiegazione semplice del Prodotto cartesiano e della Divisione.

1. Prodotto cartesiano (R x S)

Il prodotto cartesiano è l'operazione "combina tutto". Prende ogni riga della prima tabella e la accoppia con ogni singola riga della seconda tabella.

  • Cosa fa: genera tutte le combinazioni possibili.
  • Risultato: se la Tabella A ha 3 righe e la Tabella B ha 2 righe, il risultato avrà 3 X 2 = 6 righe.

Esempio pratico:

Immagina di avere una tabella Colori e una tabella Taglie.

Colore Taglia
Rosso S
Blu M

Risultato (Colori x Taglie):

Colore Taglia
Rosso S
Rosso M
Blu S
Blu M

2. Divisione (R \div S)

La divisione è l'operazione "per tutti". È la più difficile da visualizzare, ma serve a rispondere a domande che contengono la parola "tutti".

  • Cosa fa: seleziona le righe della prima tabella (R) che sono associate a tutti gli elementi presenti nella seconda tabella (S).
  • Requisito: la tabella S deve contenere un sottoinsieme delle colonne di R.

Esempio pratico:

Immagina di voler trovare

Anteprima
Vedrai una selezione di 10 pagine su 43
Database  Pag. 1 Database  Pag. 2
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Database  Pag. 6
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Database  Pag. 11
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Database  Pag. 16
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Database  Pag. 21
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Database  Pag. 26
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Database  Pag. 31
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Database  Pag. 36
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Database  Pag. 41
1 su 43
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher matteodicaudo di informazioni apprese con la frequenza delle lezioni di Informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Catania o del prof Ciarcianelli Sandra.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community