Progettazione database relazionali

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Progettazione database relazionali"

Transcript

1 Progettazione database relazionali I&T Informatica e Telecomunicazioni S.p.A Via dei Castelli Romani, Pomezia (Roma) Italy Tel Fax Divisione Innovazione Tecnologica Area Data Warehouse Relatore: Nino RUSSO Maggio 1998

2 Indice Prefazione 5 1 Database e DBMS Cos è un database DataBase Management System (DBMS) Caratteristiche di un DBMS Dati non volatili Accesso efficiente a grandi quantità di dati Modello dati Linguaggi ad alto livello Gestione delle transazioni Accesso controllato Capacità di recupero Aspetti negativi 9 2 Progettazione concettuale Ciclo di vita dei sistemi informativi Modello dei dati e fasi di progettazione Progetto concettuale del database Livello vista Schemi ed Istanze Progetto logico del database Progetto fisico del database Indipendenza dei dati Modello Entità-Relazione Entità Set di entità Attributi e chiavi Relazioni Relazioni uno-a-uno Relazione uno-a-molti Relazione molti-a-molti Gerarchia ISA Attributi delle relazioni Esempio di schema concettuale Linee guida per tracciare uno schema entità-relazione Utilità del diagramma Entità-Relazione Altri modelli dati Modello dati reticolare Modello dati gerarchico Modelli orientati agli oggetti Modelli basati sulla logica 26 3 Progettazione logica Modello dati logico 29 2

3 3.2 Modello dati relazionale Rappresentazione dei diagrammi entità-relazione nel modello relazionale Eliminazione delle gerarchie Schema logico del database di esempio Vincoli di integrità Vincoli di chiave Vincoli di integrità referenziale Vantaggi del modello relazionale Algebra relazionale Operatori di base Proiezione Selezione o restrizione Prodotto (cartesiano) o congiunzione Ridenominazione Unione Differenza Operatori derivati Intersezione Natural join (giunzione naturale) Join (giunzione) Semijoin Normalizzazione dei dati Ridondanza e anomalie Dipendenze Dipendenze funzionali Dipendenze a molti valori Individuazione delle dipendenze Scomposizioni Scomposizione lossless join (senza perdita) Scomposizioni che conservano le dipendenze Prima forma normale Seconda forma normale Terza forma normale Linee guida sulla normalizzazione Forma normale di Boyce-Codd Osservazioni sulla 3NF e BCNF Analisi non accurata Quarta forma normale Implementazione dello schema logico 61 4 Progettazione fisica Strutture fisiche di accesso Strutture sequenziali Struttura sequenziale entry-sequenced (file sequenziale) Struttura sequenziale ISAM (file indicizzato) Ricerca in un indice Strutture con accesso calcolato (file hashed) Funzioni hash Strutture ad albero (B-tree) Progettazione fisica di una base di dati 66 Appendice A - Data Flow Diagram 69 3

4 Appendice B - Evoluzione dei modelli di elaborazione 72 B.1 Mainframe e mini 72 B.2 Modello a personal computer isolati 72 B.3 Modello rete/file server 74 B.4 Modello client/server 76 B.5 Pregi e difetti del modello client/server 80 Bibliografia 82 4

5 Prefazione Nello svolgimento di ogni attività, sia a livello individuale sia in organizzazioni di ogni dimensione, sono essenziali la disponibilità di informazioni e la capacità di gestirle in modo efficace; ogni organizzazione è dotata di un sistema informativo, che organizza e gestisce le informazioni necessarie per perseguire gli scopi dell organizzazione stessa. Progettare una base di dati significa definire struttura, caratteristiche e contenuto: si tratta, come è facile immaginare, di un processo nel quale bisogna prendere molte decisioni strategiche e l uso di opportune metodologie è fondamentale per la realizzazione di un prodotto di alta qualità. In questo documento viene illustrato ed esemplificato il processo di progettazione concettuale, logica e fisica dei database relazionali (e una visione generale di altri modelli), che permette, partendo dai requisiti dell utente, di arrivare a produrre strutture di database di buona qualità. 5

6 1 Database e DBMS Chiunque si sia avvicinato al mondo dell informatica ha sentito parlare di database e DBMS, vediamo che cosa sono. 1.1 Cos è un database Un database (o base di dati) è un insieme di informazioni permanenti organizzate secondo una struttura definita da un modello dati che rappresenta una situazione reale che si vuole automatizzare (gestione magazzino, fatturazione, personale, ecc.). Nei file tradizionali le informazioni sono organizzate in modo sequenziale, mentre in un database, in accordo con il modello dati, vengono stabilite relazioni tra le varie porzioni di informazioni. Ad esempio, un numero assume significato diverso se è contenuto in file o se è contenuto in un database. Nel primo caso è semplicemente un numero che si trova in una certa posizione del file. Invece in un database ad esso è assegnato un ruolo dal modello dati. Può essere il prezzo di un prodotto che è stato venduto come articolo di un ordine avanzato da un cliente. Ognuno di questi elementi, prezzo, prodotto, articolo, ordine e cliente, è una entità specificata e correlata alle altre dal modello dati. Un database deve soddisfare i seguenti requisiti: i dati devono essere organizzati con ridondanza minima, ossia non devono essere inutilmente duplicati per evitare spreco di risorse di memorizzazione e, soprattutto, per evitare l onere della gestione di copie multiple che possono mettere a rischio la consistenza e l affidabilità dei dati; i dati devono essere utilizzabili contemporaneamente da più utenti, evitando che ognuno crei una copia propria degli stessi; deve esistere un unica versione dei dati a cui gli utenti accedono secondo specifici diritti. Inoltre sono necessarie delle tecniche che consentano di evitare che l attività dei vari utenti generi conflitti per l uso contemporaneo degli stessi dati. 1.2 DataBase Management System (DBMS) I DBMS sono strumenti software che gestiscono in maniera efficace ed efficiente le informazioni contenute in un database. Prima dello sviluppo dei DBMS l approccio che veniva applicato al problema dell archiviazione prevedeva l uso diretto delle strutture del file system (vedi fig. 1.1). Appl. 1 Appl. 2 Appl. 3 Fig. 1.1 Approccio file system 6

7 Nella soluzione file system, le applicazioni accedono direttamente agli archivi, quindi ognuna deve conoscere la struttura interna degli archivi e le relazioni tra i dati e deve evitare la duplicazione degli stessi. Inoltre la non volatilità dei dati e la gestione degli accessi contemporanei di più applicazioni agli archivi viene relegata a strati software non specializzati per tali compiti, quali il sistema operativo. La caratteristica saliente che differenzia un sistema per la gestione di database (DB) è la presenza di un componente specializzato a tale ruolo (vedi fig. 1.2). Appl. 1 Appl. 2 Appl. 3 D B M S DB Fig. 1.2 Approccio DBMS La figura 1.2 mostra come le applicazioni rivolgono al DBMS le proprie richieste di accesso alla base di dati, il quale gestisce i dati svincolando le applicazioni da tale onere. Quindi il DBMS è un modulo, specializzato nella gestione del DB; a cui tutte le applicazioni si rivolgono per accedere ai dati. Si ottiene così un triplice scopo: da una parte le funzionalità di gestione del database sono raggruppate in un unico insieme, dall altra le applicazioni risultano alleggerite e quindi più veloci da realizzare e, soprattutto, nessuna potrà effettuare operazioni scorrette sul database. 1.3 Caratteristiche di un DBMS Le proprietà fondamentali di un DBMS sono: Capacità di gestire dati non volatili; Capacità di accedere in modo efficiente a grandi quantità di dati. Sono richieste, inoltre, le seguenti caratteristiche: Mantenimento di un modello dati, o astrazione matematica tramite la quale l utente può osservare i dati; Mantenimento di linguaggi di alto livello che permettono all utente di definire la struttura dei dati, accedere ad essi ed elaborarli; Gestione delle transazioni, cioè capacità di fornire un accesso corretto e concorrente al DB da parte di molti utenti contemporaneamente; Accesso controllato, cioè capacità di limitare l accesso ai dati agli utenti non autorizzati e di controllare la validità dei dati; Capacità di recupero, cioè la possibilità di ripristino a seguito di guasti del sistema senza perdere dati. 7

