REQUERIMIENTO RESPUESTA



Documentos relacionados
APLICACIONES WEB PERL + BASES DE DATOS REQUERIMIENTO RESPUESTA

Programando Aplicaciones Web con Base de Datos y Python

Introducción a PostgreSQL con PHP

Programando Aplicaciones Web con Bases de Datos y Perl

Seguridad de la Información Permisos. Sistemas de Bases de Datos II - ITS EMT - CETP

A continuación se presenta la forma en que se puede conectar PHP con el gestor de bases de datos MySQL.

PROGRAMACIÓN EN PHP. 1. Identificar las características y modalidad de programación bajo PHP.

HTML, PHP y bases de datos

INSTALACIÓN, CONFIGURACIÓN Y PRUEBAS DE POSTGRESQL EN FEDORA 19 PRESENTADO POR EDUARDO MORANTES DIAZ CODIGO: PRESENTADO A

SQL (Structured Query Language)

GUIA DE LABORATORIO N 9 B. (000Webhost Php- Para desarrollar en casa)

Diplomado Programación Web con PHP, MySQL 5.0, Apache y Ajax

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 )

MySQL 5 (versiones 5.1 a 5.6) Guía de referencia del desarrollador

Base de Datos Oracle 10g: Introducción a SQL Código: D Duración: 5 días (40 horas)

PHP Y BASES DE DATOS. Introducción a SQL

Manual de NetBeans y XAMPP

Sub consultas avanzadas

Select table data Insert table data Update table data Delete table data Create table

Curso de Programación PHP

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints

CURSORES EN SQL SERVER

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi

Un nombre de usuario de 30 caracteres o menos, sin caracteres especiales y que inicie con una letra.

MySQL y Sesiones en PHP. Área de Ingeniería Telemática

Seguridad en SQL Server 2005

APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5

Utilización del programa de Orabench Versión para Migración. Describir los pasos para la utilización del programa Orabench de Oracle.

XPERTO EN DISEÑO DE PÁGINAS WEB

PHP - II. Elaborador por: Edgar Manuel Amézquita y Sebastián González R.

Curso de PHP. Acceso a bases de datos MySQL en PHP

T12 Vistas y tablas temporales

GALA MODELO CLIENTE SERVIDOR SQL SERVER MANAGEMENT STUDIO SERVIDOR SQL BASES DE DATOS. Introducción. Describir SQL Server (L1)

Consultas con combinaciones

INSTITUCIÓN EDUCATIVA GABRIEL GARCIA MÁRQUEZ BASE DE DATOS. DESARROLLO DE SOFTWARE Página 1 de 28 SQL SQL

A.1. Definiciones de datos en SQL

Programación de Consultas SQL ADO.Net LDP / DUOC-AV

M. C. Gustavo Alfonso Gutiérrez Carreón

AUTENTICACIÓN: DETERMINAR SI EL USUARIOS ES QUIÉN DICE SER AUTORIZACIÓN: DETERMINA A CUÁLES OBJETOS TIENE ACCESO EL USUARIO

Sistemas de Datos Curso: Ernesto Chinkes. Subconsultas Stored Procedures - Triggers

MANUAL DE USUARIO. Webservice simple para la exportación rápida de información proveniente de una base de datos. Versión 0,1,1

Oracle 12c DISEÑO Y PROGRAMACIÓN

Ejercicios - Persistencia en Android: ficheros y SQLite

PROGRAMACIÓN PÁGINAS WEB JAVASCRIPT Y PHP

BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1

Programación páginas web. Servidor (PHP)

JDBC. Una mini-introducci. introducción

Java y MySQL. Ciclo de ejecución

INTRODUCCION. Tema: Protocolo de la Capa de aplicación. FTP HTTP. Autor: Julio Cesar Morejon Rios

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

Base de datos Lenguaje SQL

PHP. Introducción (1) Introducción (3) Introducción (2) PHP 1

Conexión ODBC Visual Basic - MSQL. Cristian Vidal Silva

SUPERINTENDENCIA DE BANCOS Y SEGUROS


CÓDIGO FUENTE EN LENGUAJE C RPMs PRE-EMPAQUETADO, EJEMPLO RPMs Y DISTRIBUCCIONES DEBBIAN (casos específicos)

Formas de llevar a cabo un backup de una base de datos MySQL

Conexión a Bases de Datos en PHP

Uso de las herramientas de consulta de Transact-SQL

