Powered By Blogger

5 novembre 2008

Particolarità riscontrate lavorando con l'SQL in Access: differenze rispetto agli altri DBMS

Un Database Management System (abbreviato in DBMS) è un sistema software progettato per consentire la creazione e manipolazione efficiente di database (ovvero di collezioni di dati strutturati) solitamente da parte di più utenti.
I DBMS più diffusi sul mercato, attualmente, sono:
-Oracle;
-Basis;
-Db2;
-Ms Sql Server;
-mySql;
-Ms Access.

La principale differenza tra l' SQL di Access rispetto agli altri DBMS è che il primo è un DBMS locale, a differenza degli altri che sono DBMS server-side (cioè si fa riferimento a operazioni compiute dal server in un ambito client-server).

Altre particolarità dell’sql in Access sono:
- la clausola top può essere usata per selezionare un certo numero di tuple dal risultato;
- l’uso tra le sue funzioni di Where e On, diversamente dall’ìsql in oracle;
- l’operatore join deve essere sempre qualificato con il termine inner od outer;
- le parentesi quadre vengono usate per racchiudere gli identificativi di tabelle e attributi.

Architetture per i sistemi informativi aziendali: DBMS transazionali, Data mart, DW

- Un Database Management System (DBMS) è un sistema software progettato per consentire la creazione e manipolazione efficiente di database solitamente da parte di più utenti.
In passato (diversamente da oggi in cui ne troviamo una diffusione generale) i DBMS erano estesi principalmente presso le grandi aziende. Questi si occupavano della gestione di tutte quelle operazioni necessarie alla vita dell'azienda.

Oggi, a tal fine, i DBMS si servono di Sistemi Transazionali cioè quei sistemi informatici che eseguono operazioni on-line su basi di dati. Sono, in genere, utilizzati contemporaneamente da più utenti che accedono alla stessa base di dati. I dati provenienti dai sistemi transazionali sono quell'insieme di dati elaborati dai sistemi transazionali dell'azienda e possono essere contenuti all'interno dello stesso database o provenire da diversi database o anche esterni all'azienda.

- Un Data warehouse (DW), è un archivio informatico contenente i dati di un'organizzazione. I DW sono progettati per consentire di produrre facilmente relazioni ed analisi.

Secondo Inmon la raccolta di dati è:
•Integrata: requisito fondamentale di un data warehouse è l'integrazione dei dati raccolti. Nel data warehouse confluiscono dati provenienti da più sistemi transazionali e da fonti esterne. L'obiettivo dell'integrazione può essere raggiunto percorrendo differenti strade: mediante l'utilizzo di metodi di codifica uniformi, mediante il perseguimento di una omogeneità semantica di tutte le variabili, mediante l'utilizzo delle stesse unità di misura;
•Orientata al soggetto: il DW è orientato a temi aziendali specifici piuttosto che alle applicazioni o alle funzioni. In un DW i dati vengono archiviati in modo da essere facilmente letti o elaborati dagli utenti. L'obiettivo, quindi, non è più quello di minimizzare la ridondanza mediante la normalizzazione, ma quello di fornire dati organizzati in modo tale da favorire la produzione di informazioni. Si passa dalla progettazione per funzioni ad una modellazione dei dati che consenta una visione multidimensionale degli stessi;
•Variabile nel tempo: i dati archiviati all'interno di un DW coprono un orizzonte temporale molto più esteso rispetto a quelli archiviati in un sistema operativo. Nel DW sono contenute una serie di informazioni relative alle aree di interesse che colgono la situazione relativa ad un determinato fenomeno in un determinato intervallo temporale piuttosto esteso. Ciò comporta che i dati contenuti in un DW siano aggiornati fino ad una certa data che, nella maggior parte dei casi, è antecedente a quella in cui l'utente interroga il sistema. Ciò differisce da quanto si verifica in un sistema transazionale, nel quale i dati corrispondono sempre ad una situazione aggiornata, solitamente incapace di fornire un quadro storico del fenomeno analizzato;
•Non volatile: tale caratteristica indica la non modificabilità dei dati contenuti nel DW che consente accessi in sola lettura. Ciò comporta una semplicità di progettazione del database rispetto a quella di un'applicazione transazionale. In tale contesto non si considerano le possibili anomalie dovute agli aggiornamenti, né tanto meno si ricorre a strumenti complessi per gestire l'integrità referenziale o per bloccare record a cui possono accedere altri utenti in fase di aggiornamento.
Il data warehouse, quindi, descrive il processo di acquisizione, trasformazione e distribuzione di informazioni presenti all'interno o all'esterno delle aziende come supporto ai decision maker.

