20
DATABASE Basi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle memorie di massa dei computer attraverso appositi software (DBMS), con l’obiettivo di raggiungere una grande efficienza nel trattamento e nella gestione dei dati. Il database è una collezione di archivi di dati ben organizzati e ben strutturati, in modo che possano costituire il supporto per utenti diversi e programmi diversi. Es: i dati relativi agli articoli del magazzino di un’azienda possono essere utilizzati dal programma che stampa le fatture e dal programma che stampa i listini di magazzino.

Basi di dati database - informottica.webnode.it · Basi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle

  • Upload
    vantram

  • View
    230

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Basi di dati database - informottica.webnode.it · Basi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle

DATABASE

Basi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle memorie di massa dei computer attraverso appositi software (DBMS), con l’obiettivo di raggiungere una grande efficienza nel trattamento e nella gestione dei dati. Il database è una collezione di archivi di dati ben organizzati e ben strutturati, in modo che possano costituire il supporto per utenti diversi e programmi diversi. Es: i dati relativi agli articoli del magazzino di un’azienda possono essere utilizzati dal programma che stampa le fatture e dal programma che stampa i listini di magazzino.

Page 2: Basi di dati database - informottica.webnode.it · Basi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle

Efficienza e produttività di un’organizzazione di archivi: possibilità di ritrovare facilmente le informazioni desiderate (anche attraverso criteri di ricerca diversi) in termini di velocità nell’elaborazione, di sicurezza dei dati e integrità delle registrazioni. Devono essere garantite: • Consistenza degli archivi: i dati in essi contenuti devono essere significativi ed essere effettivamente utilizzabili nelle applicazioni dell’azienda. • Sicurezza: impedire che il database venga danneggiato da interventi accidentali o non autorizzati. • Integrità: le operazioni effettuate sul database da utenti autorizzati non devono provocare perdita di consistenza ai dati.

Caratteristiche delle basi di dati

Page 3: Basi di dati database - informottica.webnode.it · Basi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle

DBMS (DataBase Management System): prodotti software per la gestione di database. Gli archivi che costituiscono la base di dati possono risiedere: • su un unico computer; • su computer diversi, facenti parte di una rete, i cui nodi possono anche essere fisicamente lontani (database distribuiti).

Gli utenti della base di dati distribuita: • elaborano localmente gli archivi che hanno a disposizione nel proprio sistema; • nello stesso tempo accedono in maniera remota a sistemi centrali attraverso le linee di comunicazione.

DBMS

Page 4: Basi di dati database - informottica.webnode.it · Basi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle

Le tecniche di gestione delle basi di dati nascono per superare i problemi e i limiti insiti nelle tradizionali organizzazioni degli archivi in modo non integrato.

Limiti degli archivi convenzionali

Si vogliono gestire i conti correnti di un’azienda bancaria appartenenti alle diverse filiali e i movimenti contabili che vengono effettuati sui conti. Nella sede centrale della banca si vogliono organizzare le informazioni riguardanti i conti delle filiali.

Esempio di applicazione pratica

Per ciascun conto occorre registrare il numero di conto, il nome dell’intestatario, l’indirizzo, il codice della filiale e la descrizione della filiale.

I/V

Page 5: Basi di dati database - informottica.webnode.it · Basi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle

Le informazioni vengono organizzate in un archivio i cui record hanno il seguente tracciato:

NUMCONTO NOME INDIRIZZO CODFILIALE DESCRIZ

9 40 30 5 20

NUMCODICE DESCRIZ CITTA DATA IMPORTO CAUSALE

9 40 20 8 10 3

Al contempo, nelle filiali bisogna registrare le informazioni sui movimenti effettuati sui conti: numero del conto, nome del correntista, città, data del movimento, importo e causale. Il record del file corrispondente possiede il seguente tracciato:

Limiti degli archivi convenzionali

Soluzione del problema con l’approccio tradizionale

II/V

Page 6: Basi di dati database - informottica.webnode.it · Basi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle

Quando si vogliono associare tra loro i dati contenuti nei due archivi possono nascere problemi di questo tipo:

Limiti degli archivi convenzionali

NUMCONTO NOME INDIRIZZO CODFILIALE DESCRIZ

9 40 30 5 20

NUMCODICE DESCRIZ CITTA DATA IMPORTO CAUSALE

9 40 20 8 10 3

• ci sono due campi con nomi diversi che rappresentano lo stesso dato (NumConto e NumCodice);

• ci sono due campi con lo stesso nome che rappresentano dati diversi (Descriz nel primo archivio rappresenta la filiale e nel secondo l’intestatario del conto);

• lo stesso dato viene rappresentato in formati diversi (Indirizzo nel primo tracciato e Città nel secondo);

