MongoDB Origini. MongoDB deriva il suo nome dalla parola "humongous, che significa enorme. E' attualmente il il database NoSQL più diffuso*.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "MongoDB Origini. MongoDB deriva il suo nome dalla parola "humongous, che significa enorme. E' attualmente il il database NoSQL più diffuso*."

Transcript

1 NOSQL

2 Origini MongoDB deriva il suo nome dalla parola "humongous, che significa enorme. E' attualmente il il database NoSQL più diffuso*. Sviluppato inizialmente dalla società di software 10gen (ora MongoDB Inc.) nel 2007 come un componente di un altro prodotto. Nel 2009 viene rilasciato in open-source come database a se stante. *Fonte del dato della diffusione dei DB:

3 Datamodel MongoDB è un document store: ogni record viene memorizzato come un documento; esso può avere un numero arbitrario di campi aventi una qualsiasi lunghezza. Rispetto al modello relazionale: si accorpano quanto più possibile gli oggetti, creando delle macro entità dal massimo contenuto informativo. MongoDB non possiede uno schema e ogni documento non è strutturato, ha solo una chiave obbligatoria: _id, la quale è utilizzata per identificare univocamente il documento.

4 BSON e JSON Il formato utilizzato per il salvataggio e la trasmissione dei document in MongoDB è il BSON (JSON Binario). Il formato JSON (JavaScript Object Notation) è largamente diffuso nel mondo web, esso è un formato di testo completamente indipendente dal linguaggio di programmazione utilizzato ed è basato su due strutture: - un insieme di coppie nome/valore; - un elenco ordinato di valori.

5 Esempio di JSON { } "_id" : 1, "name" : { "first" : "John", "last" : "Backus" }, "contribs" : [ "Fortran", "ALGOL", "Backus-Naur Form", "FP" ], "awards" : [ { "award" : "W.W. McDowell Award", "year" : 1967 }, { "award" : "Draper Prize", "year" : 1993 } ]

6 BSON e JSON II formato BSON estende il modello JSON allo scopo di aggiungere ulteriori tipi di dati (ad esempio il formato data e il byte array) e garantire una maggiore efficienza nell'interazione tra diversi linguaggi di programmazione. La dimensione massima di un singolo documento BSON è di 16MB. Ad ogni document è associato un _id che agisce come object identifier ed è composto da 12 byte come segue:

7 BSON e GridFS La dimensione del BSON potrebbe essere limitante. Si può utilizzare la modalità in GridFS che, invece che effettuare un'unica memorizzazione, divide i file in più parti (chunk) di dimensione prestabilita e li memorizza come document separati. Il limite di default di un chunk è 255kB. Vengono utilizzate due collection per memorizzare i file: - una per i chunk; - una per i metadati. Sarà compito del driver o del client riassemblare i chunk necessari.

8 Datamodel In MongoDB il document è l'unità di base del database ed equivale ad una riga dei database relazionali. La tabella seguente riassume le equivalenze di termini fra MongoDB e gli RDBMS: MongoDB Database Collection Document Field RDBMS Database Tabella Record Colonna

9 Datamodel Database Collection Collection Collection Document Document _id Field1 Field2 Document Document _id Field1 Field3 Field4

10 Architettura

11 Architettura Base MongoDB è organizzato secondo una architettura base Client/Server. Il client può essere: - shell mongo (implementata in JavaScript) - un applicativo scritto in diversi linguaggi di programmazione mongod client Oltre a questa configurazione base è possibile incrementare la ridondanza e la disponibilità del dato attraverso la configurazione di un replica set

12 Architettura con Replica Set Un replica set è un gruppo di istanze mongod che gestiscono lo stesso insieme di dati. Secondary Primary Secondary Replica set client Tutte le modifiche che vengono effettuate unicamente sul primary, vengono scritte in un log che viene poi distribuito in maniera asincrona ai secondary i quali poi replicano le modifiche sui loro dati. I client leggono i dati dal primary, ma possono essere configurati anche per leggere i dati dai secondary. Il dato restituito da un secondary potrebbe non essere aggiornato.

13 Architettura con Replica Set Nel caso in cui il server primario non fosse più disponibile un meccanismo di automatic election provvede ad eleggere un nuovo server primario fra i secondari. Driver Lettura Scrittura Lettura Lettura Mongod: Primary Mongod: Secondary Mongod: Secondary Repliche asincrone È possibile prevedere un'ulteriore istanza di mongod, avente il ruolo di arbiter, che viene utilizzato solo per la votazione durante l'elezione del nuovo primary. Driver Lettura Scrittura Lettura Mongod: Primary Mongod: Primary Mongod: Secondary Replica asincrona

