INFORMATICA

20
INFORMATICA Corso Base Modulo G: I DataBase Access

description

INFORMATICA. Corso Base. Modulo G : I DataBase  Access. Dal file al database. Alcuni problemi relativi all’uso dei file del tipo tradizionale sono legati alla rigidità della loro struttura, definita dal programmatore al momento della creazione. - PowerPoint PPT Presentation

Transcript of INFORMATICA

Page 1: INFORMATICA

INFORMATICA

Corso Base

Modulo G:

I DataBase Access

Page 2: INFORMATICA

Modulo G: I Database 2

Dal file al database

• Alcuni problemi relativi all’uso dei file del tipo tradizionale sono legati alla rigidità della loro struttura, definita dal programmatore al momento della creazione.

• Si è pensato di inserire tra il file e l’utente un software specifico per la gestione degli archivi, di facile uso anche per gli utenti inesperti, molto dinamico e flessibile. Questi tipi di programmi forniscono un’interfaccia tra l’utente finale e la struttura fisica dei file di dati, facendo in modo che l’utente utilizzi solo i dati necessari senza dover necessariamente conoscere come essi sono effettivamente organizzati sui dispositivi di memoria di massa.

Page 3: INFORMATICA

Modulo G: I Database 3

DataBase e DBMS

• Si chiama DataBase un insieme di informazioni (conservate su memoria di massa) correlate tra loro e alle quali più utenti contemporaneamente possono accedere, tramite programmi specifici, per compiere delle operazioni secondo una propria logica di lavoro.

• Definiamo DBMS (Data Base Management System) l’insieme dei programmi che consentono agli utenti (anche inesperti) la gestione di archivi, secondo un preciso linguaggio e modalità di lavoro semplici e intuitive.

Page 4: INFORMATICA

Modulo G: I Database 4

Struttura FISICA e LOGICA dei dati

Il DBMS realizza una separazione tra la struttura fisica e la struttura logica dei dati, organizzandoli su tre livelli:

Livello fisico: indica la struttura fisica dei file che costituiscono gli archivi, così come vengono memorizzati sul dispositivo di memoria di massa;

Livello concettuale: indica la struttura logica dei dati, cioè il modo in cui le informazioni contenute negli archivi vengono aggregate, indipendentemente dagli archivi fisici in cui esse sono inserite;

Livello logico: indica la porzione dei dati che in un certo istante è visibile a ogni utente.

Page 5: INFORMATICA

Modulo G: I Database 5

Modello di un DataBase

• Il modello di un DataBase è una mappa che riproduce in modo simbolico una realtà, contiene sia le entità che costituiscono i dati sia le reciproche relazioni che consentono di ottenere le informazioni di cui l’utente ha bisogno.

• A seconda della strategia di progettazione abbiamo:

– MODELLO GERARCHICO

– MODELLO RETICOLARE

– MODELLO RELAZIONALE

– MODELLO AD OGGETTI

Page 6: INFORMATICA

Modulo G: I Database 6

Modello Relazionale

• Un DataBase rappresentato mediante un modello relazionale, viene immaginato dall’utente come un insieme di tabelle bidimensionali correlate tra loro mediante dei valori in campi comuni.

• Nelle colonne delle tabelle avremo gli attributi (o campi) che indicano le caratteristiche del dato.

• Nelle righe avremo, invece, i record (le tuple) dei dati. Possiamo avere un numero arbitrario (ossia non predefinito) di tuple all’interno di una tabella.

Page 7: INFORMATICA

Modulo G: I Database 7

Modello Relazionale (cont.)

Nome Cognome IndirizzoCod-fiscale

Amici

Gloria Fantini Via Polafntglr145Nicola Rossi Via Romarssncl145

Telefono054497**054732**

Attributi

Tuple

Il numero e il nome delle colonne è fisso mentre il numero (e il contenuto) delle righe può variare in ogni momento

per effetto di inserimenti, modifiche e cancellazioni.

Page 8: INFORMATICA

Modulo G: I Database 8

Modello Relazionale (cont.)

• Ogni riga della tabella deve differenziarsi da tutte le altre per il valore di almeno uno degli attributi.

• Ogni riga della tabella deve essere identificabile univocamente. Solo così è possibile effettuare efficacemente operazioni di ricerca e manipolazione dei dati contenuti nel database.

• CAMPO CHIAVE: è un attributo o una combinazione di essi che identifica in modo univoco ogni singola riga della tabella.

Page 9: INFORMATICA

Modulo G: I Database 9

Nome Cognome IndirizzoCod-fiscale

Amici

