La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi.

Presentazioni simili


Presentazione sul tema: "SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi."— Transcript della presentazione:

1 SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi di dati MODULO DIDATTICO: I DATABASE Docente: Prof. Cantone

2 Prerequisiti 1. Nozioni di entità, attributo, chiave, associazione 2. Il modello E/R e le regole di derivazione del modello logico 3. Le principali tecniche per la documentazione efficace dellanalisi di un problema Gli studenti devono conoscere:

3 Competenze 1.Rilevare i limiti dellorganizzazione non integrata degli archivi 2.Comprendere i concetti e le tecniche per la progettazione di basi di dati 3.Applicare correttamente le tecniche di derivazione delle tabelle del modello relazionale a partire dal modello E/R 4.Conoscere i concetti fondamentali del modello relazionale 5.Saper applicare le principali operazioni sulle tabelle

4 1.Modelli per database 2.Differenze tra i modelli 3.Modello relazionale 4.Operazioni relazionali Contenuti

5 Metodologie Lezione frontale Lezione dialogata Brainstorming

6 Spazi Aula Laboratorio

7 Strumenti Libro di testo Computer Proiettore Dispense e appunti

8 Colloqui individuali Interventi di vario genere Questionari e Test Prove in laboratorio Periodiche e costanti, tese sia alla valutazione globale del percorso formativo che ad una sua parte. Vengono usate diverse tipologie: Verifiche

9 Di tipo formativo (in relazione allapplicazione, allimpegno, allattenzione, al metodo di lavoro dimostrato da ogni studente durante lattività didattica) La valutazione sarà di due tipi: Di tipo sommativo (ricavata dalla misurazione delle varie prove), in cui gli studenti dovranno dimostrare di: avere acquisito conoscenze e informazioni circa i contenuti avere maturato abilità e competenze specifiche alla disciplina Valutazione

10 LezioneLaboratorioVerificaRecupero e/o Potenziamento 20 ore0 ore4 ore6 ore Tempi

11 Cominciamo…

12 Le basi di dati 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 lobiettivo di raggiungere una grande efficienza nel trattamento e nel ritrovamento dei dati. Il database è una collezione di archivi di dati ben organizzati e ben strutturati, in modo che possano costituire una base di lavoro per utenti diversi con programmi diversi. Es: i dati relativi agli articoli del magazzino di unazienda possono essere utilizzati dal programma che stampa le fatture e dal programma che stampa i listini di magazzino. ARTICOLI FATTURE LISTINI

13 Efficienza e produttività di unorganizzazione di archivi: possibilità di ritrovare facilmente le informazioni desiderate (anche attraverso criteri di ricerca diversi) in termini di velocità nellelaborazione, 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 dellazienda. 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

14 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

15 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 unazienda 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 dellintestatario, lindirizzo, il codice della filiale e la descrizione della filiale. I/V

16 Le informazioni vengono organizzate in un archivio i cui record hanno il seguente tracciato: NUMCONTONOMEINDIRIZZOCODFILIALEDESCRIZ NUMCODICEDESCRIZCITTADATAIMPORTOCAUSALE 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 lapproccio tradizionale II/V

17 Quando si vogliono associare tra loro i dati contenuti nei due archivi possono nascere problemi di questo tipo: Limiti degli archivi convenzionali NUMCONTONOMEINDIRIZZOCODFILIALEDESCRIZ NUMCODICEDESCRIZCITTADATAIMPORTOCAUSALE i 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 lintestatario del conto); lo stesso dato viene rappresentato in formati diversi (Indirizzo nel primo tracciato e Città nel secondo); III/V

18 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 NUMCONTONOMEINDIRIZZOCODFILIALEDESCRIZ NUMCODICEDESCRIZCITTADATAIMPORTOCAUSALE 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 nellaltro). III/V

19 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

20 Individuare con precisione quali sono gli elementi che caratterizzano lapplicazione. Associamo a ciascuno di essi un archivio, il cui tracciato contiene i campi che individuano lelemento e una chiave (tipicamente un codice). La chiave identifica univocamente il record allinterno dellarchivio 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

21 NUMCONTONOMEINDIRIZZOCITTAFILIALE NUMMOVDATAIMPORTOCAUSALECODICE CODFILIALEDESCRIZ 520 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

22 La teoria dei database introduce una nuova metodologia di organizzazione degli archivi di dati, con lobiettivo 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

23 facilità di accesso: il ritrovamento dei dati è facilitato e svolto con 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

24 Il database è un modello della realtà considerata. I modelli per il database I contenuti della base di dati rappresentano gli stati in cui si trova la realtà da modellare. I cambiamenti che vengono apportati alla base di dati rappresentano gli eventi che avvengono nellambiente in cui opera lazienda. Luso dei dati organizzati in un database presuppone un attento lavoro di progettazione iniziale, che viene fatto con riferimento ai dati che si vogliono memorizzare e successivamente elaborare. CONTENUTI DEL DBSTATI DELLA REALTA CAMBIAMENTI NEL DBEVENTI NELLA REALTA I/II