Índice: Tema Conexión con Bases de Datos

Práctica sobre compartición de instancias remotas.

Curso PHP Advanced and Ajax

Introducción a las Redes de Computadoras. Obligatorio

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro

Casos de Uso De Casino Online

Acceso a bases de datos MySQL con PHP

ESPECIALISTA EN BASE DE DATOS

Práctica 02. Formularios

Tablas y Campos Nuevos

%& %)& '$!%*+ $, %%%&$ %%

Base de datos relacional

1 Índice Introducción Propósito Alcance Modelo Arquitectónico Inicial... 3

Estándares para la construcción de Sentencias SQL

CREATE USER ADMINISTRADOR IDENTIFIED BY ADMIN DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP QUOTA 500K ON USERS;

Sistemas de Datos Curso: Ernesto Chinkes. Sistemas de Datos. Niveles de Control de acceso. Criptografía. Aspectos legales y éticos.

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

1

CONTROL DE ACCESO. curso 2008

ADMINISTRACIÓN DE BASE DE DATOS

Guía práctica PHP 6. (c) Francisco Charte Ojeda

Kepler 8.0 USO DEL ERP

8 SQL SERVER 2008 RA-MA

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Vistas en postgresql

UNIVERSIDAD DE OVIEDO

MANUALITO MS-SQL SERVER

Ejercicios - Persistencia en Android: proveedores de contenidos y SharedPreferences

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access)

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA Programación de sitios web Act 11: Reconocimiento de la unidad 3

Ataques a Aplicaciones de Bases de Datos

PHP 5.6 Desarrollar un sitio web dinámico e interactivo

TciSatSingleW32 Versión 3.1

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL EXTENSIÓN BARQUISIMETO BARQUISIMETO ESTADO. LARA

MANUAL DE ADMINISTRACION DEL PLUGIN QGISSQL

Gestión de Usuarios en MySQL

INTRODUCCIÓN AL SQL. TRANSACT-SQL SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Transcripción:

ARQUITECTURA CLIENTE SERVIDOR (L1) REQUERIMIENTO CLIENTE WEB SERVIDOR WEB RESPUESTA

ARQUITECTURA WEB CON PHP + PostgreSQL (L1) 1 2 3 CLIENTE WEB SERVIDOR WEB MOTOR PHP SERVIDOR PostgreSQL 6 5 4

CONFIGURANDO USUARIOS PARA WEB (L2) PROGRAMÁTICAMENTE A TRAVÉS DE COMANDOS GRANT Y REVOKE PERMISOLOGÍA DIRECTA EN PostgreSQL COMANDO DE CONEXIÓN CON USUARIO, PASSWORD Y BASE DE DATOS

COMANDOS GRANT Y REVOKE (L2) GRANT privilegios [columnas] ON elemento TO usuario [WITH GRANT OPTION] REVOKE privilegios [(columnas)] ON elemento FROM usuario

TIPOS DE PRIVILEGIOS (L2) SELECT (TABLAS Y COLUMNAS) INSERT (TABLAS Y COLUMNAS) UPDATE (TABLAS Y COLUMNAS) DELETE (TABLAS) INDEX (TABLAS) ALTER (TABLAS) CREATE (BASES DE DATOS Y TABLAS) DROP (BASES DE DATOS Y TABLAS)

EJEMPLO DE GRANT Y REVOKE (L2) GRANT ALL ON * TO ADMIN WITH GRANT OPTION REVOKE ALL ON * FROM ADMIN

UN USUARIO WEB (L2) PRIVILEGIOS DE SELECT, INSERT, UPDATE, DELETE SOBRE UNA BASE DE DATOS GRANT SELECT, INSERT, UPDATE, DELETE ON SISTORDCOMPRA.* TO E022 NOTA: En PHP+PostgreSQL se maneja una Base de Datos con varios esquemas. Se asume en el ejemplo anterior SISTORDCOMPRA es un esquema

OPERACIONES DE BASES DE DATOS EN WEB (L3) INSERTANDO, INSERT COMMAND INSERT INTO tabla [(cola, colb, )] VALUES (vala, valb, ) SELECCIONANDO, SELECT COMMAND ACTUALIZANDO, UPDATE COMMAND ELIMINANDO, DELETE COMMAND

