Sie sind auf Seite 1von 19

Facultad:

Ciencia y Tecnologia

Carrera:

Ingeniería en Sistemas y Redes Informáticas

Asignatura:

Programación Computacional IV

Actividad:

PHP y los diferentes DBMS

Docente:

Inga. Gisela Espinoza

Integrantes:

Argueta Amaya Yeny Marilu

Ramos Guevara Mercedes Yohana

Rivera Vásquez Jacqueline Roxana

Rivera Vásquez Jenny Carolina

Fecha:

Vienes 13 de abril del 2018


Introducción

La presente investigación se refiere al tema PHP y los diferente DBMS, que se


pueden definir como Sistemas de Gestión de Bases de Datos (SGBD), en esta
investigación se presentan algunos gestores de Base de Datos que puede
implementarse junto al lenguaje de programación PHP, sus requerimientos de
instalación, algunas funciones principales y ejemplos de como utilizarlos.
PHP y los diferentes DBMS

DBMS (Data Base Management System): Son los Sistemas de Gestión de


Bases de Datos (SGBD).

Sistema de administración de bases de datos.


Es el software que se encarga de gestionar, almacenar, recuperar y dar
seguridad a los datos que se encuentran en una base de datos.

Los DBMS pueden trabajar con lenguajes de programación tradicionales (C,


Cobol etc.) pero también existen otros que usan su propio lenguaje de
programación,por ejemplo: dBASE y Paradox, los mismos son programas de
base de datos con un DBMS, un lenguaje completo de programación.

Existen diferentes tipos de DBMS que tienen diferentes ámbitos para


implementarlos y cada uno con ventajas sobre otro. se podrá escoger un DBMS
según el tipo de datos y la estructura que necesitemos

Los Gestores de Base de Datos, generalmente son aplicaciones externas que


se instalan como programas independientes, y los lenguajes de programación
proporcionan las API's o Librerías para su manipulación y trabajo conjunto. PHP
permite utilizar la mayoría de los Gestores de Base de Datos conocidos sean
estos Libres o de Paga.

Entre ellas tenemos:

 SQLite
 PostgreSQL.
 Sybase.
 MySQL.
 Oracle.
 MongoDB.
 SQL
Además, 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

¿Qué son los Gestores de Bases de Datos?

Son aplicaciones que permiten la administración de múltiples Bases de Datos, la


definición de esquemas para soportar datos que se desean guardar,
mecanismos para asegurar la integridad de los datos, la inconsistencia, la
correcta obtención de los datos, la persistencia, el manejo de transacciones y
además 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

PHP permite utilizar la mayoría de los Gestores de Base de Datos conocidos


sean estos Libres o de Paga entre ellos tenemos:
SQLite: es un sistema de gestión de bases de datos
relacional compatible con ACID, contenida en una
relativamente pequeña 275 kB biblioteca escrita en C.
SQLite es un proyecto de dominio público creado por D. Richard Hipp.

La extensión SQLite está habilitada por defecto a partir de PHP 5.3.0. Es posible
desactivarlo utilizando --without-sqlite3 en tiempo de compilación.

Los usuarios de Windows deben habilitar php_sqlite3.dll para usar esta


extensión. Esta DLL se incluye con las distribuciones de PHP de Windows a
partir de PHP 5.3.0.

Requerimientos: Desde PHP 5, la extensión SQLite viene habilitada de forma


predeterminada. Con la versión 5.4 de PHP, la extensión SQLite solamente está
disponible mediante PECL.

Las siguientes son rutinas importantes de PHP que pueden ser suficientes para
su requerimiento de trabajar con la base de datos SQLite desde su programa
PHP.

Entre algunas funciones de SQLite están:

sqlite_array_query Ejecutar una consulta en una base de