- Un Data mart è un raccoglitore di dati specializzato in un particolare soggetto. Un Data mart contiene un'immagine dei dati che permette di formulare strategie sulla base degli andamenti passati.
Normalmente si colloca a valle di un Data warehouse più globale ed è alimentato a partire da esso, di cui costituisce, in pratica, un estratto. Detto in termini più tecnici, un Data mart è un sottoinsieme logico o fisico di un Data warehouse di maggiori dimensioni.

La differenza fondamentale consiste nel fatto che la creazione del Data warehouse avviene in maniera generalizzata per poi venire incontro alle specifiche esigenze, mentre il Data mart viene generalmente creato per venire incontro ad un'esigenza specifica e già determinata.

Che cosa sono i datawarehouse e cosa li differenzia dai sistemi OLTP


Un Data warehouse (DW) (magazzino di dati), è un archivio informatico contenente i dati di un'organizzazione. I DW sono progettati per consentire di produrre facilmente relazioni ed analisi.
I dati estratti dagli archivi transazionali vengono memorizzati internamente al data warehouse. Nel DW l'accesso ai dati è consentito in sola lettura.
Tali dati hanno una dimensione storica e sono riferiti a soggetti di business. Essi possono essere memorizzati in un archivio centrale o in un data mart.
Il termine data mart identifica un data warehouse di dimensioni ridotte, specializzato per una particolare area di attività.
Il DW è un sistema OLAP(Online Analytical Processing) e differisce dai sistemi OLTP (On Line Transaction Processing)per una serie di motivi.
Innanzitutto dobbiamo definire l'OLTP come un insieme di tecniche software utilizzate per l'analisi dei dati.
I sistemi OLAP sono orientati al soggetto, integrati, invarianti nel tempo, non volatili, storici e permanenti. I dati nei sistemi OLAP vengono subito memorizzati e messi a disposizione, e non sono aggiornati come nei sistemi OLTP.
Questi ultimi comprendono dati statici e analitici a differenza dei sistemi OLAP.

4 novembre 2008

SQL : Istruzioni di base per Estrazione, Inserimento, Update dei dati


Il comando SELECT è l'unico comando di interrogazione (query) di SQL. Il risultato del comando è una tabella. La select prevede molte clausole che la rendono molto flessibile e potente.
La sintassi nella forma più semplice è:

SELECT
FROM
WHERE


Il comando INSERT ha la funzione di inserire i dati nelle tabelle.
Le colonne (o campi) di destinazione dei valori possono essere o meno dichiarate nel comando. Se non vengono dichiarate, è necessario passare al comando un valore per ogni colonna della tabella, rispettando rigorosamente l'ordine delle colonne stesse. Se, invece, le colonne di destinazione vengono dichiarate, è possibile indicare le sole colonne per le quali vengono passati dei valori, purché vengano inseriti comunque i valori per tutte le colonne not null (che non possono essere nulle) della tabella.
Di per sé il comando insert opera inserendo in tabella una sola riga per volta. È possibile, però, inserire più di una riga "in modo automatico" passando all'insert una serie di righe (o tuple) risultanti da un comando di select, purché tali righe siano compatibili con le colonne della tabella su cui si inseriscono i dati.
La sintassi nella forma più semplice è:

INSERT INTO nome_tabella
VALUES (elenco valori, tutti, rispettando l’ordine dei campi della tabella);



Il comando UPDATE ha la funzione di modificare i dati delle tabelle.
Il nome di ogni campo che deve essere modificato va dichiarato dopo la parola chiave SET e deve essere seguito dal simbolo " = " e dal nuovo valore che deve assumere.
È possibile modificare più campi della stessa riga in un unico comando update, separandoli l'uno dall'altro con il simbolo " , ".
La sintassi nella forma più semplice è:

UPDATE nome_tabella
SET nome_campo1 = 'valore1_nuovo',
nome_campo2 = 'valore2_nuovo',
...
;