Catalogue des formats de données d'archivage (
Cfa, v2)
SQL Script
Catégorie
Données structurées de bases de données
Abréviation
.sql
Titre
Scripting Database
Versions
Il ne s’agit pas d’un format de données mais d’une méthode permettant de créer une base de données relationnelle à partir d’un fichier de scriptage (fichier texte) et réciproquement. Le fichier texte contient un ensemble de commandes SQL. Ces commandes SQL doivent se conformer à une version SQL déterminée (par exemple SQL-92).
SQL est standardisé par ANSI et ISO.
Description
La méthode consistant à construire une base de données contenant tous les objets de la base de données au moyen d’un ensemble de scripts SQL est utilisée en général dans le domaine du développement de bases de données, lors de la création de bases de données au moyen d’outils d’assistance CASE, pour la documentation et lors de la sauvegarde de données.
Un ensemble de commandes DDL (Data Definition Language) permet de définir la structure ou les objets de la base de données. Les commandes DML (Data Manipulation Language) permettent finalement de placer les données dans les objets de la base de données/tableaux. Toutes ces commandes, placées séquentiellement dans un fichier, sont exécutées par l’interpréteur SQL et créent un schéma de base de données avant de remplir les tableaux de données. Il existe plusieurs outils permettant de générer des scripts. Certaines bases de données comportent déjà ces outils (SQL-Server: «Generate SQL Script wizard», PostgreSQL: «SQL Manager», etc.).
Cette méthode, semblable en cela à
SQLX ou
SIARD, n’archive que la structure et le contenu de la base de données. La logique d’application, qui peut constituer une partie nécessaire à la compréhension d’une application technique, n’est pas traitée.
Evaluation
La compréhension d’un script est grandement facilitée quand la syntaxe est conforme à une version SQL déterminée. Toutefois, de nombreux outils génèrent des scripts pour une base de données particulière et utilisent alors, principalement dans le domaine DDL, des commandes spécifiques à un type particulier de base de données qui ne sont pas conformes à la norme SQL.
Il n’existe pas de restrictions juridiques associées à une licence pour les scripts SQL.
La diffusion principale est dans les domaines du développement de bases de données, de la création de bases de données au moyen d’outils d’assistance et de la documentation de bases de données. Cette voie n’est pas empruntée très souvent pour l’archivage de bases de données.
Un fichier SQL-Script activé permet de reconstituer intégralement un schéma de base de données avec tous ses objets. Les aspects logiques de la base de données ne se distinguent en aucune manière de ceux de l’original.
Il existe aussi un grand nombre d’outils de scriptage indépendants des producteurs de bases de données. Un outil de scriptage peut être en outre décrit ou implémenté complètement en SQL.
Les commandes SQL des scripts provoquent une énorme augmentation de la quantité de données. C’est pourquoi cette voie est rarement empruntée dans des buts d’archivage (c’est pourquoi SQL-Loader crée bien des commandes DDL dans l’en-tête mais écrit finalement les données sous forme de fichier
CSV).
Cette méthode n’a actuellement presque aucune signification pour l’archivage de bases de données. Elle constitue toutefois la base d’approches plus prometteuses ou plus répandues pour l’archivage comme
SIARD et
SQLX.
Etant donné la redondance élevée des données (toujours les mêmes commandes DML répétées), il ne faut pas s’attendre à ce que cette méthode s’impose pour l’archivage de données structurées provenant de bases de données. Pour couronner le tout, les données archivées ressemblent à un programme, ce qui n’est pas de nature à motiver les personnes dépourvues d’une formation informatique.
Conclusion
Cette méthode est théoriquement intéressante car toutes les étapes sont soumises à la norme SQL. Le fichier de scriptage peut être complètement créé par un script SQL et contient de nouveau un script SQL. SQL (Structured Query Language) est un langage qui a joui d’un développement stable et de longue durée. Il sert à interroger et à manipuler des données dans les bases de données relationnelles et possède donc de ce point de vue une aptitude élevée à l’archivage. Le fait que les données archivées ne puissent être exploitées utilement que sous forme comprimée ne joue pas en sa faveur.
Références
Aperçu des normes SQL
http://www.techstreet.com/features/ISO_IEC_9075.tmpl
http://wwwai.wu-wien.ac.at/~wyk/dbs/pdf/SQL-DIN-Mitt-4-2004.pdf
Bibliographie
Wikipédia: SQL
http://fr.wikipedia.org/wiki/SQL
Microsoft.com (ed.), Documenting and Scripting Databases
http://msdn2.microsoft.com/en-us/library/ms191299.aspx
The Code Project, Generate SQL Insert statements for your SQL Server 2000 Database
http://www.codeproject.com/dotnet/ScriptDatabase.asp
SQLScripter
http://www.sqlscripter.com/
PostgreSQL, EMS SQL Manager 2005 for PostgreSQL ver.3.6 released!
http://www.postgresql.org/about/news.570
Liens
Il existe une relation fonctionnelle avec
CSV et
SIARD.