III/V

Page 7: Basi di dati database - informottica.webnode.it · Basi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle

• c’è ridondanza di dati (la descrizione della filiale è ripetuta per ogni conto nel primo tracciato, il nome e la città del correntista vengono ripetuti per ogni movimento);

Limiti degli archivi convenzionali

NUMCONTO NOME INDIRIZZO CODFILIALE DESCRIZ

9 40 30 5 20

NUMCODICE DESCRIZ CITTA DATA IMPORTO CAUSALE

9 40 20 8 10 3

Quando si vogliono associare tra loro i dati contenuti nei due archivi possono nascere problemi di questo tipo:

• il fatto che gli stessi dati compaiano in due archivi diversi può causare anomalie in fase di aggiornamento e quindi problemi di inconsistenza (se il dato viene modificato in un archivio e non nell’altro).

III/V

Page 8: Basi di dati database - informottica.webnode.it · Basi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle

Tutto ciò deriva dal fatto che i dati sono organizzati in archivi diversi, in maniera non integrata.

Limiti degli archivi convenzionali

Quali sono le cause?

RIDONDANZA DEI DATI

(Gli stessi dati compaiono in maniera duplicata)

INCONGRUENZA

(se il dato viene aggiornato in un archivio

e non in un altro, oppure se sono presenti

valori diversi per lo stesso dato)

INCONSISTENZA DEI DATI

(i dati a disposizione non sono più affidabili, perché non si

sa in modo certo quale dei diversi valori sia quello corretto)

IV/V

Page 9: Basi di dati database - informottica.webnode.it · Basi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle

Individuare con precisione quali sono gli elementi che caratterizzano l’applicazione. Associamo a ciascuno di essi un archivio, il cui tracciato contiene i campi che individuano l’elemento e una chiave (tipicamente un codice). La chiave identifica univocamente il record all’interno dell’archivio e consente di stabilire legami con gli altri archivi.

Soluzione

• archivio delle filiali, con codice filiale e descrizione filiale; • archivio dei conti, con codice conto, nome del correntista, indirizzo, città, codice filiale di appartenenza; • archivio dei movimenti, con numero del movimento, data, importo, causale, codice del conto sul quale è stato effettuato il movimento.

Limiti degli archivi convenzionali

V/V

Page 10: Basi di dati database - informottica.webnode.it · Basi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle

NUMCONTO NOME INDIRIZZO CITTA FILIALE

9 40 30 20 5

NUMMOV DATA IMPORTO CAUSALE CODICE

6 8 10 3 9

CODFILIALE DESCRIZ

5 20

• archivio delle filiali, con codice filiale e descrizione filiale; • archivio dei conti, con codice conto, nome del correntista, indirizzo, città, codice filiale di appartenenza; • archivio dei movimenti, con numero del movimento, data, importo, causale, codice del conto sul quale è stato effettuato il movimento.

Limiti degli archivi convenzionali

V/V

Page 11: Basi di dati database - informottica.webnode.it · Basi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle

La teoria dei database introduce una nuova metodologia di organizzazione degli archivi di dati, con l’obiettivo di superare i limiti visti.

Caratteristiche fondamentali: • indipendenza dalla struttura fisica dei dati: i programmi applicativi sono indipendenti dai dati fisici; • indipendenza dalla struttura logica dei dati: i programmi applicativi sono indipendenti dalla struttura logica con cui i dati sono organizzati negli archivi; • utilizzo da parte di più utenti: i dati organizzati in un unico database possono essere utilizzati da più utenti con i loro programmi, consentendo anche una visione solo parziale del database da parte del singolo utente; • eliminazione della ridondanza: gli stessi dati non compaiono più volte in archivi diversi;

Archivi integrati

I/II

Page 12: Basi di dati database - informottica.webnode.it · Basi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle

• facilità di accesso: il ritrovamento dei dati è facilitato e svolto velocemente; • integrità dei dati: vengono previsti controlli per evitare anomalie ai dati causate dai programmi e dalle applicazioni degli utenti; • sicurezza dei dati: sono previste procedure di controllo per impedire accessi non autorizzati ai dati contenuti nel database e di protezione da guasti accidentali; • uso di linguaggi per la gestione del database: il database viene gestito attraverso comandi per la manipolazione dei dati in esso contenuti e comandi per effettuare interrogazioni alla base di dati, al fine di ottenere le informazioni desiderate.

Archivi integrati

II/II

Page 13: Basi di dati database - informottica.webnode.it · Basi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle

AGENTE CLIENTE

ORDINI RIGHE ARTICOLI