8 1.3.1 Dati non volatili Un DBMS deve trattare dati non volatili, nello specifico deve trattare un database che contiene i dati che si vogliono gestire e le informazioni che servono per gestirli. Ovviamente i dati per essere non volatili devono essere memorizzati su memorie di massa Accesso efficiente a grandi quantità di dati Un DBMS deve permettere, a differenza di un file system, di accedere in maniera rapida a porzioni arbitrarie di dati contenuti nel DB. Questa capacità diventa necessaria soprattutto quando la mole dei dati è molto grande, mentre per quantità piccole di solito bastano anche tecniche di accesso semplice, come quella della scansione lineare Modello dati Ogni DBMS fornisce almeno un modello astratto di dati, che consente all utente di considerare le informazioni non come sequenza di bit, ma in termini a lui più comprensibili. Per operare sulle informazioni contenute in un database è possibile, quindi, ignorare i dettagli della struttura fisica del DB e considerare i dati in termini di ciò che rappresentano nel mondo reale o, comunque, in relazione al livello di astrazione del modello dei dati del database Linguaggi ad alto livello Un DBMS supporta tradizionalmente tre tipi di linguaggi, distinti in base alle funzioni eseguite sui dati. Tale distinzione è dovuta alla separazione delle funzioni dichiarative da quelle di elaborazione e di controllo, a differenza di quanto avviene in un comune linguaggio di programmazione. Il motivo è che, mentre in un normale programma i dati esistono solo mentre esso è in esecuzione, in un DB i dati sono permanenti e possono essere dichiarati una volta per tutte. Per la definizione dello schema logico del database viene usato il DDL (Data Definition Language). Esso non è un linguaggio procedurale, piuttosto è una notazione per definire le informazioni e le relazioni intercorrenti fra esse, secondo un particolare modello dati. Per le operazione di interrogazione ed aggiornamento dei dati quali inserimento, modifica, cancellazione, e così via, viene usato il DML (Data Manipulation Language). Esso può essere disponibile come linguaggio a se stante o come un insieme di istruzioni richiamabili da un linguaggio di programmazione che svolge il ruolo di linguaggio host. Per le operazioni di controllo dei dati, la gestione degli utenti, l assegnazione dei diritti di accesso, l ottimizzazione del funzionamento del DBMS viene usato il DCL (Data Control Language). Solitamente il DML è utilizzato dai programmatori che realizzano i programmi applicativi destinati agli utenti finali, mentre il DCL e il DDL sono usati dal DBA (Data Base Administrator), la persona o il gruppo di persone che partecipa alla progettazione e al mantenimento del database. Un altra figura che partecipa alla progettazione del DB è il DA (Data Administrator), figura di più alto livello rispetto al DBA, che si occupa dei dati come patrimonio del sistema informativo aziendale, indipendentemente dalla loro localizzazione all interno di un DB Gestione delle transazioni Un altra caratteristica importante di un DBMS è la sua capacità di gestire simultaneamente grandi quantità di transazioni, cioè di procedure operanti sul DB. Alcuni DB sono così grandi che possono essere utili solo se su di essi operano simultaneamente diverse applicazioni. I sistemi usati dalle banche, a cui accedono quasi istantaneamente centinaia o migliaia di macchine per interrogazioni e almeno altrettanti impiegati delle filiali, costituiscono un tipico esempio di questi DB. A volte due accessi non interferiscono tra loro; ad esempio il saldo di un conto bancario può essere letto nello stesso tempo, senza problemi di inconsistenza, da qualunque numero di transazioni. Altre volte, come nel caso di un prelievo che avviene contemporaneamente ad un versamento, il risultato di due transazioni simultanee e senza coordinazione può essere imprevedibile. 8

9 Quindi, le transazioni che modificano un campo, devono bloccare altre transazioni che cercano di leggere o scrivere lo stesso campo nel medesimo istante. Perciò un DBMS deve fornire controlli di concorrenza per evitare che più di una transazione acceda allo stesso dato in modo non coordinato Accesso controllato Le funzionalità di un DBMS di gestione degli utenti consente all amministratore del sistema di definire dei vincoli di accesso ai dati, ovvero di stabilire per ciascun utente i diritti di accesso (lettura, modifica e così via) alle singole unità di informazione del database. Inoltre un DBMS fornisce spesso una funzione di view (vista) che consente di creare oggetti astratti a partire da oggetti reali permettendo visione logiche diverse dello stesso insieme di dati; ciò comporta la possibilità di rendere disponibile a determinate categorie di utenza l intero database, ad altri solo una parte Capacità di recupero Un DBMS, oltre a trattare dati non volatili, deve implementare delle tecniche che permettano il ripristino dei dati persi o danneggiati a seguito di un malfunzionamento di una qualsiasi componente del sistema. La maggior parte dei DBMS esistenti gestisce un file detto log delle transazioni nel quale si tiene traccia di tutti i cambiamenti che avvengono nel database. Ogni volta che un utente avvia una transazione che modifica il DB, il DBMS registra la modifica nel log delle transazioni. Quando la transazione è conclusa nel log viene segnalato che le modifiche della transazione sono definitive. Se, ad esempio, si verifica un crash del sistema dovuto ad una caduta di tensione, ci saranno dei dati modificati che non sono stati ancora scritti nel database, ma grazie al log delle transazioni, si potrà ricostruire la transazione persa. Per il recovery di problemi più seri come il crash del disco rigido non sono più sufficienti i log delle transazioni ma è necessario avere un backup (copia su dispositivi di memorizzazione esterni) del DB o di una parte di esso. Il DBMS deve fornire gli strumenti adatti ad assolvere a questo compito Aspetti negativi I DBMS hanno anche degli aspetti negativi: I DBMS sono prodotti costosi, complessi e abbastanza diversi da molti altri strumenti informatici. La loro introduzione comporta quindi notevoli investimenti, diretti (acquisto del prodotto) e indiretti (acquisizione delle risorse hardware e software necessarie, conversione delle applicazioni, formazione del personale). I DBMS forniscono, in forma integrata, una serie di servizi, che sono necessariamente associati ad un costo. Nei casi in cui questi servizi non sono tutti necessari, è difficile scorporare i servizi effettivamente richiesti dagli altri, e ciò può comportare una riduzione di prestazioni. 9

10 2 Progettazione concettuale La progettazione concettuale è la prima fase che viene eseguita nella costruzione di una base di dati, e in essa si produce, uno schema concettuale che rappresenta la realtà di interesse. Nel seguente capitolo illustreremo questo processo e i modelli dati che permettono di realizzare lo schema concettuale suddetto, in particolare, il modello entità-relazione che è al momento il più diffuso. Prima di ciò, però, vediamo la metodologia di progettazione. 2.1 Ciclo di vita dei sistemi informativi La progettazione di una base dati costituisce solo una componente del processo di sviluppo, all interno di una organizzazione, di un sistema informativo complesso e va quindi inquadrata in un contesto più ampio, quello del ciclo di vita dei sistemi informativi. Come illustrato in figura 2.1, il ciclo di vita di un sistema informativo comprende, generalmente, le seguenti attività. Studio di fattibilità Raccolta e analisi dei requisiti Progettazione Implementazione Validazione e collaudo Funzionamento Fig. 2.1 Ciclo di vita di un sistema informativo Studio di fattibilità. Serve a definire, in maniera per quanto possibile precisa, i costi delle varie alternative possibili e a stabilire le priorità di realizzazione delle varie componenti del sistema. Raccolta e analisi dei requisiti. Consiste nella individuazione e nello studio delle proprietà e delle funzionalità che il sistema informativo dovrà avere. Questa fase richiede una interazione con gli utenti del sistema e produce una descrizione completa, ma generalmente informale, dei 10

