4th Dimension è un database relazionale e un RAD, scritto da Laurent Ribardiere a metà degli anni 80 e prodotto e manutenuto dalla società francese 4D SAS.
Nato su Macintosh è disponibile dal 1993 anche su Windows; oltre al motore del database include anche la gestione dell'interfaccia e un linguaggio con molti comandi e la possibilità di plugin esterni per aggiungere funzionalità di videoscrittura, fogli di calcolo, connessione dati nativa a Oracle, MySQL, eccetera.
È inoltre incluso un webserver (negli anni scorsi la società aveva comprato la Starnine, produttrice del famoso web server Webstar per Macintosh, poi ceduta a Kerio).
Conta come programmatori molti consulenti in diverse società dove viene spesso utilizzato come middleware (software per le necessità operative dell'utente che non può richiedere funzioni particolari ai grossi sistemi informativi aziendali), ma è difficilmente inquadrabile nel mercato perché si pone a metà strada fra i database puri (Oracle, MS Sql, etc) e i database integrati in interfacce semplici (come Access o FileMaker).
Spesso è quindi usato in monoutenza per usi particolari, ma conta anche installazioni strategiche con centinaia di client e siti web.
Standard supportati possibilità di generare applicazione pubblicabili su Mac App Store engine SQL aderisce allo standard SQL-92, con alcune limitazioni e alcune funzioni aggiuntive supporto all'SQL Pass-through, comunicazione diretta con data source esterni esecuzione diretta script PHP 5.3 con interprete compilato FastCGI supporto XML versione 1.0 con la libreria Xerces di Apache Foundation, sia lo standard DOM (Document Object Model) che il SAX (Simple API XML), la notazione XPath (per il DOM) e le trasformazioni tramite XSL style sheets (eXtended Stylesheet Language) gestione di quattro tipi di Metadati per le immagini: EXIF, GPS, IPTC e TIFF gestione del forma SVG (Scalable Vector Graphics), sia come visualizzazione che creazione e modifica supporto dell'architettura standard XLIFF (XML Localization Interchange File Format) per la localizzazione dell'interfaccia supporto dei WebService, sia come server che come client: generazione automatica del WSDL (Web Service Description Language) come server e interpretazione degli stessi per la generazione del codice client, supporto dei protocolli SOAP (versione 1.1 e versione 1.2), RPC (Remote Procedure Call) e DOC (Document-oriented) il Web Server è compatibile HTML 1.1, supporta documenti XML, la tecnologia WML (Wireless Markup Language), il protocollo SSL (Secured Socket Layer) supporta le CGI e può essere chiamato tramite CGI da altri web server utilizzando il web server sui client è possibile realizzare facilmente il Load Balancing disponibilità di un 4D AJAX Framework, per creare pagine web collegate e distribuite dal server 4D disponibilità di un 4D for Flex, che permette alle applicazioni Flex di collegarsi direttamente al server 4D supporta le chiamate via ODBC con driver nativo anche per Macintosh supporta le chiamate via PDO_4D da PHP supporta chiamate dirette server to server con altri server 4D può interrogare altri database via protocollo ODBC e OCI (Oracle Call Interface) comandi per interrogazione server posta POP3 e IMAP, Internet Message Access Protocol, Version 4 revision 1 (IMAP4rev1) comandi per l'invio di posta tramite server SMTP, con allegati, destinatari, destinatari in copia CC (Carbon Copy) e in copia nascosti BCC (Blind Carbon Copy), autenticazione (CRAM-MD5, LOGIN, PLAIN), commenti comandi per la gestione diretta dei server FTP (File Transfer Protocol) comandi di basso livello TCP/IP, UDP, utility come Ping e Name resolver OpenSSL 1.1.1l, aggiornata dalla v19.1 Chromium v88, per le aree web, include supporto per Apple Silicon ICU 68.1 ( https://icu.unicode.org/home ) aggiornata dalla v18 R6 SpreadJS 14.1.1, aggiornata dalla v19 PHP 7.3.27, aggiornata dalla v18R6 libldap 2.4.48, aggiornata dalla v18R2
Compatibilità e requisiti minimi
Il fatto di essere multipiattaforma lo slega spesso da tutte le problematiche di installazione e di requisiti hardware e software, è cioè molto indipendente da librerie, driver o versioni del sistema operativo.
I requisiti minimi della versione corrente sono:
Windows Macintosh Intel© CoreDuo o superiore Intel© CoreDuo o superiore 4 GB RAM (8 GB raccomandato) 4 GB RAM (8 GB raccomandato) Risoluzione schermo 1280 × 1024 Risoluzione schermo 1280 × 1024 Versione dei Sistemi Operativi Certificati: 4DWindowsMacintoshv13.6Windows XP (Windows Server 2003 per 4D Server) o superiore
NO Windows 10Mac OS X 10.6.8 ("Snow leopard") o superiore
NO 10.11 ("El Capitan")v14.5Windows 7SP1 (Windows Server 2008R2 per 4D Server) o superiore
Compatibile Windows 10Mac OS X 10.9.5 ("Mavericks") - 10.10.5 ("Yosemite")
Compatibile 10.11 ("El Capitan")v15.2Windows 7SP1, 8.1 e 10 (Windows Server 2008R2 per 4D Server o superiore)Mac OS X 10.9.5 ("Mavericks") - 10.10.5 ("Yosemite") - 10.11.3 ("El Capitan")v16.6Windows 7SP1, 8.1 e 10 (Windows Server 2008R2 per 4D Server o superiore)Mac OS X 10.12 ("Sierra")v17.3Windows 7SP1, 8.1 e 10 (Windows Server 2012-2019 per 4D Server o superiore)Mac OS X 10.12 ("Sierra") - 10.14 ("Mojave")
Caratteristiche del database Dimensione del file dei dati: illimitato (limite del sistema operativo) Numero di Tabelle: 32767 Numero di Campi per Tabella: 32767 Numero di Record per Tabella: 1.000.000.000 Numero di chiavi Indice per Tabella: 128.000.000.000 Dimensione campo Alpha: 255 Dimensione campo Text: 2GB
Accesso al data file a 64-bit Composite Index: indicizzazione simultanea di valori da campi diversi (per esempio, Nome e Cognome). Keyword Index: indicizzazione a parola, per ricerche full-text. Cluster Index: indicizzazione specifica per campi con valori ripetuti (per esempio, i Booleani)
Tipi di dati 4D TipoDescrizioneCapacitàNoteAlphaAlfanumerico255TextTesto2GBDateDataDa anno 100 a 32 767TimeOraOre:minuti:secondiBooleanBooleanoVero/FalsoIntegerInteroda -32 767 a 32 767Long IntegerIntero Lungo -2 147 483 647 fino a 2 147 483 647Integer 64 bitsIntero a 64bitda -2E64 a 2E64Solo da SQLRealDecimale±1.7E±308 (con 13 cifre significative)FloatDecimaleSolo da SQLBLOBGrande oggetto binario2GBPictureImmagineObjectCampo Oggetto, contenuto in formato chiave-valore, tipo JSON2GB
Tipi di dati SQL 4D SQL Descrizione 4D Varchar Testo alfanumerico Text o Alpha Real Numero a virgola mobile nel range di +/-1.7E308 Real Numeric Numero fra +/- 2E64 Integer 64 bits Float Numero a virgola mobile (virtualmente infinito) Float Smallint Numero fra -32 768 and 32 767 Integer Int Numero fra -2 147 483 648 e 2 147 483 647 Longint, Integer Int64 Numero fra +/- 2E64 Integer 64 bits UUID Numero di 16-byte (128 bits) contenente 32 caratteri esadecimali UUID Alpha format Bit Un campo che contiene solo TRUE/FALSE o 1/0 Boolean Boolean Un campo che contiene solo TRUE/FALSE o 1/0 Boolean Blob Fino a 2 GB; qualsiasi oggetto binario tipo grafici, altre applicazioni o documento qualsiasi Blob Bit varying Fino a 2 GB; qualsiasi oggetto binario tipo grafici, altre applicazioni o documento qualsiasi Blob Clob Testo fino a 2 GB di caratteri. Questa colonna (campo) non può essere indicizzato e non è salvato dentro il record. Text Text Testo fino a 2 GB di caratteri. Questa colonna (campo) non può essere indicizzato e non è salvato dentro il record. Text Timestamp Data e Ora, Data nel formato 'YYYY/MM/DD' e Orario nel formato 'HH:MM:SS:ZZ' Date e Time gestiti separatamente, con gestione automatica Duration Orario nel formato 'HH:MM:SS:ZZ' Time Interval Orario nel formato 'HH:MM:SS:ZZ' Time Picture Immagine fino a 2 GB Picture
NCHAR e NCHAR VARYING non sono supportate. I diversi tipi di campi numerici sono convertiti in automatico.
Storia
La versione corrente è la '4D v17', certificata Windows Vista, Windows Server 2008 e Mac OS Intel Mac OS X Leopard, OS X Snow Leopard e OS X Lion.
Anno Versione Note 1984 ABCBase 1985 4D v1 1986 4D v2 1987 4D v3 1989 4D v4 Utilizzo della stessa base dati da più utenti - Compilatore 1992 4D v5 Ambiente client-server integrato 1995 4D v5.5 Versione multipiattaforma Mac OS e Windows 1997 4D v6 Server Web integrato 1999 4D 6.5 4D 6.5.9r2 l'ultima versione disponibile della 6.5.x 2000 4D 6.7 4D 6.7.4 l'ultima versione disponibile della 6.7.x 2001 4D 6.8 Certificata Mac OS X (6.8.5) ; la 6.8.6 l'ultima versione disponibile della 6.8.x 2003 4D 2003 XML, Web service e Compilatore Integrato; la 2003.8r2 l'ultima versione disponibile della 2003 2004 4D 2004 Interfaccia rivisitata; integrazione dei comandi ODBC, 4D Customizer, 4D Backup e 4D Engine; la 2004.7 build 3 l'ultima disponibile (certificata MacIntel e Vista). 2007 4D v11 SQL Nuovo database engine, SQL integrato, supporto di Unicode, gestione SVG, tool di manutenzione integrato, area web,... 2010 4D v12 Integrazione motore PHP, accesso a multipli database esterni, Server a 64Bit, SVG Area, campi RichText, nuove possibilità di stampa, nuove funzioni delle Listbox, ... 2012 4D v13 Nuovo Web Server engine, nuovo visualizzatore web integrato e multipiattaforma, strumenti avanzati per gli sviluppatori... 20134D v14Nuovo tipo C_Object, Nuova funzionalità Mirror, Log Selettivo, 4D Mobile20154D v154D Server a 64bit nativo anche su Mac OS X, nuova gestione del Network20174D v16Nuova gestione della cache a 64 bit, nuovi campi e variabili Oggetti, con struttura a chiave/valore20184D v17Uso del db con la modalità a oggetti ORDA, gestione Collections e processi Pre-emptive20204D v18Crittografia, creazione di progetti IOS nativi, progetto in forma compatibile con version control20214D v19Support Nativo di Apple Silicon, Classi
Note
Bibliografia
Collegamenti esterni
Categoria:RDBMS Categoria:Database management system