Rappresenta il database come un insieme di tabelle. E’ considerato attualmente il modello più semplice ed efficace, perché: • è più vicino al modo consueto di pensare i dati; • si adatta in modo naturale alla classificazione e alla strutturazione dei dati.

Modello relazionale

Page 14: Basi di dati database - informottica.webnode.it · Basi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle

Modello relazionale: concetti di base

Il modello relazionale si basa sul concetto matematico di relazione tra insiemi di oggetti.

Cos’è una relazione?

Dati n insiemi A1, A2,…, An, si dice relazione un sottoinsieme dell’insieme di tutte le n-uple a1, a2, …, an che si possono costruire prendendo nell’ordine un elemento a1 dal primo insieme A1, a2 dal secondo insieme A2, e così via.

Definizione matematica

n = grado della relazione Ai = dominio i-esimo della relazione a1, … an = tupla L’insieme delle tuple si chiama cardinalità della relazione.

I/III

Page 15: Basi di dati database - informottica.webnode.it · Basi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle

a1 a2 ……… an

tupla

grado

cardinalità

A1 A2 AN ……… Domini

Modello relazionale: concetti di base

La relazione (collezione di tuple) è un’entità, ogni tupla è un’istanza dell’entità, le colonne sono gli attributi dell’entità, il dominio è l’insieme dei possibili valori di un attributo.

La relazione è rappresentata con una tabella, avente tante colonne quanti sono i domini (grado) e tante righe quante sono le n-uple (cardinalità).

I nomi dei domini sono i nomi delle colonne, i valori che compaiono in una colonna sono omogenei tra loro (appartengono allo stesso dominio).

II/III

Page 16: Basi di dati database - informottica.webnode.it · Basi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle

CLIENTI

PAGAMENTI

FATTURE

RIGHE FATTURE

Modello relazionale: concetti di base La chiave della relazione è un attributo o una combinazione di attributi che identificano univocamente le tuple: ogni riga della tabella possiede valori diversi per l’attributo (o gli attributi) chiave.

Il modello relazionale di un database è un insieme di tabelle, sulle quali si possono effettuare operazioni e tra le quali possono essere stabilite delle associazioni.

III/III

Page 17: Basi di dati database - informottica.webnode.it · Basi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle

Modello relazionale: requisiti

a. tutte le righe della tabella contengono lo stesso numero di colonne;

b. gli attributi rappresentano informazioni elementari (atomiche), ovvero non scomponibili ulteriormente;

c. i valori assunti da un campo appartengono al dominio dei valori possibili per quel campo, ovvero sono omogenei tra loro;

d. in una relazione, ogni riga è diversa da tutte le altre, ovvero esiste un attributo o una combinazione di attributi che identificano univocamente la n-upla;

e. le n-uple compaiono nella tabella secondo un ordine non prefissato, ovvero non è rilevante il criterio con il quale le righe sono sistemate nella tabella.

Page 18: Basi di dati database - informottica.webnode.it · Basi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle

Integrità sull’entità

Ogni dato elementare contenuto nel modello relazionale deve essere accessibile attraverso la combinazione di: - nome della tabella, - nome e valore della chiave, - nome della colonna contenente il dato.

Nessuna componente della chiave primaria di una tabella può avere valore nullo.

Page 19: Basi di dati database - informottica.webnode.it · Basi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle

Le regole di derivazione del modello logico

Le tabelle vengono ricavate dal modello E/R applicando le regole di derivazione:

1. ogni entità diventa una relazione; 2. ogni attributo di un’entità diventa un attributo della relazione; 3. ogni attributo della relazione eredita le caratteristiche dell’attributo

dell’entità da cui deriva; 4. l’identificatore univoco di un’entità diventa la chiave primaria della

relazione derivata; 5. l’associazione uno a uno diventa un’unica relazione, che contiene gli

attributi della prima e della seconda entità; 6. nell’associazione uno a molti, l’identificatore univoco dell’entità di

partenza diventa chiave esterna (foreign key) dell’entità di arrivo associata;

7. l’associazione con grado molti a molti diventa una nuova relazione, composta dagli identificatori univoci delle due entità e dagli eventuali attributi dell’associazione.

Page 20: Basi di dati database - informottica.webnode.it · Basi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle

Operazioni relazionali

Agiscono su una relazione per ottenere una nuova relazione.

Effettuano le interrogazioni alle basi di dati per ottenere le informazioni desiderate, estraendo da una tabella una sottotabella o combinando tra loro due o più tabelle.

AGENTE CLIENTE Relativo a

Abbinato a

Codice

Agente

Nome

Agente

Indirizzo

Agente

Codice

Zona

AGENTI CLIENTI

Codice

Cliente

Ragione

Sociale

Codice

Attività

Partita

IVA

Indirizzo

Cliente

Codice

Agente