Sviluppo di un database e dell interfaccia ottimizzata per immagini oftalmiche

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Sviluppo di un database e dell interfaccia ottimizzata per immagini oftalmiche"

Transcript

1 Università degli Studi di Firenze Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Sviluppo di un database e dell interfaccia ottimizzata per immagini oftalmiche Tesi di Laurea di Luca Fazzi Relatore: Prof. Romano Fantacci Anno Accademico 2003/04

2 Indice 1 Introduzione 1 2 Stato dell arte Introduzione Tecnologie utilizzate MySQL PHP Conoscenze iniziali Teoria sui database Perchè utilizzare un database Il modello relazionale Modelli logici nei sistemi di basi di dati Relazioni Informazioni incompleta e valori nulli Vincoli di integrità Chiavi SQL Definizione dei dati in SQL

3 Indice ii Domini elementari e schema Definizione delle tabelle Vincoli intrarelazionali Vincoli interrelazionali Interrogazioni in SQL Interrogazioni semplici Operatori aggregati Interrogazioni con raggruppamento Analisi del problema La struttura logica dell interfaccia La struttura logica del database Struttura del database La tabella Paziente La tabella immagine La tabella Associazione La tabella Patologia P La tabella Patologia Operazioni principali Inserimento Inserimento paziente La pagina insert paz Inserimento di un immagine Inserimento di un tipo di immagine o di una patologia La Ricerca La ricerca di un paziente La cancellazione

4 Indice iii 6.4 La Modifica Problemi incontrati Gestione dei valori di ritorno di un form Creazione e gestione del paziente anonimo Caricamento di un immagine remota Associazione di un paziente ad un immagine Aspetti per una successiva implementazione I semafori Restrizioni sui tipi da poter caricare Ampliamento ad uno studio medico in cui son presenti più dottori con privilegi differenti Automatizzazione del backup Utilizzo del codice md File di configurazione del database con procedura guidata Conclusioni 72

5 Capitolo 1 Introduzione In questa tesi sarà affrontato il problema dell archiviazione dei dati e delle immagini che affligge molte aziende, in particolare all interno del campo medico, successivamente sarà descritta la proposta che è stata sviluppata. Molte aziende ricorrono ancora al supporto cartaceo per archiviare le schede dei loro clienti e a fascicoli pieni di fotografie per classificare le loro immagini, ma l avvento dei computer,lo sviluppo di DBMS e le migliorie apportate ai nuovi linguaggi per la gestione delle banche dati aprono le porte ad una nuova prospettiva. Per non parlare dei problemi legati alla sicurezza e alla riservatezza dei dati personali che in formato cartaceo solitamente è molto bassa (raramente le aziende dispongono di stanze e archivi a cui accedono esclusivamente le persone autorizzate), infatti frequentemente più persone che condividono all interno dell azienda gli stessi strumenti e gli stessi luoghi avranno accesso alla conoscenza di alcuni dati riservati ad altro personale. La realizzazione di questo elaborato è rivolta alla creazione e allo sviluppo di un database e di un interfaccia che aiutino l utente nella gestione dei dati e attraverso restrizioni informatiche salvaguardino la loro riservatezza. A questo proposito è stata realizzato un esempio d interfaccia web atta alla

6 Capitolo 1. Introduzione 2 gestione di dati medici. L interfaccia e il database con l adozione di poche modifiche potrebbero essere adattate all archiviazione di immagini e schede clienti anche per ditte all esterno della sola area medica, ma l elaborato è stato realizzato per un immaginario studio medico in cui saranno inseriti dati relativi ai pazienti comprendenti patologie e immagini digitali. L elaborato è stato ottimizzato per un utenza non specializzata e quindi l interfaccia è stata semplificata in modo da essere molto intuitiva. Tutti i check e le modifiche che realmente avvengono sono nascoste all utilizzatore che riceve soltanto messaggi di conferma generici, o dettagliati messaggi di errore al termine dell operazione effettuata. Per quanto riguarda le risorse fisiche richieste è possibile affermare che sono veramente esigue, infatti per il suo funzionamento è sufficiente un elaboratore di media potenza e pochi MB liberi su hard-disk; il limite maggiore è rappresentato dall occupazione di spazio per mantenere in memoria le immagini acquisite. Anche l aspetto software risulta molto leggero, infatti basta avere installato un server web che supporti il PHP4 (consigliata una recente versione di Apache) e una recente versione di MySQL installata. Una cosa importante è che il funzionamento dell interfaccia e del database non è vincolato dal sistema operativo utilizzato poichè il MySQL non presuppone l utilizzo in nessuna architettura proprietaria. Un alternativa sarebbe stata quella di sviluppare un interfaccia in ASP.NET ma avrebbe vincolato l utilizzazione di un ambiente Microsoft e ciò va contro i presupposti di flessibilità che erano stati prefissati per questa tesi. L interfaccia proposta è frutto del superamento di molti problemi, e la sua semplicità di utilizzo deriva dal raffinamento di diverse versioni precedenti. Il database è stato realizzato utilizzando la versione del MySQL

7 Capitolo 1. Introduzione 3 in modo da poter funzionare anche su sistemi più vecchi che abbiano già installato questa versione. Questo ha comportato alcuni problemi, come l impossibilità di utilizzare le query nidificate e le transazioni che sono state implementate solamente dalla versione 4.0.xx in poi. Le conoscenze possedute all inizio della tesi erano molto esigue, specialmente riguardo la parte del php, ma ben presto tramite un lungo studio su alcuni siti internet che offrivano tutorial e forum sono state assimilate le conoscenze per una buona realizzazione dell elaborato. Una parte che ha creato molte difficoltà è stata quella del passaggio dei parametri tra le varie pagine, ma ben presto è stata risolta come trattato nei capitoli successivi. La scelta di realizzare questa tesi è nata dal fatto che effettuando ricerche su internet sono stati trovati solamente sistemi chiusi e a pagamento adatti a gestire una situazione del genere. Questo situazione porta piccole aziende che necessitano di una semplice utilità di gestione, a dover spendere migliaia di euro per comperare un prodotto che utilizzeranno solo parzialmente poichè sicuramente mette a disposizione molte funzioni inutili per quella azienda. Questo elaborato offre delle basi freeware già completamente funzionanti su cui poter realizzare il software adatto alla propria azienda con piccole personalizzazioni. La tesi si suddivide in otto capitoli, in cui subito dopo una breve presentazione vengono trattate in modo sintetico le tecnologie utillizzate per la sua realizzazione che saranno ampliate nei capitoli successivi. Il terzo capitolo rappresenta una introduzione teorica alla realizzazione di una base dati e fa comprendere meglio il perchè i DBMS hanno riscontrato un così grande successo negli ultimi anni. Il quarto capitolo serve ad introdurre la trattazione della parte pratica, introducendo una spiegazione di come sono stati strutturati l interfaccia e il database da un punto di vista logico, soffermandosi

8 Capitolo 1. Introduzione 4 particolarmente sul ruolo giocato dalle varie tabelle e dalle varie pagine php. I due capitoli successivi analizzano nello specifico le funzionalità offerte e il come queste vengono realizzate, prima nel database e poi descrivendo accuratamente le varie funzioni richiamate per lo svolgimento dei vari compiti da parte dell interfaccia. Il capitolo precedente alle conclusioni è interamente dedicato a proposte utilizzabili per innalzare la sicurezza e ad introdurre alcuni raffinamenti che possono migliorare l integrazione in determinati ambienti di lavoro.