11 dati coinvolti (anche in termini di previsione sulla loro frequenza). Vengono inoltre stabiliti i requisiti software e hardware del sistema informativo. Progettazione. Si divide generalmente in progettazione dei dati e progettazione delle applicazioni. Nella prima si individua la struttura e l organizzazione che i dati dovranno avere, nell altra si definiscono le caratteristiche dei programmi applicativi. Le due attività sono complementari e possono procedere in parallelo o in cascata. Le descrizioni dei dati e dei programmi prodotte in questa fase sono formali e fanno riferimento a specifici modelli. Implementazione. Consiste nella realizzazione del sistema informativo secondo la struttura e le caratteristiche definite nella fase di progettazione. Viene costruita e popolata la base di dati e viene sviluppato il codice dei programmi. Validazione e collaudo. Serve a verificare il corretto funzionamento e la qualità del sistema informativo. La sperimentazione deve prevedere, per quanto possibile, tutte le condizioni operative. Funzionamento. In questa fase il sistema informativo diventa operativo e richiede, a meno di malfunzionamenti o revisioni delle funzionalità del sistema, solo operazioni di gestione e manutenzione. Va detto che accanto alle attività citate, viene oggi spesso effettuata anche una attività detta di prototipizzazione, che consiste nell uso di specifici strumenti software per la realizzazione rapida di una versione semplificata del sistema informativo, con la quale sperimentare le sue funzionalità. La verifica del prototipo può portare a una modifica dei requisiti e una eventuale revisione del progetto. Poiché i dati hanno un ruolo centrale nei sistemi informativi si giustifica uno studio autonomo relativo alla progettazione delle basi di dati che si individua nella terza fase del ciclo di vita riportato in figura Modello dei dati e fasi di progettazione Nel corso degli anni, nell ambito delle basi di dati, si è consolidata una metodologia di progetto articolate in tre fasi principali da effettuare in cascata. Essa si fonda su un principio molto semplice ma efficace: quello di separare in maniera netta le decisioni relative a cosa rappresentare in una base dati (prima fase), da quelle relative a come farlo (fasi successive). Ogni fase si riferisce a un livello di astrazione nella rappresentazione dei dati e delle relazioni tra essi, e ha lo scopo di separare le attività di risoluzione dei problemi e di garantire la possibilità di modificare delle soluzioni adottate ai livelli inferiori senza dover riprogettare quanto definito nei livelli superiori. A ciascuna fase di progettazione corrispondono diversi modelli per la rappresentazione dei dati, ovvero tecniche per la rappresentazione degli aspetti rilevanti della realtà da modellare, definite da strumenti e vincoli specifici. La rappresentazione generata seguendo le regole del modello viene definita schema (vedi fig. 2.2). realtà di interesse modello (regole di rappresentazione) schema Fig. 2.2 Realtà/modello/schema 11

12 Le fasi riconosciute fondamentali nella progettazione di un database sono le seguenti: progetto concettuale, progetto logico e progetto fisico (vedi figura 2.3). Requisiti della base di dati Progettazione di base di dati Progetto concettuale Modello concettuale Schema concettuale Progetto logico Modello logico Schema logico Progetto fisico Modello fisico Schema fisico Prodotti della progettazione Fig. 2.3 Fasi della progettazione di una base di dati Progetto concettuale del database Obiettivo della fase di progettazione concettuale è la rappresentazione completa (formale) della realtà di interesse (informale) ai fini informativi, in maniera indipendente da qualsiasi specifico DBMS e quindi senza tenere conto degli aspetti implementativi. Tale rappresentazione, detta schema concettuale (che fa riferimento a un modello concettuale dei dati), è la rappresentazione più astratta, ovvero più vicina alla logica umana, nella definizione di dati e relazioni. I modelli dei dati usati nella progettazione concettuale vengono definiti modelli semantici. Nel corso degli anni sono stati definiti diversi modelli dei dati ad iniziare da quelli reticolari e gerarchici seguiti da quello entità-relazione e infine quelli orientati agli oggetti e alla logica. 12

13 Livello vista Una vista, sottoschema, o subschema, è una parte del database concettuale o un astrazione di parte del database concettuale. In un certo senso, la costruzione delle viste è l inverso del processo di integrazione di un database: per ogni collezione dei dati che hanno contribuito alla costruzione del database concettuale globale, possiamo costruire una vista che contenga proprio quei dati. Le viste sono importanti anche per far valere la sicurezza in un sistema di database, permettendo solo agli utenti che ne hanno l autorizzazione di osservare i sottoinsiemi dei dati. Spesso una vista è proprio come un piccolo database concettuale ed ha lo stesso livello di astrazione. Però, in un certo senso, una vista può essere più astratta di un data base concettuale, in quanto i dati in essa coinvolti possono essere costruiti a partire dal database concettuale, senza però essere effettivamente presenti in quel database Schemi ed Istanze Quando si progetta un database si è interessati al suo schema, quando invece si usa si è interessati ai dati effettivamente presenti in esso. Si noti che i dati nel database cambiano frequentemente, mentre gli schemi rimangono gli stessi per lungo tempo. Il contenuto corrente del database si chiama istanza del database (o estensione del database o stato del database). Come visto, il termine schema è usato nelle varie fasi della progettazione di un database, così avremo schema concettuale per riferirsi al livello di progettazione concettuale del database, schema logico per il progetto logico, schema fisico per il progetto fisico e semplicemente sottoschema per il livello delle viste Progetto logico del database La fase di progettazione logica del database ha lo scopo di tradurre lo schema concettuale espresso mediante un modello semantico in una rappresentazione mediate un modello logico dei dati. La rappresentazione che si ottiene viene definita schema logico del database. A differenza dello schema concettuale, lo schema logico dipende strettamente dal tipo di DBMS utilizzato e in particolare del suo modello logico dei dati. Un modello logico dei dati è quindi la tecnica di organizzazione e di accesso ai dati utilizzata da specifiche categorie di DBMS. In particolare, in riferimento al modello logico dei dati su cui si basano, vengono distinti DBMS gerarchici, reticolari, relazionali, ad oggetti e basati sulla logica. Un ulteriore compito della progettazione logica è quello di dichiarare le viste, tramite il DDL o gli specifici linguaggi di definizione dei dati del sottoschema. Successivamente per presentare interrogazioni ed operazioni su tali viste, può essere previsto un linguaggio di manipolazione del sottoschema altrimenti viene usato il DML generico Progetto fisico del database Nel progetto fisico viene stabilito come le strutture a livello logico debbano essere organizzate negli archivi e nelle strutture del file system: esso dipende quindi non solo dal tipo di DBMS utilizzato, ma anche dal sistema operativo e in ultima istanza dalla piattaforma hardware del sistema che ospita il DBMS. E pertanto il livello di progettazione in cui si può far uso del minor livello di astrazione, dovendo rispettare i vincoli tecnici imposti dal sistema ospite. 13