14 Introduzione Architettura Sharding L'architettura appena vista presenta potenziali problemi: - all'aumentare del numero di query è possibile che si possa esaurire la capacità di CPU del server; - all'aumentare delle dimensioni dei dati c'è il rischio di superare la capacità del disco di una singola macchina; - dati di lavoro di dimensioni superiori alla RAM del sistema potrebbero stressare la velocità di I / O dei dischi. Possibili soluzioni: - scalare verticalmente (aumento CPU, HD e ram); - scalare orizzontalmente (sharding).

15 Architettura Sharding MongoDB può scalare orizzontalmente in maniera lineare. L'architettura Sharding è costituita da tre componenti: - Shards: immagazzinano i dati, per garantire la consistenza e la disponibilità dei dati sono spesso costituiti da dei Replica Sets; - Query Routers o istanze mongos: interfacce che ridirezionano le richieste verso i shards corretti e restituiscono il risultato ai vari client. - Config servers: contengono i metadati che descrivono il mapping tra dati e shards.

16 Architettura Sharding Mongod: Primary Mongod: Secondary Mongod: Secondary Shard 1 Mongod: Primary Mongod: Secondary Mongod: Secondary Shard N Config Config Config mongos mongos client

17 Architettura Sharding Il partizionamento ed il bilanciamento è automatico in base alla Shard Key (un field del document) che si decide di utilizzare. È poi possibile decidere, per la suddivisione dei dati in chunks, se utilizzare: Range Based Sharding Hash Based Sharding Key-range (0...99) mongod mongod Key-range (0...33) mongod Chunk 1 Key-range ( ) mongod Chunk N Hash Function mongod mongod Chunk 1 Chunk N

18 Query Language

19 Datatype Datatype Boolean Arrays Integer Double String Symbol Regular expression Date Timestamp Binary data Code Null Object ID Object Min/Max key Descrizione Tipo booleano true/false Utilizzato per memorizzare array o liste di valori Valori numerici (32-bit o 64-bit a seconda del server. Valori numerici in virgola mobile Stringa in formato UTF-8 Come una stringa, ma utilizzato nei linguaggi che usano il tipo symbol (es. Ruby) Utilizzato per memorizzare espressioni regolari Memorizza il tempo e la data in formato Unix. Memorizza un Timestamp Memorizza dati in formato binario Utilizzato per memorizzare codice Javascript nel document Memorizza un valore null Memorizza l'id del document Utilizzato per gli embedded document Questi vengono usati solo internamente e servono per comparare al valore minimo e massimo di un dato BSON

20 Query Language Uso dei database Per selezionare un database: > use DATABASE_NAME Questo comando seleziona il database e, qualora non esista, lo crea. Per vedere quali database sono presenti all'interno di un server possiamo usare il comando > show dbs local GB test GB vengono mostrati tutti i database sui quali è stato fatto almeno un insert e la dimensione che occupano.

21 Query Language Uso dei database Per sapere quale database è stato selezionato si usa il comando: > db viene restituito il nome del database in uso. Per eliminare un database occorre selezionarlo attraverso use e poi dare il comando: > db.dropdatabase() se per caso non viene selezionato nessun database e viene dato il comando db.dropdatabase viene eliminato il database di default.

22 Query Language Collection Una volta che abbiamo creato il database possiamo creare le collection al suo interno. Possono essere usati due metodi: - il primo prevede una creazione esplicita > db.createcollection(name, options) - il secondo prevede una creazione implicita > db.users.insert(document) Per visualizzare tutte le collection presenti in un database si usa il comando: > show collections

23 Query Language - Insert Con il comando insert possiamo inserire un document all'interno di una collection. > db.docs.insert({ _id: ObjectId(7df78ad8902c), title: 'Dispense MongoDB', description: 'Dispense corso DASSIA su MongoDB', by: 'CRS4', url: ' tags: ['mongodb', 'database', 'NoSQL'] }) Se l'_id non viene specificato questo viene assegnato in maniera automatica.