datos dada y devolver un array
sqlite_busy_timeout Establecer la duración del tiempo de
espera de ocupación, o deshabilitar
los gestores ocupados
sqlite_changes Devuelve el número de filas que han
sido cambiadas mediante la sentencia
SQL más reciente.
sqlite_close Cierra un base de datos SQLite
abierta
sqlite_column Obtiene una columna de la fila actual
de un conjunto de resultados
sqlite_create_aggregate Registrar FDU totalizadora para
usarla en sentencias SQL
sqlite_create_function Registra una función "regular" definida
por el usuario para ser usada en
sentencias SQL
sqlite_current Obtiene la fila actual como un array de
un conjunto de resultado
sqlite_error_string Devuelve la descripción de un código
de error
sqlite_escape_string Escapa una cadena para ser usada
como un parámetro para una consulta

Ejemplo: El siguiente código PHP muestra cómo conectarse a una base de


datos existente. Si la base de datos no existe, se creará y, finalmente, se
devolverá un objeto de base de datos.
PostgreSQL: Es una de las opciones más interesantes
en bases de datos relacionales open-source. Michael
Stonebraker inició el proyecto bajo el nombre Post Ingres
a mediados de los 80’s con la idea de solucionar
problemas existentes en las bases de datos en esa
época.

Es gratuito y libre, además de que hoy nos ofrece una gran cantidad de opciones
avanzadas. De hecho, es considerado el motor de base de datos más avanzado
en la actualidad.

Requerimientos: Para usar el soporte PostgreSQL, necesita PostgreSQL 6.5 o


superior, PostgreSQL 8.0 o superior para habilitar todas las características del
módulo PostgreSQL. PostgreSQL soporta muchas codificaciones de caracteres
incluyendo codificación de caracteres multibyte.

Entre algunas funciones de PostgreSQL están:

pg_close Cierra una conexión PostgreSQL


pg_connect_poll Verifica el estado de un intento de
conexión asíncrono en curso de
PostgreSQL
pg_connect Abre una conexión a PostgreSQL
pg_connection_busy Permite saber si la conexión está
ocupada o no
pg_connection_reset Restablece conexión (reconectar)
pg_connection_status Obtener estado de la conexión
pg_dbname Obtiene el nombre de la base de datos
pg_delete Borra registros
pg_update Actualizar tabla
pg_copy_from Insertar registros dentro de una tabla
desde un array
Ejemplo: Este ejemplo muestra cómo conectarse, ejecutar una consulta,
imprimir filas resultantes y desconectarse de una base de datos PostgreSQL.
Sybase: Es un gestor muy interesante, altamente escalable, con excelente
rendimiento y con la suficiente capacidad para poder gestionar
un volumen elevado de datos, transacciones y usuarios.

Es un gestor orientado a las grandes corporaciones y una de


sus principales bazas es su enorme seguridad, ya que es un
producto sobre el que no suelen aparecer muchas vulnerabilidades.

Requerimientos de instalación: No se requiere de ninguna biblioteca externa


para compilar esta extensión.

Entre algunas funciones Sybase están:

sybase_affected_rows Obtiene el número de filas afectadas


en la última operación
sybase_close Cierra una conexión Sybase
sybase_connect Establece una conexión a un servidor
Sybase
sybase_data_seek Desplaza el apuntador de filas interno
sybase_deadlock_retry_count Devuelve el número de reintentos en
caso de bloqueo (deadlock)
sybase_fetch_array Devuelve una fila de Sybase como un
array
sybase_fetch_assoc Carga una fila resultante de Sybase
como un array asociativo
sybase_fetch_field Obtiene información de un campo de
resultado Sybase
sybase_fetch_object Devuelve una fila Sybase como un
objeto
sybase_fetch_row Devuelve una fila Sybase como un
array indexado numéricamente
sybase_connect(): Establece una conexión a un servidor Sybase.

sybase_pconnect(): Abre una conexión persistente a un servidor Sybase

sybase_close(): Cierra una conexión Sybase

Ejemplo: Ejemplo con sybase_connect()


MySQL: Es la base de datos de código abierto más popular del mundo. Con su
rendimiento, confiabilidad y facilidad de uso comprobados,
MySQL se ha convertido en la principal opción de base de
datos para aplicaciones basadas en la Web, utilizada por
propiedades web de alto perfil como Facebook, Twitter,
YouTube, y los cinco principales sitios web.

Requerimientos: Para poder contar con estas funciones, debe compilar PHP
con el soporte para MySQL.

