SQLLight - Gérez vos tables avec des objets

Soumis par bonvga le 30 juillet, 2004 - 18:35

Cette librairie (objet) permet de gérer vos tables de votre base de donnée en utilisant des objets. Dans un objet héritant de sqllight, vous allez définir chaque champs de la table. Il est aussi possible de définir des filtres d'entrée/sortie pour chaque champ. Les filtres sont des méthodes de l'objet, par exemple une sérialisation et désérialisation d'une colonne.

Cette gestion des tables par des objets permet également de créer des jointures simplement en passant l'objet à joindre dans une méthode "join"

Possibilité de changer de système de base de donnée rapidement et sans modifier vos scripts. Tout du moins c'est prévu, mais il faut redévelopper le sqllight pour l'adapter au SGDB (mysql vers oracle par exemple).

Le sqllight ne gère pas encore le typage des données. C'est sont principal point faible. Il ne gère pas non plus les clause de type max, min, sum... Seul le COUNT(*) est implémenté (bizarrement). Il faudra attendre une prochaine version avant d'avoir quelques chose de plus stable et générique.

SQL implémenté :

  • INSERT
  • UPDATE
  • SELECT
  • DELETE
  • WHERE
  • LIMIT
  • COUNT(*)
  • ORDER BY

Intérêts :

  • Abstraction du langage SQL (pas de requête SQL dans vos script).
  • Un contrôle des champs "bas niveau".
  • Une gestion dynamique de filtres personnalisables.
  • Portabilité de la base de donnée.
  • Gestion dynamique des jointures
  • Niveau illimité de conditions dans les clauses WHERE.
  • Niveau illimité de ORDER BY.

Présentation rapide des méthodes (cf source) :

  • join : déclare une jointure avec un autre objet (table).
  • delete_join : supprime une ou toutes les jointures.
  • reset : RAZ de l'objet.
  • debug : donne des statistiques sur les temps d'exécution des requêtes.
  • insert : permet d'effectuer un INSERT.
  • update : permet d'effectuer un UPDATE.
  • select : permet d'effectuer un SELECT.
  • delete : permet d'effectuer un DELETE.
  • query : exécute un requête passée en paramètre.
  • _recusive_where : construit la clause WHERE (méthode privée).
  • _query : exécute la requête courant (méthode privée).
  • _check : vérifie que la table est définie dans l'objet (méthode privée).
  • _get_microtime : lecture du microtime pour les statistiques (méthode privée).
  • _filter : exécute les filtres de colonne (méthode privée).
  • _cleaning_value : vérifie une partie de l'intégrité de la requête (méthode privée).

Cet objet est encore bien buggué et surtout incomplet. Mais ce projet me tiens à coeur c'est pourquoi il est sous licence LGPL. Vous avez donc la liberté d'apporter votre contribution à ce projet. Merci d'avance !

Fichier attachéTaille
sqllight.zip5.02 Ko
sqllight_demo.zip7.37 Ko

Posté dans la catégorie

1 commentaire pour “SQLLight - Gérez vos tables avec des objets”

Portrait de bonvga

Le 31 juillet, 2004 - 02:01
bonvga a écrit

NOTE IMPORTANTE : Il faut savoir que le site bonvga.net ainsi que ascii'o'matic v2 (en cours de développement) et d'autres outils encore, sont basés sur cette librairie !

Ca prouve quand même qu'elle marche Cool