24 Query Language - Find Il metodo base per effettuare le query è find: restituisce un cursore ai dati corrispondenti e supporta sia criteri per la query che le proiezioni dei dati. Possono poi essere applicati dei modificatori al cursore. MongoDB db.users.find( { age: {$gt: 18 } }, { name : 1, address: 1} ). limit ( 5 ) collection criteri di query proiezione modificatore di cursore SQL SELECT _id, name, address FROM users WHERE age > 18 LIMIT 5 proiezione tabella criteri di selezione modificatore di cursore

25 Query Language - Find L'uso del metodo find è il seguente > db.collection_name.find({querycriteria},{projection}) dove i QueryCriteria e la Projection sono opzionali. Vanno racchiusi fra parentesi grafe e possono essere più di uno: eventuali criteri di selezione vanno indicati singolarmente. Se si vuole effettuare una proiezione senza criteri di selezione: > db.collection_name.find({},{projection}) Se non si ha nessuna proiezione da fare, ma solo delle selezioni la sintassi è > db.collection_name.find({querycriteria})

26 Find Query Criteria Criterio Sintassi Esempio Uguaglianza {<key>:<value>} db.users.find({ name : Nicola }) Minore di {<key>:{$lt:<value>}} db.users.find({ age : {$lt:25}}) Minore o uguale di {<key>:{$lte:<value>}} db.users.find({ age : {$lte:25}}) Maggiore di {<key>:{$gt:<value>}} db.users.find({ age : {$gt:18}}) Maggiore o uguale di {<key>:{$gte:<value>}} db.users.find({ age : {$gte:19}}) Non uguale {<key>:{$ne:<value>}} db.users.find({ age : {$ne:45}})

27 Find Query Criteria Il metodo find supporta criteri multipli in AND, OR o combinazione di questi: AND (tutti gli utenti di 18 anni che si chiamano Nicola) > db.users.find({ age: 18, name: 'Nicola'}) OR (tutti gli utenti di 18 anni e tutti gli utenti che si chiamano Nicola) > db.users.find({ $or: [{age: 18}, {name: 'Nicola'}] }) AND e OR (tutti gli utenti di 18 anni e che contemporaneamente si chiamano Nicola o vivono a Cagliari) > db.users.find({ age: 18, $or:[ {name: 'Nicola'}, {town: 'Cagliari'} ] })

28 Find Projection I criteri di proiezione servono ad indicare quali attributi del documento restituire. db.users.find( { age: 18 }, { name: 1} ) { _id: 1, age: 18, name: 'Almo' } { _id: 2, age: 28, name: 'Asia' } { _id: 3, age: 21, name: 'Giada' } { _id: 4, age: 38, name: 'Ugo' } query criteria { _id: 1, age: 18, name: 'Almo' } { _id: 5, age: 18, name: 'Sofia' } projection { _id: 1, name: 'Almo' } { _id: 5, name: 'Sofia' } { _id: 5, age: 18, name: 'Sofia' } { _id: 6, age: 58, name: 'Guido' } Bisogna notare che _id viene sempre restituito, se non lo si vuole visualizzare va messo a zero. db.users.find( { age: 18 }, { name: 1, _id : 0} )

29 Cursor Modifier: Limit e Skip Il cursore ai dati restituito da un find può essere modificato mediante l'utilizzo di un cursor modifier. Abbiamo quindi: limit che viene utilizzato per restituire i primi N documenti trovati. > db.collection_name.find().limit(n) skip che permette di saltare i primi M documenti trovati. > db.collection_name.find().skip(m) Ad esempio > db.users.find({},{name:1,_id:0}).limit(1).skip(2) restituisce il nome del terzo documento.

30 Sort e Distinct sort che esegue l'ordinamento per la chiave specificata ascendente (1) o discendente (-1) > db.collection_name.find().sort({key:1}) distinct se volessi trovare tutti i valori diversi presenti per uno o più field in una collection > db.collection_name.distinct('key') Ad esempio, la seguente trova tutti i nomi presenti nella collection > db.users.distinct('name') mentre la seguente restituisce tutti i nomi distinti dei maggiorenni presenti nella collection > db.users.distinct('name',{age:{$gte:18}})

31 Count Per contare il numero di documenti può essere usato il metodo count() sia in questo modo: che > db.collection_name.count() > db.collection_name.find().count() Se vogliamo specificare dei criteri di query, ricorrendo alla programmazione funzionale, abbiamo: oppure db.users.count( { age: { $gt: 30 } }) db.users.find( { age: { $gt: 30 } }).count()

