> Ciao a tutti.
> Potete darmi una definizione di Istanza?
Di quale DBMS? Ti assicuro che cambia!
Ti posso rispondere per Oracle :
Un'istanza e' costituita dalla memoria allocata dal database server (SGA
System Global Area, e altre tipo PGA) e dai processi di background (PMON
Process Monitor, SMON System Monitor, LGW Log Writer, DBW? Database Writer,
...)
> Mi sembra di aver capito che l'istanza comprende il database
database cosi' come e' scritto li, sopratutto da DBMS a DBMS non ha molto
senso, spesso lo slang comune, differisce un po' da quelli che sono i
termini rigorosi
> e l'ambiente in cui gira.
> Ma vorrei avere una definizione precisa. Ho cercato in rete ma non ho
> capito molto.
Per Oracle vai su http://tahiti.oracle.com/ (ti devi registrare)
e cerca un libro intitolato "Concepts", li trovi tutte le definizioni piu'
rigorose.
> Grazie mille.
Spero di esserti stato d'aiuto
> ciao
> Luca
Gabriele
--
{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}
SunGray aka Gabriele Lana
contact me @ sun...@tiscalinet.it
See you space cowboy ...
Mi in teressava sia per ORacle sia (e soprattutto) per SQL Server 2000.
Per oracle quindi possiamo dire che:
> Un'istanza e' costituita dalla memoria allocata dal database server (SGA
> System Global Area, e altre tipo PGA) e dai processi di background (PMON
> Process Monitor, SMON System Monitor, LGW Log Writer, DBW? Database
Writer,
e per Sql Server 2000? cosa cambia?
Grazie 1000
Luca
Nel corso di "Basi di dati per sistemi informativi territoriali" il
prof. Paolo Atzeni, parlando in generale del modello relazionale, ha
dato questa semplice definizione di Istanza (sintetizzo e mi limito a
citare senza fare commenti):
>Gli SCHEMI sono le strutture delle tabelle
>Le ISTANZE sono il contenuto delle tabelle
Più avanti, esemplificando aggiunge:
>Un esempio di operazione DDL (sullo schema) e' un'istruzione
>del tipo CREATE TABLE...
>Un esempio di operazione DML (sull'istanza) e' un'istruzione
>SELECT...FROM...WHERE...
Se ho capito bene le istanze sono le singole righe di una tabella,
cioe' i record, con quanto in essi contenuto.
Saluti.
--
ing. Franco Varoli
fva...@tin.it
fva...@libero.it
Veramente non mi sembra corretto.
> Più avanti, esemplificando aggiunge:
> >Un esempio di operazione DDL (sullo schema) e' un'istruzione
> >del tipo CREATE TABLE...
Questo è giusto (Fanno parte dei DDL (Data Definition Language) i comandi
create, drop, alter, grant, revoke)
> >Un esempio di operazione DML (sull'istanza) e' un'istruzione
> >SELECT...FROM...WHERE...
Anche questo è giusto (DML Data manipolation language: insert, update,
delete)
> Se ho capito bene le istanze sono le singole righe di una tabella,
> cioe' i record, con quanto in essi contenuto.
Sinceramente non mi sembra proprio per niente la definizione di "istanza".
L'istanza dovrebbe essere qualcosa che comprende il db, le risorse allocate
e molto altro.
> Saluti.
> ing. Franco Varoli
Ciao
Luca
P.S. (per la cronaca possiamo anche aggiungere che ci sono i DCL cioè Data
Control Language (cioè i comandi Commit, Rollback e Savepoint)
IMHO le DDL non agiscono sullo schema... leggi il mio post precedente
[...]
> P.S. (per la cronaca possiamo anche aggiungere che ci sono i DCL cioè Data
> Control Language (cioè i comandi Commit, Rollback e Savepoint)
Per la cronaca li aggiungiamo solo per i DBMS che supportano le
transazioni....
/G
ma sei sicuro che Atzeni ha detto questo?... aveva fatto uso di droghe
poco pima di parlare?
a) schema = struttura tabella
Mi sembra una contraddizione in sé visto che la tabella è una struttura
dati. Al più mi potrebbe far pensare che lo schema è la struttura
all'interno della quale viene implementato un modello, e fin qui sono
sicuramente d'accordo.
b) istanza = contenuto delle tabelle
Qui boh... mi cascano le braccia. Il contenuto di una tabella è il dato.
E questo lo dice lo stesso Atzeni sul suo famoso libro...
> >Un esempio di operazione DDL (sullo schema) e' un'istruzione
> >del tipo CREATE TABLE...
un comando DDL che droppa un constraint? è un istruzione che
modifica la struttura di uno schema, anzi meglio, di un modello
e non di una tabella!!!
> >Un esempio di operazione DML (sull'istanza) e' un'istruzione
> >SELECT...FROM...WHERE...
Appunto l'affermazione *istanza = contenuto delle tabelle* è falsa
perchè un comando DML non è un'operazione diretta sui dati, ma
è un'istruzione per il motore SQL. Mi sembra evidente che senza
una struttura applicativa (che si chiama istanza) non può avvenire
nessuna manipolazione del contenuto delle tabelle stesse...
> Se ho capito bene le istanze sono le singole righe di una tabella,
> cioe' i record, con quanto in essi contenuto.
Bum! Misa che hai capito proprio male...
/G
Grazie della precisazione.
Non lo metto in dubbio. Poiche' ho registrato tutte le lezioni (30 da
RaiNettunoSat) andro' a risentirmi quella che parla delle istanze e
saro' piu' preciso.
> ma sei sicuro che Atzeni ha detto questo?... aveva fatto uso di droghe
> poco pima di parlare?
> b) istanza = contenuto delle tabelle
> Qui boh... mi cascano le braccia. Il contenuto di una tabella è il dato.
> E questo lo dice lo stesso Atzeni sul suo famoso libro...
>
> Appunto l'affermazione *istanza = contenuto delle tabelle* è falsa
> perchè un comando DML non è un'operazione diretta sui dati, ma
> è un'istruzione per il motore SQL. Mi sembra evidente che senza
> una struttura applicativa (che si chiama istanza) non può avvenire
> nessuna manipolazione del contenuto delle tabelle stesse...
> Bum! Misa che hai capito proprio male...
>
> /G
Infatti secondo me la riga di una tabella č
semplicemente un record
> > Piů avanti, esemplificando aggiunge:
> > >Un esempio di operazione DDL (sullo schema) e' un'istruzione
> > >del tipo CREATE TABLE...
> Questo č giusto (Fanno parte dei DDL (Data Definition Language) i comandi
> create, drop, alter, grant, revoke)
Ok fin qui non ci piove
[CUT]
> > Se ho capito bene le istanze sono le singole righe di una tabella,
> > cioe' i record, con quanto in essi contenuto.
> Sinceramente non mi sembra proprio per niente la definizione di "istanza".
> L'istanza dovrebbe essere qualcosa che comprende il db, le risorse
allocate
> e molto altro.
Anche io lavoro su Oracle e per quanto riguarda la definizione
di istanza trovo la precendete tua risposta a SunGray esatta.
> > Saluti.
> > ing. Franco Varoli
>
> Ciao
> Luca
>
> P.S. (per la cronaca possiamo anche aggiungere che ci sono i DCL cioč Data
> Control Language (cioč i comandi Commit, Rollback e Savepoint)
Questo era doveroso!
danilo
Come per Oracle, istanza sono i processi che girano sul server (per
SqlServer è il servizio MsSqlServer, SqlAgent e MsDTC... poi ci sono i
diversi processi interni come Lazywriter -o qualcosa del genere, non ricordo
esattamente il nome) e la memoria per gestire i database... i nomi dei
servizi in realtà sono del tipo mssqlserver$nomeistanza, ma controlla perché
non ho qua nessun server con due o più istanza per poter controllare, vado a
memoria :)
Database invece dovrebbero essere i files dove sono memorizzati i dati; cioè
datafiles e redo log (almeno così dice Oracle).
Paulus
http://spazioweb.inwind.it/it_informatica
--------------------------------
Inviato via http://usenet.libero.it
Provo a dare anche il mio contributo.
Prima di tutto dobbiamo fare una netta distinzione
tra modello concettuale ed implementazione fisica.
Nel modello concettuale il termine istanza viene
usato informalmente piuttosto liberamente per
identificare svariate cose.
Solitamente con istanza ci si riferisce ad un'occorrenza
di un'entita' (o relazione).
Un entita' e' un qualunque oggetto, concreto o astratto,
che ha informazione. Un'entita' rappresenta un insieme di
elementi omogenei detti istanze.
Sarebbe come dire che se definisci l'entita' "impiegato",
il Sig. Rossi Mario e' un'istanza.
Se vuoi una definizione piu' formale prova a questo link
http://www-db.deis.unibo.it/courses/SIL-A/PDF/Relazionale-2p.pdf
A livello di implementazione fisica si potrebbe fare
un'analogia tra l'istanza e la riga di una tabella.
Non so quanto sia corretto l'utilizzo del termine istanza anche
a livello di implementazione fisica per fare riferimento ad
una riga di una tabella, a mio parere genera piu' confusione
che altro (confusione con il modello concettuale, con il mondo
Object Oriented ed infine va ricordato che per la maggior
parte delle persone che non hanno niente da spartire con
l'informatica, istanza ha valenza legislativa).
Diverso invece quando si parla di un'istanza di un (R)DMBS.
In questo caso siamo nel dominio dell'implementazione
fisica con riferimento esplicito ad un software.
In questo caso si intende solitamente una copia in esecuzione
del software a cui ci si riferisce.
Nel caso di SQL Server si intende una copia del servizio,
implementata tramite un singolo processo che orchestra molteplici
sotto unita' di processo (thread), che svolge le funzioni RDBMS.
Un definzione piu' informale, sempre per quanto riguarda SQL Server,
potrebbe comprendere anche i servizi legati a quello che svolge
le funzioni di RDBMS, ad esempio il SQL Server Agent che e' implementato
come processo separato.
Attenzione al fatto che in un ambiente con piu' istanze
di SQL Server in esecuzione concorrente, esiste solo una
istanza dei servizi Distributed Transaction Coordinator e
Microsoft Search (che sono anch'essi implementati tramite
processi separati).
Ciao,
--
Gianluca Hotz
Backoffice MVP (SQL Server) MCP SQL Server and MCP Windows
Vice-President of the Italian User Group for SQL Server
Founding Member of the Italian User Group for .NET
http://www.ghotz.com
http://www.ugiss.org
>>Gli SCHEMI sono le strutture delle tabelle
>>Le ISTANZE sono il contenuto delle tabelle
>
>ma sei sicuro che Atzeni ha detto questo?... aveva fatto uso di droghe
>poco pima di parlare?
>
Ho riascoltato la lezione incriminata e confermo che avevo capito
bene, salvo eventualmente qualche minuzia. Debbo premettere che, al
contrario dei frequentatori di questo gruppo, io non sono un
professionista del database. Sono insegnante di topografia in una
scuola media superiore, tra l'altro alle soglie della pensione, e mi
interesso di informatica e di database, sia per diletto personale, sia
per tenermi aggiornato per evitare il pericolo che gli studenti ne
sappiano più di un insegnante. So che questo capita piuttosto spesso
ma per me sarebbe insopportabile. Chiusa la parentesi.
Nel frattempo ho letto anche l'intervento di Gianluca Hotz, che mi ha
molto tirato su di morale. Veniamo al punto. La lezione n. 3 riguarda
"Modelli e linguaggi per basi di dati". Riguardo ai modelli Atzeni ha
detto testualmente:
"Un modello dei dati da' delle regole:
- per definire gli schemi della base di dati;
- per definire le istanze che a questi schemi corrispondono.
Il modello relazionale permette di definire schemi che sono strutture
di tabelle e istanze che sono tabelle.
Lo schema corrisponde alla struttura della base di dati,
sostanzialmente invariata nel tempo.
L'istanza corrisponde al contenuto della base di dati.
Lo schema corrisponde sostanzialmente alla intestazione della tabella,
ma anche ai tipi di valori che sono contenuti in ciacuna colonna della
stessa.
L'istanza corrisponde effettivamente al contenuto, cosi' come fissato
dallo schema.
Si ha una struttura a tre livelli:
- il modello che ci dice quali sono gli schemi e fornisce le regole
per definire gli stessi;
- gli schemi che ci dicono quali sono poi le istanze
- le istanze stesse.
Ad esempio, nel modello relazionale abbiamo schemi che sono costituiti
da tabelle. Gli schemi sono poi via via definiti. Ad ogni schema
possono corrispondere piu' istanze. Lo schema corrisponde alla
struttura che e' fissata nel tempo per la base di dati. L'istanza
varia nel tempo. Lo schema, sulla base delle regole del modello,
specifica come sono fatte le istanze.
Linguaggi per basi di dati:
[cut]
Possiamo distinguere tra operazioni sullo schema e operazioni a
livello di istanza. E' opportuno distinguere tra due categorie:
- operazioni sullo schema (DDL)
- operazioni sui dati (DML.
[cut]
Esempio di operazioni sui dati, cioe' operazione DML (sull'istanza):
select docente from orario where aula = "N1"
Fine della citazione.
Mi scuso per la lunghezza del messaggio, ma ho ritenuto opportuno
citare testualmente il piu' possibile per evitare cattive
interpretazioni da parte mia. Per concludere ritengo di aver capito
bene. In un certo contesto (Hotz ha precisato che di contesti che ce
n'e' piu' di uno) per Atzeni l'istanza e' il dato ed ecco perche'
avevo semplificato dicendo che lo schema e' la struttura delle tabelle
e le istanze sono i record contenuti nelle tabelle.
[...]
> molto tirato su di morale. Veniamo al punto. La lezione n. 3 riguarda
> "Modelli e linguaggi per basi di dati". Riguardo ai modelli Atzeni ha
> detto testualmente:
>
> "Un modello dei dati da' delle regole:
> - per definire gli schemi della base di dati;
> - per definire le istanze che a questi schemi corrispondono.
>
> Il modello relazionale permette di definire schemi che sono strutture
> di tabelle e istanze che sono tabelle.
perfetto (?)... siamo in un contesto (quello di atzeni e la sua lezione)
prettamente accademico (mea culpa a non averci pensato prima) ecco
perchè le cose sono state un pò male interpretate...
cmq... "schemi che sono strutture di tabelle" mi sembra corretto...
io lo avevo interpretato *solo* come schema = struttura della tabella...
ma in realtà deve essere interpretato come schema = struttura di tabelle
ed è tutto ok (palese...)
"istanze che sono tabelle"... arigulp... qui non mi ci ritrovo ma come tu
riciti Atzeni testualmente dopo
[...]
> L'istanza corrisponde al contenuto della base di dati.
[...]
che in termini più complicati (per alcuni) e più chiari (per me) sarebbe
a dire che l'istanza sono in realtà le occorrenze presenti nello schema.
Cito Atzeni da altre fonti
Istanza : Parte variabile nel tempo di una base di dati, costituita dai suoi
valori effettivi.
Occorrenza: Parte variabile nel tempo di una base di dati, costituita dai
suoi valori effettivi.
Mi sembra chiarissimo ora...
> Mi scuso per la lunghezza del messaggio, ma ho ritenuto opportuno
> citare testualmente il piu' possibile per evitare cattive
> interpretazioni da parte mia. Per concludere ritengo di aver capito
> bene. In un certo contesto (Hotz ha precisato che di contesti che ce
> n'e' piu' di uno) per Atzeni l'istanza e' il dato ed ecco perche'
> avevo semplificato dicendo che lo schema e' la struttura delle tabelle
> e le istanze sono i record contenuti nelle tabelle.
Giusto hai fatto bene... questo è il più classico dei misunderstanding.
Il contesto a cui noi facevamo riferimento era un contesto più fisico,
tangibile se mi passi il termine. In quel caso si incorre spesso in quei
termini "istanza" e "schema", e appunto hanno un valore completamente
differente.
Beh è tardi... cmq devo rispulciare il tomo di Atzeni...
/G
>> Riguardo ai modelli Atzeni ha
>> detto testualmente:
>>
>> "Un modello dei dati da' delle regole:
>> - per definire gli schemi della base di dati;
>> - per definire le istanze che a questi schemi corrispondono.
>>
>> Il modello relazionale permette di definire schemi che sono strutture
>> di tabelle e istanze che sono tabelle.
>
>perfetto (?)... siamo in un contesto (quello di atzeni e la sua lezione)
>prettamente accademico (mea culpa a non averci pensato prima) ecco
>perchè le cose sono state un pò male interpretate...
Anch'io non avevo capito bene. Voi vi riferivate al modello "fisico",
mentre Atzeni, ed ovviamente anch'io, al modello "logico". Tieni
presente che, come ho gia' detto, io non sono un "professionista" del
database, ma solo un "dilettante", uno cioe' che si occupa di basi di
dati per semplice "diletto". Questo per precisare che non mi occupo di
modello fisico, per ora almeno.
>cmq... "schemi che sono strutture di tabelle" mi sembra corretto...
>io lo avevo interpretato *solo* come schema = struttura della tabella...
>ma in realtà deve essere interpretato come schema = struttura di tabelle
>ed è tutto ok (palese...)
>
>"istanze che sono tabelle"... arigulp... qui non mi ci ritrovo ma come tu
>riciti Atzeni testualmente dopo
>
>[...]
>> L'istanza corrisponde al contenuto della base di dati.
>[...]
>
>che in termini più complicati (per alcuni) e più chiari (per me) sarebbe
>a dire che l'istanza sono in realtà le occorrenze presenti nello schema.
Ecco perche io avevo addirittura semplificato (troppo?) dicendo che le
istanze sono le righe, cioe' i record, della tabella.
>Cito Atzeni da altre fonti
>Istanza : Parte variabile nel tempo di una base di dati, costituita dai suoi
>valori effettivi.
>Occorrenza: Parte variabile nel tempo di una base di dati, costituita dai
>suoi valori effettivi.
>Mi sembra chiarissimo ora...
...nel senso che istanza ed occorrenza sono la stessa cosa. O sbaglio?
>Il contesto a cui noi facevamo riferimento era un contesto più fisico,
>tangibile se mi passi il termine. In quel caso si incorre spesso in quei
>termini "istanza" e "schema", e appunto hanno un valore completamente
>differente.
Ci siamo chiariti completamente.
>Beh è tardi... cmq devo rispulciare il tomo di Atzeni...
Tieni presente che le lezioni che ho seguito sono il corso di "Basi di
dati per sistemi informativi territoriali" tenuto da Atzeni e Torlone
su RaiNettunoSat nell'ambito delle lauree (brevi) a distanza in
Sistemi informativi territoriali. Non e' un corso per specialisti di
database. Sono 30 lezioni di 40 minuti l'una, due terzi delle quali
tenute da Atzeni che parla di algebra relazionale, linguaggio SQL,
modello logico e modello concettuale con esempi ed esercizi vari. Non
entra mai nel contesto del modello fisico. Non conosco il suo "tomo" e
non entro nel merito di quello che dice li'.
appunto anche in se si parla di *modello fisico* in realtà si cade in
interpretazioni sbagliate...
il modello fisico (che mi si passi la definizione) è la *traduzione* in
una struttura proprietaria al DBMS di quello che è il modello logico...
Es:
[Logico]
Automobile
------------------
N Immatricolazione
A Marca
A Modello
A Targa
In questo caso Automobile è *entità* gli *attributi* hanno come
*tipo di dominio* rispettivamente Numerico e Alfanumerico
questo modello è valido a prescindere dal DBMS che si usa.
Invece...
[Fisico]
Automobile
------------------
Immatricolazione Numeric(10)
Marca Varchar2(20)
Modello Varchar2(20)
Targa Char(7)
L'entità diventa *tabella*, gli attributi diventano *campi*, e i tipi di
dominio diventano *tipo dati* e non solo, questo è un ipotetico modello
fisico su Oracle... su un'altra piattaforma sarebbe diverso.
Quello a cui si faceva riferimento al thread iniziale invece appartiene
alla sfera architetturale del DBMS ed è specifico anche quello alla
piattaforma.
Comunque è un po' un casino e spero di non averti confuso ulteriormente
le nozioni
Cia`
/G
>il modello fisico (che mi si passi la definizione) è la *traduzione* in
>una struttura proprietaria al DBMS di quello che è il modello logico...
>Es:
[cut]
>Quello a cui si faceva riferimento al thread iniziale invece appartiene
>alla sfera architetturale del DBMS ed è specifico anche quello alla
>piattaforma.
>
>Comunque è un po' un casino e spero di non averti confuso ulteriormente
>le nozioni
No. E' tutto abbastanza chiaro. Ringrazio per l'attenzione prestatami.