Modulo di base di datinozioni
Sistema informativo
È l’insieme dei programmi software che forniscono funzionalità per raccogliere e gestire informazioni. La gestione delle informazioni dei dati è nascosta (problema); all’interno dei programmi non c’è un meccanismo che protegge i dati da errori di programmazione o altro. Di fatto su questo influisce molto il contesto normativo.
Contesto normativo
È quello dove operano le organizzazioni.
Modello logico dei dati
Il DMBS fornisce un modello per interrogare i dati, detto logico, attraverso tale modello vengono definite le informazioni nella base dati.
Linguaggio di interrogazione dei dati
Il DMBS fornisce un linguaggio per interrogare i dati ossia, recuperare e trasformare i dati memorizzati nella base dati. Esistono diversi modelli e linguaggi di interrogazione, quello che utilizzeremo sarà:
- Modello Relazionale dei Dati
- Linguaggio SQL
Progettazione logica
Progettare la struttura dei dati utilizzando il modello logico fornito dal DBMS. Nella maggior parte dei casi i dati venivano progettati male, presentando ridondanze e inconsistenze.
Progettazione concettuale
Progettano la struttura dati focalizzandosi sui concetti senza essere condizionati dal modello logico. Così si può meglio ragionare su ciò che viene descritto dai dati.
- Progettazione concettuale: attività lunga e difficile, genera uno schema concettuale
- Progettazione logica: dallo schema concettuale ne genera uno logico sulla base del modello fornito dal DBMS
Progettazione concettuale
Modello
Definisce i costrutti che vengono usati per modellare la realtà.
Schema
Si genera quando il modello viene impiegato per modificare una precisa realtà.
I costrutti del modello ER sono:
- Entità: descrive un generico elemento del mondo reale e le sue proprietà (attributi). Il suo nome è al singolare, può avere più attributi e descrivere tante istanze (caso particolare dell’entità). È contornata da un rettangolo, ha chiave.
- Relazione: descrive una correlazione tra elementi del mondo reale. Ha un nome. Può avere attributi che non possono essere definiti come chiave. È contornata da un rombo.
Caratterizzazione della gerarchia su un’entità
- Grado di copertura: Totale (T), almeno una sottocategoria di specializzazione; Parziale (P), può non essere specializzata.
- Grado di sovrapponibilità: Esclusiva (E), solo una specializzazione; Sovrapponibile (S), più specializzazioni.
Chiave dell’entità
È/sono uno/più attributo/i che hanno come compito quello di rappresentare in modo unico ogni istanza dell’entità. Ogni entità deve avere la propria chiave, che non può assumere valore nullo.
Vincoli di cardinalità
Caratterizzano ogni lato di una relazione; hanno forma (min:max). Il minimo può assumere valore 0 o 1, mentre il massimo può assumere valore 1 o N (molti). Un erroraccio è avere su entrambi i bracci una relazione di tipo (1:1).
Entità debole
Indica un concetto debole rispetto ad uno forte. Ha doppia chiave primaria, la sua cardinalità è del tipo (1:1).
Progettazione logica
Modello relazionale dei dati
È il modello che i DMBS commerciali usano dalla metà degli anni ‘70. Il primo è stato l’IBM DB2. Questi hanno rimpiazzato i vecchi modelli logici (reticolare, gerarchico). Deriva dal concetto di relazione matematico (sottoinsieme del prodotto cartesiano).
Dominio
Insieme di valori indicato con D.
Prodotto cartesiano
È la correlazione tra 2 domini, D1 x D2.
Elementi del modello entità-relazionale
- Tabella: presenta un nome univoco nella base dati, uno schema (con attributi) e un’istanza (insieme delle righe contenute in essa in un det. Istante).
- Chiave primaria: è un sotto-insieme non vuoto degli attributi. Caratterizza le righe delle istanze, non può avere valore nullo.
- Vincoli (constraints): sono delle condizioni logiche che devono valere per ogni riga. NULL: deve essere nullo. NOT NULL: non deve essere nullo.
- Indici: è una struttura dati ausiliaria gestita direttamente dal DBMS. Il suo scopo è quello di trovare velocemente le righe che contengono un certo valore. Sono di 2 tipi Duplicati (possono esserci righe uguali) e Senza Duplicati (non ci possono essere righe uguali).
- Chiavi potenziali e secondarie: insieme di attributi che potrebbe identificare le righe della tabella, tra tutte una diventa chiave primaria mentre le altre diventano secondarie. Queste ultime sono gestite con gli indici senza duplicati.
- Valore nullo: si intende l’assenza del valore.
- Vincolo di integrità referenziale: è l’unico che mette in correlazione due tabelle.
Interrogazioni in algebra relazionale (query)
Interrogazione dei dati (to query): attività che si occupa di estrarre i dati dalla base di dati. Il DBMS deve fornire un linguaggio per interrogare i dati:
- DDL: Data Definition Language, consente di definire i dati (crea le tabelle).
- DML: Data Manipulation Language, consente di manipolare i dati (query vere e proprie).
Algebra relazionale: linguaggio definito a livello teorico, fornisce i concetti base.
SQL