|

Oracle y PHP

La gente de Oracle han reescrito un libro que nos explica todo lo necesario para desarrollar aplicaciones en PHP que accedan a Oracle, está en formato PDF y la versión del documento es la 1.4. Este libro no es una guía completa de PHP y Oracle, ya que se supone que se tienen conocimientos básicos de PHP y SQL.

El libro está formado por 17 capítulos:

  • Introducción: introducciones sobre Oracle y PHP.
  • Extensiones PHP para Oracle: extensiones Oracle, OCI8 y PDO.
  • Instalación de Oracle Database 10g Express Edition: aunque el manual se centra en esta versión, también es válida para cualquier versión de Oracle actual.
  • Uso de Oracle Database 10g: trabajar con SQLs, PLs, crear usuarios, monitorear las sesiones, crear conexiones a la BD, crear informes y mucho más.
  • Instalar Apache: tanto en Linux como en Windows.
  • Instalar PHP: OCI en PHP4 y PHP5 tanto para Linux como para Windows y PDO en Linux y Windows.
  • Instalar Zend Core para Oracle: instalación y administración de Zend Core para Oracle.
  • Conectar a Oracle mediante OCI8: tipos de conexión, variables de entorno de Oracle, cerrar conexiones Oracle (algo que se suele olvidar hacer la gente).
  • Ejecutar SQL mediante OCI8: inserciones, modificaciones, transacciones, errores OCI8, tunning de aplicaciones.
  • Usar PL/SQL en OCI8: crear procedimientos, errores, cursores.
  • Objetos grandes: LOBs y BFILEs.
  • Uso de XML en Oracle y PHP: uso de la extensión SimpleXML y acceso a datos de Oracle mediante HTTP.
  • Globalización: manipulación de Strings, Locale, codificación de caracteres de los HTML, formato de fechas y números.
  • Debug.
  • Testing: ejecutar tests OCI8, fallo en los tests, creación de tests.
  • Nombre de funciones OCI8 en PHP.
  • Extesión de Oracle obsoleta: comparación entre la extensión Oracle y OCI8.

The Underground PHP and Oracle Manual

Vía / Christopher Jones on OPAL

|

phpPgAdmin: administra PostgreSQL desde la web

Casi todos conocemos phpmyadmin, una aplicación web para administrar nuestras bases de datos en MySQL. En este caso se trata de phpPgAdmin, lo mismo pero para PostgreSQL. No todo el mundo trabaja con MySQL, por lo que esta herramienta le vendrá muy bien a aquellos que usen esta base de datos.
phppgadmin.png
Entre las características que ofrece nos encontramos con la posibilidad de administrar varios servidores, soporte a múltiples versiones de PostgreSQL, administración de usuarios, grupos, bases de datos, esquemas, etc…, manipulación sencilla de datos, exportar los datos a diferentes formatos, importar sentencias SQL y mucho más.
Ahora solo falta que hagan algo para Oracle para hacerme feliz.
phpPgAdmin

| |

Usar polimorfismo en PHP5 para acceder a diferentes BD

Gracias al tratamiento de objetos que nos permite PHP5, es posible diseñar aplicaciones de una forma más eficiente. Un caso de ello es el polimorfismo, lo cual va a permitir acceder y trabajar con diferentes tipos de bases de datos de una forma única.
En el artículo en el que hacemos referencia, explican detalladamente cómo usar el polimorfismo para acceder a datos mediante MySQL y SQLite. Para ello se crearán una clase abstracta y dos clases que extenderán de esta, siendo cada una de estas las encargadas de tratar el acceso a MySQL o a SQLite.
Después se deberá crear una clase que maneje estas clases, dependiendo de un parámetro, se usará una de las clases (MySQL o SQLite). Esta última clase será la que instancie el usuario final, por lo que para él será transparente el tratamiento que se haga de una u otra base de datos.
Algo que también destacaría de este artículo es la forma de no hacerlo, algo que me he encontrado en alguna ocasión en Java (donde hay polimorfismo desde siempre). La forma incorrecta de hacerlo es creando una única clase y diferenciando en cada método diferentes códigos dependiendo de si se trata de una BD u otra.
Abstracting Database Access Using Polymorphism with Objects in PHP 5

Consejos para diseñar una base de datos

Diseñar una base de datos no es algo sencillo y sí muy importante, ya que un mal diseño conlleva dificultades para desarrollar la aplicación o una aplicación compleja. Unos consejos que realmente son muy necesarios y muchas veces no se llevan a cabo.

  • Mal diseño: el diseño es lo fundamental, primero hay que saber qué es lo que se necesita mostrar para luego diseñar correctamente la base de datos. Yo personalmente me he encontrado con diseños iniciales muy básicos que luego han ido parcheando y haciendo modificaciones drásticas para ajustarlas a un modelo que era el mismo desde el inicio de la aplicación.
  • Ignorar la normalización: la normalización es fundamental para un buen rendimiento y una sencilla programación.
  • Nomenclatura no estándar: los nombres deben significar algo para que sea sencillo de comprender a simple vista. A parte, la nomenclatura debe ser constante en todo el diseño.
  • Falta de documentación: esto es una constante en todo el mundo de la programación, y en las bases de datos no va a ser menos. Que tu sepas que significa una tabla o un campo, no quiere decir que otra persona que entre en el proyecto vaya a saberlo con la misma facilidad que tú.
  • Una tabla que agrupa a muchas: un error normal es pensar que un diseño con muchas tablas es más complejo, y que es mejor meterlo todo en una única tabla.
  • Usar un identificador como única clave primaria: no siempre es correcto usar únicamente un identificador numérico secuencial como clave primaria única.
  • No usar las características de SQL para proteger la integridad de los datos: hay que tener en cuenta las reglas de campos nulos, tamaños de los campos y claves secundarias en el diseño para obtener una mejor integridad de datos.
  • No usar procedimientos almacenados para obtener los datos: es una forma de separar la capa de la base de datos de la capa del usuario. Aportan seguridad, encapsulamiento, mantenibilidad y rapidez. Yo también añadiría el uso de vistas.
  • Falta de pruebas: algo para mí muy importante es hacer pruebas de estres, para saber si la base de datos va a aguantar el volumen de datos que necesitará la aplicación. Comprobar el tiempo de ejecución de las sentencias para añadir índices, etc…

Podéis ver todos estos puntos muy bien explicados y de forma extensa en el artículo original.

Ten Common Database Design Mistakes

Oracle anuncia la versión 11g beta de su BD

OracleOracle ha anunciado la versión 11g de su base de datos, la cual incluye 182 características nuevas, desde la compresión de los datos hasta el manejo de actualizaciones en paralelo, cabe destacar las referentes a la escalabilidad.
El incremento del tamaño de la información que es generada y almacenada, alimentado por videos online o mensajería instantánea, supone un problema que hay que solucionar a la hora de retener esta información por periodos de tiempo algo largos.
La versión beta incluye herramientas para recuperar informacióny realizar actualizaciones, aún durante apagón programado.
Vía / cnet

Miles de modelos de datos gratuitos

Para quien no sea muy hábil diseñando modelos de datos, o no tenga tiempo o simplemente no tenga ganas de pensar, os mostramos una lista de modelos de datos gratuitos que podemos usar en nuestras aplicaciones. Son del todo variopintos, puedes encontrar modelos de datos para blogs, e-commerce, clientes, facturas, compañías de ballet, comunidades indígenas, registro de payasos, ONGs, workflows, … vamos, que si no lo encuentras sería algo bastante extraño.
Library of Free Data Models
Vía / dzone