14 2.2.4 Indipendenza dei dati La catena di astrazione della figura 2.3, dal database concettuale, a quello logico e a quello fisico, fornisce due livelli di indipendenza dei dati. E ovvio che in un database ben progettato, lo schema fisico possa essere modificato senza alterare quello logico e senza richiedere una ridefinizione dei sottoschemi. Questa indipendenza è nota come indipendenza fisica dei dati. Ciò implica che le modifiche all organizzazione del database fisico possono alterare l efficienza dei programmi applicativi, ma non sarà mai chiesto di riscrivere tali programmi solo perché lo schema fisico ha modificato l implementazione dello schema logico. Anche la relazione tra vista e il database concettuale, fornisce un tipo di indipendenza chiamata indipendenza logica dei dati. L uso del database può rendere necessario modificare lo schema concettuale, per esempio aggiungendo informazioni su diversi tipi di entità o altre informazioni su entità già esistenti. Lo schema concettuale può subire molte modifiche, senza coinvolgere i sottoschemi esistenti, mentre altri tipi di variazione allo schema concettuale possono essere fatte solo ridefinendo la corrispondenza tra sottoschema e schema concettuale. Ancora una volta non sono necessari variazioni ai programmi applicativi. L unico tipo di variazione dello schema concettuale che non si riflette in una semplice ridefinizione della corrispondenza col sottoschema, si verifica quando vengono cancellate alcune informazioni del sottoschema. Naturalmente tali variazioni richiederanno la riscrittura o l eliminazione di alcuni programmi applicativi. 2.3 Modello Entità-Relazione Lo scopo del modello Entity-Relationship (Entità-Relazione E-R) è quello di permettere la descrizione dello schema concettuale di una situazione reale senza preoccuparsi dell efficienza o della progettazione del database fisico, che ci si aspetta invece nella maggior parte dei modelli fisici. Di solito si pensa che lo schema entità-relazione così costruito sia poi tradotto in uno schema logico di un modello logico dei dati, ad esempio quello relazionale, che al momento è il più diffuso Entità Il modello entità-relazione, prevede come prima attività della progettazione concettuale, la individuazione delle entità. Una entità è qualcosa che esiste ed è distinguibile: possiamo cioè riconoscere un entità tra le altre. Ad esempio ogni persona è un entità, così come ogni automobile Set di entità Un gruppo composto da entità tutte simili forma un set di entità. Esempi di set di possono essere: 1) tutte le persone 2) tutte le persone coi capelli rossi 3) tutte le automobili Negli esempi 1) e 2), osserviamo persone e persone coi capelli rossi: il termine entità simili non è definito in modo preciso e si possono stabilire infinite proprietà diverse con cui definire set di entità. Nella progettazione del modello concettuale di un database, la scelta dei set di entità, è una operazione fondamentale così come è importante individuare tutte le proprietà caratteristiche di un set di entità che vengono descritte mediante gli attributi. Dalla somiglianza, quindi, nasce la necessità dell individuazione di un insieme di caratteristiche comuni a tutti gli elementi del set di entità. Il set di entità è un concetto a livello di schema, mentre il corrispondente concetto a livello di istanza è il relativo sottoinsieme corrente di tutti gli elementi del dato set di entità nel database. 14

15 Ad esempio il Pubblico Registro Automobilistico può progettare il suo schema di database avente il set di entità Automobili. L istanza corrente di questo set di entità riguarderà tutte le automobili immatricolate sino ad ora in Italia, ma non tutte le automobili del mondo o tutte le automobili mai esistite. Lo schema entità-relazione ha una rappresentazione grafica che permette di avere immediatamente la visione globale dello schema concettuale del database. La rappresentazione grafica che si ottiene, a volte, invece di schema, viene chiamata diagramma entità-relazione (Entity-Relationship Diagram ERD). In questa rappresentazione grafica si usa una convenzione per rappresentare i vari oggetti. I set di entità vengono rappresentate con dei rettangoli con il nome del set di entità all interno Attributi e chiavi Come già detto, i set di entità possiedono delle proprietà, chiamate attributi, le quali associano ad ogni entità del set un valore appartenente al dominio dei possibili valori per quell attributo. Di solito il dominio sarà un insieme di interi, numeri reali, stringhe di caratteri, valori booleani ma anche immagini, audio e video come nei più recenti database multimediali. La scelta degli attributi caratteristici per i set di entità è un punto abbastanza critico nell ideare lo schema concettuale di un database. Tra tutti gli attributi di un particolare set di entità ne va scelto uno o un insieme, i cui valori identificano in modo univoco ogni entità del set. Questo attributo o insieme di attributi è chiamato chiave per quel dato set. In linea di principio ogni set di entità possiede una chiave soddisfacendo la richiesta che ogni entità sia distinguibile da ogni altra. Ma se per un set di entità scegliamo un insieme di attributi tra i quali non si possa individuare una chiave, non saremo in grado di distinguere una entità dall altra. Però è possibile fornire un codice identificativo arbitrario da usare come chiave. La rappresentazione grafica degli attributi è un ellisse con il nome dell attributo scritto all interno e si collega con il rispettivo set di entità con dei segmenti (non orientati). Agli attributi che fanno parte della chiave per il rispettivo set, viene aggiunta una sottolineatura al nome. Nel caso speciale di set di entità con un singolo attributo, a volte si identifica il set con l attributo stesso, chiamando il set col il nome dell attributo. In tal caso, invece che con un rettangolo, il set di entità è rappresentato con un ellisse collegata a qualunque relazione con cui sia coinvolto il set di entità Relazioni Le dipendenze o associazioni di interesse informativo tra i dati da rappresentare vengono espresse nel modello entity-relationship mediante relazioni tra le corrispondenti entità. Le relazioni dello stesso tipo compongono l insieme di relazioni (relation set) tra i due insiemi di entità. Per ottenere un modello adeguato del mondo reale, spesso è necessario classificare le relazioni a seconda del numero di entità associabili tra un set di entità e l altro Relazioni uno-a-uno La relazione più semplice, e più rara, fra le relazioni che collegano due set è quella uno-a-uno, cioè che ogni entità di un set è legata con al più un elemento dell altro set. Le relazioni vengono rappresentate graficamente con dei rombi e vengono collegati ai propri set di entità con dei segmenti orientati o non a seconda del tipo di relazione. Nel caso di relazione uno-auno il segmento è orientato in entrambi i versi. Un alternativa all utilizzo dei segmenti orientati è quella di mettere sui segmenti che collegano la relazione ai set dei numeri che indicano la cardinalità della relazione. Un esempio di relazione 1:1 è la relazione tra nazioni e capitali. Ogni nazione ha un unica capitale, ad una capitale corrisponde un unica nazione (fig. 2.4). 15

16 Nome Naz. Nome Cap. Estensione Nazioni Capitale Capitali Abitanti Popolazione Fig. 2.4 Diagramma E-R della relazione1:1 tra nazioni e capitali. Nazioni ha tre attributi: Nome Naz. (chiave), Estensione e Popolazione. Capitali ha due attributi: Nome Cap. (chiave), Abitanti Relazione uno-a-molti Due set E1 ed E2 sono in relazione uno-a-molti da E1 ad E2 se una entità nel set E1 è associata con zero o più entità nel set E2, ma ogni entità in E2 è associata con al più una entità in E1. Un esempio di relazione 1:N è la relazione tra madri e figli. Una madre può avere più figli, mentre ad un figlio corrisponde un unica madre (fig. 2.5). La rappresentazione grafica della relazione 1:N è un rombo con segmenti che uniscono i set di entità coinvolti e orientati soltanto nella direzione del set di entità con cardinalità uno. Madri Figlio Figli Fig. 2.5 Relazione 1:N tra il set Madri e il set Figli. Da notare il verso della freccia (nella figura non sono stati indicati gli attributi dei set di entità) Relazione molti-a-molti Due set E1 ed E2 sono in relazione molti-a-molti se ad ogni elemento di E1 possono corrispondere più elementi di E2 e viceversa. Sulle relazioni molti-a-molti è da notare il fatto che non esistono efficienti strutture dati per la loro implementazione, spesso è richiesto di scomporre tali relazioni con varie relazioni molti-a-uno. Un esempio di relazione N:M è la relazione tra corsi e studenti. Un corso è seguito da più studenti, e lo stesso studente segue più corsi. Un altro esempio di relazione N:M è quella tra libri e autori. Un libro può essere scritto da più autori, un autore può aver scritto più libri (fig. 2.6). La rappresentazione grafica della relazione N:M è un rombo con segmenti non orientati che uniscono i set di entità coinvolti. 16