Entre algunas funciones MySQL están:

mysql_affected_rows Obtiene el número de filas afectadas


en la anterior operación de MySQL
mysql_client_encoding Devuelve el nombre del conjunto de
caracteres
mysql_close Cerrar una conexión de MySQL
mysql_connect Abre una conexión al servidor MySQL
mysql_create_db Crea una base de datos MySQL
mysql_data_seek Mueve el puntero de resultados
interno
mysql_db_name Recupera el nombre de la base de
datos desde una llamada a
mysql_list_dbs
mysql_db_query Selecciona una base de datos y
ejecuta una consulta sobre la misma
mysql_drop_db Elimina (DROP) una base de datos
MySQL
mysql_errno Devuelve el valor numérico del
mensaje de error de la última
operación MySQL
Se recomienda usar las extensiones mysqli o PDO_MySQL. No se recomienda
usar la extensión mysql antigua para nuevos desarrollos, ya que ha sido
declarada obsoleta en PHP 5.5.0 y eliminada en PHP 7. Se proporciona una
matriz detallada de comparación de características más abajo. El rendimiento
global de las tres extensiones se considera que sea aproximadamente el mismo.
Aunque el rendimiento de la extensión aporta solamente una fracción del total
del tiempo de ejecución de una consulta web de PHP. A menudo, el impacto es
tan bajo como 0.1%.

Ejemplo: Este ejemplo muestra como conectar, ejecutar una consulta, imprimir
las filas resultantes y desconectar a una base de datos MySQL.
Oracle: Es un sistema de gestión de base de datos de tipo objeto-relacional, su
dominio en el mercado de servidores
empresariales había sido casi total hasta que recientemente tiene la
competencia del Microsoft SQL Server y de la oferta de otros RDBMS con
licencia libre como PostgreSQL, MySQL o Firebird.

Las últimas versiones de Oracle han sido certificadas para poder trabajar bajo
GNU/Linux.

Requerimientos: La extensión OCI8 1.4 está incluida con PHP 5.3, PHP 5.4 y
PHP 5.5, en Windows, la DLL php_oci8 DLL necesita las bibliotecas cliente de
Oracle desde la versión 10gR2 o superior.

Entre algunas funciones Oracle están:

oci_bind_array_by_name Vincula un array de PHP con un


parámetro de un array de Oracle
PL/SQL
oci_bind_by_name Vincula una variable de PHP a un
parámetro de sustitución de Oracle
oci_cancel Cancela la lectura del cursor
oci_commit Consigna la transacción pendiente de
la base de datos
oci_client_version Devuelve la versión de la biblioteca
cliente de Oracle
oci_close Cierra una conexión a Oracle
oci_connect Conecta a una base de datos de
Oracle
oci_define_by_name Asocia una variable de PHP con una
columna para la obtención de
consultas
oci_error Devuelve el último error encontrado
oci_execute Ejecuta una sentencia
Ejemplo: Este ejemplo muestra la realización de consultas y la visualización de
resultados. Las sentencias en OCI8 usan la secuencia de pasos 'preparación-
ejecución-obtención'.
MongoDB: Es un sistema de base de datos NoSQL
orientado a documentos, desarrollado bajo el concepto
de código abierto.

MongoDB forma parte de la nueva familia de sistemas de base de datos NoSQL.


En lugar de guardar los datos en tablas como se hace en las bases de datos
relacionales, MongoDB guarda estructuras de datos en documentos similares a
JSON con un esquema dinámico (MongoDB utiliza una especificación llamada
BSON), haciendo que la integración de los datos en ciertas aplicaciones sea más
fácil y rápida.

Requerimientos: La variante de PHP del controlador requiere PHP 5.4 o superior,


la variante de HHVM del controlador requiere HHVM 3.9 o superior.

Entre algunas funciones de Mongo están:

bson_decode Decodifica un objecto BSON a un


array PHP
bson_encode Serializa una variable PHP a un string
BSON

Ejemplo: El siguiente código podemos seleccionar una colección en MongoDB.


SQL: El SQL (Structured Query Language) (en español
Lenguaje de Consulta Estructurado) es un lenguaje
estándar que se utiliza para trabajar con bases de
datos.

