Firebird SQL: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Wikipedia non è un changelog +fix Software |
m Bot: fix template:Software |
||
Riga 1:
{{F|software|agosto 2011}}
{{Software
|Nome = Firebird
|Logo =
Riga 60:
*È conforme allo SQL-92 Entry Level. Si può usare lo standard [[ANSI]] [[SQL]] per scrivere delle [[query]] portabili tra piattaforme diverse. In più Firebird ha delle estensioni che anticipano l'SQL3 come le stored procedure e i trigger e anche altre dell'SQL200X. È possibile accedere contemporaneamente ad un [[database]] Firebird da più applicazioni permettendo a più [[client]] di lavorare con gli stessi dati in conformità al modello [[client/server]].
*Implementa le specifiche [[ACID|A.C.I.D.]]; cioè il concetto di atomicità, consistenza, isolamento e durabilità.
*[[Vincolo di integrità|Integrità referenziale]] dei dati con possibilità di riferire una [[chiave primaria]] con una o più chiavi esterne mantenendo collegamenti tra [[Attributo (database)
*[[Architettura (computer)|Architettura]] multigenerazionale. Il [[server]], in base alle esigenze, mantiene una copia dei vecchi [[Record (informatica)|record]] da ripristinare nel caso in cui una transazione fallisca.
*Supporta le [[Transazione (database)|transazioni]]. Una funzionalità indispensabile per garantire la correttezza e il buon esito di operazioni di inserimento, aggiornamento o cancellazione di dati.
Riga 95:
Questa architettura rimane la migliore opzione nei casi dove c'è bisogno di alte performance e le risorse del sistema sono adeguate ad aumentare in maniera proporzionale alle richieste di nuove connessioni da parte dei client, ad esempio nel caso non ci siano connessioni sul server, non viene utilizzata per niente la memoria. Questa architettura è ideale, soprattutto, per i sistemi che si basano su elaborazioni complesse dove c'è poco input interattivo da parte degli utenti.
Normalmente viene utilizzata con sistemi operativi GNU/Linux e Unix, mentre per Microsoft esiste una specifica versione di Firebird ma viene sconsigliata soprattutto in presenza di più processori.
Questa architettura è l'unica che supporta [[
Lato client ogni richiesta di un nuovo processo occupa circa 2 MB in RAM.
Riga 131:
l’appartenenza o meno di una estensione ad una determinata versione.
*Dialetto 1: corrisponde alle notazioni e funzionalità della versione precedente InterBase 5.6.
*Dialetto 2: serve solo nel caso di debugging; viene segnalato un errore nel caso in cui viene usata una funzione oppure un comando con implementazione diversa da quella precedente. Per esempio, la variabile DATE nella nuova versione è di tipo diverso da quella della precedente.
*Dialetto 3: rappresenta le nuove funzionalità e le estensioni relative solo all’ultima versione (ad esempio una nuova funzione Timestamp, possibilità di usare contatori a 64 bit e anche tools particolari come la possibilità di replicare il database) e si avvicina di più allo standard ANSI SQL.
Riga 139:
==Specifiche di Firebird==
Questa sezione illustra i limiti strutturali di Firebird (molti di essi sono dovuti all'[[hardware]] e al [[sistema operativo]] usato):
*Massimo numero di client connessi al server. Il numero di client che possono contemporaneamente collegarsi al server è teoricamente illimitato. Ma è ovvio che tale numero dipende strettamente dal sistema operativo e dall'hardware in uso. In linea di massima, un server basato su un Pentium 150
*Dimensione massima di un database. La massima dimensione consentita ad un database è 2 GB sui sistemi operativi Windows 95/98 e di 4 GB sui sistemi Windows NT/2000 ed alcuni sistemi Unix. Occorre documentarsi sul sistema operativo in uso e controllare la dimensione massima di un file che tale sistema può gestire. Comunque, Firebird permette di suddividere un singolo database in più file e quindi sarà possibile gestire un database che abbia una dimensione limitata solo dalla capienza fisica dell'hard disk.
*Numero massimo di file per un database. Da progetto, il numero massimo di file che costituiscono un database Firebird è fissato a 65536 (2<sup>16</sup>) perché i file vengono identificati da un intero a 16 bit. Comunque la maggior parte dei sistemi operativi attuali non supporta un numero così elevato di file aperti. Anzi, il numero reale di file mantenuti contemporaneamente aperti è molto minore di 65536. Conviene comunque documentarsi sul sistema operativo in uso e sul numero massimo di file mantenuti aperti contemporaneamente dal sistema e cercare di aumentare quel valore in maniera da rispondere alle vostre esigenze.
Riga 147:
*Numero massimo di indici per database. Anche questo numero è stato fissato da progetto a 65536 perché gli indici di un database vengono identificati da un intero a 16 bit.
*Numero massimo di indici per tabella. Questo numero è stato fissato da progetto a 256. In Interbase al massimo erano 64 indici per tabella.
*Dimensione massima di una chiave indice. Una regola pratica per determinare questo valore è la seguente: iniziare con 256 byte per una chiave per una singola colonna e con 200 byte per una chiave per più colonne e sottrarre 4 byte per ogni colonna aggiuntiva. Esempio: una chiave CHAR per una singola colonna può occupare 256 - 4 = 252 byte; la stessa chiave per 3 colonne occuperà 188 byte. È da sottolineare che nel conteggio occorre tenere in considerazione il numero effettivo di byte e non di caratteri.
*Numero massimo di eventi per una stored procedure: Il programma di Firebird non ha stabilito un limito per queste azioni, ma bisogna controllare le dimensioni di una stored procedure e il trigger.
*Dimensione massima di stored procedure e di trigger: Il limite stabilito è di 48 KB per l'BLR (codice compilato bytecode di una stored procedure o un trigger).
Riga 173:
* Una nuova interfaccia per agganciare set di caratteri internazionali, che include il supporto per [[Unicode]].
* Supporto per le piattaforme a 64-bit grazie ai binari rilasciati per [[AMD64]] e [[Intel]] [[EM64T]]. I binari per Windows 64-bit sono in fase di testing e verranno rilasciati in seguito.
* Un'intensa attività di verifica della sicurezza del server, che include una più robusta cifratura delle password ed una protezione integrata contro gli attacchi a [[
* Supporto per le tabelle derivate in SQL200x, che include l'annidamento a più livelli e il joning di subquery.
* Sintassi EXECUTE BLOCK per il supporto di blocchi di SQL procedurale (PSQL), che può essere eseguito in statement SQL.
|