17 Autori Scritto Libri Fig. 2.6 Relazione N:M tra il set Autori e il set Libri Gerarchia ISA Un tipo particolare di relazione è quella chiamata ISA o sottotipo/supertipo. Diciamo che A isa B, cioè A è un B (A è il sottotipo e B è il supertipo), se il set di entità B è una generalizzazione di entità del set A, o in modo equivalente se A è un tipo particolare di B. Lo scopo principale per dichiarare le relazioni isa tra i set di entità A e B è che in tal modo A eredita gli attributi di B, ma avrà anche attributi che non avrebbero necessariamente significato per gli elementi di B che non siano anche elementi di A. La rappresentazione grafica della gerarchia isa è un rombo con etichetta isa con segmenti orientati nella direzione del set supertipo. Un esempio di relazione isa è quello di una società che può avere un set di entità Dipendenti con attributi Matricola, Nome e Stipendio. Se la società fosse una squadra di calcio, alcuni dei dipendenti, i Giocatori, avrebbero altri importanti attributi come Ruolo (portiere, difensore, attaccante), che non riguarderebbero gli altri dipendenti. Il modo migliore per progettare questo schema, è quello di avere un altro set di entità, Giocatori, legato con la relazione isa al set Dipendenti. Gli attributi (anche le chiavi) che appartengono a Dipendenti (Matricola, Nome, Stipendio), verrebbero ereditati da Giocatori, ma solo Giocatori avrebbe un attributo come Ruolo (fig. 2.7). Matricola Nome Dipendenti Isa Giocatori Ruolo Stipendio Fig. 2.7 Gerarchia Giocatori isa Dipendenti. Giocatori e il sottotipo (A della definizione) e Dipendenti è il supertipo (B della definizione) Attributi delle relazioni Il modello entità-relazione prevede che anche gli insiemi delle relazioni abbiano degli attributi che ne specificano le caratteristiche. Tali attributi vengono rappresentati graficamente con una ellisse, cioè come per gli attributi di un set di entità, con un segmento orientato nel verso che va dal rombo all ellisse (fig. 2.8). Nome Attributo Relazione E1 R1 E2 Fig. 2.8 Rappresentazione attributi relazione 17

18 2.4 Esempio di schema concettuale Adesso viene proposto un esempio di schema concettuale che sarà usato anche nel successivo capitolo per vedere come uno schema concettuale si traduce in uno schema logico. L esempio che si introduce è quello del database Mobili Componibili, che fa parte del sistema informativo di un mobilificio e che rappresenta la seguente situazione: gli articoli, di cui interessa archiviare la descrizione, il prezzo, l aliquota IVA e le spese di trasporto, sono suddivisi in categorie: ciascun articolo è costituito da una serie di componenti, di cui vengono archiviati la descrizione e il costo; i componenti vengono prodotti da singoli laboratori; di ogni laboratorio viene memorizzato l indirizzo, la città e il telefono; gli articoli possono comparire negli ordini; di ogni ordine viene archiviata la data; infine gli ordini sono effettuati dai negozi di cui viene archiviato il nome, l indirizzo, la città, e il telefono. Nel progetto concettuale vengono individuate i seguenti set di entità con rispettivi attributi e chiavi. Set di Entità Attributi Chiave Categoria Cat_Cod X Cat_Descrizione Articolo Art_Cod X Art_Descrizione Art_Prezzo Art_IVA Art_Spese_Trasporto Componente Com_Cod X Com_Descrizione Com_Costo Laboratorio Lab_Cod X Lab_Indirizzo Lab_Città Lab_Telefono Negozio Neg_Cod X Neg_Nome Neg_Indirizzo Neg_Città Neg_Telefono Ordine Ord_Cod X Ord_Data Fig. 2.9 Set di entità, attributi e chiavi dello schema concettuale di esempio 18

19 Tra tali set di entità sussistono le seguenti relazioni: Categoria e Articolo hanno una relazione di tipo 1:N, in quanto ciascuna categoria può contenere più articoli, mentre un articolo può appartenere ad una solo categoria. Chiamiamo questa relazione Appartiene; Articolo e Componente sono in relazione N:M, in quanto ciascun articolo è composto da più componenti e ciascun tipo di componente può entrare nella composizione di pù articoli; può poi essere necessario utilizzare più pezzi di un certo componente per comporre un determinato articolo, per cui un attributo della relazione è la quantità. Chiamiamo questa relazione Composto; Laboratorio e Componente sono in relazione 1:N in quanto un laboratorio può costruire più componenti, mentre un determinato componente viene prodotto da un solo laboratorio. Chiamiamo questa relazione Prodotta; Negozio e Ordine sono in relazione 1:N, in quanto un negozio può effettuare più ordini, mentre ciascun ordine è relativo a un unico negozio. Chiamiamo questa relazione Effettuato; Ordine e Articolo sono in relazione N:M, in quanto in un ordine possono essere richiesti più articoli e un articolo può comparire in più ordini; la relazione ha come attributo la quantità nella quale un certo articolo viene richiesto nell ordine. Chiamiamo questa relazione Richiesto. La figura 2.10 mostra la rappresentazione dello schema concettuale del database Mobili Componibili mediante il modello entità-relazione. 19

20 Neg_Nome Neg_Cod Ord_Cod Neg_Indirizzo Negozio Effettuato Ordine Neg_Città Neg_Telefono Ord_Data OrdArt_Qta Richiesto Art_Cod Cat_Cod Art_Descriz. Categoria Appartiene Articolo Art_Prezzo Cat_Descriz. Art_IVA Art_Spese_Trasp ComArt_Qta Composto Lab_Cod Com_Cod Lab_Indiriz. Laboratorio Prodotta Componente Com_Desciz. Lab_Città Lab_Telefono Com_Costo Fig Schema Concettuale del DB Mobili Componibili secondo il modello entità-relazione. (Schema o Diagramma Entità-Relazione ERD) 20

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

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

Progettazione di un DB....in breve

Progettazione di un DB....in breve Progettazione di un DB...in breve Cosa significa progettare un DB Definirne struttura,caratteristiche e contenuto. Per farlo è opportuno seguire delle metodologie che permettono di ottenere prodotti di

Dettagli

Algebra Relazionale. algebra relazionale

Algebra Relazionale. algebra relazionale Algebra Relazionale algebra relazionale Linguaggi di Interrogazione linguaggi formali Algebra relazionale Calcolo relazionale Programmazione logica linguaggi programmativi SQL: Structured Query Language

Dettagli

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale

Dettagli

Progettazione di Database

Progettazione di Database Progettazione di Database Progettazione Concettuale: strutturazione della realtà che si vuole rappresentare secondo uno schema concettuale Dallo schema concettuale si ricava lo schema del database relazionale

Dettagli

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare

Dettagli

SQL. Dipartimento del Tesoro

SQL. Dipartimento del Tesoro Dipartimento del Tesoro SQL 1 Database...4 1.1 COS È UN DATABASE...4 1.2 DAGLI ARCHIVI AI DBMS...5 1.3 VANTAGGI OFFERTI DAI DBMS...6 1.4 INDIPENDENZA DEI DATI DALL APPLICAZIONE...7 1.5 RISERVATEZZA NELL

Dettagli

Abstract Data Type (ADT)

Abstract Data Type (ADT) Abstract Data Type Pag. 1/10 Abstract Data Type (ADT) Iniziamo la nostra trattazione presentando una nozione che ci accompagnerà lungo l intero corso di Laboratorio Algoritmi e Strutture Dati: il Tipo

Dettagli

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica A.A. 2007-08 CORSO DI INGEGNERIA DEL SOFTWARE Prof. Giulio Destri http://www.areasp.com (C) 2007 AreaSP for

Dettagli

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione.

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione. Grafi ed Alberi Pag. /26 Grafi ed Alberi In questo capitolo richiameremo i principali concetti di due ADT che ricorreranno puntualmente nel corso della nostra trattazione: i grafi e gli alberi. Naturale