Esto significa que mediante este lenguaje podemos crear, modificar, buscar, y
hacer cualquier otra operación en una base de datos. Lo de estándar significa
que el mismo lenguaje puede usarse para diferentes tipos de bases de datos, es
decir con SQL podemos operar con bases en MySQL, SQL Server, Access,
Oracle, DB2, y otros sistemas de bases de datos.

El código en SQL simplemente indica qué es lo que debemos hacer en la base


de datos, es decir nos indica si queremos crear algún elemento (tablas, nuevos
registros, etc), o si queremos extraer todos los datos de una tabla, o buscar un
elemento, etc. Por lo tanto, todo el proceso de conectar con la base de datos, o
poder visualizar los datos en pantalla, corre a cargo del lenguaje PHP.

Tipos de sentencias

Las sentencias de SQL se agrupan en tres tipos:

DDL: Lenguaje de definición de Datos (Data Definition Languaje) Entran aquí las
sentencias que definen y crean los objetos que soportan la base de datos
(creación o supresión de bases, creación o supresión de tablas, relaciones entre
tablas, claves en las tablas, etc.

DML: Lenguaje de Manipulación de Datos (Data Management Languaje) Entran


aquí las sentencias para manejar los datos almacenados en las tablas, a nivel
de campos (columnas) o registros (filas). Por ejemplo, crear, cambiar o consultar
registros o sus datos.

DCL: Lenguaje de Control de Datos (Data Control Languaje) Entran aquí las
sentencias para controlar las funciones de administración y control de las bases.
¿Como utilizar PHP con SQL?

Los controladores de Microsoft para PHP para SQL Server pueden conectarse a
SQL Server mediante la autenticación de Windows o mediante la autenticación
de SQL Server. De forma predeterminada, los controladores de Microsoft para
PHP para SQL Server intentan conectarse al servidor mediante la autenticación
de Windows.

¿Cómo conectar con la autenticación de Windows?

De forma predeterminada, los Controladores de Microsoft para PHP para SQL


Server usan la Autenticación de Windows para conectarse a SQL Server. Es
importante observar que, en la mayoría de los escenarios, esto significa que la
identidad del proceso o la identidad del hilo del servidor web (si el servidor web
está usando suplantación) se utiliza para conectarse al servidor, no a la identidad
del usuario final.

Deben tenerse en cuenta los siguientes puntos cuando usa la Autenticación de


Windows para conectarse a SQL Server:

 Las credenciales con las que se ejecuta el proceso (o subproceso) del


servidor web deben correlacionarse con un inicio de sesión válido de SQL
Server para establecer una conexión.
 Si SQL Server y el servidor web están en computadoras diferentes, SQL
Server debe estar configurado para habilitar conexiones remotas.

Ejemplo: Conectar utilizando autenticación Windows.


¿Cómo conectar mediante la autenticación de SQL Server?

Los controladores de Microsoft para PHP para SQL Server son compatibles con
la autenticación de SQL Server cuando se conecta a SQL Server.

La Autenticación de SQL Server debe usarse solo cuando la Autenticación de


Windows no sea posible.

Deben tenerse en cuenta los siguientes puntos cuando usa la Autenticación de


SQL Server para conectarse a SQL Server:

 La autenticación de modo mixto de SQL Server debe estar habilitada en


el servidor.
 La identificación de usuario y la contraseña (atributos de conexión UID y
PWD en el controlador SQLSRV) deben establecerse cuando intenta
establecer una conexión. El ID de usuario y la contraseña deben
correlacionarse con un usuario y una contraseña válidos de SQL Server.

Ejemplo: Conectar especificando nombre de usuario y contraseña.

¿Cómo conectarse a un puerto especificado?

Para conectarse en un puerto especificado:

 Verifique el puerto en el cual el servidor está configurado para aceptar


conexiones.
 Agregue el puerto deseado al parámetro $serverName de la función
sqlsrv_connect. Separe el nombre del servidor y el puerto con una coma.

Ejemplo: Conectar a un puerto específico.

Das könnte Ihnen auch gefallen