32 Update e Save Per aggiornare un document si hanno due metodi a disposizione: - update: aggiorna i field che vengono indicati nel document; - save: rimpiazza il document esistente con uno nuovo. Ad esempio abbiamo: > db.users.update({name: 'Pino'}, {$set:{name: 'Ugo'}}) > db.users.save({_id:objectid(),new_data})

33 Remove Document Per rimuovere un document si utilizza remove. > db.collection_name.remove(deletion_criteria) Ad esempio > db.users.remove({name: 'Maurizio'}) Mentre la sintassi per rimuovere il primo document dove compare il criterio è: > db.collection_name.remove(deletion_criteria, 1) Per rimuovere tutti i document da una collection devo usare > db.collection_name.remove()

34 Indici Secondari Tutti i documenti sono indicizzati per la loro chiave primaria _id. Ciò significa che utilizzando il metodo find con alcuni criteri di ricerca controlleremo tutti i documenti nella loro interezza. Per snellire queste operazioni si possono creare degli indici secondari tramite il comando ensureindex. > db.collection_name.ensureindex(keys,options) Posso ad esempio specificare uno o più field sui quali generare gli indici sia in maniera ascendente (1) che discendente (-1). > db.users.ensureindex({'name' : 1, 'age' : -1})

35 Aggregazione In MongoDB è possibile processare diversi dati per restituire dati aggregati o computazioni sugli stessi. > db.collection_name.aggregate(aggregate_operations) È presente il concetto di pipeline nell'aggregazione: possiamo definire una pipeline di stage consecutivi per ridurre e filtrare i dati all'interno dell'aggregazione. Ad esempio abbiamo gli stage per: - $match: filtra dei dati in base a criteri assegnati - $group: raggruppa i dati in base a criteri assegnati - $unwind: separa un array del documento creando singoli documenti - $projection: proietta i dati in base a criteri assegnati - $sort: ordina i dati in base a criteri assegnati - $limit: prende in esame solo i primi N document - $skip: salta i primi N document

36 Aggregazione Group All'interno di $group possiamo utilizzare diverse espressioni per ottenere dati aggregati o particolari computazioni sugli stessi: $sum $avg $min $max $first $last $push $addtoset Ad esempio: db.users.aggregate( [ { $group:{_id:'$name', count_omonimi:{$sum:1} } } ]) db.users.aggregate( [ { $group:{_id:null, eta_min:{$min:'$age'} } } ]) db.users.aggregate( [ { $group:{_id:'$name', eta:{$push:'$age'} } } ]) db.users.aggregate( [ { $group:{_id:'$name', eta:{$addtoset:'$age'} } } ])

37 Aggregazione Esempio db.orders.aggregate( [ { $match: {status: 'A' } }, { $group: {_id: '$cust_id', total: { $sum: '$amount' } } } ] ) { cust_id: 'A123', amount: 500, status: 'A' } { cust_id: 'A123', { cust_id: 'A123', amount: 250, status: 'A' } $match amount: 500, status: 'A' } { cust_id: 'A123', $group { _id: 'A123', total: 750 } { cust_id: 'B212', amount: 250, status: 'A' } { _id: 'B212', amount: 200, status: 'A' } { cust_id: 'B212', total: 200 } { cust_id: 'A123', amount: 300, status: 'D' } amount: 200, status: 'A' } results orders

38 Funzionalità Avanzate MapReduce In MongoDB è presente una implementazione interna del Map-Reduce per la realizzazione di operazioni di aggregazioni complesse: si possono definire le operazioni di map e di reduce creando delle funzioni in linguaggio JavaScript. db.runcommand( opzionali ) { } mapreduce: <collection>, map: <function>, reduce: <function>, finalize: <function>, out: <output>, query: <document>, sort: <document>, limit: <number>, scope: <document>, jsmode: <boolean>, verbose: <boolean> JavaScript function

39 db.orders.mapreduce( MongoDB Funzionalità Avanzate MapReduce function( ) { emit ( this.cust_id, this.amount ); }, function( key, values ) { return Array.sum( values ) }, { }) query: { status: 'A' }, out: 'order_totals' { cust_id: 'A123', amount: 500, status: 'A' } { cust_id: 'A123', { cust_id: 'A123', amount: 250, status: 'A' } query amount: 500, status: 'A' } { cust_id: A123, map { 'A123': [500, 250] } reduce { _id: 'A123', total: 750 } { cust_id: 'B212', amount: 200, status: 'A' } amount: 250, status: 'A' } { cust_id: B212, { 'B212': 200 } { _id: 'B212', total: 200 } { cust_id: 'A123', amount: 300, status: 'D' } amount: 200, status: 'A' } order_totals orders