25 Novità rispetto allorganizzazione convenzionale degli archivi: Il progetto è indipendente: dal computer, dai supporti fisici destinati a contenere le informazioni dalle caratteristiche del DBMS. I modelli per il database Ciò consente alla base di dati di evolvere nel tempo insieme alla realtà aziendale per la quale è stata progettata, con il crescere delle esigenze degli utenti e della necessità di informazioni. A partire dallo schema concettuale entità/associazioni, un database può essere progettato e realizzato passando al modello logico, cioè alle strutture che consentono di organizzare i dati per consentire le operazioni di manipolazione e di interrogazione. II/II

26 La soluzione più semplice consiste nel costruire un database con una struttura di dati formata da un unico file. Questa struttura, detta flat file, è adatta solo per basi di dati estremamente semplici. Una struttura flat file non è efficiente per la maggior parte delle applicazioni gestionali. Flat file Nello sviluppo della teoria dei database sono emersi principalmente tre tipi diversi di modelli per le basi di dati: 1.Modello gerarchico 2.Modello reticolare 3.Modello relazionale

27 E particolarmente adatto per rappresentare situazioni nelle quali è possibile fornire ai dati una struttura nella quale ci sono entità che stanno in alto ed entità che stanno in basso, secondo uno schema ad albero, nel quale i nodi rappresentano le entità e gli archi rappresentano le associazioni. Modello gerarchico Struttura di dati gerarchica: insieme ordinato di alberi. Un tipo di albero nel database gerarchico è formato da un unico record radice e da un insieme ordinato di sottoalberi di livello inferiore. Un sottoalbero a sua volta consiste in un singolo record (radice del sottoalbero) e da un insieme di sottoalberi e così via.

28 AGENTE CLIENTE ORDINE RIGA ARTICOLO Modello che rappresenta le aree di interesse per unazienda che vende tramite agenti, i quali hanno i clienti e gli ordini ricevuti. Ogni ordine è composto da una o più righe che fanno riferimento ai prodotti venduti. Lalbero ha come radice il record Agente, il quale a sua volta ha due sottoalberi con la radice in Cliente e Ordine. Entrambi hanno sottoalberi di livello più basso con le righe dellordine e gli articoli delle righe. Modello gerarchico: esempio

29 Il modello gerarchico è particolarmente adatto a rappresentare le associazioni 1:N (uno a molti). Presenta dei limiti, soprattutto nella rigidità della struttura di dati creata (talvolta non riesce ad evitare la ridondanza dei dati). Modello gerarchico

30 Nel modello reticolare le entità rappresentano i nodi e le associazioni rappresentano gli archi di uno schema a grafo orientato: si tratta di una estensione del modello di albero gerarchico (sono consentite anche associazioni tra entità che stanno in basso, e non solo dallalto verso il basso). Modello reticolare Un database reticolare consiste di due insiemi di dati: un insieme di record un insieme di legami I tipi record sono fatti di campi tra i quali ci deve essere anche un campo chiave, mentre i legami sono realizzati memorizzando le coppie di chiavi delle entità associate.

31 Non esiste una gerarchia predefinita tra le entità. Un record figlio può avere un numero qualsiasi di padri: in questo modo vengono evitate situazioni di ripetizione di dati uguali. AGENTE CLIENTEORDINE RIGA ARTICOLO CACC CACO CR CA CCCO La gestione delle informazioni è più complessa (in quanto deve essere utilizzata una struttura a grafo). Un database costruito secondo il modello reticolare può produrre prestazioni più elevate. Modello reticolare: esempio

32 AGENTECLIENTE ORDINIRIGHEARTICOLI 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

33 Confronto tra i modelli 1.I modelli gerarchico e reticolare sono diventati obsoleti per il mercato e per la ricerca, che sono orientati verso il modello relazionale negli anni più recenti. 2.I primi due modelli furono definiti attraverso un processo di astrazione da sistemi già implementati, mentre il modello relazionale è stato definito a livello teorico prima di qualsiasi implementazione sul computer. 3.Le operazioni sui database gerarchici e reticolari sono complesse, agiscono su singoli record e non su gruppi di record.

34 Database orientati agli oggetti (OODB, Object Oriented DataBase): gestiscono oggetti e classi. utilizzano concetti tipici della programmazione ad oggetti (es. metodo, ereditarietà); accettano sottoclassi di oggetti; ogni oggetto ha una propria identità. Favoriscono lavvicinamento tra programmi applicativi e DB, perché permettono di usare tipi di dati definiti dallutente e di associare ai dati routine di codice che rappresentano le modalità di accesso ai dati: viene applicato il concetto di oggetto al DB. Consente di utilizzare tecnologie più avanzate insieme alle prestazioni tipiche dei linguaggi utilizzati nella programmazione ad oggetti, come il C++. I database orientati agli oggetti