9 Capitolo 2 Stato dell arte 2.1 Introduzione Il database d immagini che è stato realizzato rappresenta uno studio per mettere in luce le potenzialità e per stimarne i costi di produzione dello sviluppo e del mantenimento. Alcuni aspetti sono stati approfonditi nello specifico, mentre altri sono stati solo illustrati perchè servono solo di spunto per uno studio futuro del problema, in quanto non era necessaria la loro implementazione in questa sede. Il limite maggiore di molte architetture preesistenti sono proprio i costi: la maggior parte del codice è proprietario e spesso sono vincolati a particolari ambienti di utilizzo, per esempio il linguaggio ASP.Net presuppone di lavorare sotto Windows e di dover utilizzare un IIS come server web. Un altro grosso limite è rappresentato dal fatto che spesso una distribuzione già esistente ha un costo minore di una soluzione personalizzata, ma così l acquirente deve pagare anche alcune utility che non saranno mai utilizzate all interno dell azienda. La soluzione proposta permette di mantenere molto bassi i costi perchè è interamente composta da software freeware e può funzionare anche su un

10 Capitolo 2. Stato dell arte 6 sistema operativo a costo zero come per esempio alcune distribuzioni di Linux. 2.2 Tecnologie utilizzate Per realizzare l elaborato è stata utilizzata un architettura basata sul linguaggio interrogativo MySQL, un server web (Apache) e un interfaccia realizzata in HTML con l adozione del PHP4 per recuperare dati dal database. La scelta è caduta su questi prodotti in modo da limitare i costi finali (che idealmente sono nulli) e per l ottima interazione che il php offre per la gestione di database realizzati in MySQL anche grazie al largo numero di funzioni già implementate. É proprio utilizzando queste funzioni che sono state risolti la maggioranza dei molti problemi che si sono presentati MySQL Il MySQL è il linguaggio con cui viene gestito il database e si basa sul linguaggio interrogativo SQL (acronimo di Structured Query Language) che è stato sviluppato dall IBM nella seconda metà degli anni Settanta. L SQL è largamente diffuso e riveste una notevole importanza nel mondo delle applicazioni per basi di dati. Tale diffusione nasce principalmente dalla sua standardizzazione che lo pone come il linguaggio universale di accesso ai database. Infatti quasi tutti i DBMS, nonostante abbiano delle caratteristiche proprietarie, riconoscono i comandi SQL in modo che ci si possa interfacciare con essi in modo univoco. La scelta del linguaggio per interrogare il database è caduta sull Mysql proprio in virtù della sua universalità che si adatta perfettamente per questo studio. Comunque questa ha portato con se anche vari problemi, poichè seppur derivato dal linguaggio SQL molte delle funzioni di quest ultimo non sono

11 Capitolo 2. Stato dell arte 7 implementate (almeno nella versione che è stata utilizzata) e così spesso sono stati necessari accorgimenti da interfaccia per supplire a queste lacune. Per esempio le query nidificate son state eseguite separatamente poichè non venivano riconosciute dalla versione installata (11.16 distribuzione ). Non è stata scelta di proposito l ultima versione di MySQL per aumentare la versatilità del tutto, cioè per utilizzare il software proposto senza necessariamente dover cambiare la versione utilizzata del MySQL. L architettura così definita garantisce l indipendenza dei dati, che è la principale proprietà caratterizzante i DBMS. Questa proprietà permette agli utenti ed ai programmi applicativi di utilizzare una base di dati ad un elevato livello di astrazione, che prescinde dai dettagli realizzativi utilizzati per la base di dati. In particolare, l indipendenza dei dati può essere caratterizzata ulteriormente come indipendenza fisica e logica: L indipendenza fisica consente di interagire con il DBMS in modo indipendente dalla struttura fisica dei dati. In base a questa proprietà è possibile modificare le strutture fisiche senza influire sulle descrizioni dei dati ad alto livello e quindi sui programmi che utilizzano i dati stessi. L indipendenza logica consente di interagire con il livello esterno della base di dati in modo indipendente dal livello logico. É proprio questa particolarità del linguaggio Sql a minimizzare i problemi di trasportabilità da un calcolatore ad un altro poichè dopo che il DBMS è configurato non ha rilevanza come sono organizzati i dati al livello fisico. É importante precisare che SQL esprime le interrogazioni in modo dichiarativo : si specifica l obiettivo dell interrogazione e non il modo con cui

12 Capitolo 2. Stato dell arte 8 ottenerlo; in questo si contrappone ai linguaggi di interrogazione procedurali, come l algebra relazionale, in cui si specifica il modo in cui l interrogazione deve essere eseguita. Per l esecuzione di un interrogazione questa prima deve essere analizzata dall interprete SQL (che è un componente del DBMS) per essere tradotta in un interrogazione equivalente in linguaggio procedurale PHP4 Il Php è un linguaggio che si integra facilmente con il codice HTML, infatti all interno della stessa pagina possono essere fatte più inserimenti di codice php attraverso i relativi caratteri di escape (per esempio <? per iniziare e?> per concludere). Il Php viene processato dal server e ciò che viene mostrato sul video è semplice codice HTML per il browser, in questo modo vengono aggiunte funzionalità dal lato sever mantenendo tutte quelle lato client. Il php è stato utilizzato per realizzare delle pagine dinamiche in cui vengono richiamate funzioni o dati dal database in tempo reale. Un aspetto molto interessante del php è l utilizzo degli array associativi, che permettono di associare i valori sia a stringhe (chiavi) che a indici numerici. Un loro utilizzo è stato nel momento di inserire/cancellare le patologie da una scheda di un paziente, poichè i dati sono passati da un form in cui l inserimento avviene attaverso dei campi di scelta multipla che memorizzano i dati in array associativi. Questo tipo di array è molto utile dato che può essere istanziato senza dover fornire precedentemente la dimensione finale, ma aggiungendo nuovi campi qualora si rendano necessari. Altro aspetto degno di nota del php è la creazione e l utilizzo delle funzioni, che in questo caso risiedono tutte in un file chiamato common.php. Il file common.php viene incluso dalla pagina di index.php e tutte le funzioni possono essere richiamate in ogni parte del sito dato che tutte le pagine son

13 Capitolo 2. Stato dell arte 9 caricate all interno dell index.php, ma questo verrà trattato in seguito. Il passaggio di parametri ad una funzione avviene tramite passaggio per valore così da rendere modificabile il il valore passato dall interno della funzione. All interno di una funzione possono essere richiamate anche variabili globali, è un esempio la funzione che permette di aprire una connessione al database ( datab open() ) che richiama lo user e la password direttamente dal contenuto della configurazione. Molto importante è stato anche minimizzare il tempo di chiamata al database, infatti la connessione viene aperta solo nel momento in cui è necessario interagire con il database e viene chiusa appena questa necessità viene a mancare. In questo modo il database server può servire molti più client perchè non ci sono applicazioni che sprecano le sue risorse. Il php inoltre offre una buona sicurezza proprio in virtù del fatto che elabora tutte le istruzioni prima di trasformarle in HTML in modo da rendere quasi impossibile manomettere i valori passati, anche perchè il passaggio viene fatto tramite il metodo POST che non visualizza i parametri sulla barra del browser e quindi non possono essere copiati. 2.3 Conoscenze iniziali Nel momento in cui è iniziata la stesura del codice di questo elaborato non erano possedute molte conoscenze nè di Php nè del linguaggio MySQL, almeno sotto l aspetto pratico. Migliorando lo stile di programmazione è risultato evidente come strutturare il database e quali migliorie apportare all interfaccia. Molta della documentazione sugli standard e su come strutturare l interfaccia è derivata da un lungo studio delle pagine tematiche di siti similari a quello da realizzare trovate su internet. Ne è un esempio la scelta dei colori utilizzati nell interfaccia. Per effettuare una scelta sono sta-

