Corso di laurea di I livello in Tecnico di laboratorio biomedico Elaborazione delle Informazioni a.a. 2007-08 Prof Ing Gaetano La Rosa www.glrstudio.com Email info@glrstudio.com Prof Ing Gaetano La Rosa
Profilo professionale del TLB competenza informatica utile alla gestione dei sistemi informativi dei servizi, ed alla propria autoformazione; capacita’ nella gestione dei sistemi informativi ed informatici; capacità nella comunicazione con gli operatori professionali, con i fornitori e con gli utenti del servizio. Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Introduzione i DBMS sono una componente fondamentale del sistema informatico di una grande organizzazione Il sistema informatico è una componente fondamentale del sistema informativo Il sistema informativo è una componente fondamentale del sistema organizzativo Prof Ing Gaetano La Rosa
Sistema Organizzativo complesso delle strutture, delle regole e delle procedure che regolano lo svolgimento delle attività Esempio: banca – regolamento apertura c/c anagrafe – procedure per la registrazione delle nascite Prof Ing Gaetano La Rosa
Sistema Informativo (1) La parte del sistema organizzativo che presiede ai processi di: Raccolta conservazione utilizzo delle informazioni Es: banca – registrazione prelievi su c/c, emissione estratto conto anagrafe – registrazione nascita, emiss. certificato di nascita Prof Ing Gaetano La Rosa
Sistema Informativo (2) Ogni organizzazione ha un sistema informativo Quasi sempre, il sistema informativo è di supporto ad altri sottosistemi e va quindi analizzato nel contesto in cui è inserito Il sistema informativo è in genere suddiviso in sottosistemi più o meno integrati. Prof Ing Gaetano La Rosa
Le risorse di una organizzazione persone denaro strutture, strumenti, materiali informazioni Funzioni di un sistema informativo acquisizione delle informazioni conservazione delle informazioni elaborazione delle informazioni distribuzione, scambio di informazioni Prof Ing Gaetano La Rosa
Sistemi informativi e Automazione Il concetto di “sistema informativo” è indipendente da quello di automazione: Esistono organizzazioni la cui ragion d’essere è la gestione d’informazioni (p.e. servizi anagrafici e banche) altri che invece lo utilizzano come parte essenziale del sistema complessivo In ‘sistemi di elaborazione’ siamo maggiormente interessati ai sistemi informativi automatizzati; Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Sistema Informatico La porzione informatizzata del sistema informativo; Collezione di applicazioni che gestiscono i dati e i flussi informativi; In pratica, in molti casi: sistema informativo = sistema informatico Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Sistema Informatico Struttura a livelli Organizzazione complessa (es: azienda) Sistema organizzativo Sistema informativo Sistema informatico DBMS obiettivo dei DBMS: il trattamento dei dati per ottenere informazioni Prof Ing Gaetano La Rosa
Gestione delle informazioni Nelle attività umane, le informazioni vengono gestite (registrate e scambiate) in forme diverse: Idee informali Linguaggio naturale Disegni, grafici, schemi Numeri e codici e su vari supporti Memoria umana, carta, dispositivi elettronici. Prof Ing Gaetano La Rosa
Gestione delle informazioni Nei sistemi informatici, le informazioni vengono rappresentate attraverso i dati Informazione: notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere. Dato: ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; in informatica elementi di informazione costituiti da simboli che debbono essere elaborati. Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Dati e Informazioni I dati devono essere interpretati per diventare informazioni (processo di conoscenza) Esempio: 1 3 10 12 17 20 21 30 Risultati del Totogol concorso n° x del gg/mm/aaaa 1 3 10 12 17 20 21 30 Quote 8pt: € 215.594,00 Prof Ing Gaetano La Rosa
Architettura Tradizionale dei S. I. Applicazioni e file assenza di integrazione ridondanza Applicazione n.1 Es: dati nascite Disco Applicazione n.2 Es: certif. elettorali File A File B File C Applicazione n.3 Es: erogazione contr. Prof Ing Gaetano La Rosa
Architettura Moderna dei S.I. Architettura basata su DBMS Appl. n.1 integrazione efficienza DBMS (servizi) Appl. n.2 Base di Dati (dati) Prof Ing Gaetano La Rosa
DataBase Management System DBMS (1) Sistema software in grado di gestire collezioni di dati che siano (anche): grandi (di dimensioni (molto) maggiori della memoria centrale dei sistemi di calcolo utilizzati) persistenti (con un periodo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano) condivise (utilizzate da applicazioni e utenti diversi) Prof Ing Gaetano La Rosa
DataBase Management System DBMS (2) Esso garantisce: affidabilità: resistenza a malfunzionamenti hardware e software; recupero dei dati in caso di guasti Esempio: in caso di malfunzionamento (alimentazione, rottura del disco) i dati devono poter essere recuperati Privatezza e sicurezza: controllo degli accessi; meccanismi di protezione dell’accesso meccanismi di autorizzazione Esempio: l’accesso ai dati è protetto agli utenti non autorizzati; gli utenti autorizzati hanno diversi livelli di autorizzazione Prof Ing Gaetano La Rosa
DataBase Management System DBMS (3) efficienza: utilizzo efficiente delle risorse di spazio e tempo del sistema; efficacia: rendere produttive le attività dei suoi utilizzatori. centralizzazione dei servizi miglioramento della produttività semplicità della scrittura di applicazioni Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Figure Coinvolte utenti finali applicazioni programmatori applicativi utenti casuali amministratori DBMS Base di Dati Prof Ing Gaetano La Rosa
Operazioni effettuabili su un DB immissione e cancellazione di dati, modifica di dati già introdotti, ricerca di dati attraverso criteri definiti dall'utente ordinamento e classificazione dei dati stampa di rapporti o relazioni. Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Tipi di Database Database gerarchici Database reticolari Database ad oggetti Database relazionali Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Database gerarchici Sviluppati negli anni ’60, ma ancora utilizzati ai giorni nostri Sono basati su strutture ad albero Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Database reticolari Sviluppati all’inizio degli anni ’70 Detti anche CODASYL o a rete; sono basati sull’uso di grafi e sono stati sviluppati successivamente al modello gerarchico Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Database ad oggetti Sono un’evoluzione del modello relazionale. Sviluppati negli anni ’80 estendono ai database il paradigma della programmazione ad oggetti Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Database relazionali Non solo sono i più utilizzati, ma sono anche i più semplici perché si appoggiano ad un modo di rappresentate i dati a noi familiare: le tabelle Oggi i principali database in circolazione sono di tipo relazionale, e questo perché praticamente tutti gli insiemi di dati che corrispondono a entità complesse organizzate come imprese, scuole, associazioni,… implicano collegamenti tra i vari dati: ai fornitori sono collegate le merci, agli alunni i corsi, ai corsi i professori, e così via. Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Esempi di DBMS Commerciali, fascia alta IBM DB2 Oracle Microsoft SQL Server Sybase Informix Commerciali, fascia bassa Microsoft Access FileMaker Open Source MySQL (www.mysql.com) PostgreSQL (www.postgresql.org) Prof Ing Gaetano La Rosa
S.I. :sistema informativo Studio di fattibilità Raccolta e analisi dei requisiti Progettazione Implementazione Validazione e collaudo Prof Ing Gaetano La Rosa
Progettazione del SI Studio di fattibilità Progettazione concettuale Raccolta e analisi dei requisiti Progettazione Progettazione logica Implementazione Progettazione fisica Validazione e collaudo Prof Ing Gaetano La Rosa
Progettazione del SI: basi di dati relazionali Modello relazionale Entity Relation model Prof Ing Gaetano La Rosa
Modello relazionale dei dati In un database relazionale i dati sono organizzati in tabelle La tabella rappresenta un oggetto base del sistema informativo Codice fiscale Cognome Nome Indirizzo BRTALL4567 Britti Alex Via Vasca 5 LPZJJJ5678 Lopez Jennifer Via Doria 22 DNNPPPghe456 Daniele Pino Via Napoli 97 FRLRSRwer78p Fiorello Rosario Via Augusta 28 Prof Ing Gaetano La Rosa
Una tabella è caratterizzata da: tante righe quante sono le possibili istanze o esemplari dell'oggetto tante colonne quanti sono gli attributi che caratterizzano l'oggetto da una chiave che e’ data dall’attributo (o attributi) che consentono di identificare in modo univoco un esemplare dell’oggetto (ovvero una riga della tabella) Campo chiave Codice fiscale Cognome Nome Indirizzo BRTALL4567 Britti Alex Via Vasca 5 LPZJJJ5678 Lopez Jennifer Via Doria 22 DNNPPPghe456 Daniele Pino Via Napoli 97 FRLRSRwer78p Fiorello Rosario Via Augusta 28 Prof Ing Gaetano La Rosa
Modello relazionale dei dati Una tabella si chiama anche relazione Si definisce Schema di una relazione il nome della relazione seguito dai nomi dei suoi attributi CITTADINO (CF, Cognome, Nome, Indirizzo) PAZIENTE(CF,Cognome, Nome, dataingresso) Si definisce Istanza di una relazione l’insieme delle sue righe Prof Ing Gaetano La Rosa
Modello relazionale dei dati Possiamo ora definire l’indipendenza logica offerta dai DBMS: E’ possibile modificare il modo in cui gli utenti esterni interagiscono con il database senza modificare lo schema logico dei dati, e viceversa. ES. Ad una particolare classe di utenti interessa accedere solo al cognome, nome ed indirizzo e non al CF. Codice fiscale Cognome Nome Indirizzo Relazione Cittadino BRTALL4567 Britti Alex Via Vasca 5 LPZJJJ5678 Lopez Jennifer Via Doria 22 DNNPPPghe456 Daniele Pino Via Napoli 97 FRLRSRwer78p Fiorello Rosario Via Augusta 28 Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Vista del database Si definisce “Vista del database” la descrizione di una parte di esso Vista Codice fiscale Cognome Nome Indirizzo BRTALL4567 Britti Alex Via Vasca 5 LPZJJJ5678 Lopez Jennifer Via Doria 22 DNNPPPghe456 Daniele Pino Via Napoli 97 FRLRSRwer78p Fiorello Rosario Via Augusta 28 Relazione Cittadino Prof Ing Gaetano La Rosa
Ricerca delle informazioni Codice fiscale Cognome Nome Indirizzo Nei database relazionali la ricerca delle informazioni avviene: Attingendo l’informazione da singole tabelle Navigando da una tabella all’altra mediante attributi comuni RSSPLL4567 Rossi Paolo Via Vasca 5 LPZJJJ5678 Lopez Jennifer Via Doria 22 RSSPPLghe456 Via Napoli 97 FRLRSRwer78p Fiorello Rosario Via Augusta 28 Telefono Cognome Nome Indirizzo Relazione Cittadino 0678-4567 Rossi Paolo Via Vasca 5 0945-34578 Lopez Jennifer Via Doria 22 0514-345790 Via Napoli 97 0987-12463 Fiorello Rosario Via Augusta 28 Relazione Abbonati Prof Ing Gaetano La Rosa
Modello logico e concettuale Modelli logici Usati dal DBMS per l’organizzazione dei dati Indipendenti dalla strutture fisiche Modelli concettuali Usati dai progettisti per rappresentare i dati in modo indipendente dal particolare DBMS Gerarchico Reticolare Relazionale Ad oggetti Entity-Relationship Model Prof Ing Gaetano La Rosa
Come si ricavano le tabelle? Immaginiamo che un collezionista di opere d’arte voglia realizzare una piccola base di dati che tenga traccia delle informazioni relative alle opere possedute. Incominciamo a modellare i requisiti di questa base di dati utilizzando l’entity-relationship model E/R (modello entità relazioni) Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Modello E/R Questo modello esprime che un pittore dipinge molti quadri, ma un quadro è dipinto da un solo pittore Analogamente, un quadro può essere esposto in una sola galleria (in un dato istante di tempo), e una galleria può esporre molti quadri dipinge 1 N Pittore Quadro N Entità relazione Esposto 1 Galleria Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Modello E/R Corrente recapito valore data Nome titolo dipinge 1 N Pittore Quadro ID Quadro N ID Pittore Nazionalità Esposto Aggiungiamo gli attributi di ogni entità Nome galleria 1 Indirizzo Galleria Contatto gallerista Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Modello E/R Corrente recapito valore data Nome titolo dipinge 1 N Pittore Quadro ID Quadro N ID Pittore Nazionalità Esposto Consideriamo la prima parte del modello Nome galleria 1 Indirizzo Galleria Contatto gallerista Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Modello E/R Nome pittore Recapito pittore Titolo opera Corrente valore Nazion. data Quadro ID Quadro Avremmo potuto pensare ad un’unica tabella, ad esempio quadro. Prof Ing Gaetano La Rosa
Modello E/R: esempio di progettazione ridondante ID Quadro Nome pittore Nazion. Corrente Recapito pittore Titolo opera data valore 11 raffaello it Rinasc. - Madonna ? 250.000 23 Dechirico surrealis Piazza 1972 150.000 43 Klee Ge Astratt Layers 1960 300.000 25 Corpora It Luce 1988 5.000 17 Folla 1974 25.000 32 Fontana Spazio 1985 15 Monet FR Impress. Ponti 1925 400.000 27 Incontro 1963 320.000 Prof Ing Gaetano La Rosa
Creare tabelle con ridondanze è uno svantaggio perché: Spreco di spazio Possibilità di introdurre errori nell’inserimento di nuovi dati, con conseguente perdita di informazione quando si effettuano interrogazioni nella base di dati Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Esempio: Nell’inserire la riga n. 5 scrivo “sureal” invece di “surreal” Se chiedo di fornire una lista dei pittori surrealisti di cui possiedo quadri, Dechirico sarà presente Ma se chiedo la lista di tutti i quadri surrealisti che possiedo, il quadro “Folla” non verrà restituito Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Quindi: Quando nell’entity model si è in presenza di una relazione 1-N, se costruiamo un’unica tabella contenente le due entità avremo gruppi ripetuti. La decisione se procedere a costruire due tabelle o meno dipende da quanti attributi occorre tenere conto per l’entità dal lato 1 della relazione Infatti, se nel nostro esempio bastasse ricordare solo il nome del pittore, sarebbe giusto costruire una sola tabella “Quadro”. Prof Ing Gaetano La Rosa
Dal modello concettuale al modello logico Corrente recapito valore data Nome titolo dipinge 1 N Pittore Quadro ID Quadro ID Pittore Nazionalità ID Pittore Per passare al modello logico è necessario eliminare la relazione “dipinge” ricopiando la chiave della tabella Pittore (ovvero dell’entità con cardinalità 1) fra gli attributi della tabella quadro. Questo manterrà il legame logico fra i dati e permetterà di accedere alle informazioni che ci occorrono anche se queste sono memorizzate in tabelle diverse Prof Ing Gaetano La Rosa
Dal modello concettuale al modello logico Corrente recapito valore data Nome titolo Chiave primaria Pittore Quadro ID Quadro ID Pittore Chiave esterna Nazionalità ID Pittore Questo il risultato Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Risultato ID Pittore Nome pittore Nazion. Corrente Recapito pittore 1 raffaello it Rinasc. - 2 Dechirico surrealis 3 Klee Ge Astratt 4 Corpora It 6 Fontana 7 Monet FR Impress. ID Quadro ID pittore Titolo opera data valore 11 1 Madonna ? 250.000 23 2 Piazza 1972 150.000 43 3 Layers 1960 300.000 25 4 Luce 1988 5.000 17 Folla 1974 25.000 32 6 Spazio 1985 15 7 Ponti 1925 400.000 27 Incontro 1963 320.000 Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Continuiamo… Corrente recapito valore data Nome titolo dipinge 1 N Pittore Quadro ID Quadro N ID Pittore Nazionalità Esposto Analogo ragionamento per l’altra parte dell’entity model. Nome galleria 1 Indirizzo Galleria Contatto gallerista Prof Ing Gaetano La Rosa
Eliminiamo la relazione 1-N Corrente recapito valore data Nome titolo dipinge 1 N Pittore Quadro ID Quadro N ID Pittore Nazionalità Esposto Copiamo la chiave della entità Galleria fra gli attributi dell’entità Quadro. Nome galleria 1 Indirizzo Galleria Contatto gallerista Prof Ing Gaetano La Rosa
Eliminiamo la relazione 1-N Corrente recapito valore data Nome titolo dipinge 1 N Pittore Quadro ID Quadro ID Pittore Nazionalità Nome galleria Alla fine la struttura risultante è…. Nome galleria Indirizzo Galleria Contatto gallerista Prof Ing Gaetano La Rosa
Struttura delle tabelle ID Quadro ID pittore Titolo opera data valore Id galleria 11 1 Madonna ? 250.000 - 23 2 Piazza 1972 150.000 43 3 Layers 1960 300.000 25 4 Luce 1988 5.000 17 Folla 1974 25.000 32 6 Spazio 1985 15 7 Ponti 1925 400.000 27 Incontro 1963 320.000 ID Pittore Nome pittore Nazion. Corrente Recapito pittore 1 raffaello it Rinasc. - 2 Dechirico surrealis 3 Klee Ge Astratt 4 Corpora It 6 Fontana 7 Monet FR Impress. ID Galleria Nome Indirizzo Gallerista 1 GIRALDI Firenze, via MArco 2 ARTECLUB Roma, via.. Enrico Prof Ing Gaetano La Rosa
Modello E/R relazione N-N Corrente recapito valore data Nome titolo dipinge 1 N Pittore Quadro ID Quadro N ID Pittore Nazionalità Esposto Data inizio Data fine esposizione Se siamo interessati a conoscere la storia delle esposizioni di ciascun quadro nelle gallerie la relazione Esposto si trasforma da 1-N a N-N Nome galleria N Indirizzo Galleria Contatto gallerista Prof Ing Gaetano La Rosa
Modello E/R relazione N-N valore In questo caso nasce una nuova tabella, che chiameremo “ESPOSIZIONE” La quale terrà conto delle nostre esigenze informative data titolo Quadro ID Quadro N Esposto Data inizio Data fine esposizione Nome galleria N Indirizzo Galleria Contatto gallerista Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Relazioni N -N Quadro ID Quadro Logicamente è come se la relazione N-N si trasformasse in due relazioni 1 –N Le relazioni si eliminano copiando le chiavi ID Quadro e ID Galleria fra gli attributi di esposizione 1 Si trova in N Data inizio Esposizione Data fine esposizione N organizza 1 Galleria Nome galleria Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Relazioni N -N Quadro ID Quadro questo il risultato ID Quadro Data inizio Esposizione Data fine esposizione Nome galleria Galleria Nome galleria Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Relazioni N -N Quadro ID Quadro Con questa struttura dati possiamo tenere traccia di tutte le volte che un particolare quadro è stato esposto ID Quadro Data inizio Esposizione Data fine esposizione Nome galleria Galleria Nome galleria Prof Ing Gaetano La Rosa
Il problema della chiave In genere le tabelle che nascono dalle relazioni N-N hanno come chiave la coppia delle chiavi importate. Nel nostro caso questo è vero se ammettiamo che ciascun quadro possa essere esposto solo una volta in una galleria Se ciò non è vero avremmo bisogno di 3 attributi per identificare univocamente l’esposizione ID Quadro Data inizio Esposizione Data fine esposizione Nome galleria ID Quadro Data inizio Esposizione Data fine esposizione Nome galleria Prof Ing Gaetano La Rosa
Il problema della chiave In pratica si preferisce aggiungere un ulteriore attributo che funge da chiave primaria. Ciò aumenta le prestazioni del database ID Quadro Data inizio Esposizione Data fine esposizione Nome galleria ID Esposizione Prof Ing Gaetano La Rosa
Modello E/R relazioni 1-1 telefono Indirizzo Inizio incarico telefono direttore dirige 1 1 Direzione Reparto Nome reparto Nome direttore Nome direttore Il criterio che si segue in questo caso è quello di copiare la chiave laddove essa è consultata più di frequente In genere si hanno due tabelle distinte se la relazione è opzionale Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Relazioni 1-1 telefono Indirizzo Inizio incarico telefono direttore dirige 1 1 Direzione Reparto Nome reparto Nome direttore Nome direttore Il criterio che si segue in questo caso è quello di copiare la chiave laddove essa è consultata più di frequente In genere si hanno due tabelle distinte se la relazione è opzionale Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Vincoli di integrità Esistono diverse classi di vincoli sulle tabelle I vincoli possono riguardare gli attributi e le chiavi Un tipo importante di vincolo è l’integrità referenziale: Le chiavi esterne in una tabella devono assumere o un valore nullo oppure un valore che coincide con un valore assunto dalla chiave primaria nella tabella collegata Prof Ing Gaetano La Rosa
Integrità referenziale l’integrità referenziale ha lo scopo di evitare che una chiave esterna assuma valori non validi In particolare si impedisce la cancellazione di una riga in una tabella se il valore della chiave primaria compare come chiave secondaria in un’altra tabella. Prof Ing Gaetano La Rosa
Integrità referenziale: esempio ID Pittore Nome pittore Nazion. Corrente Recapito pittore 1 raffaello it Rinasc. - 2 Dechirico surrealis 3 Klee Ge Astratt 4 Corpora It 6 Fontana 7 Monet FR Impress. ID Quadro ID pittore Titolo opera data valore Id galleria 11 1 Madonna ? 250.000 - 23 2 Piazza 1972 150.000 43 3 Layers 1960 300.000 25 4 Luce 1988 5.000 17 Folla 1974 25.000 32 6 Spazio 1985 15 7 Ponti 1925 400.000 27 Incontro 1963 320.000 Se cancello il rec 6 questo valore è invalido ! Prof Ing Gaetano La Rosa
Un esempio di DBMS: ACCESS Prof Ing Gaetano La Rosa
Gli elementi del DB Access Tabelle Maschere Query Report Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Tabelle in Access Access è un RDBMS Le informazioni sono raggruppate in tabelle Le tabelle sono rappresentate mediante griglie suddivise in righe e colonne: Le colonne sono composte da campi Le righe sono chiamate record La prima riga di una tabella è detta intestazione e contiene il nome dei campi Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Esempio di Tabella Cognome Nome Indirizzo Città Rossi Mario Via Tripoli, 12 Roma Verdi Antonio Piazza Mazzini Macerata Bianchi Paolo Via Liguria, 23 Ancona Moretti Luca Via Napoli, 56 Marconi Andrea Via Roma, 88 Rimini Intestazione Record Campo Prof Ing Gaetano La Rosa
Tabella: esempio con Access Si può quindi dire che una tabella è formata da: RECORD i quali sono costituiti da CAMPI Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Chiave primaria Definizione: La chiave primaria è un campo che identifica in modo univoco i record (righe) della tabella. Esempi: Un codice fiscale consente di identificare in modo univoco la persona: non esistono due codici fiscali identici Il numero di telefono è unico nella rubrica Il codice ISBN di un libro può essere utilizzato come chiave primaria Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Chiave primaria La chiave primaria è importante perché la regola fondamentale per stabilire relazioni tra tabelle è che il campo di collegamento non deve avere ripetizioni, ossia ogni record deve potere essere identificato in maniera univoca. Il campo che permette l'identificazione di ogni record è detto "chiave primaria" e deve essere comune alle tabelle che si intende correlare. Per ogni tabella deve essere indicato quale campo funge da chiave primaria. Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Le relazioni Oltre che memorizzare delle informazioni, un database è anche in grado di memorizzare le eventuali relazioni che possono esistere tra i dati. Molto spesso infatti un database non è formato da una sola serie di informazioni, anzi è probabile che il complesso informativo che viene gestito sia composto da diversi tipi di informazione collegati tra loro. Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Le relazioni Si possono stabilire tre tipi di relazione: uno a uno: si tratta di relazioni tra elementi che hanno una corrispondenza univoca: ad un elemento di una tabella ne corrisponde uno soltanto in un'altra e viceversa; uno a molti: sono relazioni che si stabiliscono tra un record di una tabella e più records di un'altra tabella, ma non il contrario; molti a molti: un record può essere relazionato a più di un record di un'altra tabella e viceversa; questo tipo di relazione è normalmente definita tramite una terza tabella che costituisce un "ponte" tra le due da relazionare. Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Le relazioni in Access Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Le maschere In una tabella i dati possono essere inseriti: considerando la tabella come se fosse un foglio tipo Excel oppure: utilizzando le maschere (di inserimento) Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Le maschere L’inserimento dei dati può essere facilitato con la creazione di maschere. Le maschere sono sono utili anche per la visualizzazione ordinata del contenuto delle tabelle. Nelle maschere si possono introdurre anche elementi grafici e i campi possono essere formattati secondo stili diversi. Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Le maschere: esempio Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa Le Query Una query è uno strumento che consente di effettuare interrogazioni sui contenuti delle tabelle e anche di eseguire specifiche azioni sui dati. Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa L’SQL E’ un linguaggio utilizzato per interagire con i database relazionali SQL = Structured Query Language (linguaggio di interrogazione strutturato) È universalmente accettato dai produttori di sistemi per database Microsoft Access, Microsoft SQL server Oracle IBM DB2 Può essere inglobato in linguaggi di programmazione tradizionali come C, C++, Java È in grado di effettuare le diverse operazioni per l’interazione con un database: interrogazione, inserimento di nuovi dati, modifica di dati esistenti, eliminazione di dati esistenti Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa I report I report consentono di visualizzare in anteprima o stampare i dati secondo uno specifico formato. Esempi: Etichette postali Elenchi Buste Lettere tipo Fatture Schede di libri Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa I report Un report consente di visualizzare i dati memorizzati in tabelle o query del DB Tale visualizzazione non ha lo scopo di consentire inserimenti o modifiche, ma di PRESENTARE i dati in un formato efficace su carta o su video Prof Ing Gaetano La Rosa
Prof Ing Gaetano La Rosa I report I report visualizzano efficacemente i risultati di una o più query o i dati di una o più tabelle Prof Ing Gaetano La Rosa