Oracle 8i è una soluzione integrata e completa per lo sviluppo di applicazione di gestioni di dati in rete. relazioni e tipi di dati astratti.

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Oracle 8i è una soluzione integrata e completa per lo sviluppo di applicazione di gestioni di dati in rete. relazioni e tipi di dati astratti."

Transcript

1 ORACLE 8i 8i è una soluzione integrata e completa per lo sviluppo di applicazione di gestioni di dati in rete. l DBMS ORACLE 8i DBMS relazionale a oggetti: permette di creare database contenenti relazioni e tipi di dati astratti. Possibilità di sviluppo a oggetti: è dotato di un linguaggio procedurale a oggetti. Ambiente di sviluppo integrato: diversi tool integrati nel sistema consentono lo sviluppo di applicazioni complesse. Logica client-server a tre livelli 1 2

2 L architettura L architettura L architettura di 8i è centrata sul concetto di istanza e di database. Un database è composto da un insieme di file in cui vengono memorizzati i dati. Ogni host può ospitare più database a ognuno dei quali corrisponderà un server. HOST Un server di database, detto istanza, è costituito da una serie di strutture in memoria e di processi eseguiti in background che accedono ai file del database. Server SGA Server SGA Server SGA (System Global Area Processi in background Processi in background Processi in background Database Database Database File del database File del database File del database Le due istanze saranno percepite come completamente indipendenti e potranno comunicare mediante i medesimi protocolli utilizzati da istanze residenti su host separati. Per ogni database attivo su un host esistono un insieme di servizi che ne gestiscono tutte le funzionalità. 8i non è percepito come un sistema centralizzato dotato di un processo che controlla tutti i dati e gli utenti ma piuttosto come una federazione di sistemi ognuno dei quali controlla un singolo database con i propri utenti e le proprie applicazioni. 3 4

3 L architettura stanza di database: la memoria L architettura di 8i permette di realizzare molteplici tipologie di connessione in rete a seconda dell obiettivo che deve essere raggiunto: Reti di database utilizzati per query remote Database distribuiti Server di database in parallelo che accedono allo stesso database Query parallele in cui più CPU eseguono la stessa operazione Database client/server a 2 e 3 livelli Database accedibili tramite web Database replicati.. HOST HOST Server SGA Processi in background NET 8 Server SGA Processi in background L area di memoria SGA (System Global Area è la principale area di memoria utilizzata da un server ORACLE, essa conserva le informazioni più utili sulla struttura del database, sulle operazioni che vengono effettuate dagli utenti e viene utilizzata come blackboard per lo scambio di informazioni. Buffer dei blocchi dati Buffer del redo log SGA Cache del dizionario Pool SQL condiviso Cache per i blocchi di disco (Data Block Buffer Cache: utilizzata per contenere i blocchi dati letti dal database (es. tabelle, indici, ecc. gestiti con politica LRU (Least Recently Used. Cache del dizionario dati: contiene le informazioni sugli elementi del database memorizzate su disco in apposite tabelle che nel loro complesso formano il dizionario dei dati. È gestita con politica LRU. Buffer del registro di REDO: contiene le informazioni relative al REDO non ancora salvati nell apposito file in linea. Database File del database Database File del database Pool SQL condiviso: contiene le informazioni relative alle istruzioni SQL utilizzate più di frequente. l buffer è condiviso da tutti gli utenti e permette di evitare il calcolo dei piani di esecuzioni delle interrogazioni effettuate con maggiore frequenza. È gestita con politica LRU. Ogni utente ha a disposizione una area di memoria separata denominata PGA (Program Global Area. Client equipaggiati con NET 8 5 6

4 stanza di database: i processi Le relazioni fra le strutture fisiche e di memoria del database vengono gestite e guidate da processi eseguiti in background. Questi processi appartengono al database e il loro numero può variare a seconda delle configurazioni, i più importanti sono elencati di seguito: SMON (System Monitor: all avvio dell istanza esegue il ripristino dell istanza mediante il registro di REDO. Al processo è inoltre demandato il compito di deframmentare le aree di disco occupate dal database. stanza di database La figura mostra alcuni dei legami tra i principali elementi che costituiscono una istanza di database. Processi Utente PMON (Program Monitor: libera le risorse occupate dagli utenti quando un loro processo fallisce. DBWR(Database Writer: gestisce la cache dei blocchi e del dizionario. LGWR(Log Write: gestisce la scrittura sul file in linea del registro di REDO del relativo buffer in memoria. SGA Cache blocchi disco Cache dizionario dati Buffer registro REDO Pool SQL PGA Utente PGA Utente PGA CKPT (checkpoint: si occupa di inserire nei file dati e nel dizionario dati i checkpoint: marcatori che garantiscono la sicurezza degli aggiornamenti effettuati prima di un dato istante. n questo modo il ripristino di un database sarà necessario solo per le operazioni eseguite dopo l ultimo checkpoint. SMON CHKPT RECO PMON ARCH: se il sistema funziona in modalità ARCHVELOG il processo si occupa di creare un backup dei file creati da LGWR prima che quest ultimo li sovrascriva. DBWR LGWR ARCH RECO: risolve i fallimenti delle transazioni sui database distribuiti File dati File dizionario File registri REDO in linea File backup registri REDO 7 8

5 Struttura interna dei dati Struttura interna dei dati L elemento principale di suddivisione logica dei dati memorizzati all interno di un database è il tablespace. Ogni database ha almeno un tablespace SYSTEM; ogni tablespace è costituito da uno o più file che possono appartenere a un solo tablespace. È consigliabile memorizzare gli oggetti di un database in più tablespace per: Rispettare la separazione logica delle informazioni memorizzate Ridurre le dimensioni dei singoli tablespace Ridurre il carico di /O dei singoli dispositivi di disco Ridurre il rischio di perdite di dati causate da guasti Tablespace SYSTEM Secondo Tablespace Terzo Tablespace Una corretta suddivisione degli oggetti del DB potrebbe essere la seguente: Tablespace SYSTEM Tabelle del dizionario dati (appartenenti all utente SYS Segmento di rollback Tablespace DATA Tabelle dei dati degli utenti Tablespace NDEXES ndici relativi ai dati memorizzati nel tablespace DATA Tablespace TOOLS Tabelle contenti il codice delle applicazioni: trigger e stored procedure Tablespace TEMP nformazioni, dinamiche e temporanee, utilizzate durante l esecuzione di operazioni sui dati del database (es. join, ordinamenti, select distinct, union, ecc. Data file Altri tablespace che potrebbero essere aggiunti modificando la precedente suddivisione sono: Tablespace RBS nformazioni che permettono di gestire le operazioni di rollback delle transazioni (non più memorizzate nel tablespace SYSTEM. Tablespace USERS Oggetti degli utenti nei database di sviluppo. 9 10

6 NET8 NET8 NET 8 (chiamato in versioni precedenti SQL*Net è lo strumento utilizzato dai database ORACLE per comunicare in rete ed è utilizzato sia per le connessioni server-server che client-server. La connessione tramite NET 8 è basata su TNS (Transparent Network Substrate che risolve tutti i problemi di connessione a livello server. NET 8 è indipendente dal protocollo di comunicazione utilizzato (es. TCP/P, TCP/P with SSL, SPX. Ogni oggetto in una rete ORACLE è individuato da un nome univoco (FQON Fully Qualified Object Name composto da: Nome dell host - Nome dell istanza - Proprietario - Nome dell oggetto Le parti relative al server e all istanza del nome FQON vengono identificate per mezzo di un descrittore di connessione (identificato tramite un sinonimo detto nome di servizio che specifica: l protocollo di comunicazione l nome dell host l nome dell istanza da utilizzare (SD System Dentifier Parametri aggiuntivi di configurazione #################################### # TNSNAMES.ORA Configuration File: # F:\oracle\ora81\NETWORK\ADMN\tnsnames.ora #################################### DB1 = (DESCRPTON (DESCRPTON = (ADDRESS_LST (ADDRESS_LST = (ADDRESS (PROTOCOL TCP(HOST gora(port 1521 (ADDRESS = (PROTOCOL = TCP(HOST = gora(port = 1521 (CONNECT_DATA (SERVCE_NAME DB1 (CONNECT_DATA = (SERVCE_NAME = DB1 Nome di servizio Descrittore di servizio OMERO_BACCO08.CSR.UNBO.T = (DESCRPTON = (ADDRESS_LST = (ADDRESS = (PROTOCOL = TCP(HOST = bacco.csr.unibo.it(port = 1521 (CONNECT_DATA = (SD = omero(server = DEDCATED l collegamento a una istanza è gestito tramite processi LSTENER che risiedono su ogni HOST e gestiscono il collegamento alle istanze: listener.ora stanza A Listener stanza B stanza C Listener stanza D Ogni LSTENER si pone in ascolto per le connessioni relative a un insieme di istanze. Quando un client o un altro HOST provano a connettersi a una istanza il listener preposto gestisce la connessione. L insieme dei processi listener attivi su un host e l insieme delle istanze che ognuno gestisce sono specificati nel file listener.ora. che contiene: L elenco dei listener attivi sull host e i parametri per la connesione. L associazione delle istanze ai listener. Altre informazioni relative all ottimizzazione dei collegamenti (es. bilanciamento del carico dei listener

7 NET8 file del database Nel seguito è riportato un esempio per il file listener.ora # LSTENER.ORA Network Configuration File: F:\oracle\ora81\network\admin\listener.ora # Generated by configuration tools. LSTENER1 = (DESCRPTON_LST = (DESCRPTON = (ADDRESS_LST = (ADDRESS = (PROTOCOL = TCP(HOST = gora(port = 1521 (ADDRESS_LST = (ADDRESS = (PROTOCOL = PC(KEY = EXTPROC0 SD_LST_LSTENER1 = (SD_LST = (SD_DESC = (SD_NAME = PLSExtProc (ORACLE_HOME = F:\oracle\ora81 (PROGRAM = extproc (SD_DESC = (GLOBAL_DBNAME = DB1 (ORACLE_HOME = F:\oracle\ora81 (SD_NAME = DB1 (SD_DESC = (GLOBAL_DBNAME = DW1 (ORACLE_HOME = F:\oracle\ora81 (SD_NAME = DW1 Lista istanze associate a LSTENER1 Lista listener attivi sull host principali file in cui sono mantenute informazioni relativamente a uno specifico database (DB sono: file di controllo: gestiscono l architettura fisica del db. Memorizzano le informazioni di controllo sui file del db e vengono utilizzati per gestirne la coerenza interna. Vista l importanza di questi file ne vengono conservate più copie che dovrebbero essere memorizzate in dischi distinti. F:\oracle\oradata\DB\Controlxx.ctl file dati: i dati del db vengono memorizzati in appositi file con estensione.dbf. nomi dei file riportano il nome del tablespace a cui appartengono: F:\oracle\oradata\DB\Systemxx.dbf l file di configurazione: contiene i parametri di configurazione del db e viene letto in fase di inizializzazione dei processi ad esso correlati. F:\oracle\admin\DB\pfile\init.ora file relativi ai parametri NET 8: contengono i parametri relative alle informazioni per gestire il protocollo NET 8; in particolare i nomi dei listener attivi sull host e i SD dei diversi db D:\oracle\ora81\network\ADMN\tnsnames.ora D:\oracle\ora81\network\ADMN\listener.ora 13 14

8 file del database tool di accesso Per semplificare la gestione del database tutti i file ad esso associati dovrebbero essere memorizzati in directory create appositamente per quel db: F:\oracle\ ORACLE 8i propone un ampia suite di tool per l accesso ai dati, l amministrazione del sistema e lo sviluppo di applicazioni. n particolare: DBA Studio: amministrazione e controllo delle caratteristiche dei database. F:\oracle\oradata\DB F:\oracle\admin\DB Database Configuration Assistent: creazione e configurazione assistita dei database. SQLPlus Worksheet: interrogazione dei database. F:\oracle\admin\DB\pfile Anche la struttura delle directory del DBMS segue una precisa struttura ereditata dalle prime versioni nate per sistemi UNX. D:\oracle\ora81 NET8 Assistent: amministrazione e controllo delle caratteristiche di rete. NET8 Configuration Assistent: configurazione guidata delle caratteristiche di rete. SQLLoader: caricamento, importazione, esportazione dati. D:\oracle\ora81\Or a81\bin D:\oracle\ora81\Ora81 \ODBC D:\oracle\ora81\Net work\admn 15 16

9 Lo schema di un database Lo schema di un database L insieme degli oggetti che appartengono a un utente si chiama schema: L insieme degli oggetti che appartengono a un utente si chiama schema: Tabelle: sono i principali contenitori dei dati del database. Viste: forniscono una visione parziale dei dati contenuti in una o più tabelle e possono essere pensate come delle interrogazioni sulle tabelle stesse. Viste materializzate: memorizzano dati ridondanti ottenuti dai dati presenti nel database stesso. Vengono utilizzate principalmente in applicazioni di data warehousing, database distribuiti e mobile computing per memorizzare i dati maggiormente richiesti dalle applicazioni. Dimensioni: codificano delle relazioni gerarchie tra coppie di attributi. ndici: sono lo strumento di base per il miglioramento delle performance. Tra quelli messi a disposizione da ORACLE i più comunemente utilizzati sono i B + -Tree e i Bitmap. Cluster: indicano insiemi di tabelle memorizzate assieme per motivi prestazionali. Sequenze: vengono utilizzate per semplificare il lavoro del programmatore e forniscono un elenco sequenziale di valori univoci. Procedure: sono blocchi di istruzioni PL/SQL memorizzatoe nel dizionario dei dati e richiamabili dalle applicazioni. Le procedure permettono di memorizzare in un database le logiche applicative utilizzate frequentemente. Funzioni: come le procedure sono composte da blocchi di istruzioni PL/SQL. A differenza delle prime possono restituire dei valori al programma chiamante. Package: riuniscono le funzioni e le procedure in raggruppamenti logici. Trigger: sono procedure che si eseguono al verificarsi di un evento nel database. Sinonimi: semplificano l identificazione degli oggetti (es. nei database distribuiti e vengono utilizzati per motivi di sicurezza (rendono trasparente la locazione di un oggetto o il suo proprietario. Privilegi e ruoli: definiscono le modalità di accesso di un utente a un oggetto del db

10 Gli utenti privilegi L accesso a un database ORACLE è basato sul concetto di utente identificato da un username e da una password. Per ogni utente è definito un insieme di parametri che ne definiscono le caratteristiche: Username: definisce univocamente l utente all interno del sistema. Password: realizza il principale meccanismo di verifica dell identità dell utente. Tablespace di default: è il tablespace in cui vengono salvati gli oggetti creati nello schema. Tablespace temporaneo: è il tablespace in cui vengono salvati i segmenti temporanei utilizzati durante le transazioni. Avere un account (essere un utente su un database non è di per se sufficiente a eseguirvi operazioni poiché questa possibilità varia in base all insieme di privilegi che l utente possiede. Un privilegio definisce la possibilità di eseguire un certo tipo di operazione. privilegi possono essere definiti: A livello di sistema: vale per tutti gli oggetti del tipo indicato. Per concedere un privilegio di sistema è necessario avere abilitato il privilegio WTH ADMN OPTON. Su uno specifico oggetto: vale per lo specifico oggetto indicato. Per concedere un privilegio di sistema è necessario avere abilitato il privilegio WTH GRANT OPTON. grant select on mpiegato to GOLFARELL with grant option; Quota: limita la dimensione massima occupabile dagli oggetti creati dall utente. Profilo: specifica il profilo dell utente. Ruolo: definisce i ruoli dell utente. grant select on mpiegato to ROSS; Le caratteristiche e i privilegi di un utente sono validi solo per il database a cui l utente appartiene. Esistono però degli utenti, detti Enterprise User, le cui caratteristiche e i cui privilegi sono validi in tutti i database del sistema. privilegi di un Enterprise User vengono definiti in modo centralizzato in una specifica directory. n questo modo si evita confusione nella confusione delle caratteristiche di questi utenti. n un database, tutti gli oggetti su cui un utente ha dei privilegi formano lo schema dell utente

11 privilegi La tabella mostra alcuni dei privilegi di sistema assegnabili in base al tipo di oggetto. Privilegio Consente di ndici Creare nello schema di colui che assegna il privilegio un indice CREATE NDEX sulle proprie tabelle. CREATE ANY Creare in ogni schema, ad eccezione di quello di SYS un indice NDEX di dominio o un indice su qualsiasi tabella. DROP ANY NDEX Cancellare gli indici di ogni schema ad eccezione di SYS. Procedure CREATE Creare nello schema di colui che assegna il privilegio una PROCEDURE procedura o funzione. CREATE ANY Creare nello schema di colui che assegna il privilegio una PROCEDURE procedura o funzione. ALTER ANY Modificare procedure e funzioni in qualsiasi schema a PROCEDURE esclusione di quello di SYS. Profili CREATE PROFLE Creare dei profili. ALTER ANY ROLE Alterare i profili. Ruoli CREATE ROLE Creare i ruoli. ALTER ANY ROLE Modificare i ruoli. Tabelle CREATE ANY Creare tabelle in ogni schema ad eccezione di SYS. TABLE ALTER ANY Modificare una tabella o una vista dello schema. TABLE SELECT ANY Eseguire interrogazioni su tabelle o viste in qualsisi schema ad TABLE eccezione di SYS. Altre SYSDBA Eseguire le operazioni di STARTUP e SHUTDOWN. Eseguire le operazioni di STARTUP, SHUTDOWN, SYSOPER ALTERDATABASE OPEN/MOUNT/BACKUP. privilegi La tabella mostra i privilegi assegnabili agli oggetti e i tipi di oggetti per cui essi hanno senso. L unico utente ad avere sempre tutti i privilegi su un oggetto è il proprietario. Privilegio Tabelle Viste Sequenze Procedure Viste Directory Librerie materializ. 22 Tipi definiti dall utente Operatori ALTER DELETE EXECUTE NDEX NSERT READ REFERENCES SELECT UPDATE Tipi ndici 21

12 Ruoli Per semplificare la gestione dei privilegi è possibile definire dei ruoli ossia degli insiemi di privilegi che definiscono un tipo di utente. ruoli sono definibili in modo personalizzato ma ORACLE ne fornisce alcuni di default. RUOLO CONNECT, RESOURCE e DBA DELETE_CATALOG_ROLE EXECUTE_CATALOG_ROLE SELECT_CATALOG_ROLE EXP_FULL_DATABASE MP_FULL_DATABASE AQ_USER_ROLE AQ_ADMNSTRATOR_ROLE SNPAGENT SCOPO Vengono utilizzati per compatibilità con le precedenti versioni. Potrebbero essere abbandonati nelle versioni future quindi è conveniente sostituirli con ruoli più specifici. Consentono di accedere alle viste esportate del dizionario dati e ai pacchetti. Consentono di fruire delle funzionalità di importazione ed esportazione. Utilizzati per sfruttare le modalità avanzate di interrogazione. È il ruolo utilizzato da OEM. RECOVERY_CATALOG_OWNER Consente di utilizzare un utente che possieda un catalogo di ripristino. HS_ADMN_ROLE Utilizzato da amministratori per sfruttare le funzionalità Heterogeneous Services. Come nel caso degli utenti è possibile definire dei ruoli le cui caratteristiche sono valide per tutti i database del sistema, si parlerà in questo caso di Enterprise Role. La definizione di un Enterprise Role viene fatta definendo i parametri in una specifica directory. Profili profili vengono utilizzati per limitare le quantità di risorse del sistema e del database utilizzabili da un utente. Risorsa Descrizione SESSONS_PER_USER l numero di sessioni simultanee che un utente può avere in un istanza. CPU_PER_SESSON l tempo di CPU che una sessione può utilizzare. CPU_PER_CALL l tempo di CPU che un analisi o un esecuzione possono utilizzare. CONNECT_TME l numero di minuti per cui una sessione può rimanere connessa al database. DLE_TME l numero di minuti per cui una sessione può rimanere connessa al database senza utilizzarlo attivamente. LOGCAL_READS_PER_SESSON l numero di blocchi del database che possono essere letti in una sessione. LOGCAL_PER_CALL l numero di blocchi del database che che un analisi o un esecuzione. PRVATE_SGA La quantità di spazio privato che una sessione può allocare nel Shared SQL Pool della SGA. COMPOSTE_LMT Un limite composto basato sui precedenti. FALED_LOGN_ATTEMPS l numero di tentativi di connessione consecutivamente falliti dopo cui l account viene bloccato. PASSWORD_LFE_TME l numero di giorni di validità della password. PASSWORD_REUSE_TME l numero di giorni che devono trascorrere prima che la password possa essere riutilizzata. PASSWORD_REUSE_MAX l numero di password da cambiare prima che una già usata possa essere riutilizzata. PASSWORD_LOCK_TME Numero di giorni per cui resta bloccato un account se si supera FALED_LOGN_ATTEMPS. PASSWORD_GRACE_TME La lunghezza del periodo durante il quale una password scaduta può essere cambiata. PASSWORD_VERFY_FUNCTON l nome di una funzione utilizzata per verificare la complessità della password. Se in un database non viene creato alcun profilo, verrà utilizzato quello di default che prevede risorse illimitate per tutti gli utenti

13 l Data Dictionary l Data Dictionary l cuore di un database è il data dictionary che descrive completamente la struttura del database tramite un insieme di tabelle. l data dictionary contiene: La definizione di tutti gli oggetti dello schema Lo spazio allocato per ogni elemento dagli oggetti dello schema valori di default per le colonne vincoli di integrità nomi degli utenti ORACLE Privilegi e ruoli ricoperti dagli utenti nformazioni di auditing Le statistiche sui dati l data dictionary è memorizzato nel tablespace SYSTEM, le sue tabelle, di proprietà di SYS, sono in sola lettura per tutti gli altri utenti del database. La struttura del data dictionary è composta da: Tabelle di base: sono le tabelle che memorizzano le informazioni vere e proprie in forma normalizzata. Vista la loro complessa struttura sono normalmente lette e scritte solo da ORACLE. Viste: riassumono le informazioni memorizzate nelle tabelle di base in modo da renderle più facilmente fruibili agli utilizzatori. l data dictionary ha tre utilizzi primari accede al data dictionary per trovare le informazioni relative agli utenti, agli schemi e alle strutture di memorizzazione. modifica il data dictionary ogni volta che un istruzione del DDL viene eseguita Ogni utente può accedere al data dictionary (con modalità read-only per recuperare le informazioni relative al database. Le viste utilizzate dagli utenti per accedere al data dictionary si suddividono in: ALL_: sono viste create nella prospettiva di tutti gli utenti. Queste viste contengono informazioni relative a oggetti, diversi dai propri, a cui gli utenti hanno accesso mediante GRANT espliciti, privilegi e ruoli. Esempio: Tutti gli oggetti a cui ho accesso : SELECT owner, object_name, object_type FROM ALL_OBJECTS; USER_: sono le viste create nella prospettiva del singolo utente. Fanno quindi riferimento agli oggetti propri dell utente (es. oggetti dello schema, grant, ecc. e quindi mostrano un sottoinsieme dei dati delle viste ALL_. Esempio: Tutti gli oggetti del mio schema : SELECT object_name, object_type FROM USER_OBJECTS; DBA_: possono essere interrogate solo dal DBA o da chi possiede il privilegio SELECT ANY TABLE. Forniscono una visione globlale dell intero database 25 26

14 Static Data Data Dictionary Views Le viste ALL_, DBA_ e USER_ sono dette statiche poiché il loro contenuto cambia solo a fronte di un cambiamento dei dati del data dictionary. Nel seguito sono elencate alcune delle tabelle su cui lavoreremo. Per una descrizione completa del loro contenuto si veda il manuale 8i Reference. La sintassi??? indica che le tabelle sono disponibili sia in versione USER che ALL.???_ND_COLUMNS: mantiene le informazioni sulle colonne delle tabelle in cui sono costruiti indici???_nd_tables: mantiene le informazioni sulle tabelle in cui sono costruiti indici???_tab_cololumns: mantiene le informazioni sulle colonne delle tabelle???_tab_col_statstcs: mantiene le statistiche sulle colonne delle tabelle Dynamic Performance Tables Sono continuamente aggiornate mentre il sistema è in funzionamento e contengono principalmente informazioni relative alle performance. Sebbene siano percepite come tali, non sono memorizzate come tabelle nell accezione relazionale del termine e non possono essere interrogate mediante operazioni di raggruppamento, join e ordinamento Sono identificate dal prefisso V_$ ma il loro sinonimo pubblico (interrogabile è V$ Nel seguito sono elencate alcune delle tabelle. Per una descrizione completa del loro contenuto si veda il manuale 8i Reference. V$TRANSACTON: lista delle transazioni attive V$SESSON: lista delle sessioni attive V$LOCK: lista dei lock in atto V$SGA: descrizione della dimensione dell area SGA V$SQL: informazioni sull area condivisa SQL???_TABLESPACES: descrive i tablespace accedibili dall /dagli utente/i???_role_prvs: descrive i ruoli disponibili all /agli utente/i???_col_prvs: descrive i privilegi disponibili all /agli utente/i 27 28

15 Data Type Data Type: DATE Ogni valore manipolato da ORACLE deve essere associato a un tipo di dato che ne specifica le caratteristiche (es. valori ammessi, valori massimi, minimi, ecc. Tra i diversi tipi di dati che utilizzeremo più di frequente (vedi 2.2 8i SQL Reference distinguiamo: Tipi di dati built-in - CHAR(size stringa a lunghezza fissa definita da size < VARCHAR2(size stringa a lunghezza variabile definita da size < NUMBER(precision,scale a virgola fissa con scale cifre decimali e precision-scale cifre intere (es. NUMBER(3,2 1.24; NUMBER(3=NUMBER(3,0 122; NUMBER floating point - DATE - ROWD stringa esadecimale che contiene l indirizzo univoco di una tupla all interno di una tabella. Tipi di dati ANS: molti tipi di dati standard ANS sono supportati e convertiti in tipi di dati ORACLE ANS ORACLE CHARACTER(size CHAR(size CHARACTER VARYNG(size VARCHAR(size NUMERC(precision,scale NUMBER(precision,scale NTEGER NUMBER(38 FLOAT(size NUMBER l tipo DATE memorizza le informazioni relative a data e orario fino al secondo (vedi i SQL Reference: Se l orario non viene specificata il default è 12:00:00 AM Se la data non specificata il default è SYSDATE (la data corrente l formato standard utilizzato per la data è specificato nella variabile di sistema NLS_DATE_FORMAT Funzioni per la gestione di valori di tipo DATE TO_DATE(stringa[,formato]: converte un campo di testo (CHAR o VARCHAR2 contenente una data espressa nel formato formato in un dato di tipo DATE VARCHAR2(50 v_string:= January 15, 1989, 11:00 A.M. ; DATE v_date:= TO_DATE(p_date, Month dd, YYYY, HH:M A.M. TO_CHAR(data[,formato]: converte un campo data contenente una data espressa nel formato formato in una stringa di tipo VARCHAR2 SELECT TO_CHAR(HREDATE, Month DD, YYYY "New date format" FROM emp WHERE ename = BLAKE ; SYSDATE: restituisce la data corrente SELECT ENAME FROM DUAL WHERE HREDATE=SYSDATE; 29 30

16 Data Type: Conversione di tipi Data Definition Language Una espressione ORACLE deve essere svolta su operatori con lo stesso tipo di dato. Nel caso in cui i tipi di dati siano diversi è necessario effettuare una conversione che può essere implicita o esplicita. Conversioni implicite: Quando nelle operazioni di NSERT e UPDATE il dato da inserire viene convertito nel tipo di dato dell attributo corrispondente. Quando viene utilizzata una funzione SQL o un operatore con un parametro di tipo diverso da quello del valore che viene fornito in input, converte il tipo di dato del valore in quello del parametro. Quando viene utilizzato un operatore di comparazione tra due valori di tipi diversi. converte il tipo di uno dei due operandi. SELECT sal + 10 FROM emp; SELECT ename FROM emp WHERE empno = 7936 ; SELECT ename FROM emp WHERE hiredate = 12-MAR-1993 ; Conversioni esplicite: CHAR DATE: TO_DATE CHAR NUMBER: TO_NUMBER(stringa[,formato] converte stringa tipo CHAR o VARCHAR2 in un numero di tipo NUMBER NUMBER CHAR: TO_CHAR(val[,formato] converte val di tipo NUMBER in una stringa di tipo VARCHAR2. E la porzione di SQL che permette la creazione/eliminazione degli oggetti dello schema, i principali costrutti che utilizzeremo sono: Creazione di tabelle ( vedi iServer and SQL*Plus CREATE TABLE nometabella ( nomecol DATATYPE, nomecol DATATYPE, nomecol DATATYPE, PRMARY KEY (nomecol,,nomecol [,FOREGN KEY (nomecol,,nomecol REFERENCES nometabella (nomecol,,nomecol]; dove DATATYPE è uno dei tipi di dati previsti da ORACLE Eliminazione di tabelle (vedi iServer and SQL*Plus DROP TABLE nometabella; Creazione di sequenze (vedi iServer and SQL*Plus CREATE SEQUENCE nomesequenza START WTH primovalore NCREMENT BY incremento;; Eliminazione di sequenze (vedi iServer and SQL*Plus DROP SEQUENCE nomesequenza; (ATTENZONE: per reinizializzare una sequenza a un valore diverso da quello corrente è necessario e ricrearla ex-novo 31 32

17 Data Definition Language Creazione di indici (vedi iServer and SQL*Plus CREATE NDEX [UNQUE,BTMAP] nomeindice ON nometabella (nomecol,,nomecol; Eliminazione di indici (vedi iServer and SQL*Plus DROP NDEX nomeindice; Creazione di procedure (vedi iServer and SQL*Plus CREATE [OR REPLACE] PROCEDURE nomeprocedura [(nomepar DATATYPE,, nomepar DATATYPE] S Blocco codice PL-SQL; 33

Introduzione a Oracle

Introduzione a Oracle Introduzione a Oracle Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna Per approfondimenti: ORACLE 11g Rel. 2 - Concepts 1 I DBMS (richiami) Un DBMS (Data Base Management System) è

Dettagli

Introduzione a Oracle 9i

Introduzione a Oracle 9i Introduzione a Oracle 9i Ing. Vincenzo Moscato - Overview sull architettura del DBMS Oracle 9i L architettura di Oracle 9i si basa sul classico paradigma di comunicazione client-server, in cui sono presenti

Dettagli

DBMS ORACLE 9i I componenti del Database Server Oracle : Strutture di memoria Processi File fisici Directory principali: c:\oracle\admin\\pfile c:\oracle\ora92\database

Dettagli

Capitolo 1 Oracle: la società e il software 1 1.1 Terminologia 1 1.2 Oracle Corporation: la storia 2 1.3 L offerta corrente 12 1.

Capitolo 1 Oracle: la società e il software 1 1.1 Terminologia 1 1.2 Oracle Corporation: la storia 2 1.3 L offerta corrente 12 1. Indice INTRODUZIONE XI Capitolo 1 Oracle: la società e il software 1 1.1 Terminologia 1 1.2 Oracle Corporation: la storia 2 1.3 L offerta corrente 12 1.4 Domande 13 Capitolo 2 I servizi Oracle 15 2.1 Terminologia

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 sistema IBM DB2. Sistemi Informativi T. Versione elettronica: L01.1.IntroduzioneDB2.pdf

Il sistema IBM DB2. Sistemi Informativi T. Versione elettronica: L01.1.IntroduzioneDB2.pdf Il sistema IBM DB2 Sistemi Informativi T Versione elettronica: L01.1.IntroduzioneDB2.pdf IBM DB2 Il DBMS relazionale IBM DB2 è il prodotto di punta dell IBM per la gestione di basi di dati relazionali

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

DB2 Universal Database (UDB) DB2 Universal Database (UDB)

DB2 Universal Database (UDB) DB2 Universal Database (UDB) DB2 Universal Database (UDB) Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DB2Presentazione2009.pdf Sistemi Informativi L-A DB2 Universal

Dettagli

SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching

Dettagli

Corso di Informatica Generale 1 IN1. Linguaggio SQL

Corso di Informatica Generale 1 IN1. Linguaggio SQL Università Roma Tre Facoltà di Scienze M.F.N. di Laurea in Matematica di Informatica Generale 1 Linguaggio SQL Marco (liverani@mat.uniroma3.it) Sommario Prima parte: le basi dati relazionali Basi di dati:

Dettagli

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari Gubiani & Montanari Il DBMS Oracle 1 Il DBMS Oracle Express Edition Donatella Gubiani e Angelo Montanari Il DBMS Oracle Il DBMS Oracle Oracle 10g Express Edition Il DBMS Oracle (nelle sue versioni più

Dettagli

Indice Introduzione Elementi di base dei database Il linguaggio SQL (Structured Query Language)

Indice Introduzione Elementi di base dei database Il linguaggio SQL (Structured Query Language) Indice Introduzione XI Capitolo 1 Elementi di base dei database 1 1.1 Che cos è un database 1 1.2 L architettura di Oracle Database 10g 3 Progetto 1.1 L architettura di Oracle Database 10g 8 1.3 I tipi

Dettagli

Indice. Introduzione PARTE PRIMA L ARCHITETTURA DEI DATABASE 1

Indice. Introduzione PARTE PRIMA L ARCHITETTURA DEI DATABASE 1 Indice Introduzione XI PARTE PRIMA L ARCHITETTURA DEI DATABASE 1 Capitolo 1 Introduzione all architettura di Oracle 3 1.1 I database e le istanze 3 1.2 Installazione del software 9 1.3 Creazione di un

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 1 SQL SQL (Structured Query Language) è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali. Sono stati proposti

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

Il linguaggio SQL: viste e tabelle derivate. Versione elettronica: SQLd-viste.pdf

Il linguaggio SQL: viste e tabelle derivate. Versione elettronica: SQLd-viste.pdf Il linguaggio SQL: viste e tabelle derivate Versione elettronica: SQLd-viste.pdf DB di riferimento per gli esempi Imp Sedi CodImp Nome Sede Ruolo Stipendio Sede Responsabile Citta E001 Rossi S01 Analista

Dettagli

Informatica Documentale

Informatica Documentale Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,

Dettagli

Basi di dati. Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. andrea.bulgarelli@gmail.com Argomento: presentazione corso (1.

Basi di dati. Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. andrea.bulgarelli@gmail.com Argomento: presentazione corso (1. Università di Modena e Reggio Emilia Basi di dati Docente: andrea.bulgarelli@gmail.com Argomento: presentazione corso (1.0) - Basi di Dati 1 Materiale didattico Web site: www.andrea.bulgarelli.name/corso

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

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

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

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

Dettagli

Basi di dati. 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

Il linguaggio SQL: DDL di base

Il linguaggio SQL: DDL di base Il linguaggio SQL: DDL di base Sistemi Informativi T Versione elettronica: 04.1.SQL.DDLbase.pdf SQL: caratteristiche generali SQL (Structured Query Language) èil linguaggio standard de facto per DBMS relazionali,

Dettagli

ROUTINE E PROGRAMMAZIONE

ROUTINE E PROGRAMMAZIONE LEZIONE-TSQL-02 TRIGGER E PROCEDURE (VER03 PAG. 1 / 6 LEZIONE-TSQL-02 TRIGGER E PROCEDURE (VER03 T-SQL PROGRAMMAZIONE PARTE SECONDA ROUTINE E PROGRAMMAZIONE In TSQL è possibile definire alcune routine

Dettagli

Laboratorio avanzato di Basi di Dati AA 2003-2004

Laboratorio avanzato di Basi di Dati AA 2003-2004 Laboratorio avanzato di Basi di Dati AA 2003-2004 Dr. Carlo Masera Dr.ssa Giovanna Petrone Obiettivi del corso studiare le principali funzionalità di uno strumento reale e di ampia diffusione per la gestione

Dettagli

Reti e Domini Windows 2000. Corso di Amministrazione di Reti A.A. 2002/2003

Reti e Domini Windows 2000. Corso di Amministrazione di Reti A.A. 2002/2003 Reti e Domini Windows 2000 Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm

Dettagli

Le risposte alle domande a fine capitolo

Le risposte alle domande a fine capitolo Appendice A Le risposte alle domande a fine capitolo Capitolo 1 ORACLE: LA SOCIETÀ E IL SOFTWARE 1. Oracle è stata fondata da Larry Ellison, Bob Miner e. D. Ed Oates 2. In quale anno Oracle ha fornito

Dettagli

Implementazione in Oracle di un semplice progetto

Implementazione in Oracle di un semplice progetto Oracle e SQL Implementazione in Oracle di un semplice progetto Operazioni preliminari La versione del DBMS Oracle a cui si farà riferimento di qui in seguito è la 10g Express Edition, liberamente scaricabile

Dettagli

Gestione delle tabelle

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

Dettagli

Caratteristiche principali. Contesti di utilizzo

Caratteristiche principali. Contesti di utilizzo Dalle basi di dati distribuite alle BASI DI DATI FEDERATE Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Anno Accademico 2006/2007 http://www.dis.uniroma1.it/

Dettagli

2104 volume III Programmazione

2104 volume III Programmazione 2103 SQLite Capitolo 77 77.1 Utilizzo generale................................. 2104 77.1.1 Utilizzo di sqlite3».......................... 2104 77.1.2 Copie di sicurezza............................ 2106

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

Organizzazione degli archivi

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

Dettagli

INTRODUZIONE. Data Base Management Systems evoluzione tecniche gestione dati

INTRODUZIONE. Data Base Management Systems evoluzione tecniche gestione dati INTRODUZIONE Accesso ai dati tramite DBMS Livelli di astrazione Modello dei dati: schema / istanza / metadati Alcuni modelli dei dati Linguaggi per DBMS Architettura di base di un DBMS cesarini - BDSI

Dettagli

PROGRAMMA DI CLASSE 5AI

PROGRAMMA DI CLASSE 5AI Istituto di Istruzione Superiore Euganeo Istituto tecnico del settore tecnologico Istituto professionale del settore servizi socio-sanitari Istituto professionale del settore industria e artigianato PROGRAMMA

Dettagli

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

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

Dettagli

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

Sviluppo Applicazioni Mobile Lezione 12 JDBC. Dr. Paolo Casoto, Ph.D - 2012

Sviluppo Applicazioni Mobile Lezione 12 JDBC. Dr. Paolo Casoto, Ph.D - 2012 + Sviluppo Applicazioni Mobile Lezione 12 JDBC + Cosa vediamo nella lezione di oggi Oggi analizzeremo insieme una specifica tecnologia Java per l accesso e la manipolazione di basi di dati relazionali

Dettagli

Basi di Dati. Introduzione ai sistemi di basi di dati. K.Donno - Introduzione ai sistemi di basi di dati

Basi di Dati. Introduzione ai sistemi di basi di dati. K.Donno - Introduzione ai sistemi di basi di dati Basi di Dati Introduzione ai sistemi di basi di dati Introduzione ai sistemi di basi di dati Gestione dei Dati Una prospettiva storica File system verso DBSM Vantaggi di un DBMS Modelli dei dati Utenti

Dettagli

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI IL LINGUAGGIO SQL Il linguaggio SQL ( Structured Query Languages) è un linguaggio non procedurale che è diventato uno standard tra i linguaggi per la gestione dei database relazionali. Il linguaggio procedurale

Dettagli

Introduzione alle Basi di Dati

Introduzione alle Basi di Dati CORSO DI AGGIORNAMENTO PROFESSIONALE IN DATA BASE TOPOGRAFICI rockini@tele2.it Istituto Geografico Militare A.A. 2007-2008 Sommario Vediamo brevemente alcuni aspetti che riguardano i database, con particolare

Dettagli

Oracle PL/SQL. Motivazioni

Oracle PL/SQL. Motivazioni Oracle PLSQL Motivazioni Supponiamo che nella gestione del database Azienda ci venga chiesto di apportare le modifiche necessarie a far sì che ad ogni impiegato possa essere assegnato, alla fine di ogni

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

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

Introduzione ai sistemi di basi di dati

Introduzione ai sistemi di basi di dati Basi di Dati Introduzione ai sistemi di basi di dati Alessandro.bardine@gmail.com alessandro.bardine@iet.unipi.it Introduzione ai sistemi di basi di dati Gestione dei Dati Una prospettiva storica File

Dettagli

Data Base. Prof. Filippo TROTTA

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

Dettagli

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

Lezione 8. Motori di Ricerca

Lezione 8. Motori di Ricerca Lezione 8 Motori di Ricerca Basi di dati Un campo prevalente dell applicazione informatica è quello costituito dall archiviazione e dalla gestione dei dati (basi di dati). Sistema Informativo. Un sistema

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

Corso di Griglie e Sistemi di Elaborazione Ubiqui. Esercitazione su Globus Toolkit 2: LDAP, MDS

Corso di Griglie e Sistemi di Elaborazione Ubiqui. Esercitazione su Globus Toolkit 2: LDAP, MDS Università degli Studi della Calabria Corso di Laurea Specialistica in Ingegneria Informatica A.A. 2003/2004 Corso di Griglie e Sistemi di Elaborazione Ubiqui Esercitazione su Globus Toolkit 2: LDAP, MDS

Dettagli

DESIGNAZIONE: Rappresenta una relazione tra due entità di tipo 1 ad M. Esempio tipico è : REPARTO ------- IMPIEGATO

DESIGNAZIONE: Rappresenta una relazione tra due entità di tipo 1 ad M. Esempio tipico è : REPARTO ------- IMPIEGATO DESIGNAZIONE: Rappresenta una relazione tra due entità di tipo 1 ad M. Esempio tipico è : REPARTO ------- IMPIEGATO (designata) (designante) Viene rappresentata inserendo, nella tabella dell entità designante,

Dettagli

INTRODUZIONE. Motivazioni e Obbiettivi

INTRODUZIONE. Motivazioni e Obbiettivi INTRODUZIONE Motivazioni dei sistemi distribuiti Caratteristiche generali Alcuni richiami sui database centralizzati Standardizzazione dei dati (ANSI/SPARC) Funzioni dei DBMS relazionali Problematiche

Dettagli

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

Vincoli di Integrità Approccio dichiarativo alla loro implementazione Vincoli di Integrità Approccio dichiarativo alla loro implementazione Antonella Poggi Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico

Dettagli

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER Caratteristiche generali del linguaggio SQL Il linguaggio SQL è il linguaggio usato per la gestione dei database relazionali, cioè dei database creati con un DBMS di tipo relazionale. Esso nacque nella

Dettagli

1. BASI DI DATI: GENERALITÀ

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

Dettagli

Vincoli di Integrità

Vincoli di Integrità Vincoli di Integrità Antonella Poggi Dipartimento di informatica e Sistemistica Sapienza Università di Roma Progetto di Applicazioni Software Anno accademico 2010-2011 Questi lucidi sono stati prodotti

Dettagli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici Il linguaggio SQL Il linguaggio SQL il linguaggio SQL è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose (California) è diventato

Dettagli

Indice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base... 45 Variabili, operatori e commenti... 47 Array...

Indice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base... 45 Variabili, operatori e commenti... 47 Array... Prefazione...xiii A chi si rivolge il libro... xiv Struttura e contenuti del libro... xiv Dove trovare aiuto... xvii Le newsletter di SitePoint... xviii I vostri commenti... xviii Convenzioni adottate

Dettagli

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

Introduzione all elaborazione di database nel Web

Introduzione all elaborazione di database nel Web Introduzione all elaborazione di database nel Web Prof.ssa M. Cesa 1 Concetti base del Web Il Web è formato da computer nella rete Internet connessi fra loro in una modalità particolare che consente un

Dettagli

SQL - Tipi di dato Il linguaggio SQL

SQL - Tipi di dato Il linguaggio SQL SQL - Tipi di dato Il linguaggio SQL I tipi di dato in SQL:1999 si suddividono in tipi predefiniti tipi strutturati tipi user-defined ci concentreremo sui tipi predefiniti i tipi predefiniti sono suddivisi

Dettagli

Basi di dati. Introduzione a PostgreSQL. K.Donno - Introduzione a PostgreSQL

Basi di dati. Introduzione a PostgreSQL. K.Donno - Introduzione a PostgreSQL Basi di dati Introduzione a PostgreSQL Introduzione a PostgreSQL PostgreSQL è un software relazionale e ad oggetti per la gestione di basi di dati PostgreSQL è Open-Source ed il suo sviluppo procede da

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

A. Bardine - Introduzione a PostgreSQL. PostgreSQL è un software relazionale e ad oggetti per la gestione di basi di dati

A. Bardine - Introduzione a PostgreSQL. PostgreSQL è un software relazionale e ad oggetti per la gestione di basi di dati Basi di dati PostgreSQL è un software relazionale e ad oggetti per la gestione di basi di dati PostgreSQL è Open-Source ed il suo sviluppo procede da 15 anni il suo codice sorgente è quindi disponibile

Dettagli

JDBC versione base. Le classi/interfacce principali di JDBC

JDBC versione base. Le classi/interfacce principali di JDBC JDBC versione base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte uno dei pregi è la completa indipendenza del codice

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

Archivi e database. Lezione n. 7

Archivi e database. Lezione n. 7 Archivi e database Lezione n. 7 Dagli archivi ai database (1) I dati non sempre sono stati considerati dall informatica oggetto separato di studio e di analisi Nei primi tempi i dati erano parte integrante

Dettagli

PTDR Disaster Recovery for oracle database

PTDR Disaster Recovery for oracle database PTDR Disaster Recovery for oracle database INTRODUZIONE... 3 INTRODUZIONE... 3 I MECCANISMI BASE DI ORACLE DATA GUARD... 3 COSA SONO I REDO LOG?... 4 IMPATTO SULL'ARCHITETTURA COMPLESSIVA... 4 CONCLUSIONI...

Dettagli

Suggerimenti per lo Sviluppo delle Applicazioni con PL/SQL. Simona Rotolo

Suggerimenti per lo Sviluppo delle Applicazioni con PL/SQL. Simona Rotolo Suggerimenti per lo Sviluppo delle Applicazioni con PL/SQL Simona Rotolo 2 Questo documento, rivolto a chi sviluppa codice in PL/Sql, è stato redatto al fine di fornire degli standard di sviluppo che aiuteranno

Dettagli

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

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

Dettagli

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

Tecnologia di un Database Server (centralizzato) Gestione del buffer

Tecnologia di un Database Server (centralizzato) Gestione del buffer Buffer Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Gestione del buffer Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Buffer

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

Il File System. Il file system

Il File System. Il file system Il File System Il file system Parte di SO che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa Realizza i concetti astratti di file:

Dettagli

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa Il File System 1 Il file system E quella componente del SO che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa Realizza i concetti astratti

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

Archivi e Basi di Dati

Archivi e Basi di Dati Archivi e Basi di Dati A B C File Programma 1 Programma 2 A B C File modificati Programma 1 DBMS DB Programma 2 Informatica Generale (CdL in E&C), A.A. 2000-2001 55 Problemi nella gestione di archivi separati

Dettagli

Basi di dati e sistemi informativi I

Basi di dati e sistemi informativi I Basi di dati e sistemi informativi I mod. laboratorio Alessandro De Luca Università degli Studi di Napoli Federico II Lezione, 11 marzo 2015 Soluzione 1, creazione CREATE TABLE Impiegato ( Cod NUMBER(4),

Dettagli

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2014/2015 Classe: 5^A inf Prof.ssa C. Lami Prof. S. Calugi Materia: INFORMATICA GENERALE, APPLICAZIONI TECNICO SCIENTIFICHE

Dettagli

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Roccatello Ing. Eduard L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Agenda Presentazione docente Definizione calendario Questionario pre corso

Dettagli

Basi di dati e Sistemi informativi aziendali

Basi di dati e Sistemi informativi aziendali Sistemi informativi Linguaggio SQL: fondamenti Istruzione SELECT: fondamenti Interrogazioni nidificate Operatori insiemistici Istruzioni di aggiornamento Gestione delle tabelle 2 2007 Politecnico di Torino

Dettagli

Windows XP - Account utente e gruppi

Windows XP - Account utente e gruppi Windows XP - Account utente e gruppi Cos è un account utente In Windows XP il controllo di accesso è essenziale per la sicurezza del computer e dipende in gran parte dalla capacità del sistema di identificare

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

SQL (STRUCTURED QUERY LANGUAGE)

SQL (STRUCTURED QUERY LANGUAGE) SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

Interfaccia del file system

Interfaccia del file system Interfaccia del file system Concetto di file Modalità di accesso Struttura delle directory Montaggio di un file system Condivisione di file Protezione 9.1 File E un insieme di informazioni correlate e

Dettagli

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

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

Dettagli

La parte client è invece un programma che si chiama mysql. Gli altri eseguibili (client) fondamentali sono mysqladmin, mysqldump.

La parte client è invece un programma che si chiama mysql. Gli altri eseguibili (client) fondamentali sono mysqladmin, mysqldump. Panoramica MySQL MySQL è un RDBMS free ed open source, nativo dell ambiente Linux ma disponibile anche su piattaforme Windows e MAC OS. E stato pensato come prodotto leggero come contenitore di dati a

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

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 A2 Introduzione ai database 1 Prerequisiti Concetto di sistema File system Archivi File e record 2 1 Introduzione Nella gestione di una attività, ad esempio un azienda, la

Dettagli

Organizzazione delle informazioni: Database

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

Dettagli

Introduzione ad Oracle da http://escher07.altervista.org

Introduzione ad Oracle da http://escher07.altervista.org Introduzione ad Oracle da http://escher07.altervista.org Generalità Oracle è database più diffuso al mondo specie nella cosiddetta fascia alta, ovvero come database o datawarehouse server in sistemi gestionali

Dettagli

TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE

TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE I.C.T. Information and Communication Technology TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI DESCRIZIONE

Dettagli

Lezione 8. Metadati, Viste e Trigger

Lezione 8. Metadati, Viste e Trigger Lezione 8 Metadati, Viste e Trigger Pag.1 Metadati e catalogo di sistema I metadati sono dati a proposito dei dati (quali tabelle esistono?, quali campi contengono?, quante tuple contengono?, ci sono vincoli

Dettagli

Motore di riempimento DB (generatore dati per simulazione)

Motore di riempimento DB (generatore dati per simulazione) SISTEMI DISTRIBUITI prof. S.Pizzutilo Motore di riempimento DB (generatore dati per simulazione) Studente: Alessandro Balestrucci 617937 Corso di Laurea: Informatica Magistrale Dipartimento di Informatica

Dettagli

CdL MAGISTRALE in INFORMATICA

CdL MAGISTRALE in INFORMATICA 05/11/14 CdL MAGISTRALE in INFORMATICA A.A. 2014-2015 corso di SISTEMI DISTRIBUITI 7. I processi : il naming Prof. S.Pizzutilo Il naming dei processi Nome = stringa di bit o di caratteri utilizzata per

Dettagli

Trasformazione DB Access In SQL Server. Michele De Nittis

Trasformazione DB Access In SQL Server. Michele De Nittis Trasformazione DB Access In SQL Server Michele De Nittis 1 Spesso è necessario migrare uno schema di database scritto in Access verso il più completo e complesso ambiente SQL SERVER. Questa operazione

Dettagli

LABORATORIO. 2 Lezioni su Basi di Dati Contatti:

LABORATORIO. 2 Lezioni su Basi di Dati Contatti: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE BIOLOGICHE Gennaro Cordasco e Rosario De Chiara {cordasco,dechiara}@dia.unisa.it Dipartimento di Informatica ed Applicazioni R.M. Capocelli Laboratorio

Dettagli

Progettaz. e sviluppo Data Base

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

Dettagli

Workgroup. Windows NT dispone di due strutture di rete

Workgroup. Windows NT dispone di due strutture di rete Descrizione generale dell architettura del sistema e dell interazione tra i suoi componenti. Descrizione del sottosistema di sicurezza locale. Descrizione delle tecniche supportate dal sistema per l organizzazione

Dettagli