Sie sind auf Seite 1von 14

BASES DE DATOS

AVANZADAS
Sesión 20 – Arquitecturas 3-tier
Arquitecturas 3-tier
 En los inicios de la era informática, se dice
que los programas eran monolíticos

Lógica
Pantallas
Datos

Programa.exe
Arquitecturas 3-tier
 Después se tuvo la necesidad de separar los
datos

Lógica
Pantallas SGBD

Programa.exe Clipper
Arquitecturas 3-tier
 Actualmente hay varias técnicas para separar
y/o organizar las aplicaciones
 Una de ellas es la programación por capas
 El objetivo primordial es la separación de:
 La lógica de negocios
 La lógica de presentación
 Los datos que necesitan persistir

 De este modo, equipos diferentes se pueden


dedicar a cada separación de manera
independiente
Arquitecturas 3-tier
 A cada separación se le llamará capa, o tier
 Debido a que son 3, se le conoce como
arquitectura 3-tier
 Capa de presentación
 Lo que vé el usuario
 comunica información
 Capa de negocio
 Donde reside toda la lógica
 Recibe las peticiones del usuario y las procesa
 Capa de datos
 Donde se almacena toda la información
Arquitecturas 3-tier

Negocio
SGBD

Presentación
Arquitecturas 3-tier

$factura- Select producto,


>crear(); precio from orden
where…

<html>
<body>
<table>
<tr><td>Cantidad</td>

</html>
Arquitecturas 3-tier
Interacción capa de negocio – capa de
datos
Interacción capa de negocio –
capa de datos
 En esta materia nos enfocaremos
especialmente en la capa de datos y su
interacción con la capa de negocio
 Hablando específicamente de PHP y MySQL:
 PHP y MySQL son 2 «aplicaciones» distintas
 PHP posee librerías para conectarse a MySQL

 Sin embargo MySQL ignora «quien» se conecta a


él
Interacción capa de negocio –
capa de datos
 Conectarse a MySQL
 mysql_connect();

 Seleccionar base de datos


 mysql_select_db();

 Ejecutar una consulta


 mysql_query();

 Obtener los resultados de una consulta


 mysql_fetch_array();
Interacción capa de negocio –
capa de datos
 Ejemplo de uso de conexión PHP y MySQL
(o lo que ya no deberían de hacer desde ahora)
<html>
<body>
<table>
<tr>
<td>Nombre</td>
<td>Paterno</td>
<td>Materno</td>
</tr>
<?php
mysql_connect ( 'localhost', 'user', 'password' );

mysql_select_db ( 'alumnos' );

$results = mysql_query ( 'select nombre, paterno, materno from alumnos order by paterno, materno, nombre' );

while ( ($row = mysql_fetch_array ( $results )) != FALSE ) {


echo <<<EOL
<tr><td>{$row[0]}</td><td>{$row[0]}</td><td>{$row[0]}</td></tr>
EOL;
}
?>
</table>
Interacción capa de negocio –
capa de datos
 Supongamos que como lo anterior, tenemos
cientos de archivos
 Que pasaría si…
 Cambiara el nombre de usuario/contraseña de la
base de datos
 Cambiara el nombre de la base de datos a la que
hay que conectarse
 O peor aún…
 Tuviéramos que migrar la aplicación para que use
otro SGBD
Interacción capa de negocio –
capa de datos
 El objetivo de las sesiones siguientes será
 Crear aplicaciones
 con clara separación de la capa de negocios con la
capa de datos
 cuya capa de datos sea independiente al SGBD
 cuyo uso de sentencias SQL sea lo menor posible
Ing. Miguel Angel Ibarra Romero
© 2011 Creative Commons Atribución-
NoComercial-Compartir Igual 2.5 México.
http://creativecommons.org/licenses/by-nc-
sa/2.5/mx/

Das könnte Ihnen auch gefallen