14 Capitolo 2. Stato dell arte 10 te visitate le pagine di molti siti medici e così è stato scoperto che il colore preponderante è il bianco (sinonimo di pulizia) e il celeste chiaro, così sono diventati i due colori principali dell interfaccia. Anche la disposizione dei menù non è stata lasciata al caso, visualizzarlo sulla sinistra è la scelta migliore se si presuppone un utilizzo da parte di un personale non molto esperto nella navigazione sul web, perchè è il posto più comune dove trovarlo e perchè noi occidentali leggiamo da sinistra a destra. Se il menù fosse stato visualizzato a destra avrebbe dato un senso di soffocamento alla pagina perchè viene inteso come un limite massimo oltre cui la pagina non può andare e questo provoca uno stato di angoscia nell utente. Il menù di navigazione resta sempre uguale senza che alcune voci si espandano per visualizzare i sottomenù che sono caricati nella finestra di destra per non confondere l utente. Tramite i titoli delle sezioni si può risalire in ogni momento in che punto del sito ci si trova, e di conseguenza il cammino che è stato fatto per giungervici. Non esistono dead end document, ovvero non sono presenti pagine del sito da cui si possa tornare indietro soltanto attraverso pulsanti offerti dal browser, ma (nella finestra di destra) è sempre presente un link che rimanda almeno alla sezione precedente. Ogni pagina (escluso quelle in cui si visualizza l immagine a tutto schermo) viene caricata all interno dell index.php e quindi è sempre presente il menù di navigazione.

15 Capitolo 3 Teoria sui database In questo capitolo sarà trattata un pò della storia dei database e i punti principali del mysql così da capire meglio gli strumenti adottati per la strutturazione del database. 3.1 Perchè utilizzare un database La prima apparizione delle basi di dati si ha verso la fine degli anni Settanta e ancora oggi alcune applicazioni non ne fanno uso. In assenza di software specifico i dati vengono gestiti da applicazioni realizzate con i tradizionali linguaggi di programmazione come il C e il Fortran, o con i più moderni C++ e Java. Inizialmente era utilizzato un approccio più convenzionale che sfruttava la presenza di file per memorizzare i dati in modo persistente sulla memoria di massa. Il problema è che in questo modo venivano forniti solo semplici meccanismi di accesso e condivisione anche se va benissimo dal punto di vita della memorizzazione. Tutto ciò incrementava la ridondanza dei dati perchè tutti i dati di interesse per più programmi venivano replicati tante volte quanti i programmi che le utilizzavano, ed è proprio per questo

16 Capitolo 3. Teoria sui database 12 fatto che sono state realizzate le basi di dati. Un sistema di gestione di basi di dati (DBMS Data Base Management System) è un sistema software in grado di gestire collezioni di dati che siano grandi,condivise e persistenti, assicurando la loro affidabilità e privatezza. Come ogni prodotto informatico, un DBMS deve essere efficiente ed efficace. Una base di dati è una collezione di dati gestita da un DBMS. Vediamo di spiegare questa definizione del DBMS. Grandi Nel senso che possono avere anche dimensioni molto maggiori della memoria centrale disponibile e proprio per questo devono prevedere una gestione dei dati in memoria secondaria. Condivise Utenti e applicazioni differenti devono poter accedere nello stesso momento agli stessi dati, in questo modo si riduce la ridondanza e anche l inconsistenza poichè non esistono più copie degli stessi dati. Persistenti Il tempo di vita dei dati memorizzati non è limitato a quello dell esecuzione dei programmi che li utilizzano, ma rimangono memorizzati anche quando il programma cessa di essere operativo. Affidabilità Cioè la capacità del sistema di conservare intatto il contenuto della base di dati (o almeno di permetterne la ricostruzione tramite backup o recovery) anche in caso di malfunzionamenti hardware o software. Privatezza Intesa come privatezza dei dati, cioè ciascun utente può svolgere solo i compiti che gli competono, tutto ciò è realizzato tramite meccanismi di autorizzazioni e permessi.

17 Capitolo 3. Teoria sui database 13 Efficienza Intesa come la capacità di operare utilizzando un insieme di risorse (tempo e spazio) che siano accettabili per gli utenti. Efficacia La capacità delle basi di dati di rendere produttive le attività dei suoi utenti. Un limite dei DBMS è spesso il prezzo, poichè vengono venduti in pacchetti in cui sono presenti mote funzionalità non richieste dall utente,ma che vengono pagate lo stesso perchè questa distribuzione risulta spesso più economica di una soluzione creata ad hoc da un azienda. Le basi di dati utilizzano vari tipi di modelli di dati definiti come: Insieme di concetti utilizzati per organizzare i dati di interesse e descriverne la struttura in modo che essa risulti comprensibile ad un elaboratore. Ogni modello di dati fornisce meccanismi di strutturazione, analoghi ai costruttori di tipo dei linguaggi di programmazione, che permettono di definire nuovi tipi sulla base di tipi elementari predefiniti. Il modello relazionale dei dati (modello su cui si concentra l attenzione di questo project work) permette di definire tipi per mezzo del costruttore di relazione, che consente di organizzare i dati in insiemi di record a struttura fissa. Una relazione viene spesso rappresentata mediante una tabella in cui le righe rappresentano i specifici record e le colonne corrispondono ai campi dei record. Tra i più importanti modelli di dati ci sono: Modello relazionale che è quello attualmente più diffuso,permette di definire tipi per mezzo del costruttore di relazione, che consente di organizzare i dati in insiemi di record a struttura fissa. Una relazione viene spesso rappresentata mediante una tabella in cui le righe rappresentano i specifici record e le colonne corrispondono ai campi dei record.

18 Capitolo 3. Teoria sui database 14 Modello gerarchico Basato sull uso di strutture ad albero, in cui c è una gerarchia tra gli elementi ed ancora ampiamente utilizzato. Modello reticolare Che è basato sull utilizzo di grafi ed è stato sviluppato dopo quello gerarchico. Modello a oggetti É l ultimo nato tra i quattro modelli e risale agli anni Ottanta; è basato sul modello relazionale ma integra il paradigma di programmazione ad oggetti. Tutti i modelli di basi di dati sono accomunati da dalla presenza di una parte che rimane invariata nel tempo, detta schema, e da una parte, detta istanza variabile nel tempo. Lo schema di una relazione è costituito dalla sua intestazione, cioè dal nome della relazione seguito dai nomi dei vari campi. L istanza invece è formata dall insieme dei dati raccolti che riempiono i vari campi della tabella, che raggruppati in righe formano il record che costituisce ciò che successivamente sarà letto dal database. Per comprendere in modo migliore il linguaggio SQL è necessario introdurre alcuni concetti chiave dei modelli che hanno portato alla sua realizzazione ed è per questo che nel paragrafo seguente viene brevemente trattato il modello relazionale. 3.2 Il modello relazionale Vengono qui illustrate le modalità secondo cui questo modello permette di organizzare i dati, come il concetto di relazione possa essere mutuato dalla teoria degli insiemi ed utilizzato, con le debite varianti per rappresentare le informazioni di interesse in una base di dati. Vengono approfonditi i con-

19 Capitolo 3. Teoria sui database 15 cetti di corrispondenza fra dati in strutture diverse, informazione completa e vincoli di integrità Modelli logici nei sistemi di basi di dati Il modello relazionale si basa su due concetti fondamentali : la relazione e la tabella. Mentre il concetto di tabella è facilmente intuibile, quello di relazione proviene dalla matematica, ed in particolare dalla teoria degli insiemi. É opinione diffusa che parte del successo del modello relazionale derivi dalla presenza contemporanea di questi due concetti, uno intuitivo ed uno formale. Infatti, mentre le tabelle risultano naturali e facilmente comprensibili le relazioni garantiscono una formalizzazione semplice e chiara che ha permesso uno sviluppo teorico del modello finalizzato al raggiungimento di risultati di interesse concreto. Il modello relazionale risponde al requisito dell indipendenza dei dati e, pertanto, prevede un livello fisico ed un livello logico. Utenti e programmatori interagiscono solo col livello logico e quindi non è necessario che essi conoscano le strutture fisiche della base di dati. Anche questo aspetto è responsabile del suo successo dato che i suoi principali concorrenti (reticolare e gerarchico) obbligavano gli utilizzatori a conoscerne, almeno a grandi linee, la struttura realizzativa Relazioni Il concetto di relazione è legato al concetto puramente matematico di prodotto cartesiano tra due insiemi. Avendo due insiemi D1 e D2 il prodotto cartesiano (D1 x D2) è l insieme delle coppie ordinate (v1 e v2) tale che v1 è un elemento di D1 e v2 è un elemento di D2. Quindi il prodotto cartesiano è l insieme di tutti le possibili combinazioni tra gli insiemi dati. La relazione è

