Implementare un modello di dati Informatici I°anno – 2010/2011 Modulo 104 Implementare un modello di dati
Introduzione ai database Per comprendere appieno cos’è un Data Base e quali sono i vantaggi legati al suo impiego, soprattutto nel settore gestionale, è necessario definire in modo esatto e preciso cosa si intende per: Data Base Data Base Management System (DBMS) FOR, SPAI LOCARNO
Data Base Un Data base può essere definito come un insieme di dati strettamente correlati, memorizzati su un supporto di memoria di massa, costituenti un tutt'uno, che possono essere manipolati, da più programmi applicativi; oppure possiamo dire che è un sistema di gestione di dati integrati, ricompilati e immagazzinati secondo precisi criteri, necessari all'attività che si deve svolgere. FOR, SPAI LOCARNO
DBMS Un Data base Management System (DBMS) è un sistema software per la gestione di basi dati; esso si occupa dell'aggiornamento, della manutenzione e della consultazione di un insieme di registrazioni contenute in un supporto di memoria di massa. Il DBMS, pertanto, è un insieme di programmi, che sono rivolti alla gestione di dati memorizzati in archivi. FOR, SPAI LOCARNO
I vari DBMS Quali DBMS in ambiente PC: dBase (per windows) FoxPro (per windows) Access (per windows) SQL server (client/server) Oracle (client/server) Informix (client/server) …. NB: client/server si riferisce a sistemi distribuiti in rete con elaboratori più potenti che gestiscono i dati (server) e PC collegati da cui gli utenti richiedono operazioni (client) FOR, SPAI LOCARNO
Vantaggi utilizzo DBMS Permette un “uso amichevole” delle procedure di gestione di facile utilizzo all’utente. Evita la programmazione per compiti comuni: il programma incorpora una serie di funzioni che consentono di svolgere operazioni senza la necessità di un linguaggio di programmazione. I DBMS, tramite l’indipendenza dei dati, favoriscono lo sviluppo di applicazioni flessibili e facilmente modificabili. Un Data Base permette di relazionare dati tra loro, ciò che riduce di molto le duplicazioni. FOR, SPAI LOCARNO
Svantaggi dei DBMS I DBMS sono prodotti costosi e complessi la cui introduzione in una realtà esistente comporta notevoli investimenti in termini di hardware,software ed addestramento di personale. Spesso i DBMS forniscono un numero di servizi maggiore di quelli richiesti; la difficoltà di isolare soltanto quelli necessari comporta molte volte costi e perdita di efficienza dell’attività. FOR, SPAI LOCARNO
Il modello relazionale Il modello relazionale prevede un costrutto di relazioni che permette di organizzare i dati in insiemi di record(tuple) a struttura fissa; la rappresentazione più usata di tale costrutto è quella di tabella: le righe corrispondono ai record; le colonne corrispondono agli attributi o campi dei record. Programma Insegnamenti Laurea Materia Anno Matematica Fisica I Informatica Algebra Ingegneria civile II Geometria Corso Docente Algebra Mario Rossi Geometria Paolo Bianchi Fisica Guido Verdi FOR, SPAI LOCARNO
Data Base relazionali Si presentano in forma tabellare in cui le righe rappresentano i record e le colonne rappresentano i campi. Le operazioni realizzate con questo tipo di Data Base riguardano le tabelle. Campi Record FOR, SPAI LOCARNO
Data Base relazionali Oggi i principali Data Base in circolazione sono di tipo relazionale, ciò perché praticamente tutti gli insiemi di dati che corrispondono a entità complesse organizzate come imprese, scuole, associazioni varie,… implicano collegamenti tra i vari dati ad esempio: ai fornitori sono collegate le merci, agli alunni i corsi, e così via. La norma 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. FOR, SPAI LOCARNO
Data Base relazionali Il campo che permette l'identificazione di ogni record è detto "chiave primaria" e deve essere comune alle tabelle che si intende correlare. ID_Cliente = Chiave primaria FOR, SPAI LOCARNO
Progettazione di un Data Base I passi fondamentali da compiere per progettare un Data Base sono essenzialmente tre: MODELLO CONCETTUALE (in cui viene schematizzata la realtà) ; MODELLO LOGICO (che produce lo schema logico) ; MODELLO FISICO (che produce lo schema fisico) ; Il modello che realizza questi tre passaggi viene chiamato Modello Entità - Relazione (E-R). FOR, SPAI LOCARNO
Modello Entità-Relazione Il Modello Entità-Relazione (ER) è un modello concettuale basato su componenti essenziali quali: entità, attributi e relazioni. Il modello introduce una rappresentazione grafica dello schema concettuale. Esso prevede come prima cosa l’individuazione delle entità, ossia degli oggetti concreti o astratti, rilevanti per il sistema informativo. Graficamente i tipi di entità sono rappresentati con il loro nome racchiuso dentro un rettangolo. Le proprietà caratteristiche di ciascun insieme di entità vengono descritte mediante l’uso di attributi con un elisse. FOR, SPAI LOCARNO
Modello Entità-Relazione Gli attributi si possono distinguere in 3 categorie: Attributi semplici: sono quelli che hanno un tipo semplice, non può essere diviso. Attributi composti: sono quelli in cui esistono dei sotto attributi, come ad esempio l’attributo indirizzo, che è composto da via, luogo, ecc… Attributi multipli: sono quelli che possono assumere contemporaneamente più valori, esempio gli e-mail di un cliente, che possono essere più di uno. FOR, SPAI LOCARNO
Rappresentazione grafica (ER) Nome Cognome N_AVS clienti Luogo Gli attributi sottolineati rappresentano la chiave primaria FOR, SPAI LOCARNO
Relazioni Le relazioni permettono il collegamento fra tabelle, infatti permettono di inserire le dipendenze tra tabelle. 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. FOR, SPAI LOCARNO
Relazione uno a uno Agli attributi di T1 viene aggiunta, come chiave esterna, la chiave primaria di T2, e viceversa. Esempio: supponiamo di avere le due entità: nazioni di attributi cod_naz, nome, superficie, popolazione e capitali di attributi cod_cap, nome, superficie, popolazione. La relazione che intercorre tra le due entità è evidentemente 1:1. La traduzione nello schema relazionale avviene creando due tabelle dove una (nazioni per esempio) contiene la chiave primaria dell'altra. In questo modo si è realizzato un riferimento tra la nazione e la sua capitale.. FOR, SPAI LOCARNO
Relazione uno a molti Agli attributi di T2 viene aggiunta, come chiave esterna, la chiave primaria di T1, ma non viceversa. Esempio: nella relazione 1:n si opera in maniera analoga, ma non è possibile invertire le chiavi esterne. Dalle entità studenti e libri nel Data Base biblioteca si ottengono le seguenti tabelle (la chiave primaria è identificata con * e quella esterna con #). FOR, SPAI LOCARNO
Relazione molti a molti In questo caso viene definita una nuova tabella, chiamata T3, che contiene, come chiavi esterne, la chiave primaria sia di T1, che di T2, ed eventuali attributi contenuti nella relativa relazione che li lega. Esempio: la relazione n:m tra autori e libri si realizza invece introducendo un'altra tabella (il nome di quest'ultima è arbitrario) che contiene le chiavi primarie di entrambe le due tabelle precedenti. FOR, SPAI LOCARNO