MyOODB: base de datos orientada a objetos

MyOODB (Java) es una base de datos orientada a objetos, forma parte de un SDK, que junto a MyOOWEB y MyOOSDK, permite realizar aplicaciones web pequeñas pero muy robustas.
Dispone de un cliente que permite acceder a los datos mediante los protocolos TCP, TCPS, HTTP o HTTPS. A diferencia de otras OODB, en este caso los objetos solo existen en el servidor, en la aplicación solo se tratan de objetos distribuidos.
Otra de las características a destacar es que tiene un sistema de anti-corrupción de datos, si unos bloques del sistema de ficheros están corruptos, no se pierde la BD.
MyOODB

CowDb: base de datos orientada a objetos

Cow Database es una base de datos orientada a objetos (OODBMS). Uno de los problemas de esta tecnología es a la hora de indexar los datos.

Las características que ofrece esta base de datos nos encontramos con:

  • Ligera: poco uso de memoria y posibilidad de configurar el tamaño del cache.
  • Operaciones sencillas: cada base de datos tiene un único fichero de disco.
  • Robustez: totalmente transaccional, la recuperación es total y automática.
  • Ramificaciones: se pueden hacer a cualquier nivel.
  • Extensible
  • Rutas: cada objeto tiene una ruta mediante con la cual se puede acceder.
  • Enlaces simbólicos

CowDb

| |

Microsoft ofrece un driver SQL Server 2005 para PHP

Microsoft ha contribuido con PHP para crear un driver para acceder a SQL Server 2005. Diseñado para que permita una integración fiable y escalable con SQL Server para aplicaciones PHP desarrolladas en plataforma Windows.
Se trata de una extensión para PHP5 que permite leer y escribir data dentro de los scripts PHP, incluyendo procedimientos para acceder a los datos de SQL Server 2005 y SQL Server 2000 (incluyendo Express Edition), y hace uso de las características de PHP, como la lectura y escritura de objetos grandes.
Existe también un blog y un foro.
SQL Server 2005 Driver for PHP
Vía / International PHP Magazine

|

Outer joins en SQL

Hace días que llevo pensando en explicar cómo hacer un outer join en SQL (MySQL y Oracle), y hoy he encontrado unos diagramas que explican los diferentes tipos de joins que podemos hacer (MySQL).

El outer join se usa cuando queremos que obtener todos los campos de una tabla que cumplen una condición y los campos de otra tabla que coinciden con los de la primera tabla.

outerjoin.png

Imaginamos que tenemos una tabla de palabras en inglés y una tabla de traduciones:

Tabla : palabras
id / palabra
1 / bird
2 / flower
3 / sky
4 / tree
Tabla: traducciones
id / traduccion / idioma
1 / pájaro     / es
3 / cielo      / es

Se trata de tener la tabla de palabras y sus correspondientes traducciones (en este caso solo lo he hecho para español, pero se podrían incluir registros para otros idiomas). Si nos fijamos veremos que un join normal no lo podremos hacer porque si igualamos el id de palabras y traducciones habrá registros que no se mostrarán en la tabla de palabras porque no existen sus correspondientes en la tabla de traducciones. Por ello deberemos ejecutar las siguientes instrucciones en MySQL y Oracle:

/* MySQL */
SELECT *
FROM palabras
LEFT OUTER JOIN traducciones
ON palabras.id = traducciones.id
/* Oracle */
SELECT palabra, traduccion
FROM palabras, traducciones
WHERE palabras.id = traducciones.id (+)

Echadle un vistazo al resto de representaciones gráficas de los joins porque son muy aclaratorias.

A Visual Explanation of SQL Joins

|

Oracle creará un driver open source para PHP