20 Capitolo 3. Teoria sui database 16 un sottoinsieme della relazione matematica tra due insiemi, detti domini della relazione, rappresentato da un insieme di tuple omogenee, dove per tuple si intende un elemento definito tramite i suoi attributi. Le tuple sono in questo aspetto sono diverse dal concetto matematico di n-uple, elemento individuato tramite posizione, e tupla, in cui l elemento è individuato tramite i suoi attributi. Ad esempio dati due insiemi A e B dove A= 1,2,3 e B=h,k il prodotto cartesiano è uguale all insieme A x B=(1,h),(2,h),(3,h),(1,k),(2,k),(3,k) mentre una relazione possibile è (1,h),(1,k),(3,h). Generalizzando la relazione ad un numero di insiemi n>0 avremmo D1,D2,...,Dn il prodotto D1 x D2 x... x Dn ed un sottoinsieme che descriverà la relazione. Il numero n delle componenti dell insieme è chiamato grado del prodotto cartesiano e della relazione. Il numero degli elementi della relazione è detto cardinalità della relazione. Le tabelle nascono dall esigenza di rappresentare graficamente le relazioni presentandole in una forma più facilmente comprensibile: le righe della tabella saranno rappresentate dalle tuple, mentre le colonne rappresentano i vari campi degli attributi. É importante chiarire che in una relazione, in quanto insieme, non vi è alcun ordinamento fra le tuple che lo compongono; nelle tabelle che la rappresentano l ordine c è per necessità, ma è solo occasionale in quanto due tabelle con le stesse righe, ma in ordine diverso, rappresentano la stessa relazione. Inoltre le tuple di una relazione sono distinte l una dall altra, in quanto tra gli elementi di un insieme non possono essere presenti due elementi uguali; da cui si deduce che una tabella può rappresentare una relazione solo se le righe che la formano sono diverse l una dall altra.

21 Capitolo 3. Teoria sui database Informazioni incompleta e valori nulli Un altra caratteristica importante dei sistemi relazionali è la presenza di un particolare valore che può assumere un istanza di una tabella. Tale valore è detto null e viene utilizzato per indicare una serie di situazioni che è possibile trovare in un campo di una tabella. Il valore null indica tre possibili situazioni: Valore sconosciuto, Valore inesistente, Senza informazione. Quindi nel caso di un valore null dobbiamo, se ne abbiamo gli strumenti, valutare in quale di queste tre situazioni ci possiamo trovare Vincoli di integrità I vincoli di integrità sono quei vincoli, caratteristica fondamentale delle basi di dati relazionali, che indicano la bontà delle informazioni. Ci possono essere, infatti, casi in cui i dati non rispettino, per una serie di motivi che andremo ad analizzare, l integrità logica del database che, in quanto insieme formalizzato di informazioni, ha delle regole molto precise che devono essere obbligatoriamente rispettate. I vincoli di un DBMS si dividono in intrarelazionali, se riguardano l interno nella relazioni, ed interrelazionali, che riguardano legami fra le relazioni. L esempio caratterizzante di violazione di un vincolo interrelazionale si ha qualora non vi sia corrispondenza tra le istanze di due tabelle che, per ragioni intrinseche allo schema della base di dati, sono legate tra loro da un vincolo detto di integrità referenziale, che impone che per ogni valore di una tabella vi sia un corrispondente nell altra.

22 Capitolo 3. Teoria sui database 18 Un vincolo intrarelazionale, al contrario, trova il suo soddisfacimento rispetto alle singole relazioni ed è limitato ad una singola tabella e non al come è rapportata alle altre. Esistono tre tipo di vincolo inttrarelazionale: vincolo di tupla esprime delle condizioni sui valori di ciascuna tupla, indipendentemente dalle altre tuple; vincolo su valori impone che soltanto alcuni valori possano essere ritenuti legali per quel campo. vincolo di chiave che è il vincolo intrarelazionale più importante, che specifica che in un campo non possono esistere due valori uguali o che non può mancare il valore su quell attributo Chiavi Una chiave è un insieme di attributi (anche uno solo) utilizzato per identificare in maniera unica le tuple di una relazione. Esaminando i valori di una tabella è possibile trovare molteplici chiavi, ma nella scelta di una chiave bisogna pensare anche ai valori immessi in futuro,per esempio è possibile che due campi (Nome e Cognome) costituiscano una chiave per i valori presenti in una certa tabella, ma in generale non possono essere scelti come chiave. Definendo una superchiave come come un insieme di attributi in cui un insieme di tuple non assumono lo stesso valore all interno di una relazione, possiamo definire la chiave come la superchiave minimale, cioè quella per cui non esistono altre superchiavi contenute in essa.

23 Capitolo 3. Teoria sui database SQL In questo paragrafo verranno trattate le istruzioni principali del linguaggio Sql soffermandosi in particolare modo su quelle che sono state utilizzate nella gestione del database. Proprio per questo motivo non saranno descritte le viste e le query nidificate. La prima definizione di standard SQL è stata diffusa nel 1986 dall ANSI; una seconda versione è stata fatta nel 1992 chiamata SQL-92 o anche SQL-2 e infine l ultima versione rilasciata nel 1999 chiamata SQL-3 che aggiunge nuove funzionalità alle versioni precedenti. A seconda dei costrutti supportati i sistemi basati sul SQL sono suddivisi in tre livelli: Entry SQL; Intermediate SQL; Full SQL; Ancora nessun sistema in commercio utilizza tutte le funzionalità previste dal linguaggio ed è stato proprio questo uno dei problemi incontrati per adattare ciò che avevo studiato a ciò che dovevo realizzare. 3.4 Definizione dei dati in SQL Domini elementari e schema Innanzitutto illustriamo come SQL si occupi della definizione degli schemi delle basi dati. SQL mette a disposizione sei famiglie di domini elementari, dove come domini elementari si intendono i domini dai quali si può partire per costruire i domini da associare agli attributi dello schema. Infatti SQL

24 Capitolo 3. Teoria sui database 20 fornisce gli strumenti per creare nuovi tipi di domini, ma per la realizzazione del database sono bastati alcuni tra quelli elementari. Carattere singoli caratteri oppure stringhe (lunghezza fissa o variabile); Bit per valori 0/1 (può essere utilizzato anche per stringhe di bit in cui memorizzare più dati 0/1). Introdotto con SQL-2; Tipi numerici esatti per i valori interi o per valori decimali a virgola fissa. Suddiviso a sua volta in: Numeric; Decimal; Integer; SmallInt. Tipi numerici approssimativi utilizzati ad esempio per la rappresentazione di grandezze fisiche.anche questo tipo è suddiviso in altri 3 tipi: Float; Double precision; Real. Data e ora ; Intervalli temporali Introdotto con SQL-2. Per creare un dominio occorre usare la sintassi: Create domain \emph{nomedominio} as TipoDiDato [valore di default] [vincolo]

25 Capitolo 3. Teoria sui database 21 In questo caso l operazione è concettualmente simile alla definizioni dei tipi di dato in linguaggi evoluti tipo il C (o Pascal, VB ecc.). Al contrario i vincoli sui domini in SQL non hanno un corrispondente nei linguaggi evoluti. Quindi SQL permette di definire lo schema di una base di dati come una collezione di oggetti; ogni schema è costituito da un insieme di famiglie di caratteri, domini, tabelle (=relazione), indici, asserzioni, viste e privilegi. La sintassi è : Create schema \emph{nomeschema }[autorizzazione] dove autorizzazione rappresenta il nome dell utente proprietario dello schema. Una volta creato lo schema occorre definire i suoi componenti, anche se non è necessario che venga fatto contemporaneamente alla creazione e può avvenire in fasi successive Definizione delle tabelle Una tabella SQL è costituita da una collezione di attributi da un insieme (eventualmente vuoto) di vincoli. La sintassi è : create table NomeTabella ( NomeAttributo Dominio [valore di default] [vincoli] { etc. } ) quindi una tabella viene definita associandole un nome ed elencandone gli attributi che ne compongono lo schema. I valori di default sono i valori che deve assumere l attributo quando viene inserita una riga nella tabella senza che venga specificato il valore dell attributo stesso. Sia nella definizione dei vincoli che in quella delle tabelle è possibile