Dettagli

Dal modello concettuale al modello logico

Dal modello concettuale al modello logico Dal modello concettuale al modello logico Traduzione dal modello Entita - Associazione al modello Relazionale Ciclo di sviluppo di una base di dati (da parte dell utente) Analisi dello scenario Modello

Dettagli

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello del sistema 4 2.1 Requisiti hardware........................ 4 2.2 Requisiti software.........................

Dettagli

SIASFi: il sistema ed il suo sviluppo

SIASFi: il sistema ed il suo sviluppo SIASFI: IL SISTEMA ED IL SUO SVILUPPO 187 SIASFi: il sistema ed il suo sviluppo Antonio Ronca Il progetto SIASFi nasce dall esperienza maturata da parte dell Archivio di Stato di Firenze nella gestione

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

Flusso a costo minimo e simplesso su reti

Flusso a costo minimo e simplesso su reti Flusso a costo minimo e simplesso su reti La particolare struttura di alcuni problemi di PL può essere talvolta utilizzata per la progettazione di tecniche risolutive molto più efficienti dell algoritmo

Dettagli

Sistemi avanzati di gestione dei Sistemi Informativi

Sistemi avanzati di gestione dei Sistemi Informativi Esperti nella gestione dei sistemi informativi e tecnologie informatiche Sistemi avanzati di gestione dei Sistemi Informativi Docente: Email: Sito: Eduard Roccatello eduard@roccatello.it http://www.roccatello.it/teaching/gsi/

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello della Web Application 5 3 Struttura della web Application 6 4 Casi di utilizzo della Web

Dettagli

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it il server? virtualizzalo!! Se ti stai domandando: ma cosa stanno dicendo? ancora non sai che la virtualizzazione è una tecnologia software, oggi ormai consolidata, che sta progressivamente modificando

Dettagli

UML Component and Deployment diagram

UML Component and Deployment diagram UML Component and Deployment diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania I diagrammi UML Classificazione

Dettagli

Informatica. Scopo della lezione

Informatica. Scopo della lezione 1 Informatica per laurea diarea non informatica LEZIONE 1 - Cos è l informatica 2 Scopo della lezione Introdurre le nozioni base della materia Definire le differenze tra hardware e software Individuare

Dettagli

Corso di Programmazione ad Oggetti

Corso di Programmazione ad Oggetti Corso di Programmazione ad Oggetti Introduzione alla programmazione ad oggetti a.a. 2008/2009 Claudio De Stefano 1 La programmazione modulare Un programma può essere visto come un insieme di moduli che

Dettagli

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Unified Process Prof. Agostino Poggi Unified Process Unified Software Development Process (USDP), comunemente chiamato

Dettagli

Percorsi di matematica per il ripasso e il recupero

Percorsi di matematica per il ripasso e il recupero Giacomo Pagina Giovanna Patri Percorsi di matematica per il ripasso e il recupero 1 per la Scuola secondaria di secondo grado UNITÀ CMPIONE Edizioni del Quadrifoglio à t i n U 1 Insiemi La teoria degli

Dettagli

Elementi di semantica denotazionale ed operazionale

Elementi di semantica denotazionale ed operazionale Elementi di semantica denotazionale ed operazionale 1 Contenuti! sintassi astratta e domini sintattici " un frammento di linguaggio imperativo! semantica denotazionale " domini semantici: valori e stato

Dettagli

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari

Dettagli

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Se a e b sono numeri interi, si dice che a divide b, in simboli: a b, se e solo se esiste c Z tale che b = ac. Si può subito notare che:

Dettagli

Anno di corso: 2004/2005. Istruzioni. Istruzioni per lo svolgimento dei progetti didattici. versione 1.1

Anno di corso: 2004/2005. Istruzioni. Istruzioni per lo svolgimento dei progetti didattici. versione 1.1 versione 1.1 per lo svolgimento dei progetti didattici Corso di Laboratorio di Programmazione II Prof. Luca Forlizzi Anno Accademico 2004-2005 GENERALITÀ...3 Scopo del documento...3 Struttura del documento...3

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi

Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi TIPI DI DATO Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi numeri naturali, interi, reali caratteri e stringhe di caratteri e quasi sempre anche collezioni di oggetti,

Dettagli

(anno accademico 2008-09)

(anno accademico 2008-09) Calcolo relazionale Prof Alberto Belussi Prof. Alberto Belussi (anno accademico 2008-09) Calcolo relazionale E un linguaggio di interrogazione o e dichiarativo: at specifica le proprietà del risultato

Dettagli

MODELLO AD OGGETTI PER LE BASI DI DATI E ANALISI DI PRODOTTI COMMERCIALI. Luca Carnini. Tesina presentata per la discussione del diploma di laurea in

MODELLO AD OGGETTI PER LE BASI DI DATI E ANALISI DI PRODOTTI COMMERCIALI. Luca Carnini. Tesina presentata per la discussione del diploma di laurea in MODELLO AD OGGETTI PER LE BASI DI DATI E ANALISI DI PRODOTTI COMMERCIALI di Luca Carnini Tesina presentata per la discussione del diploma di laurea in Ingegneria informatica Politecnico di Milano sede

Dettagli

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi

Dettagli

ARP (Address Resolution Protocol)

ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) Il routing Indirizzo IP della stazione mittente conosce: - il proprio indirizzo (IP e MAC) - la netmask (cioè la subnet) - l indirizzo IP del default gateway, il router

Dettagli

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina Cosa è il DSS L elevato sviluppo dei personal computer, delle reti di calcolatori, dei sistemi database di grandi dimensioni, e la forte espansione di modelli basati sui calcolatori rappresentano gli sviluppi

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

Corso SOL Gestione catalogo libro moderno 21-22 settembre 2009

Corso SOL Gestione catalogo libro moderno 21-22 settembre 2009 Corso SOL Gestione catalogo libro moderno 21-22 settembre 2009 Introduzione generale Autenticazione dell operatore https://sebina1.unife.it/sebinatest Al primo accesso ai servizi di Back Office, utilizzando

Dettagli

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Concetti Introduttivi Programma del corso Obiettivi: Il corso di illustra i principi fondamentali della programmazione con riferimento al linguaggio C. In particolare privilegia gli

Dettagli

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione Utility & Configurazioni Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 4 Impostare i dati della propria azienda... 5 Aggiornare il programma... 6 Controllare l integrità

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

Dettagli

Il Business Process Management: nuova via verso la competitività aziendale

Il Business Process Management: nuova via verso la competitività aziendale Il Business Process Management: nuova via verso la competitività Renata Bortolin Che cosa significa Business Process Management? In che cosa si distingue dal Business Process Reingeneering? Cosa ha a che

Dettagli

Il linguaggio SQL: transazioni

Il linguaggio SQL: transazioni Il linguaggio SQL: transazioni Sistemi Informativi T Versione elettronica: 4.8.SQL.transazioni.pdf Cos è una transazione? Una transazione è un unità logica di elaborazione che corrisponde a una serie di

Dettagli

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Rappresentazione concreta di insiemi e Hash table Copyright 2006-2015 by Claudio Salati. Lez. 9a 1 Rappresentazione

Dettagli

ITALIANO - ASCOLTARE E PARLARE

ITALIANO - ASCOLTARE E PARLARE O B I E T T I V I M I N I M I P E R L A S C U O L A P R I M A R I A E S E C O N D A R I A D I P R I M O G R A D O ITALIANO - ASCOLTARE E PARLARE Ascoltare e comprendere semplici consegne operative Comprendere

Dettagli

Dall italiano alla logica proposizionale