OracleA parte de la casi compra de Bea por parte de Oracle (sería una buena noticia para los que desarrollen con Weblogic), nos enteramos de una gran noticia para los desarrolladores de PHP, y es que Oracle contribuye con un driver PHP open source para su OCI8. Este driver nos permite acceder a las características que nos ofrece la base de datos de Oracle, pudiendo así disponer del pool de conexiones, entre otras cosas.
Uno de las prioridades de Oracle es hacerse un hueco en la web2.0, para lo cual en colaboración de Zend pretende sacar este driver para así poder realizar aplicaciones que necesiten la robustez de la base de datos Oracle.
Oracle Contributes Open Source Driver for PHP

|

Juntion PHP: capa de persistencia de datos

junction.pngJuntion PHP es una capa de persistencia de datos desarrollada por la gente de Zend. Para aquellos que no les suene qué es una capa de persistencia de datos, diremos que se trata de una capa intermedia en nuestra aplicación que ofrece servicios de persistencia
y recuperación de información a las capas superiores.
Junction mapea la base de datos a objetos, permitiendo al desarrollador concentrarse en otros detalles de la aplicación. Debido a ello no nos tendremos que preocupar más en las sentencias CRUD.
Además de lo dicho anteriormente, Junction por ahora permite cláusulas WHERE sencillas, configuración de la base de datos, capa DAO, tests y buena documentación ya sea en el código como para el usuario final.
Juntion PHP
Vía / PHPDeveloper.org

|

WWW SQL Designer: diseño de bases de datos online

WWW SQL Designer es una aplicación online que nos permite editar nuestro propio modelo de datos y exportarlo a diferentes bases de datos como MSSQL, MySQL, Oracle o PostgreSQL. A parte permite exportar a XML, importar a XML, guardar directamente en base de datos y leer desde base de datos.
sqldesign.png
La creación de las tablas y de las relaciones entre ellas es sencillo, para las relaciones solo es necesario desplazar la PK en una tabla y el campo y la relación se crearán automáticamente.
La aplicación se puede descargar y nos permite guardar nuestros trabajos. La interfaz me ha gustado mucho ya que permite mover las tablas, las relaciones se redibujan cuando las tablas se organizan, tiene una pantalla de zoom para movernos a la posición que queramos y la edición de los campos y tablas es muy sencillo.
WWW SQL Designer
Vía / DbRunas

|

phpCodeGenerator: código para tu BD automático

phpCodeGenerator es una librería para generar sitios web desde una base de datos. Permite leer la base de datos y generar una web que permita crear, listar, editar, modificar, eliminar y buscar registros.
Funciona con cualquier base de datos compatible con ADODB, como MySQL, Microsoft Access o PostgreSQL. La información que contiene una BD: el esquema de la BD, las tablas, campos y propiedades, es suficiente para poder realizar unas clases que permita crear, editar, actualizar y eliminar registros, una base para que el desarrollador luego pueda realizar su aplicación web más facilmente.
El framework phpCG permite construir aplicaciones PHP orientadas a objetos que sean extensibles, portables y escalables.
phpCodeGenerator
Vía / International PHP Magazine

Oracle 11g para mañana miércoles

OracleDespués de 9 meses de beta, Oracle anuncia que mañana saldrá a la luz la versión 11g de su base de datos.
Entre las novedades encontramos compresión de datos, tecnología flashback para la recuperación de datos y actualizaciones automáticas.
Para los ansiosos, se va a poder seguir la presentación que harán mañana (a mí me dice ahora que dentro de 1 día y 6 horas) en este enlace (se necesita Real Player).
Oracle Database 11g ready for launch

CouchDb: base de datos documental

couchdb.pngCouchDb es una base de datos documental distribuida con sistema de replicación bidireccional.
No se trata de una base de datos relacional, sino documental. Es distribuida, robusta, con replicación incremental con detección de conflictos. Permite realizar querys e índices.
Aunque no es una base de datos orientada a objetos (en el sentido de capa para un lenguaje de programación), si que los documentos son objetos que están formados por nombres de campos y valores (texto, números y fechas).
CouchDb puede ser útil para aplicaciones como foros, bug tracking, wikis, to-dos y mucho más. Aún está en fase alpha, esperemos que llegue a la calidad y popularidad de otras bases de datos como MySQL.
CouchDb