26 Capitolo 3. Teoria sui database 22 stabilire dei vincoli; per vincoli si intendono delle proprietà che devono essere verificate da ogni istanza della tabella. Esistono vincoli intrarelazionali, ovvero interni alla tabella, e vincoli interrelazionali, che rappresentano i vincoli di integrità referenziale (detti anche vincoli di riferimento) Vincoli intrarelazionali In SQL i vincoli intrarelazionali che possono essere definiti sugli attributi di una tabella sono i vincoli di not null, unique e primary key. Not null significa che l attributo deve essere sempre specificato. Unique si applica ad uno o più attributi imponendo che righe differenti abbiano valori differenti. Viene fatta eccezione solo per il valore null che può comparire più volte su quell attributo. Nel caso che sia definito su più attributi deve essere posto in fondo alla tabella. Primary Key specifica quali attributi rappresentano la chiave primaria. Mentre i vincoli not null e unique possono essere definiti n volte, la primary key può essere definita una volta sola (sia che sia specificata a livello di attributo che per indicare una serie di attributi) Vincoli interrelazionali In SQL tali vincoli si definisco tramite l apposito costrutto della chiave esterna (foreign key). Questo vincolo impone che ogni valore dell attributo di una tabella (se diverso da null) sia presente tra i valori di un attributo delle righe appartenenti ad un altra tabella (detta tabella esterna). Questo vincolo può essere definito in due modi : con l uso del costrutto sintattico

27 Capitolo 3. Teoria sui database 23 references, con il quale si specificano la tabella esterna con il quale l attributo deve essere legato, oppure con l uso del costrutto foreign key. Il costrutto foreign key (posto non a livello di attributo ma in calce) offre delle possibilità maggiori. Innanzitutto permette di definire dei vincoli per un insieme di attributi; inoltre permette di definire la reazione del DBMS ad eventuali forzature dei vincoli di integrità referenziale. Infatti, trovandosi di fronte ad una relazione tra tabelle, occorre prendere in considerazione quale sarà la reazione della tabella interna (o master) all atto della modifica di una riga della tabella esterna (detta slave). Le operazioni che possono mettere in crisi il nostro sistema di vincoli sono, ovviamente, le operazioni di cancellazione e modifica sulla tabella esterna, operazioni alle quali la tabella interna dovrà adeguarsi. SQL ci permette di definire, come opzioni del costrutto foreign key, quattro reazioni del DBMS del caso di modifica (update) e cancellazione (delete): Vediamo adesso cosa accade nei vari casi a second che ci si riferisca alla modifica o alla cancellazione. Modifica: Cascade Il nuovo valore viene riportato su tutte le relative righe della tabella master Set default Nella tabella master viene inserito il valore di default al posto dei valori relativi all attributo modificato. Set null Nella tabella master viene inserito null al posto dei valori relativi all attributo modificato. No action Non viene eseguita alcuna operazione. Il DBMS respinge la richiesta di update. Cancellazione:

28 Capitolo 3. Teoria sui database 24 Cascade Tutte le relative righe della tabella master vengono cancellate. Set default Nella tabella master viene inserito il valore di default al posto dei valori relativi all attributo modificato. Set null Nella tabella master viene inserito null al posto dei valori relativi all attributo modificato. No action Non viene eseguita alcuna operazione. Il DBMS respinge la richiesta di cancellazione. 3.5 Interrogazioni in SQL La parte di SQL dedicata all interrogazione del DBMS è probabilmente la parte più importante ed utilizzata del linguaggio. Innanzitutto bisogna precisare che SQL esprime le dichiarazioni in modo dichiarativo, ovvero si specifica l obiettivo dell interrogazione e non il modo con cui ottenerlo; in questo si contrappone ai linguaggi di interrogazione procedurali, come l algebra relazionale, in cui si specifica il modo in cui l interrogazione deve essere eseguita. Per essere eseguita l interrogazione deve essere analizzata dall interprete SQL ( che è un componente del DBMS) che la traduce in un interrogazione equivalente in linguaggio procedurale Interrogazioni semplici Le interrogazioni in SQL sono specificate tramite l uso dell istruzione select la cui struttura essenziale è la seguente : Select ListaAttributi From ListaTabelle

29 Capitolo 3. Teoria sui database 25 [ where Condizione ] L interrogazione SQL seleziona, tra le righe che appartengono al prodotto cartesiano delle tabelle elencate nella clausola from, quelle che soddisfano la clausola where (se è assente vengono selezionate tutte le righe). Su ciascuna riga vengono considerati solo i campi che compaiono nel select (tutte se è specificato il carattere jolly *). Nella clausola select detta anche target list possono essere inserite anche espressioni generiche (addizione, sottrazione, moltiplicazione ecc.), o anche ridenominazioni dei vari campi che non hanno effetto sulla tabella ma sostituiscono i nomi dei campi scelti nella visualizzazione dei risultati. Per quanto riguarda la clausola from essa rappresenta l insieme delle tabelle a cui si vuole accedere, e delle quali verrà eseguito il prodotto cartesiano. Nel caso di più tabelle il join (unione) viene eseguito specificando nella clausola where il legame tra le tabelle. In questa tabella è possibile associare degli alias a delle tabelle in modo che sia più veloce richiamarle. Una volta associato un alias ad una tabella per richiamare un suo campo la sintassi è alias.campo (in piena sintassi OOP). La clausola where ammette una serie di espressioni booleane (=logiche); al suo interno è possibile combinare predicati semplici con gli operatori logici and, or e not. Ciascun predicato semplice confronta (con gli operatori =,<>,<,>,<= e >=) una espressione costruita a partire dai valori degli attributi per la riga o con un valore costante o con il risultato della valutazione di un altra espressione. Oltre agli operatori standard già citati SQL mette a disposizione l operatore like per il confronto di stringhe. Tale operatore si comporta come l operatore di uguaglianza ma, a differenza di quest ultimo, supporta anche

30 Capitolo 3. Teoria sui database 26 i caratteri % (percentuale) e (trattino sottolineato). Il primo rappresenta un solo carattere arbitrario mentre il secondo una stringa arbitraria (anche vuota). Riveste una particolare importanza la gestione dei valori null nella valutazione dei predicati. Infatti nell algebra booleana convenzionale si prendono in considerazione unicamente due valori (vero o falso) mentre avendo a che fare con delle basi di dati, possiamo avere anche il valore null (=sconosciuto). Le ultime versioni di SQL gestiscono i campi null considerandoli nella valutazione di relazioni complesse, estendendo a tre valori, vero falso null, il possibile risultato. Ultima precisazione riguarda la selezione dei campi null che si effettua tramite la sintassi: Attributo is [not] null Tale predicato risulta vero solo se il valore è null. Il predicato not null è il suo contrario Operatori aggregati Tali operatori sono una serie di parole chiave del linguaggio SQL dedicate all aggregazione dei dati grazie ai quali è possibile definire interrogazioni di notevoli interesse applicativo. É necessario ricorrere a questi operatori ogni qual volta occorra valutare delle proprietà che dipendono da insiemi di righe e non dalla singola riga. Lo standard SQL prevede cinque operatori aggregati, divisibili in due gruppi: count da una parte e sum, max, min, avg dall altra. L operatore count permette di determinare il numero di righe di una interrogazione; la sintassi è la seguente:

31 Capitolo 3. Teoria sui database 27 Count ( * [ distinct ] [ all ] ListaAttributi ) L opzione * restituisce il numero delle righe; l opzione distinct, invece, restituisce il numero dei diversi valori degli attributi mentre l opzione all (impostata di default) restituisce il numero dei valori diversi da null. Gli altri operatori di aggregazione richiedono, invece, solo un attributo o un espressione, eventualmente preceduta dalle parole chiave distinct o all. Le funzioni sum ed avg ammettono come argomento solo espressione numeriche mentre max e min accettano anche intervalli di tempo e stringhe. Ecco brevemente illustrato il significato dei vari attributi: Sum Restituisce la somma dei valori posseduti dall attributo su tutte le righe che soddisfano la clausola where. Max e min Restituiscono il massimo ed il minimo valore tra quelli di ciascuna riga (su questi operatori distinct o all non hanno alcun effetto). Avg Restituisce il valore medio tra quelli scelti Interrogazioni con raggruppamento Qualora occorra produrre delle aggregazioni a dei sottoinsiemi di righe occorre fare ricorso alla clausola group by. Questa istruzione permette di creare dei raggruppamenti parziali, mostrando una sola riga per ogni insieme che ha uno stesso valore nell attributo passato come parametro.

32 Capitolo 4 Analisi del problema Questo capitolo tratta il funzionamento logico in base al quale sono stati concepiti l interfaccia, il database e le scelte utilizzate per farli interagire nel modo migliore. Questo serve ad offrire un quadro generale in modo da comprendere il funzionamento delle varie istruzioni realizzate e in quale parte di codice queste intervengono. Infatti specialmente l interfaccia è strutturata in maniera differente da come appare, in particolare sembra formata da un insieme di frames ma non è così. 4.1 La struttura logica dell interfaccia Il cuore dell interfaccia è costituito dalla pagina index.php che offre il background e definisce la struttura di tutte le altre pagine. La index.php è costituita da poche linee di codice, in cui nelle prime è presente l inclusione della pagina common.php che racchiude sia il codice di tutte le funzioni PHP utilizzate nell interfaccia, che le variabili globali utilizzate. É stata creata la pagina common.php contenente tutte le funzioni poichè esiste ridondanza tra alcune righe di codice nelle varie pagine e con l introduzione di questa nuova

33 Capitolo 4. Analisi del problema 29 pagina si evita di scrivere ogni volta lo stesso codice con differenza solo nei parametri passati. Le righe successive della pagina index.php specificano il linguaggio utilizzato, lo standard di caratteri e la posizione del foglio di stile. Viene utilizzato un foglio di stile per scindere l informazione dalla rappresentazione in modo da rendere più semplice successive modifiche nel contenuto o nella grafica. Infatti nell progettazione del sito sono state rispettate alcune delle principali guidelines del W3C che permettono di rendere un sito accessibile e usabile; di questo ne è un esempio l adozione dei fogli di stile. Riguardo alla struttura tutte le pagine sono simili per dare maggiore fiducia all utente, infatti la disomogeneità tende a confondere e quindi a perdere la sicurezza di poter trovare ciò che si cerca. La pagina è suddivisa in quattro aree chiamate div ed è proprio su queste che agiscono i css, permettendo di variare qualsiasi cosa riguardi la grafica del sito. Ogni div può avere colori (del carattere, dello sfondo, dei bordi... )completamente differenti dagli altri. Il div superiore è chiamato header ed è largo quanto tutta la pagina, sarà utilizzato per includere il logo dell azienda così da focalizzare subito l attenzione sul nome della ditta e su cosa produce. La parte centrale della pagina ospita due div sulla sinistra, uno sotto l altro, contenenti i due menù di navigazione che non risiedono nella index.php ma sono caricati da altre due pagine (menu.php e menu help.php) in modo da poter aggiungere nuove voci ai due menù senza dover modificare l index.php e di conseguenza interrompere in servizio web. Il primo menù è formato da cinque voci: Home; Ricerca; Inserimento;