Dall italiano alla logica proposizionale Rappresentare l italiano in LP Dall italiano alla logica proposizionale Sandro Zucchi 2009-10 In questa lezione, vediamo come fare uso del linguaggio LP per rappresentare frasi dell italiano. Questo ci

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Processi di business sovra-regionali relativi ai sistemi regionali di FSE. Versione 1.0 24 Giugno 2014

Processi di business sovra-regionali relativi ai sistemi regionali di FSE. Versione 1.0 24 Giugno 2014 Processi di business sovra-regionali relativi ai sistemi regionali di FSE Versione 1.0 24 Giugno 2014 1 Indice Indice... 2 Indice delle figure... 3 Indice delle tabelle... 4 Obiettivi del documento...

Dettagli

Relazione sul data warehouse e sul data mining

Relazione sul data warehouse e sul data mining Relazione sul data warehouse e sul data mining INTRODUZIONE Inquadrando il sistema informativo aziendale automatizzato come costituito dall insieme delle risorse messe a disposizione della tecnologia,

Dettagli

LA MOLTIPLICAZIONE IN PRIMA ELEMENTARE

LA MOLTIPLICAZIONE IN PRIMA ELEMENTARE LA MOLTIPLICAZIONE IN PRIMA ELEMENTARE E bene presentarla confrontando tra loro varie tecniche: addizione ripetuta; prodotto combinatorio (schieramenti). Rispetto a quest'ultima tecnica, grande utilità

Dettagli

APPUNTI DI MATEMATICA LE DISEQUAZIONI NON LINEARI

APPUNTI DI MATEMATICA LE DISEQUAZIONI NON LINEARI APPUNTI DI MATEMATICA LE DISEQUAZIONI NON LINEARI Le disequazioni fratte Le disequazioni di secondo grado I sistemi di disequazioni Alessandro Bocconi Indice 1 Le disequazioni non lineari 2 1.1 Introduzione.........................................

Dettagli

Prof. Caterina Rizzi Dipartimento di Ingegneria Industriale

Prof. Caterina Rizzi Dipartimento di Ingegneria Industriale RUOLO DELLA MODELLAZIONE GEOMETRICA E LIVELLI DI MODELLAZIONE PARTE 2 Prof. Caterina Rizzi... IN QUESTA LEZIONE Modelli 2D/3D Modelli 3D/3D Dimensione delle primitive di modellazione Dimensione dell oggettoy

Dettagli

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO Francesco Marchione e Dario Richichi Istituto Nazionale di Geofisica e Vulcanologia Sezione di Palermo Indice Introduzione...

Dettagli

Inidirizzi IP e Nomi di Dominio. Domain Name System. Spazio dei Nomi Piatto. Gestione dello Spazio dei Nomi

Inidirizzi IP e Nomi di Dominio. Domain Name System. Spazio dei Nomi Piatto. Gestione dello Spazio dei Nomi I semestre 03/04 Inidirizzi IP e Nomi di Dominio Domain Name System Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica

Dettagli

Elementi di teoria degli insiemi

Elementi di teoria degli insiemi Elementi di teoria degli insiemi 1 Insiemi e loro elementi 11 Sottoinsiemi Insieme vuoto Abbiamo già osservato che ogni numero naturale è anche razionale assoluto o, in altre parole, che l insieme dei

Dettagli

GLI ASSI CULTURALI. Allegato 1 - Gli assi culturali. Nota. rimessa all autonomia didattica del docente e alla programmazione collegiale del

GLI ASSI CULTURALI. Allegato 1 - Gli assi culturali. Nota. rimessa all autonomia didattica del docente e alla programmazione collegiale del GLI ASSI CULTURALI Nota rimessa all autonomia didattica del docente e alla programmazione collegiale del La normativa italiana dal 2007 13 L Asse dei linguaggi un adeguato utilizzo delle tecnologie dell

Dettagli

Le variabili. Olga Scotti

Le variabili. Olga Scotti Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.

Dettagli

Appunti di Logica Matematica

Appunti di Logica Matematica Appunti di Logica Matematica Francesco Bottacin 1 Logica Proposizionale Una proposizione è un affermazione che esprime un valore di verità, cioè una affermazione che è VERA oppure FALSA. Ad esempio: 5

Dettagli

Il Sistema Operativo: il File System

Il Sistema Operativo: il File System Il Sistema Operativo: il File System Il File System è quella parte del S.O. che si occupa di gestire e strutturare le informazioni memorizzate su supporti permanenti (memoria secondaria) I file vengono

Dettagli

METODO DELLE FORZE 1. METODO DELLE FORZE PER LA SOLUZIONE DI STRUTTURE IPERSTATICHE. 1.1 Introduzione

METODO DELLE FORZE 1. METODO DELLE FORZE PER LA SOLUZIONE DI STRUTTURE IPERSTATICHE. 1.1 Introduzione METODO DELLE FORZE CORSO DI PROGETTZIONE STRUTTURLE a.a. 010/011 Prof. G. Salerno ppunti elaborati da rch. C. Provenzano 1. METODO DELLE FORZE PER L SOLUZIONE DI STRUTTURE IPERSTTICHE 1.1 Introduzione

Dettagli

Maurizio Vichi Sapienza Università di Roma

Maurizio Vichi Sapienza Università di Roma Percorsi didattici, interdisciplinari ed innovativi per la Statistica Maurizio Vichi Sapienza Università di Roma Presidente Federazione Europea delle Società Nazionali di Statistica Scuola Estiva di Matematica

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

Introduzione al GIS (Geographic Information System)

Introduzione al GIS (Geographic Information System) Introduzione al GIS (Geographic Information System) Sommario 1. COS E IL GIS?... 3 2. CARATTERISTICHE DI UN GIS... 3 3. COMPONENTI DI UN GIS... 4 4. CONTENUTI DI UN GIS... 5 5. FASI OPERATIVE CARATTERIZZANTI

Dettagli

ALGEBRA I: CARDINALITÀ DI INSIEMI

ALGEBRA I: CARDINALITÀ DI INSIEMI ALGEBRA I: CARDINALITÀ DI INSIEMI 1. CONFRONTO DI CARDINALITÀ E chiaro a tutti che esistono insiemi finiti cioè con un numero finito di elementi) ed insiemi infiniti. E anche chiaro che ogni insieme infinito

Dettagli

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE 1 DIPENDENZA E INDIPENDENZA LINEARE Se ho alcuni vettori v 1, v 2,, v n in uno spazio vettoriale V, il sottospazio 1 W = v 1,, v n di V da loro generato è

Dettagli

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

Dettagli

1. Intorni di un punto. Punti di accumulazione.

