Crear, recuperar, actualizar y borrar datos

Esta sección ilustra cómo se puede usar el DAS Relacional para crear, recuperar, actualizar y borrar datos de una base de datos relacional. La mayoría de los ejemplos están ilustrados con un base de datos de tres tablas que contienen compañías, departamentos dentro de esas compañías, y empleados que trabajan para esos departamentos. Este ejemplo se usa en varios puntos de la literatura de SDO. Vea la sección de ejemplos de la » especificación de Objetos de Datos de Servicio o la sección Ejemplos de la documentación de la extensión SDO.

El DAS Relacional se construye con metadatos que definen la base de datos relacional y cómo deberían ser referenciados a SDO. La amplia sección que sigue describe estos metadatos y cómo construir el DAS Relacional. Los ejemplos que le siguen asumen que estos metadatos son un fichero php incluido.

Los ejemplos de abajo y otros se pueden encontrar en el directorio Scenarios del paquete del DAS Relacional.

El DAS Relacional lanza excepciones en el momento que encuentre errores en los metadatos o errores al ejecutar sentencias SQL en la base de datos. Por brevedad, los ejemplos de abajo omiten es uso de bloques try/catch en las llamadas al DAS Relacional.

Todos estos ejemplos difieren del uso esperadode SDO en dos aspectos importantes.

Primero, muestran todas las interacciones con la base de datos completadas con un script. En este aspecto estos escenarios no son realistas aunque se han elegido para ilustrar el uso del DAS Relacional. Se espera que las interacciones con la base de datos sean separadas con el tiempo y el grafo de datos sea serializado y deserializado en la sesión de PHP una o más veces al interactuar la aplicación con un usuario final.

Segundo, todas las consultas ejecutadas en la base de datos usan consultas 'hard-coded' sin variables de sustittución. En este case es seguro usar la simple llamada executeQuery(), y esto es lo que muestran los ejemplos. Sin embargo, en la práctica es improbable que la sentencia SQL sea conocida enteramente con anticipación. Para permitir que las variables sean sustituidas de forma segura en las consultas SQL, sin correr el riesgo de inyectar SQL con efectos desconocidos, es más seguro usar el método executePreparedQuery() el cual toma una sentencia SQL preparada que contiene parámetros de sustitución y una lista de valores a ser sustituidos.