34 Capitolo 4. Analisi del problema 30 Cancellazione; Modifica; che rappresentano le varie aree tematiche dell interfaccia, attraverso queste è possibile la modifica, l inserimento e la cancellazione di tutti i dati presenti all interno del database. Il secondo menù è di supporto nel caso di problemi o informazioni mancanti, infatti è composto da solo due voci: Codice Fiscale; Help. La prima voce è un riferimento ad un utility trovata in rete all indirizzo ( che serve a ricavare il codice fiscale dai dati personali di un paziente, in modo da riempirne il campo relativo al codice fiscale. Il secondo collegamento porta alla pagina in cui sono presenti le principali spiegazioni per l utilizzo del sito e serve prevalentemente ad un utenza che non ha molta dimestichezza con il computer o ad interpretare in modo migliore i messaggi di errore che si potrebbero presentare. Ognuna delle quattro sezioni principali fa riferimento a varie sottosezioni in modo da ridurre i possibili errori nel trasferimento dei parametri. In questo modo le pagine di gestione del paziente sono divise da quelle relative alle immagini o alle patologie e viene ridotto considerevolmente il numero degli errori possibili. Il codice risulta semplificato senza peraltro appesantire l esplorazione del sito dato che le funzioni e la grafica utilizzate risiedono nella cache del computer poichè come già menzionato tutto l aspetto relativo alla grafica viene caricato dai css all interno della index.php che fa da background a tutte le altre.

35 Capitolo 4. Analisi del problema 31 Semplificando il codice risulta molto più agevole effettuare sia il debug che gli aggiornamenti futuri, i quali richiederebbero un periodo di tempo maggiore per comprendere il funzionamento delle varie funzioni e l immissione di nuove variabili. Per fare un esempio basta pensare che la sola pagina di inserimento di un immagine contiene circa sessanta variabili, quindi l ipotetica pagina di inserimento collettivo, che raggruppa tutti i vari tipi di inserimento, dovrebbe contenerne circa duecento ed è anche per questo che mi sono orientato verso una soluzione con un numero maggiore di pagine. La struttura del sito può essere pensata come fatta ad albero, che si snoda nelle quattro sezioni principali, ognuna delle quali si suddivide in un numero variabile di parti. Le quattro sezioni servono per effettuare una modifica su una delle varie tabelle prodotte, ma solo nella seconda sezione avviene l immissione dei dati che poi andranno a riempire/modificare le varie tabelle. Da questa pagina i valori vengono passati ad un nuova pagina che gli elabora e se superano i vari check introdotti per scongiurare alcuni dei più frequenti errori, li inserisce nel database. 4.2 La struttura logica del database Nel prossimo capitolo verrà trattata la realizzazione e l implementazione del database nello specifico, mentre in questa sezione sarà menzionata solo la sua struttura logica. Il database serve a tenere memoria di tutti i dati personali dei vari pazienti e per effettuare una rapida ricerca senza utilizzare una quantità eccessiva delle risorse del calcolatore. Il database realizzato è suddiviso in sette tabelle di cui tre servono per mettere in relazione tabelle differenti. La tabella principale è sicuramente quella del Paziente in cui sono memorizzati tutti i dati sensibili che in questa versione di prova risiede sulla

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

Dettagli

Definizione di domini

Definizione di domini Definizione di domini Come nei linguaggi ad alto livello (es. C) è possibile definire nuovi domini (tipi di dati) a partire da quelli predefiniti, anche se il costruttore è più limitato. create domain

Dettagli

Progettazione di Basi di Dati

Progettazione di Basi di Dati Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

Dettagli

Lezione V. Aula Multimediale - sabato 29/03/2008

Lezione V. Aula Multimediale - sabato 29/03/2008 Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione Programma del Corso Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione (I prova scritta) (II prova scritta) Interazione fra linguaggi di programmazione e basi di dati Cenni

Dettagli

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono

Dettagli

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari: SQL SQL (pronunciato anche come l inglese sequel: acronimo di Structured Query Language (linguaggio di interrogazione strutturato Linguaggio completo che presenta anche proprietà di: DDL (Data Definition

Dettagli

MODELLO RELAZIONALE. Introduzione

MODELLO RELAZIONALE. Introduzione MODELLO RELAZIONALE Introduzione E' stato proposto agli inizi degli anni 70 da Codd finalizzato alla realizzazione dell indipendenza dei dati, unisce concetti derivati dalla teoria degli insiemi (relazioni)

Dettagli

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015 BASE DI DATI: introduzione Informatica 5BSA Febbraio 2015 Di cosa parleremo? Base di dati relazionali, modelli e linguaggi: verranno presentate le caratteristiche fondamentali della basi di dati. In particolare

Dettagli

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. (Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System

Dettagli

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati Basi di dati Il Modello Relazionale dei Dati Proposto da E. Codd nel 1970 per favorire l indipendenza dei dati Disponibile come modello logico in DBMS reali nel 1981 (non è facile realizzare l indipendenza

Dettagli

BASI DI DATI - : I modelli di database

BASI DI DATI - : I modelli di database BASI DI DATI - : I modelli di database DAL 1960 ci si e' orientati verso 3 direzioni: 1 MODELLO GERARCHICO Se i dati si presentano naturalmente in una struttura ad albero (ES. File System) Limiti: rigidità

Dettagli

Gestione delle tabelle

Gestione delle tabelle Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 Creazione di una tabella (1/3) Si utilizza

Dettagli

BASE DI DATI: sicurezza. Informatica febbraio 2015 5ASA

BASE DI DATI: sicurezza. Informatica febbraio 2015 5ASA BASE DI DATI: sicurezza Informatica febbraio 2015 5ASA Argomenti Privatezza o riservatezza Vincoli di integrità logica della base di dati intrarelazionali interrelazionali Principio generale sulla sicurezza

Dettagli

Elena Baralis 2013 Politecnico di Torino 1

Elena Baralis 2013 Politecnico di Torino 1 Modello relazionale Docente M2170 Fondamenti di informatica Verdi M4880 Sistemi di elaborazione Bianchi F0410 Basi di dati Neri Docenti Nome Dipartimento Telefono Verdi Informatica 123456 Bianchi Elettronica

Dettagli

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

Dettagli

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

ARCHIVI E DATABASE (prof. Ivaldi Giuliano) ARCHIVI E DATABASE (prof. Ivaldi Giuliano) Archivio: è un insieme di registrazioni (o records) ciascuna delle quali è costituita da un insieme prefissato di informazioni elementari dette attributi (o campi).

Dettagli

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare

Dettagli

OSSIF WEB. Manuale query builder

OSSIF WEB. Manuale query builder OSSIF WEB Manuale query builder - Maggio 2010 1) Sommario 1) SOMMARIO... 2 INTRODUZIONE... 3 Scopo del documento... 3 Struttura del documento... 3 Descrizione dell interfaccia grafica... 3 SELEZIONE DI

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro, EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: storia SQL SQL: concetti base originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo gli aspetti essenziali,

Dettagli

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi Modello Relazionale Modello Relazionale Proposto agli inizi degli anni 70 da Codd Finalizzato alla realizzazione dell indipendenza dei dati Unisce concetti derivati dalla teoria degli insiemi (relazioni)

Dettagli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

Dettagli

Volumi di riferimento

Volumi di riferimento Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di

Dettagli

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone BASI DI DATI per la gestione dell informazione Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone Libro di Testo 22 Chianese, Moscato, Picariello e Sansone BASI DI DATI per la Gestione dell

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

Dettagli

Al giorno d oggi, i sistemi per la gestione di database

Al giorno d oggi, i sistemi per la gestione di database Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,

Dettagli

Corso di Informatica (Basi di Dati)

Corso di Informatica (Basi di Dati) Corso di Informatica (Basi di Dati) Lezione 1 (12 dicembre 2008) Introduzione alle Basi di Dati Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini,

Dettagli

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

LA GESTIONE DELLE VISITE CLIENTI VIA WEB LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

Sistemi Informativi e Basi di Dati

Sistemi Informativi e Basi di Dati Sistemi Informativi e Basi di Dati Laurea Specialistica in Tecnologie di Analisi degli Impatti Ecotossicologici Docente: Francesco Geri Dipartimento di Scienze Ambientali G. Sarfatti Via P.A. Mattioli

Dettagli

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati Informatica Generale Andrea Corradini 19 - Sistemi di Gestione delle Basi di Dati Sommario Concetti base di Basi di Dati Il modello relazionale Relazioni e operazioni su relazioni Il linguaggio SQL Integrità

Dettagli

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007 Basi di dati Concetti introduttivi Ultima modifica: 26/02/2007 ESEMPIO INSEGNAMENTI Fisica, Analisi, Informatica Aule Docenti Entità Relazioni Interrogazioni St udent i Database 2 Tabella (I) STUDENTE

Dettagli

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 2007 Politecnico di Torino 1 Creazione

Dettagli

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software Volume GESTFLORA Gestione aziende agricole e floricole Guidaall uso del software GESTIONE AZIENDE AGRICOLE E FLORICOLE Guida all uso del software GestFlora Ver. 2.00 Inter-Ware Srl Viadegli Innocenti,

Dettagli

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi

Dettagli

Le Basi di Dati. Le Basi di Dati

Le Basi di Dati. Le Basi di Dati Le Basi di Dati 20/05/02 Prof. Carlo Blundo 1 Le Basi di Dati Le Base di Dati (database) sono un insieme di tabelle di dati strutturate in maniera da favorire la ricerca di informazioni specializzate per

Dettagli

Introduzione al data base

Introduzione al data base Introduzione al data base L Informatica è quella disciplina che si occupa del trattamento automatico dei dati con l ausilio del computer. Trattare i dati significa: raccoglierli, elaborarli e conservarli

Dettagli

Facoltà di Farmacia - Corso di Informatica

Facoltà di Farmacia - Corso di Informatica Basi di dati Riferimenti: Curtin cap. 8 Versione: 13/03/2007 1 Basi di dati (Database, DB) Una delle applicazioni informatiche più utilizzate, ma meno conosciute dai non informatici Avete già interagito

Dettagli

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014 Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi

Dettagli

Operazioni sui database

Operazioni sui database Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle

Dettagli

5.2.1 RELAZIONI TRA TABELLE 1. 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9

5.2.1 RELAZIONI TRA TABELLE 1. 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9 5.2.1 RELAZIONI TRA TABELLE 1 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9 Il grado di un verso di un associazione indica quanti record della tabella di partenza si associano ad un

Dettagli

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni

Dettagli

Raggruppamenti Conti Movimenti

Raggruppamenti Conti Movimenti ESERCITAZIONE PIANO DEI CONTI Vogliamo creare un programma che ci permetta di gestire, in un DB, il Piano dei conti di un azienda. Nel corso della gestione d esercizio, si potranno registrare gli articoli

Dettagli

Concetti fondamentali dei database database Cos'è un database Principali database

Concetti fondamentali dei database database Cos'è un database Principali database Concetti fondamentali dei database Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati. Le operazioni possono essere molteplici: ricerca, aggregazione con altri e riorganizzazione

Dettagli

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella

Dettagli

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12 SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2011/12 DEFINIZIONE Il concetto di vista 2 È una relazione derivata. Si specifica l espressione che genera il suo contenuto.

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

Dettagli

SOLUZIONE Web.Orders online

SOLUZIONE Web.Orders online SOLUZIONE Web.Orders online Gennaio 2005 1 INDICE SOLUZIONE Web.Orders online Introduzione Pag. 3 Obiettivi generali Pag. 4 Modulo di gestione sistema Pag. 5 Modulo di navigazione prodotti Pag. 7 Modulo

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

Lezione 1. Introduzione e Modellazione Concettuale

Lezione 1. Introduzione e Modellazione Concettuale Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and

Dettagli

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO Descrizione Nell ambito della rilevazione dei costi, Solari con l ambiente Start propone Time&Cost, una applicazione che contribuisce a fornire

Dettagli

FPf per Windows 3.1. Guida all uso

FPf per Windows 3.1. Guida all uso FPf per Windows 3.1 Guida all uso 3 Configurazione di una rete locale Versione 1.0 del 18/05/2004 Guida 03 ver 02.doc Pagina 1 Scenario di riferimento In figura è mostrata una possibile soluzione di rete

Dettagli

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti. SH.MedicalStudio Presentazione SH.MedicalStudio è un software per la gestione degli studi medici. Consente di gestire un archivio Pazienti, con tutti i documenti necessari ad avere un quadro clinico completo

Dettagli

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

Dettagli

Guida Software GestioneSpiaggia.it

Guida Software GestioneSpiaggia.it Caratteristiche Guida Software GestioneSpiaggia.it 1. Gestione prenotazioni articoli (ombrellone, cabina, ecc ) ed attrezzature (sdraio, lettino ecc ) 2. Visualizzazione grafica degli affitti sia giornaliera

Dettagli

2003.06.16 Il sistema C.R.M. / E.R.M.

2003.06.16 Il sistema C.R.M. / E.R.M. 2003.06.16 Il sistema C.R.M. / E.R.M. Customer / Enterprise : Resource Management of Informations I-SKIPPER è un sistema di CONOSCENZE che raccoglie ed integra INFORMAZIONI COMMERCIALI, dati su Clienti,

Dettagli

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli gerarchico e reticolare sono più vicini alle strutture

Dettagli

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

Introduzione al corso

Introduzione al corso Introduzione al corso Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: introduzione.pdf Sistemi Informativi L-B Docente Prof. Paolo Ciaccia

Dettagli

Data Base. Prof. Filippo TROTTA

Data Base. Prof. Filippo TROTTA Data Base Definizione di DataBase Un Database può essere definito come un insieme di informazioni strettamente correlate, memorizzate su un supporto di memoria di massa, costituenti un tutt uno, che possono

Dettagli

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Data Base. Master Bio Info Reti e Basi di Dati Lezione 6 Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica

Dettagli

MODULO 5 Appunti ACCESS - Basi di dati

MODULO 5 Appunti ACCESS - Basi di dati MODULO 5 Appunti ACCESS - Basi di dati Lezione 1 www.mondopcnet.com Modulo 5 basi di dati Richiede che il candidato dimostri di possedere la conoscenza relativa ad alcuni concetti fondamentali sui database.

Dettagli

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro Database relazionali: un'introduzione Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro Rappresentazione astratta di aspetti del mondo reale (Universe

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

Access. P a r t e p r i m a

Access. P a r t e p r i m a Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di

Dettagli

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE Il software ideale per la gestione delle prenotazioni GUIDA UTENTE Presentazione... 2 Installazione... 3 Prima esecuzione... 6 Registrazione del programma... 8 Inserimento Immobile... 9 Inserimento proprietario...

Dettagli

CONTENUTI 1. INTRODUZIONE...3 2. CONCETTI BASICI SU EQUINOX CMS XPRESS...5 3. ACCESSO A EQUINOX CMS XPRESS...9 4. PAGINA D INIZIO...

CONTENUTI 1. INTRODUZIONE...3 2. CONCETTI BASICI SU EQUINOX CMS XPRESS...5 3. ACCESSO A EQUINOX CMS XPRESS...9 4. PAGINA D INIZIO... CONTENUTI 1. INTRODUZIONE...3 DEFINIZIONE...3 ELEMENTI DEL SERVIZIO...3 TECNOLOGIA E OPERAZIONE...3 WORKFLOW E GRAFICO DI PROCESSI...4 2. CONCETTI BASICI SU EQUINOX CMS XPRESS...5 STRUTTURA...5 OGGETTI...5

Dettagli

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2 ECDL - Database European Computer Driving Licence - Modulo 5 - Database LEZIONE 2 Ripasso Introduzione - Ripasso Cosa si intende per dbms? e cosa per database? Quali sono gli elementi che lo compongono?

Dettagli

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste versione 2.1 24/09/2015 aggiornamenti: 23-set-2015; 24-set-2015 Autore: Francesco Brunetta (http://www.francescobrunetta.it/)

Dettagli

Informatica (Basi di Dati)

Informatica (Basi di Dati) Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Introduzione alle Basi di Dati Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati

Dettagli

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia Scuola Digitale Manuale utente Copyright 2014, Axios Italia 1 SOMMARIO SOMMARIO... 2 Accesso al pannello di controllo di Scuola Digitale... 3 Amministrazione trasparente... 4 Premessa... 4 Codice HTML

Dettagli

La Metodologia adottata nel Corso

La Metodologia adottata nel Corso La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema

Dettagli

Ottimizzazione delle interrogazioni (parte I)

Ottimizzazione delle interrogazioni (parte I) Ottimizzazione delle interrogazioni I Basi di Dati / Complementi di Basi di Dati 1 Ottimizzazione delle interrogazioni (parte I) Angelo Montanari Dipartimento di Matematica e Informatica Università di

Dettagli

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE 1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma

Dettagli

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale La soluzione modulare di gestione del Sistema Qualità Aziendale I MODULI Q.A.T. - Gestione clienti / fornitori - Gestione strumenti di misura - Gestione verifiche ispettive - Gestione documentazione del

Dettagli

Organizzazione delle informazioni: Database

Organizzazione delle informazioni: Database Organizzazione delle informazioni: Database Laboratorio Informatico di base A.A. 2013/2014 Dipartimento di Scienze Aziendali e Giuridiche Università della Calabria Dott. Pierluigi Muoio (pierluigi.muoio@unical.it)

Dettagli

Introduzione alla teoria dei database relazionali. Come progettare un database

Introduzione alla teoria dei database relazionali. Come progettare un database Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare

Dettagli

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3

Dettagli

FRANCESCO MARINO - TELECOMUNICAZIONI

FRANCESCO MARINO - TELECOMUNICAZIONI Classe: Data Autore: Francesco Marino http://www.francescomarino.net info@francescomarino.net Esercitazione n. 18 Creazione e configurazione di una connessione remota in Windows 9x Gruppo: Alunni assenti

Dettagli

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a Join in SQL (primo modo) Informatica Lezione 7 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 09- Per formulare interrogazioni che coinvolgono

Dettagli

Introduzione. Alberto Fortunato alberto.fortunato@gmail.com. www.albertofortunato.com Pag. 1 di 137

Introduzione. Alberto Fortunato alberto.fortunato@gmail.com. www.albertofortunato.com Pag. 1 di 137 Introduzione Il software Gestione magazzino è stato realizzato con l intenzione di fornire uno strumento di apprendimento per chi intendesse cominciare ad utilizzare Access 2010 applicando le tecniche

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database Microsoft Access Introduzione alle basi di dati Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale limitato Meccanismi di sicurezza, protezione di dati e gestione

Dettagli

ITI M. FARADAY Programmazione modulare a.s. 2014-2015

ITI M. FARADAY Programmazione modulare a.s. 2014-2015 Indirizzo: INFORMATICA E TELECOMUNICAZIONI Disciplina: Informatica Docente:Maria Teresa Niro Classe: Quinta B Ore settimanali previste: 6 (3 ore Teoria - 3 ore Laboratorio) ITI M. FARADAY Programmazione

Dettagli

SDD System design document

SDD System design document UNIVERSITA DEGLI STUDI DI PALERMO FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA TESINA DI INGEGNERIA DEL SOFTWARE Progetto DocS (Documents Sharing) http://www.magsoft.it/progettodocs

Dettagli

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica Consiglio regionale della Toscana Regole per il corretto funzionamento della posta elettronica A cura dell Ufficio Informatica Maggio 2006 Indice 1. Regole di utilizzo della posta elettronica... 3 2. Controllo

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli