2008-10-15 7 views
6

En mi trabajo, todos tienen fragmentos de sql que usan para responder preguntas. Algunos son específicos de un cliente, mientras que otros son genéricos para una base de datos determinada. Quiero consolidar esas consultas en una biblioteca/repositorio a la que pueda acceder cualquier persona del equipo. Los requisitos serían:¿Cómo se mantiene una biblioteca de SQL útil en un entorno de equipo?

  1. accesible
  2. búsquedas
  3. Tagable (varias etiquetas permitidos por SQL)
  4. exportable (crear un documento que contiene todas las consultas con ciertas etiquetas)

I' Estoy interesado en lo que se ha encontrado que funciona en otros entornos de equipo.

Respuesta

10

Puede usar una wiki.

Podría comenzar con algo tan simple como Tiddly wiki.

+0

¡esa es una gran idea! ¡No creo que no haya pensado en eso! Voy a comenzar esto en mi casa esta tarde. – kemiller2002

+0

entusiasmado con esta idea. Gracias – echo

0

En lugar de pegar fragmentos de SQL, consideraría graduarme en un ORM (asignador relacional de objetos) o en otra biblioteca para facilitar la representación y manipulación de los datos. Proporciona una capa de encapsulado para evitar cambios de esquema y una capa de abstracción para que pueda pensar en los datos en términos de lógica comercial (es decir, un usuario) en lugar de una colección de tablas (es decir, una tabla de usuario, una tabla de contraseñas). , una tabla de acceso ...).

En Perl esto sería algo así como DBIx::Class.

1

Una wiki es un gran enfoque.

Para fragmentos específicos de la base de datos o proyectos, también es muy útil tener enlaces a donde ocurre una construcción similar en el código. Usamos la wiki de trac que ofrece una buena integración con SVN para esto.

0

Otro enfoque que quizás desee considerar es crear vistas en su base de datos. 'select * from some_view' puede ocultar bastante SQL. Igual querrá usar un wiki para documentarlos, pero si se trata de una vista, no tiene que preocuparse porque las personas tengan copias obsoletas.

Cuestiones relacionadas