CONSULTA BASES DE DATOS EN WEB (L4) PROCESAR LOS DATOS DE LA CONSULTA (EVITAR ERRORES U OPERACIONES SOSPECHOSAS) CONEXIÓN BASE DE DATOS EJECUCIÓN COMANDOS ( QUERIES ) PROCESAMIENTO DEL RESULTADO (ESTILO CURSOR) MOSTRAR LOS RESULTADOS DE LA CONSULTA AL USUARIO

PROCESAR DATOS DE CONSULTA (L4) trim($dato); // ELIMINA LOS BLANCOS ENVÍANDO UN STRING A LA BASES DE DATOS $Dato = addslashes($dato); // caracteres espaciales RECIBIENDONDO UN STRING DE LA BASES DE DATOS $Dato = stripslashes($dato); // removiendo carateres // especiales htmlspecialchars()

CONEXIONES NO PERSISTENTES (L5) pg_connect -- Abre una conexión a un servidor PostgreSQL Descripción int pg_connect ( string host, string port, string options, string tty, string dbname ) o $con = pg_connect("dbname=gala port=5432"); Retorna: Un identificador de conexión positivo si tiene exito, o FALSE si se produce un error.

CONEXIONES PERSISTENTES (L5) pg_pconnect -- Abre una conexión persistente al servidor PostgreSQL Descripción int pg_connect ( string host, string port, string options, string tty, string dbname ) Retorna un identificador de enlace persistente, o FALSE si se produce un error. Si se trata de realizar pg_pconnect a una conexión ya Abierta, no la vuelve a abrir sino se conecta a la misma.

CERRADO DE CONEXIONES (L5) EVITAR SOBRECARGA EN LA BASE DE DATOS pg_close -- cierra el enlace con PostgreSQL Descripción bool pg_close ( [int identificador_de_enlace] )

SELECCIONANDO BASE DE DATOS A TRABAJAR (L6) EN POSTGRESQL LAS CONEXIONES SE EFECTÚAN CON BASES DE DATOS Y NO CON SERVIDOR POR LO GENERAL SE DISEÑA UNA BASE DE DATOS CON VARIOS ESQUEMAS

COMANDO DE CONSULTA (L6) pg_query -- Realiza una consulta de PosgreSQL TAMBIÉN SE PUEDE UTILIZAR pg_select Descripción resource pg_query ( [conexión], string consulta [, resource identificador_de_enlace] )

PARÁMETROS COMANDO DE CONSULTA (L6) consulta, es un comando en sintáxis PostgreSQL bien sea de DDL o DML SELECT, UPDATE, INSERT, DELETE LA CONSULTA NO DEBE TERMINAR CON PUNTO Y COMA

OBTENIENDO DATOS DE LA CONSULTA (1/4) (L7) EN EL CASO DE UN SELECT pg_num_rows() indica cuantas filas (registros) fueron obtenidos por una instrucción SELECT PARA OBTENER LOS CAMPOS DE LOS REGISTROS SE DEBE UTILIZAR pg_fetch_array() LA CUAL DEVUELVE EN UN ARREGLO (CUYAS CLAVES SON LAS COLUMNAS DE LA CONSULTA) LOS CAMPOS EN EL CASO DE UN INSERT, DELETE o UPDATE pg_affected_rows() indica el número de Filas (registros) afectados

OBTENIENDO DATOS DE LA CONSULTA(2/4) (L7) $resultado = pg_query ( SELECT * FROM Empleados ); pg_query DEVUELVE UN RESULTSET $ne = pg_num_rows($resultado) ; for ($i = 0; $i < $ne; $i++) { $fila = pg_fetch_array($resultado); $nombre = $fila[ nombre ]; $sueldo = $fila[ sueldo ]; }

OBTENIENDO DATOS DE LA CONSULTA(3/4) (L7) pg_fetch_row($resultado) DEVUELVE UN ARREGLO ENUMERADO $ne = pg_num_rows($resultado) ; for ($i = 0; $i < $ne; $i++) { $fila = pg_fetch_row($resultado,$i); $nombre = $fila[0]; $sueldo = $file[1]; }

OBTENIENDO DATOS DE LA CONSULTA(4/4) (L7) pg_fetch_object($resultado) DEVUELVE UN OBJETO $ne = pg_num_rows($resultado) ; for ($i = 0; $i < $ne; $i++) { $fila = pg_fetch_object($resultado,$i); $nombre = $fila->nombre; $sueldo = $fila->sueldo; }

