Вы находитесь на странице: 1из 11

PHP y los diferentes DBMS.

Los Gestores de Data, Generalmente son aplicaciones externas que se


instalan como programas independientes, y los lenguajes de
programacin proporcionan las API's o Libreras para su manipulacin y
trabajo conjunto.

PHP permite utilizar la mayora de los Gestores de Data conocidos sean


estos Libres o de Paga, como lo encontramos en su pgina oficial:
http://www.php.net/manual/es/refs.database.php

Entre ellas tenemos:


SQLite.
PostgreSQL.
Sybase.
MySQL.
Oracle.
MongoDB.
Mssql.

Adems ofrece un conjunto de Capas Abstractas para el acceso a la


Data con todos los beneficios de la POO. Entre las que podemos
mencionar:
PDO.
ODBC.
DBA.
dbx.
DBMS & SQL.

Antes de iniciar de manera directa con los Gestores de


Bases de Datos aclararemos primeramente el trmino
persistencia de Datos.

Persistencia de Datos
En informtica se denomina datos persistentes a aquel tipo de
informacin que se mantiene sin variaciones aunque el programa se
cierre, la computadora se apague. Generalmente el trmino
persistencia de datos es asociado de manera directa a los Gestores de
Bases de Datos aunque existen otras formas de lograr que la informacin
pueda ser guardada de forma permanente como por ejemplo:
Archivos de texto.
Archivos en formato XML.
Hojas de Excel.
Archivos en formato JSON.
Otros.

Qu son los Gestores de Bases de Datos:

Son aplicaciones que permiten la administracin de mltiples Bases de


Datos, la definicin de esquemas para soportar datos que se desean
guardar, mecanismos para asegurar la integridad de los datos, la
inconsistencia, la correcta obtencin de los datos, la persistencia, el
manejo de transacciones y adems gestionar un Sistema de Control de
acceso eficiente para los Datos.

Los DBMS Proveen los siguiente:


Datos Masivos.
Persistencia.
Seguridad.
Multi-user Storage.
Conveniencia.
Eficiencia.
Exactitud.

Acerca de los Gestores de Bases de Datos:


Las Databases pueden ser programadas va Frameworks.
Correr en conjunto con Middleware.
Los sistemas de informacin pueden no ocupar Bases de Datos
para todas sus tareas. xls, xml, json, otros.
Se puede trabajar directamente utilizando una aplicacin cliente
que nos conecte directamente desde la lnea de comandos.
Podemos utilizar una aplicacin grfica como phpmyadmin,
pgadmin3 o SQLiteManager para que el trabajo se vuelva ms
sencillo.

El Lenguaje SQL:
SQL Structured Query Language es un lenguaje estndar para el
acceso a Bases de Datos relacionales, de alto nivel, declarativo, no
orientado a procedimientos, reconocido por todos los gestores de Bases
de Datos y con variantes de SQL implementadas por cada uno de las
aplicaciones propietarias.

Por propsitos de aprendizaje dividiremos las sentencias SQL en:


DDL(Data Definition Language).
DML(Data Manipulation Language).
DCL(Data Control Language).
TCL(Transaction Control Language).

SQL y tipos de Sentencias (DDL, DML, DCL, TCL).

Categoras de SQL:
Data Definition Language:
Agrupa un conjunto de sentencias que permiten crear o manipular
el esquema schema de la Base de Datos, tablas campos, definir
tipos de Datos, longitud, etc. Entre ellos tenemos CREATE TABLE,
CREATE DATABASE, ALTER TABLE, DROP TABLE, ADD COLUMN,
ALTER COLUMN, ALTER TABLE.

Ejemplo:

Data Manipulation Language


Permite a llevar a cabo las tareas como, consultar, agregar
registros, eliminar y actualizar entre ellos tenemos: INSERT,
UPDATE, DELETE, SELECT, WHERE.

Ejemplo:

Data Control Language


Son un conjunto de comandos utilizados para controlar el acceso
a los datos contenidos en un SGBD entre los que tenemos:
CREATE USER, GRANT PRIVILEGES, REVOKE, FLUSH PRIVILEGES.

Ejemplo:
Transaction Control Language
TCL es un conjunto de comando que permiten el manejo de datos
ATMICOS o transaccionales, aseguran que transacciones no
completadas o corruptas no se ejecuten en la Base de Datos. El
Servidor de la Data tiene la oportunidad de hacer un rollback,
para deshacer los cambios y un commit para completar el proceso
de escritura de datos una vez no ha existido ningn problema.
Entre los comandos tenemos: ROLLBACK, COMMIT,
AUTOCOMMIT.

Ejemplo:

"Los motores en MySQL que soportan el manejo de transacciones son


InnoBD y BDB estos trabajan en modo AUTOCOMMIT= 0 cuando se inicia
una transaccin. Por otro lado MyISAM opera en modo AUTOCOMMIT=0
siempre de modo que no hay forma de hacer rollback ni trabajar con
transacciones. Un aspecto importante a considerar es que las
transacciones utilizan espacio en memoria considerable en entornos de
produccin".
PDO, caractersticas, ventajas y Desventajas.

"PHP Data Objects" es la extensin que nos permite conectarnos con los
gestores de Bases de Datos ms comunes, define una interfaz
estandarizada para acceder y obtener datos, y adems permite exponer
las caractersticas propias de un gestor de bases de Datos en este
sentido diremos que cada Driver disponible para los gestores puede
aadir funcionalidades extra y pueden ser expuestas por la extensin.

Caractersticas:
POO.
Integrada en la versin 5 de PHP.
Independiente del Gestor de Bases de Datos.
Trabaja con Drivers estilo ODBC de Java.

Ventajas:
Abstraccin.
Estandarizacin de cdigo.
Acoplamiento con POO.
Futuras versiones de PHP lo soportarn.
Admite ms de 12 drivers.
Se integra con estructuras de Datos avanzadas.
Facilidad para realizar cambios.

Desventajas:
Faltan Drivers por soportar.
No hay soporte para gestores NoSQL.
El rendimiento es ms lento.
Se requieren los fundamentos de POO.

Drivers que soporta PDO: Actualmente existen 12 que se referencian


en la pgina oficial los cuales son los siguientes:
Nombre del Driver Gestor de Base de Datos Soportado

PDO_CUBRID CUBRID

PDO_DBLIB Free TDS / Microsoft SQL Server / Sybase

PDO_FIREBIRD Firebird

PDO_IBM IBM DB2

PDO_INFORMIX IBM Informix Dynamic Server

PDO_MYSQL MySQL 3/4/5

PDO_OCI Oracle Call Interface

PDO_ODBC ODBC v3 (IBM BD2, unixODBC, win32 ODBC).

PDO_PGSQL PostgreSQL

PDO_SQLITE SQLite v2 / 3

PDO_SQLRV Microsoft SQL Server / SQL Azure

PDO 4D 4D

Creacin de un CRUD bsico con PDO y OOP.

1. En este apartado crearemos una Base de Datos con las siguientes


tablas:
"Para ello puede auxiliarse de PHPMyAdmin o consultar una pequea gua de
SQL".

2. Nuestro primer paso ser crear un proyecto llamado CRUDPDO en el


cual crearemos una carpeta llamada class y dicha carpeta contendr
una clase llamada Connection.class.php que tendr el siguiente
cdigo:

El objeto PDO que establece la conexin a un Gestor de bases de datos tomas


3 parametros que son:
DSN: Data Source Name, es una combinacin entre driver, host y base
de datos a la que nos conectamos puedes configurarla segn tus datos
de acceso.
Usuario: Permite definir el usuario del gestor con el cual ingresaremos.
Password: Por lo general en MySQL queda vaco a menos que lo hayas
modificado.

3. Ahora probaremos la conexin probaremos la conexin agregando el


cdigo siguiente despus de definir la clase para lo cual agregamos el
siguiente cdigo:

"Ahora accedemos a la URL donde esta la clase utilizando el localhost y nos


mostrar lo siguiente:"

Esto indica que la instancia de la clase PDO en la propiedad conexin tiene un


objeto de tipo PDO por lo que hemos completado la clase que nos permitir
establecer conexin con los diversos Gestores de Bases de Datos.
4. Crearemos la clase llamada Proveedores.class.php que tendr la
siguiente estructura:

Probaremos la clase creado dos objetos de tipo proveedores y verificando sus


valores agregamos el cdigo fuera de la clase Proveedores.

Procedemos a correr el script desde el navegador y nos mostrar lo siguiente:

Una vez hecho lo anterior comentalo el cdigo de prueba..


5. Ahora agregaremos los mtodos siguientes. El codigo sera agregado
despus del constructor:
Para agregar:

Para eliminar el siguiente mtodo:


Para modificar lo siguiente:

Para extraer todos los proveedores:

Mtodo para extraer un Proveedor por ID:

Mtodo para asociar una MateriaPrima a un Proveedor:


6. Una vez implementado el cdigo anterior comprobaremos que todo
esta funcionando correctamente de la siguiente manera: Agregaremos
al final de la clase lo siguiente:

Deber imprimirse en pantalla lo siguiente:

Esto nos indica que 1 registro fue agregado exitosamente

Вам также может понравиться