35 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 A 1, A 2,…, A n, si dice relazione un sottoinsieme dellinsieme di tutte le n-uple a 1, a 2, …, a n che si possono costruire prendendo nellordine un elemento a 1 dal primo insieme A 1, a 2 dal secondo insieme A 2, e così via. Definizione matematica n = grado della relazione A i = dominio i-esimo della relazione a 1, … a n = tupla Linsieme delle tuple si chiama cardinalità della relazione. I/III

36 a1a1 a2a2 ……… anan tupla grado cardinalità A1A1 A2A2 ANAN ……… Domini Modello relazionale: concetti di base La relazione (collezione di tuple) è unentità, ogni tupla è unistanza dellentità, le colonne sono gli attributi dellentità, il dominio è linsieme 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

37 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 lattributo (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

38 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.

39 Integrità sullentità 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.

40 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 unentità diventa un attributo della relazione; 3.ogni attributo della relazione eredita le caratteristiche dellattributo dellentità da cui deriva; 4.lidentificatore univoco di unentità diventa la chiave primaria della relazione derivata; 5.lassociazione uno a uno diventa ununica relazione, che contiene gli attributi della prima e della seconda entità; 6.nellassociazione uno a molti, lidentificatore univoco dellentità di partenza diventa chiave esterna (foreign key) dellentità di arrivo associata; 7.lassociazione con grado molti a molti diventa una nuova relazione, composta dagli identificatori univoci delle due entità e dagli eventuali attributi dellassociazione.

41 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

42 La selezione genera una nuova relazione costituita solo dalle n- uple della relazione di partenza che soddisfano una determinata condizione: vengono selezionate le righe con i valori degli attributi corrispondenti alla condizione prefissata. La relazione ottenuta possiede tutte le colonne della relazione di partenza e quindi ha lo stesso grado; la cardinalità della nuova relazione può essere minore o uguale alla tabella di partenza (solitamente è minore). Selezione

43 Se si vuole l'elenco dei clienti della provincia di Milano, si effettua sulla relazione Clienti una selezione per Provincia =MI estraendo dalla tabella tutte le righe che hanno quel valore per l'attributo provincia, ottenendo così una nuova tabella. Selezione: esempio

44 Proiezione La relazione risultante ha grado minore o uguale al grado della relazione di partenza; la cardinalità è uguale a quella di partenza. La proiezione genera una nuova relazione estraendo dalla tabella iniziale due o più colonne corrispondenti agli attributi prefissati. La tabella ottenuta potrebbe avere più righe uguali: in questo caso occorre richiedere che ne venga conservata solo una.

45 Proiezione: esempio Se si vuole l'elenco dei codici di attività dei clienti con i relativi codici degli agenti, occorre applicare alla relazione Clienti loperazione di proiezione secondo gli attributi CodiceAttività e CodiceAgente.

46 a1a1 b1b1 a2a2 b2b2 a3a3 b3b3 b1b1 c1c1 b2b2 c2c2 b3b3 c3c3 a1a1 b1b1 c1c1 a2a2 b2b2 c2c2 a3a3 b3b3 c3c3 Congiunzione La congiunzione (join) serve a combinare due relazioni aventi uno o più attributi in comune, generando una nuova relazione contenente le righe della prima e della seconda tabella, che possono essere combinate secondo i valori uguali dellattributo comune. Il grado della relazione generata è uguale a N 1 +N 2 –1, dove N 1 e N 2 sono i gradi delle relazioni di partenza; la cardinalità non è prevedibile a priori. I/III

47 Congiunzione: esempio Lelenco dei clienti e dei relativi agenti si ottiene applicando loperazione di congiunzione tra la relazione Clienti e la relazione Agenti secondo lattributo comune CodiceAgente.

48 Combinazioni di operazioni Gli operatori possono essere applicati alle tabelle anche in successione, combinandoli tra loro in vario modo. Vengono così effettuate interrogazioni sulle relazioni ottenute come risultato di uninterrogazione precedente. Occorre applicare la seguente sequenza di operazioni: Selezione di Clienti per CodiceAttività = 3109 Congiunzione della relazione ottenuta su CodiceAgente e di Agenti su CodiceAgente Proiezione della relazione ottenuta su RagioneSociale, NomeAgente Ottenere lelenco delle ragioni sociali e degli agenti per i clienti che hanno il codice di attività pari a Quesito

49 Operazioni tra tabelle con struttura omogenea Due tabelle hanno struttura omogenea se hanno colonne con lo stesso numero di attributi, dello stesso tipo e nello stesso ordine. In questo caso si possono applicare le usuali operazioni sugli insiemi. Unione Genera una nuova tabella che contiene le righe della prima e della seconda tabella con riduzione a una di quelle ripetute.

50 Operazioni tra tabelle con struttura omogenea Intersezione Genera, a partire da due tabelle omogenee, una nuova tabella che contiene soltanto le righe comuni. Differenza Genera una nuova tabella che contiene soltanto le righe della prima tabella che non sono contenute nella seconda.

51 Fine


Scaricare ppt "SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi."

Presentazioni simili


Annunci Google