COMANDOS INSERT, UPDATE (1/2) (L7) RECORDAR LLENAR LOS CAMPOS CON addslashes ANTES DE ENVIAR A LA BASE DE DATOS RECORDAR CONVERTIR LOS TIPOS DE ACUERDO CON LA DEFINICIÓN EN LAS TABLAS doubleval() intval()

COMANDOS INSERT, UPDATE (2/2) (L7) $nombre = addslashes( Gala ); $sueldo = doubleval( 1000000 ); $comando = INSERT INTO Empleados VALUES (. $nombre.,.$sueldo. ) ; $resultado = $pg_query($comando); $nr = $pg_affected_rows()

MOSTRANDO RESULTADOS (L8) UNA VEZ ALMACENADOS EN VARIABLES PHP, IGUAL A CUALQUIER SCRIPT RECORDAR stripslashes COMBINAR TEXTO HTML CON RESULTADOS DE CONSULTAS O COMANDOS POSTGRESQL DENTRO DE PHP

COMANDOS EMBEBIDOS (L9) EJECUCIÓN DE FUNCIONES DE POSTGRESQL COMO CUALQUIER OTRA FUNCIÓN ESTILO PROGRAMACIÓN DE CURSORES SOPORTE NATURAL, DIRECTO EN PHP

FUNCIONES POSTGRESQL, INSTALACIÓN (L10) COMPILAR PHP CON SOPORTE POSTGRESQL OPCIÓN DE CONFIGURACIÓN --with-pgsql[=dir], EN PHP 4, LA OPCIÓN --with-pgsql NO ESTA HABILIDATA POR DEFECTO DESHABILITAR, OPCIÓN DE CONFIGURACIÓN --withoutpgsql.

OPCIONES CONFIGURACIÓN postgresql (L10) pgsql.allow_persistent pgsql.max_persistent pgsql.max_links pgsql.auto_reset_persistent pgsql.ignore_notice pgsql.log_notice

LISTA DE FUNCIONES (1/3) (L10) pg_affected_rows -- Obtiene el número de registros afectadas de la última operación PostgreSQL pg_close -- cierra el enlace con PostgreSQL pg_connect -- abre la conexión a un servidor PostgreSQL pg_db_query -- Envia un comando PostgreSQL al servidor

LISTA DE FUNCIONES (2/3) (L10) pg_last_error Texto del último mensaje de error pg_fetch_array -- Resultado consulta (registro) como una matriz asociativa, una matriz numérica o ambas pg_fetch_assoc -- Resultado consulta (registro) como una matriz asociativa pg_fetch_object -- Resultado consulta (registro) como un objeto pg_fetch_row -- Resultado consulta (registro) como una matriz con índices numéricos

LISTA DE FUNCIONES (3/3) (L10) pg_num_fields -- devuelve el número de campos de un resultado pg_num_rows -- Devuelve el número de filas de un resultado pg_pconnect -- Abre una conexión persistente al servidor PostgreSQL pg_query -- Envía una consulta de PostgreSQL pg_result -- Devuelve datos de un resultado

SEGURIDAD EN BASES DE DATOS WEB (L11) USUARIOS WEB, NO DEBERÍAN TENER PERMISOLOGÍA GRANT SELECT PARA TABLAS DE CATÁLOGOS INSERT PARA TABLAS DE ÓRDENES DE COMPRAS VALIDAR TODOS LOS DATOS ANTES DE EJECUTAR LOS COMANDOS postgresql SSL CUANDO SE TRANSMITAN PASSWORDS

PHPLIB (L12) NO FORMA PARTE DE PHP LIBRERÍA DE REUTILIZACIÓN PARA APLICACIONES WEB CON BASE DE DATOS DESARROLLADA EN ALEMANIA TRABAJA CON MYSQL Y POSTGRES

MODELO DE ABSTRACCIÓN DE DATOS (L13) SEPARACIÓN CAPA DE DATOS DE LA LÓGICA DEL NEGOCIO Y DE LA PRESENTACIÓN FUNCIONES (API) QUE ENCAPSULAN EN MANEJADOR CAMBIOS INMEDIATOS AL CAMBIAR LA BASE DE DATOS PROGRAMADORES WEB NO DEBERÍAN CONOCER TECNOLOGÍA ASOCIADA

CAPA DE DATOS (L13) DETALLES DE MANEJADOR SOPORTE MÚLTIPLES MANEJADORES VS. TECNOLOGÍA ODBC PHP SOPORTA LA MAYORÍA DE LOS MANEJADORES COMERCIALES