Gloria Fantini Via Polafntglr145Nicola Rossi Via Romarssncl145

Telefono054497**054732**

Modello Relazionale (cont.)

Campo chiave: siamo sicuri che è diverso per ogni amico.

Page 10: INFORMATICA

Modulo G: I Database 10

Modello Relazionale (cont.)

• Il termine relazione indica il concetto di esistenza di un legame tra i dati, quindi una tabella costituisce una relazione in quanto contiene tutti i record che verificano in certo legame logico.

• Possiamo dire che nel modello relazionale tutte le relazioni tra i dati vengono espresse mediante tabelle.

Page 11: INFORMATICA

Modulo G: I Database 11

Le operazioni

• Il modello relazionale si basa su 3 operazioni elementari che hanno come operandi delle relazioni e restituiscono come risultato delle altre relazioni.

• Le operazioni sono:

– SELEZIONE– PROIEZIONE– JOIN

Page 12: INFORMATICA

Modulo G: I Database 12

SELEZIONE

• La selezione opera su una sola tabella. L’operando è una relazione, il risultato mantiene tutti gli attributi originali, ed è composta dalle sole righe che verificano la condizione indicata dall’istruzione.

Nome Cognome IndirizzoCod-fiscale

Amici

Gloria Fantini Via Polafntglr145Nicola Rossi Via Romarssncl145

Telefono054497**054732**

Page 13: INFORMATICA

Modulo G: I Database 13

PROIEZIONE

• Opera su una sola tabella. L’operando è una relazione e il risultato restituisce solo gli attributi indicati nell’istruzione e un numero di righe < o = a quello della relazione di partenza.

Nome Cognome IndirizzoCod-fiscale

Amici

Gloria Fantini Via Polafntglr145Nicola Rossi Via Romarssncl145

Telefono054497**054732**

Page 14: INFORMATICA

Modulo G: I Database 14

JOIN

• Opera su due relazioni aventi un attributo in comune e produce una sola relazione. Lo scopo di questa operazione è di combinare le tabelle di partenza in una nuova che conserva gli attributi di entrambe e impiega l’attributo comune come punto di congiunzione.

Page 15: INFORMATICA

Modulo G: I Database 15

Venditore Sede CittàCodice-V

Vendo

Gloria Milano1 Milano0123Nicola Genova1 Genova0128

IndirizzoSede Telefono

Indirizzo

Via PolaMilano1 8564Via SassoGenova1 0254Via VerdiGenova2 0254

Page 16: INFORMATICA

Modulo G: I Database 16

Venditore Sede CittàCodice-V

Combina

Gloria Milano1 Milano0123Nicola Genova1 Genova0128

Indirizzo TelefonoVia Pola 8564

Via Sasso 0254

Effettuiamo un’operazione di Join tra le due tabelle VENDO e INDIRIZZO tramite l’attributo SEDE. Il risultato è una nuova relazione, che chiamiamo Combina.

Page 17: INFORMATICA

Modulo G: I Database 17

Relazioni tra TABELLE

• Quando si decide di collegare tra loro due tabelle bisogna avere ben chiaro che tipo di collegamento realizzare. – Esempio: generalmente ogni cliente avrà un solo

indirizzo mentre potrà prenotare presso l’albergo più periodi di soggiorno.

• La tabella più importante si chiamerà tabella principale (ossia quella contenente i dati indispensabili all’elaborazione) e l’altra sarà la tabella secondaria.

Page 18: INFORMATICA

Modulo G: I Database 18

La cardinalità delle relazioni

• 1 a 1 ogni record della prima tabella corrisponde a un unico record della seconda

e viceversa • 1 a M ogni record della prima tabella

corrisponde a uno a più record della seconda, ma ogni record di quest’ultima corrisponde a un unico record della prima

• M a M ogni record della prima tabella corrisponde a più record della seconda e

viceversa.

Page 19: INFORMATICA

Modulo G: I Database 19

QUERY

• Per individuare e prelevare informazioni da una o più tabelle si utilizzano le QUERY: si tratta semplicemente di una richiesta effettuata al database per il ritrovamento di informazioni specifiche.

• Il linguaggio standard utilizzato per fare le interrogazioni si chiama SQL; in Access è possibile definire semplici query anche in modo visuale.

Page 20: INFORMATICA

Modulo G: I Database 20

Integrità referenziale

• E’ un insieme di regole che controllano le modalità di inserimento, modifica, eliminazione dei dati sia dalla tabella principale sia dalla tabella secondaria per far si che i dati continuino ad essere consistenti con lo schema predefinito del database.