Master in Evidence-Based Practice e Metodologia della Ricerca Clinico Assistenziale Mita Parenti Introduzione ai Database Relazionali Obiettivo e Struttura del corso Comprendere i concetti e gli aspetti procedurali di base per la gestione e la creazione di database relazionali. Il corso si svolge in aula informatica. Gli studenti hanno l’opportunità di applicare le informazioni teoriche seguendo esempi pratici proposti dal docente. Gli esempi pratici hanno la finalità di rendere tangibili e comprensibili gli argomenti del programma e sviluppare abilità di ragionamento individuale. Programma della Giornata o Struttura e Funzionamento di una Base di Dati o L’Interfaccia Grafica di Access o La Creazione di Tabelle (Esercitazione) o Relazioni tra Tabelle (Esercitazione) o Creazione Maschera Guidata Struttura e Funzionamento di una Base di Dati Definizione o Database (Base di Dati) Insieme di informazioni correlate tra loro che fanno riferimento allo stesso argomento e che hanno il medesimo scopo. Esempi Vocabolario Rubrica Telefonica Raccolta Musicale Caratteristiche di un DB o Ricerca di Informazioni Facile e Veloce o Omogeneità di Informazioni (medesima natura e scopo) o Ampio Contenuto di Informazioni o Riordino/Recupero semplice e rapido di Informazioni Le Informazioni Il Dato è L’Unità Base dell’Informazione La rubrica telefonica Indice Pagina (Tabella) Righe (Record) Tabelle Colonna (Campo) Dal Database al Database Relazionale o 2 Categorie n Database non Relazionali Struttura semplice, non permette procedure avanzate, simile a schedari/tabelle del tutto indipendenti tra loro, la modifica di un dato non ha alcuna influenza sui dati inseriti negli altri schedari/tabelle. Dal Database al Database Relazionale o 2 Categorie n Database Relazionali Evoluzione del concetto di database. La loro struttura è basata sulla relazione che altro non è che una chiave di collegamento tra tabelle distinte. n Regole dell’integrità referenziale L’interfaccia grafica di Access Primo approccio o Avvio del programma (riquadro delle attività o nuovo file) o Opzioni A. creare un db vuoto B. creare un progetto o pagina C. aprire un db esistente o Salvare il database prima ancora di iniziare Descrizione Opzioni A. Si riferisce alla creazione di un database nuovo e vuoto B. Si riferisce a procedure più o meno guidate § Progetto - Procedura guidata di conversione di un db Access in un db SQL Server § Pagina - Procedura guidata per costruire un documento HTML da pubblicare su Web C. Si riferisce alla possibilità di aprire un database già esistente Area di Lavoro o Gli Oggetti Tabelle Query Maschere Report Pagine Macro Moduli Tabelle o Oggetto più importante è la base dei dati vera e propria o Nella tabella sono memorizzati i dati o Numero massimo di oggetti; 32768 o I dati contenuti in una tabella sono ripartiti in righe e colonne Query o Unità di gestione del DB. o Query = Interrogazione o L’Interrogazione del DB per ricavare informazioni si ottiene usando il linguaggio parlato dai motori del DB, SQL (Structured Query Language) o Per facilitare l’utente meno esperto l’interrogazione del DB avviene attraverso una semplice interfaccia grafica che traduce il linguaggio SQL nell’enunciato per il motore del DB. In questo modo la gestione dei dati è user friendly. o Altre funzioni diverse dall’interrogazione: aggiungere, modificare, eliminare, informazioni. Maschere o Interfaccia con l’utente per i dati o Interessate l’impiego di maschere perché nascondono la struttura dell’intero database o Mostrano o Modificano il contenuto di un DB o Visualizzazione a Monitor Report o Visualizza elenchi di dati estratti da una o più tabelle attraverso query. o Mostrano solo il contenuto del DB o Impaginazione dei dati per la stampa cartacea Pagine o Costruzione di una pagina web che utilizza il metalinguaggio XML per estrarre i dati dal DB o Ulteriore possibilità per interfacciare l’utente ai dati o Generazione di un file HTML Macro o Sequenza predefinita di comandi, eseguita automaticamente dall’applicazione per evitare che operazioni ripetitive manualmente dall’utente o Automatizzare le operazioni o VB (Visual Basic) siano eseguite Moduli o Oggetti programmati e integrati all’interno del DB o Potenziamento delle funzionalità di Access o Programmazione VBA (Visual Basic Application) o Esportabili in altre applicazioni La Creazione di Tabelle Progettare il database o Scopo dell’Archivio o Fruibilità o Utenti o Operazioni o Servizi Sulla base di queste informazioni elaborare degli schemi, definire l’architettura, numero di tabelle e le correlazioni tra esse La struttura della tabella o I dati sono organizzati in Tabelle in una struttura a griglia o Ogni cella della griglia è detta “Campo” o I capi di un colonna sono destinati a contenere uno specifico tipo di dati perciò si dovranno definire le specifiche di campo e cioè il Formato o Le celle (campi) di una stessa riga formano un Record. Ogni informazione sarà conservata sottoforma di record di campi nel database Formato dati o Testo (Stringa Alfanumerica; max 255) o Memo (Stringa Alfanumerica; max 65535) o Numerico (Numerico) o Data/Ora (Data o Ora o Combinazioni) o Valuta o Contatore (Valori numerici univoci) o Si/No o Oggetto OLE (Elemento Esterno che può Essere Importato) o Collegamento Ipertestuale (Contenuto interpretato come link) o Ricerca Guidata (Caselle di testo Combinate) (Valori Monetari) (Valori di tipo Boleano es vero/falso; on/off) Chiave Primaria o La chiave primaria di una tabella è un importante campo che identifica univocamente il record indicizzandolo o Questa specifica è fondamentale se dobbiamo mettere in relazione due o più tabelle o Chiave primaria può essere qualsiasi campo della tabella purchè non sia destinato a contenere valori duplicati o Di norma è il campo contatore, ma è anche possibile utilizzare altri dati adatti allo scopo Visualizzazione dati o Modalità Struttura Mostra come sono organizzati i dati e quindi la struttura fisica dando informazioni sul formato e sulle impostazioni relative ad ogni campo o Modalità Foglio Dati Mostra i dati memorizzati nella tabella organizzandoli come se fosse un foglio elettronico Creare una tabella o Creare una tabella in visualizzazione di struttura o Creare una tabella mediante una creazione guidata o Creare una tabelle mediante immissione dati Esercitazione Relazioni tra Tabelle Il modello relazionale o Il modello relazionale, elabora la struttura fisica del database come un insieme di tabelle, apparentemente distinte, ma in realtà strettamente connesse. La rappresentazione grafica di questo modello propone dei ponti di collegamento fra le tabelle per mezzo di campi (Chiavi primarie) fra i quali si instaura una relazione. Proprietà delle relazioni o I dati non sono uno indipendente dall’altro ma fanno parte di un unico insieme organico o Le informazioni possono essere archiviate in modo intelligente limitando le registrazioni (riduzione dello spazio fisico occupato) o Le informazioni possono essere estrapolate in tabelle dinamiche o Una operazione eseguita su una tabella si ripercuote a catena sulle altre Creazione di una relazione o Definire nella struttura della tabella una chiave esterna che dovrà contenere valori presenti in una colonna (generalmente chiave primaria) della tabella “genitore”. 3 Tipi di relazione o Uno a Molti (1-•) Relazione che mette in rapporto le informazioni di due tabelle secondo uno schema gerarchico genitore-figlio. Per generarla è necessario che la tabella genitore abbia una chiave primaria (campo univoco) e la tabella figlio abbia una chiave esterna (campo indice con duplicati ammessi) dello stesso formato. 3 Tipi di relazione o Uno a Uno (1-1) Relazione che mette in rapporto le informazioni di due tabelle secondo una relazione biunivoca. Ad ogni record di una tabella può corrispondere un solo record di quella correlata. Per generarla è necessario che entrambe le tabelle dispongano di una chiave primaria (campo univoco) e dello stesso formato. 3 Tipi di relazione o Molti a Molti (•- •) Si tratta in realtà di una relazione fittizia. Apparentemente ad un record di una tabella possono corrispondere molti record di un’altra tabella e viceversa, in realtà questa relazione è costituita da una tabella di collegamento correlata alle tabelle principali per mezzo di due relazioni uno a molti. Esercitazione Uno a Molti (1-•) o T_Ordini o T_Clienti Id_Ordini (Contatore) Id_Clienti* (Numerico) Id_Clienti (Numerico)* Cognome (Testo) Materiale (Tendina) Nome (Testo) Quantità Indirizzo (Testo) Città (Testo) Telefono (Numerico) e-mail (Coll.Ipertes) Prezzo (Numerico) Uno a UNO (1-1) o T_Quadri Id_Quadro o T_Cornici (Contatore) Id_Cornici* (Numerico) Titolo_Quadr (Numerico) Materiale (Tendina) Autore Colore (Tendina) Spessore (Numerico) (Tendina) Num Cornice (Numerico)* Uno a UNO (•- •) o T_Persone Fisiche Id_Persone (Contatore)* Cognome (Testo) Nome (Testo) o T_Proprietari Id_Immobili (Numerico)* o T_Immobili Id_Immobile (Contatore)* Indirizzo (Testo) Citta (Tendina) Prezzo (Valuta) Id_Persone (Numerico)* Esercitazioni Individuale Creazione di Tabelle Creazione di Relazioni tra Tabelle Creazione Maschera Guidata Esercitazione