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


Ouverture du format: 3

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.

Licence libre: 4

Il n’existe pas de restrictions juridiques associées à une licence pour les scripts SQL.

Diffusion: 1

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.

Fonctionnalités: 4

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.

Implémentation: 3

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.

Densité de mémorisation: 1

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).

Vérifiabilité: 2

Seule une reconnaissance de format rudimentaire au moyen de l'extension de nom de fichier est possible.

Bonnes pratiques: 1

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.

Perspectives: 1

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.

Classes de formats: n/a



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

Articles connexes

Il existe une relation fonctionnelle avec CSV et SIARD.

last update: georg.buechler - Mon, 04 Jul 2016 [12:24:33]
Copyright © by Koordinationsstelle für die dauerhafte Archivierung elektronischer Unterlagen
Copyright © by Centre de coordination pour l'archivage à long terme de documents électroniques