40 Funzionalità Avanzate MapReduce 1 client definisce una funzione di map, di reduce, una query e una collection di output 2 client request mongos

41 Funzionalità Avanzate MapReduce 3 Config mongos MR request Mongod: Secondary Mongod: Secondary Mongod: Secondary Mongod: Secondary Mongod: Secondary Mongod: Secondary Mongod: Primary Mongod: Primary Shard N Mongod: Primary Shard N Shard N 4 query Mongod: Primary map

42 Funzionalità Avanzate MapReduce 5 map <K,V> <k,v> <k,v> buffer 5a Mongod: Secondary <k,v> <k,v> <k,v> <k,v> <k,v> buffer partial reduce Mongod: Secondary Mongod: Primary Shard N

43 Funzionalità Avanzate MapReduce 6 reduce Mongod reduce Mongod reduce Mongod 7 mongos Out Collection Request Mongod: Secondary Mongod: Secondary Mongod: Secondary Mongod: Secondary Mongod: Secondary Mongod: Secondary Mongod: Primary Mongod: Primary Shard N Mongod: Primary Shard N Shard N

44 Funzionalità Avanzate MapReduce 8 Mongod: Secondary Mongod: Secondary reduce Mongod: Primary Shard X 8a Mongod: Primary finalize

45 Funzionalità Avanzate MapReduce Il Map Reduce implementato all'interno di Mongo presenta una serie di limiti: - Javascript non è il linguaggio più indicato per il processamento di funzioni quali MapReduce - Javascript limita l'utilizzo di librerie di terze parti per l'elaborazione dei dati - Viene aggiunto un carico extra in termini di informazioni memorizzate - Solo l'architettura con i shards consente di parallelizzare i dati e solo a seconda della query che viene utilizzata Quando i dati crescono occorre passare a un tool pensato per la gestione dei JOB MapReduce

46

47 Connettore Hadoop Lo scopo di questo connettore è offrire la possibilità di usare MongoDB come sorgente di input o destinazione di output per i task di MapReduce sotto Hadoop. Permette di utilizzare nei tool dell'universo Hadoop, come Pig ed Hive, i documenti BSON/MongoDB. Generalmente il connettore MongoDB viene utilizzato come strato intermedio fra l'applicazione e Hadoop in modo da sfruttare le potenzialità del query language di MongoDB per filtrare i dati.

48 Connettore Hadoop Aggregazione Batch

49 Connettore Hadoop Data Warehouse

50 Connettore Hadoop ETL

51 Connettore Hadoop Casi d'uso Gestione dati e metadati Analisi utenti Gestione dati, check in, review Analisi utenti, segmentazione, personalizzazione Gestione dati hotel e prezzi Segmentazione hotel per migliorare le ricerche

52 Connettore Hadoop Casi d'uso Gestione dati studenti Analisi studenti per l'apprendimento mirato Gestione dati Modellazione rischio, sicurezza e prevenzione truffe Call center / Portali web Analisi uso da parte degli utenti e ottimizzazione delle tariffe

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare

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

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque? NOSQL Data Model HBase si ispira a BigTable di Google e perciò rientra nella categoria dei column store; tuttavia da un punto di vista logico i dati sono ancora organizzati in forma di tabelle, in cui

Dettagli

MongoDB. Un database NoSQL Open-Source

MongoDB. Un database NoSQL Open-Source MongoDB Un database NoSQL Open-Source Database Relazionali I dati sono divisi in tabelle. Ogni tabella è composta da diverse colonne fisse. Le tabelle possono avere riferimenti tra loro. A.C.I.D. I database

Dettagli

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.

Dettagli

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server

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

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

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

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

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

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

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario

Dettagli

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore ARPA Fonte Dati Regione Toscana 1 Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.1 Data emissione 09/10/13 Stato FINAL 2 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 1.1 09/10/2013