1. Intorni di un punto. Punti di accumulazione. 1. Intorni di un punto. Punti di accumulazione. 1.1. Intorni circolari. Assumiamo come distanza di due numeri reali x e y il numero non negativo x y (che, come sappiamo, esprime la distanza tra i punti

Dettagli

Il ciclo di vita del software

Il ciclo di vita del software Il ciclo di vita del software Il ciclo di vita del software Definisce un modello per il software, dalla sua concezione iniziale fino al suo sviluppo completo, al suo rilascio, alla sua successiva evoluzione,

Dettagli

Indicizzazione terza parte e modello booleano

Indicizzazione terza parte e modello booleano Reperimento dell informazione (IR) - aa 2014-2015 Indicizzazione terza parte e modello booleano Gruppo di ricerca su Sistemi di Gestione delle Informazioni (IMS) Dipartimento di Ingegneria dell Informazione

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

DAL PROBLEMA AL PROGRAMMA

DAL PROBLEMA AL PROGRAMMA 1. I PROBLEMI E LA LORO SOLUZIONE DAL PROBLEMA AL PROGRAMMA L'uomo, per affrontare gli innumerevoli problemi postigli dallo sviluppo della civiltà, si è avvalso della scienza e della tecnica, i cui destini

Dettagli

Istruzioni operative per la gestione delle Non Conformità e delle Azioni Correttive. https://nonconf.unife.it/

Istruzioni operative per la gestione delle Non Conformità e delle Azioni Correttive. https://nonconf.unife.it/ Istruzioni operative per la gestione delle Non Conformità e delle Azioni Correttive https://nonconf.unife.it/ Registrazione della Non Conformità (NC) Accesso di tipo 1 Addetto Registrazione della Non Conformità

Dettagli

Modello OSI e architettura TCP/IP

Modello OSI e architettura TCP/IP Modello OSI e architettura TCP/IP Differenza tra modello e architettura - Modello: è puramente teorico, definisce relazioni e caratteristiche dei livelli ma non i protocolli effettivi - Architettura: è

Dettagli

PROGRAMMAZIONE ORIENTATA AGLI OGGETTI in C++

PROGRAMMAZIONE ORIENTATA AGLI OGGETTI in C++ PROGRAMMAZIONE ORIENTATA AGLI OGGETTI in C++ Classi ed oggetti. Classi derivate, ereditarietà e polimorfismo. Template Capitoli 12, 13, 14 Luis Joyannes Aguilar. Fondamenti di Programmazione in C++. Algoritmi,

Dettagli

IL CURRICOLO D ITALIANO COME LINGUA STARNIERA

IL CURRICOLO D ITALIANO COME LINGUA STARNIERA IL CURRICOLO D ITALIANO COME LINGUA STARNIERA INDICE INTRODUZIONE scuola media obiettivo generale linee di fondo : mete educative e mete specifiche le abilità da sviluppare durante le sei sessioni alcune

Dettagli

Numeri reali. Funzioni e loro grafici

Numeri reali. Funzioni e loro grafici Argomento Numeri reali. Funzioni e loro grafici Parte B - Funzioni e loro grafici Funzioni reali di variabile reale Definizioni. Supponiamo che A sia un sottoinsieme di R e che esista una legge che ad

Dettagli

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO CLSMS SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO Sommario e introduzione CLSMS SOMMARIO INSTALLAZIONE E CONFIGURAZIONE... 3 Parametri di configurazione... 4 Attivazione Software...

Dettagli

Business Process Modeling and Notation e WebML

Business Process Modeling and Notation e WebML Business Process Modeling and Notation e WebML 24 Introduzione I Web Service e BPMN sono standard de facto per l interoperabilità in rete a servizio delle imprese moderne I Web Service sono utilizzati

Dettagli

Dal punto di vista organizzativo sono possibili due soluzioni per il sistema di rete.

Dal punto di vista organizzativo sono possibili due soluzioni per il sistema di rete. Premessa. La traccia di questo anno integra richieste che possono essere ricondotte a due tipi di prove, informatica sistemi, senza lasciare spazio ad opzioni facoltative. Alcuni quesiti vanno oltre le

Dettagli

Ottimizzazione della gestione del data center con Microsoft System Center

Ottimizzazione della gestione del data center con Microsoft System Center Ottimizzazione della gestione del data center con Microsoft System Center Declinazione di responsabilità e informazioni sul copyright Le informazioni contenute nel presente documento rappresentano le conoscenze

Dettagli

Database, SQL & MySQL. Dott. Paolo PAVAN Maggio 2002

Database, SQL & MySQL. Dott. Paolo PAVAN Maggio 2002 Database, SQL & MySQL Dott. Paolo PAVAN Maggio 2002 1 Struttura RDBMS MYSQL - RDBMS DATABASE TABELLE 2 Introduzione ai DATABASE Database Indica in genere un insieme di dati rivolti alla rappresentazione

Dettagli

Sizing di un infrastruttura server con VMware

Sizing di un infrastruttura server con VMware Sizing di un infrastruttura server con VMware v1.1 Matteo Cappelli Vediamo una serie di best practices per progettare e dimensionare un infrastruttura di server virtuali con VMware vsphere 5.0. Innanzitutto

Dettagli

Così come le macchine meccaniche trasformano

Così come le macchine meccaniche trasformano DENTRO LA SCATOLA Rubrica a cura di Fabio A. Schreiber Il Consiglio Scientifico della rivista ha pensato di attuare un iniziativa culturalmente utile presentando in ogni numero di Mondo Digitale un argomento

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione Processi (di sviluppo del) software Fase di Analisi dei Requisiti Un processo software descrive le attività (o task) necessarie allo sviluppo di un prodotto software e come queste attività sono collegate

Dettagli

Teoria degli insiemi

Teoria degli insiemi Teoria degli insiemi pag 1 Easy Matematica di dolfo Scimone Teoria degli insiemi Il concetto di insieme si assume come primitivo, cioè non riconducibile a concetti precedentemente definiti. Sinonimi di

Dettagli

Mobile Messaging SMS. Copyright 2015 VOLA S.p.A.

Mobile Messaging SMS. Copyright 2015 VOLA S.p.A. Mobile Messaging SMS Copyright 2015 VOLA S.p.A. INDICE Mobile Messaging SMS. 2 SMS e sistemi aziendali.. 2 Creare campagne di mobile marketing con i servizi Vola SMS.. 3 VOLASMS per inviare SMS da web..

Dettagli

Determinare la grandezza della sottorete

Determinare la grandezza della sottorete Determinare la grandezza della sottorete Ogni rete IP possiede due indirizzi non assegnabili direttamente agli host l indirizzo della rete a cui appartiene e l'indirizzo di broadcast. Quando si creano

Dettagli

Semantica operazionale dei linguaggi di Programmazione

Semantica operazionale dei linguaggi di Programmazione Semantica operazionale dei linguaggi di Programmazione Oggetti sintattici e oggetti semantici Rosario Culmone, Luca Tesei Lucidi tratti dalla dispensa Elementi di Semantica Operazionale R. Barbuti, P.

Dettagli

capitolo 6 IL QUESTIONARIO PER LA VALUTV ALUTAZIONEAZIONE DEI CONTENUTI

capitolo 6 IL QUESTIONARIO PER LA VALUTV ALUTAZIONEAZIONE DEI CONTENUTI capitolo 6 IL QUESTIONARIO PER LA VALUTV ALUTAZIONEAZIONE DEI CONTENUTI 6.1 ISTRUZIONI PER IL VALUTATORE Il processo di valutazione si articola in quattro fasi. Il Valutatore deve: 1 leggere il questionario;

Dettagli

I numeri relativi. Il calcolo letterale

I numeri relativi. Il calcolo letterale Indice Il numero unità I numeri relativi VIII Indice L insieme R Gli insiemi Z e Q Confronto di numeri relativi Le operazioni fondamentali in Z e Q 0 L addizione 0 La sottrazione La somma algebrica La

Dettagli

Albero semantico. Albero che mette in corrispondenza ogni formula con tutte le sue possibili interpretazioni.

Albero semantico. Albero che mette in corrispondenza ogni formula con tutte le sue possibili interpretazioni. Albero semantico Albero che mette in corrispondenza ogni formula con tutte le sue possibili interpretazioni. A differenza dell albero sintattico (che analizza la formula da un punto di vista puramente

Dettagli

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Riusabilità del software - Catalogo delle applicazioni: Applicativo verticale Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

Progettazione Logica

Progettazione Logica PROGETTAZIONE Ricordiamo le fasi della progettazione di una Base di Dati Progett. CONCETTUALE Progett. LOGICA Progett. FISICA Ci occuperemo adesso della progettazione logica R.Gori - G.Leoni BD Relazionali

Dettagli

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

MODULO 3 LEZIONE 23 FORMAZIONE DEL MOVIMENTO (SECONDA PARTE)

MODULO 3 LEZIONE 23 FORMAZIONE DEL MOVIMENTO (SECONDA PARTE) MODULO 3 LEZIONE 23 FORMAZIONE DEL MOVIMENTO (SECONDA PARTE) Contenuti Michelene Chi Livello ottimale di sviluppo L. S. Vygotskij Jerome Bruner Human Information Processing Teorie della Mente Contrapposizione

Dettagli