Dettagli

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7 ESEMPI DI QUERY SQL Dati di esempio... 2 Query su una sola tabella... 2 Esempio 1 (Ordinamento)... 2 Esempio 2 (Scelta di alcune colonne)... 3 Esempio 3 (Condizioni sui dati)... 3 Esempio 4 (Condizioni

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

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

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

Introduzione ai database relazionali

Introduzione ai database relazionali Introduzione ai database relazionali Tabelle Un database (DB) è costituito da un insieme di file che memorizzano dati opportunamente organizzati Nei database relazionale tale organizzazione è costituita

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

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

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

Linee di evoluzione dei Database

Linee di evoluzione dei Database Linee di evoluzione dei Database DB NoSQL Linked Open Data Semantic Web Esigenze e caratteristiche Presenza di grandi volumi di dati..crescenti Struttura non regolare dei dati da gestire Elementi relativamente

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

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

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

Capitolo 13. Interrogare una base di dati

Capitolo 13. Interrogare una base di dati Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per

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

User Tools: DataBase Manager

User Tools: DataBase Manager Spazio di lavoro Per usare T-SQL Assistant selezionare il link Simple Query e spostare a piacere la piccola finestra dove un menu a tendina mostra i diversi comandi SQL selezionabili, il pulsante Preview

Dettagli

I database relazionali (Access)

I database relazionali (Access) I database relazionali (Access) Filippo TROTTA 04/02/2013 1 Prof.Filippo TROTTA Definizioni Database Sistema di gestione di database (DBMS, Database Management System) Sistema di gestione di database relazionale

Dettagli

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Siti web centrati sui dati Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

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. www.andreavai.it

DATABASE. www.andreavai.it Cos'è un database? Quando si usa? Differenze con i fogli elettronici Le tabelle: record, campi, tipi di dati Chiavi e indici Database relazionali (R-DBMS) Relazioni uno-a-uno Relazioni uno-a-molti Relazioni

Dettagli

DATABASE RELAZIONALI

DATABASE RELAZIONALI 1 di 54 UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI DISCIPLINE STORICHE ETTORE LEPORE DATABASE RELAZIONALI Dott. Simone Sammartino Istituto per l Ambiente l Marino Costiero I.A.M.C. C.N.R.

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

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

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

SQL Server 2005. Integration Services. SQL Server 2005: ETL - 1. Integration Services Project

SQL Server 2005. Integration Services. SQL Server 2005: ETL - 1. Integration Services Project atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, SQL Server 2005 Integration Services SQL Server 2005:

Dettagli

Università degli Studi di Verona. Laboratorio di Basi di Dati

Università degli Studi di Verona. Laboratorio di Basi di Dati Università degli Studi di Verona Laboratorio di Basi di Dati Introduzione ad OOo Base: Creazione Tabelle Gabriele Pozzani: gabriele.pozzani@univr.it Materiale prodotto da: Dott.ssa Barbara Oliboni Database:

Dettagli

Architettura MVC-2: i JavaBeans

Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.2 Comandi sulle tabelle 1 Prerequisiti Introduzione ai DB Tabelle, relazioni e attributi Chiave primaria Chiave esterna Vincoli di integrità 2 1 Introduzione

Dettagli

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7 Il trattamento dei dati database: il linguaggio SQL seconda parte Prof. Valle D.ssa Folgieri Lez9 15.11.06 Trattamento dati. Database: il

Dettagli

Corso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

Corso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende. Programma 30 set 205 Installazione Macchina Virtuale Introduzione alla BI nelle Aziende Introduzione SQL Macchina Virtuale È un emulazione di un computer su un altro computer Stesso punto di partenza per

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

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM Procedure memorizzate SQL-2003/PSM Procedure memorizzate nel database Programmazione general-purpose Leggere sezione 8.2 di Garcia-Molina et al. Lucidi derivati da quelli di Jeffrey D. Ullman 1 Una estensione

Dettagli

Corso di Archivistica

Corso di Archivistica Corso di Archivistica e gestione documentale Prima Parte - Area Informatica Le tabelle Lezione 6 Creare un data base Introduzione La presente è la prima di una serie di lezioni finalizzate alla creazione

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.1 Comandi sui database 1 Prerequisiti Introduzione ai DB Linguaggi per database Tipi fondamentali di dati 2 1 Introduzione In questa Unità introduciamo il linguaggio

Dettagli

Sistemi per la gestione di database: MySQL ( )

Sistemi per la gestione di database: MySQL ( ) Sistemi per la gestione di database: MySQL ( ) Relational Database e Relational Database Management System Un database è una raccolta di dati organizzata in modo da consentire l accesso, il reperimento

Dettagli

Sistemi Mobili e Wireless Android - Dati persistenti: SQLite

Sistemi Mobili e Wireless Android - Dati persistenti: SQLite Sistemi Mobili e Wireless Android - Dati persistenti: SQLite Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Android offre

Dettagli

SQL - Funzioni di gruppo

SQL - Funzioni di gruppo una funzione di gruppo permette di estrarre informazioni da gruppi di tuple di una relazione le funzioni di gruppo si basano su due concetti: partizionamento delle tuple di una relazione in base al valore

Dettagli

SQL/OLAP. Estensioni OLAP in SQL

SQL/OLAP. Estensioni OLAP in SQL SQL/OLAP Estensioni OLAP in SQL 1 Definizione e calcolo delle misure Definire una misura significa specificare gli operatori di aggregazione rispetto a tutte le dimensioni del fatto Ipotesi: per ogni misura,

Dettagli

Database Manager Guida utente DMAN-IT-01/09/10

Database Manager Guida utente DMAN-IT-01/09/10 Database Manager Guida utente DMAN-IT-01/09/10 Le informazioni contenute in questo manuale di documentazione non sono contrattuali e possono essere modificate senza preavviso. La fornitura del software

Dettagli

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di Dati e Web Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 1 SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali Il linguaggio

Dettagli

MODULO 5 ACCESS Basi di dati. Lezione 4

MODULO 5 ACCESS Basi di dati. Lezione 4 MODULO 5 ACCESS Basi di dati Lezione 4 ARGOMENTI Lezione 4 Filtrare i dati Esempio 1 Query Cos è Creare Query in visualizza struttura Criteri di ricerca Esempio 2 Esempio 3 Esempio 4 Creare Query in creazione

Dettagli

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi Vogliamo creare una struttura per permettere di memorizzari i voti della classe in tutte le materie Per fare questo untilizziamo tre tabelle Alunni,materie,voti Alunni Materie Voti Creo un record per ogni

Dettagli

MySQL Database Management System

MySQL Database Management System MySQL Database Management System http://www.mysql.com/ DATABASE RELAZIONALI Un database è una collezione strutturata di informazioni. I database sono delle strutture nelle quali è possibile memorizzare

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

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

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

SQL, NoSQL, o entrambi?

SQL, NoSQL, o entrambi? Introduzione Nella prima parte di questo corso abbiamo fatto una prima introduzione sul quando e come scegliere un database per risolvere un determinato problema. In questa parte finale vedremo attraverso

Dettagli

Base Dati Introduzione

Base Dati Introduzione Università di Cassino Facoltà di Ingegneria Modulo di Alfabetizzazione Informatica Base Dati Introduzione Si ringrazia l ing. Francesco Colace dell Università di Salerno Gli archivi costituiscono una memoria

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Maschere e Query Le Maschere (1/2) Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde un etichetta

Dettagli

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database Uso delle basi di dati Uso delle Basi di Dati Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database,

Dettagli

Introduzione a MySQL

Introduzione a MySQL Introduzione a MySQL Cinzia Cappiello Alessandro Raffio Politecnico di Milano Prima di iniziare qualche dettaglio su MySQL MySQL è un sistema di gestione di basi di dati relazionali (RDBMS) composto da

Dettagli

SPECIFICHE E LIMITI DI EXCEL

SPECIFICHE E LIMITI DI EXCEL SPECIFICHE E LIMITI DI EXCEL Un "FOGLIO DI CALCOLO" è un oggetto di un programma per computer costituito da un insieme di celle, organizzate in righe e colonne, atte a memorizzare dati ed effettuare operazioni

Dettagli

Finalità della soluzione... 3. Schema generale e modalità d integrazione... 4. Gestione centralizzata in TeamPortal... 6

Finalità della soluzione... 3. Schema generale e modalità d integrazione... 4. Gestione centralizzata in TeamPortal... 6 Finalità della soluzione... 3 Schema generale e modalità d integrazione... 4 Gestione centralizzata in TeamPortal... 6 Dati gestiti dall Anagrafica Unica... 8 Gestione anagrafica... 9 Storicizzazione...

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

corso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012

corso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012 1 MICROSOFT ACCESS 1 Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012 Che cos'è Access? 2 Access è un'applicazione database (DBMS), cioè un programma che serve a gestire

Dettagli

MANUALE PARCELLA FACILE PLUS INDICE

MANUALE PARCELLA FACILE PLUS INDICE MANUALE PARCELLA FACILE PLUS INDICE Gestione Archivi 2 Configurazioni iniziali 3 Anagrafiche 4 Creazione prestazioni e distinta base 7 Documenti 9 Agenda lavori 12 Statistiche 13 GESTIONE ARCHIVI Nella

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Link e permessi. Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione. Corso di Sistemi Operativi A. A. 2005-2006

Link e permessi. Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione. Corso di Sistemi Operativi A. A. 2005-2006 Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione Corso di Sistemi Operativi A. A. 2005-2006 Link e permessi Link Un riferimento ad un file è detto link Ogni file può avere un numero

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

Dettagli

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System) (DataBase Management System) Sistemi di ges3one di basi di da3 Un Database Management System è un sistema software progettato per consentire la creazione e manipolazione efficiente di database (collezioni

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

Esercizio sui data base "Gestione conti correnti"

Esercizio sui data base Gestione conti correnti Database "Gestione conto correnti" Testo del quesito La banca XYZ vuole informatizzare le procedure di gestione dei conti correnti creando un archivio dei correntisti (Cognome, Nome, indirizzo, telefono,

Dettagli

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti) (Esercizi Tratti da Temi d esame degli ordinamenti precedenti) Esercizio 1 L'agenzia viaggi GV - Grandi Viaggi vi commissiona l'implementazione della funzione AssegnaVolo. Tale funzione riceve due liste

Dettagli

I Sistemi Informativi

I Sistemi Informativi I Sistemi Informativi Definizione Un Sistema Informativo è un mezzo per acquisire, organizzare, correlare, elaborare e distribuire le informazioni che riguardano una realtà che si desidera descrivere e

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

SQL Server 2005. Introduzione all uso di SQL Server e utilizzo delle opzioni Olap. Dutto Riccardo - SQL Server 2005.

SQL Server 2005. Introduzione all uso di SQL Server e utilizzo delle opzioni Olap. Dutto Riccardo - SQL Server 2005. SQL Server 2005 Introduzione all uso di SQL Server e utilizzo delle opzioni Olap SQL Server 2005 SQL Server Management Studio Gestione dei server OLAP e OLTP Gestione Utenti Creazione e gestione DB SQL

Dettagli

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Maschere e Query Le Maschere (1/2) Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde un etichetta

Dettagli

TEORIA sulle BASI DI DATI

TEORIA sulle BASI DI DATI TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere

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

Il linguaggio SQL: viste e tabelle derivate

Il linguaggio SQL: viste e tabelle derivate Il linguaggio SQL: viste e tabelle derivate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLd-viste.pdf Sistemi Informativi L-A DB di riferimento

Dettagli

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database Per comprendere al meglio cosa sia un database, dobbiamo prima introdurre il concetto di

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

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

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov.

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov. Appunti di MySql Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov. Indice generale avviare la shell mysql...2 comandi SQL per la gestione del database (DDL)...2 visualizzare l'elenco

Dettagli

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web

Dettagli

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Documentazione Database

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Documentazione Database ARPA Fonte Dati Regione Toscana 1 Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 08/10/13 Stato FINAL 2 Versione Data Descrizione 1,0 08/10/13 Versione Iniziale 3 Sommario

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

Come modificare la propria Home Page e gli elementi correlati

Come modificare la propria Home Page e gli elementi correlati Come modificare la propria Home Page e gli elementi correlati Versione del documento: 3.0 Ultimo aggiornamento: 2006-09-15 Riferimento: webmaster (webmaster.economia@unimi.it) La modifica delle informazioni

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

Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti:

Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti: Javadoc Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti: /* commenti */ // commenti /** commenti documentazione */ Questi ultimi generano automaticamente

Dettagli

Mon Ami 3000 Multimagazzino Gestione di più magazzini fisici e/o logici

Mon Ami 3000 Multimagazzino Gestione di più magazzini fisici e/o logici Prerequisiti Mon Ami 3000 Multimagazzino Gestione di più magazzini fisici e/o logici L opzione Multimagazzino è disponibile per le versioni Azienda Light e Azienda Pro. Introduzione L opzione Multimagazzino

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Progettazione di un Database

Progettazione di un Database Progettazione di un Database Per comprendere il processo di progettazione di un Database deve essere chiaro il modo con cui vengono organizzati e quindi memorizzati i dati in un sistema di gestione di

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