vAplicación parte 1

11
Yan David Burbano Amariles Ingeniero de Sistemas www.davidamariles.com EJEMPLO DESARROLLO DE UNA APLICACIÓN CON PHP En esta oportunidad comenzaremos un ejemplo que será muy cercano a todo el proceso de desarrollo de una aplicación. La aplicación que desarrollaremos será la siguiente: Descripción Proyecto La empresa ABC se dedica a la compra y venta de celulares y televisores. Para ello tiene empleados que se encargan de realizar todo el proceso de registro y gestión en general de la compra de celulares y televisores. El gerente quiere tener una aplicación que le permita tener un control sobre su negocio. Él quiere que su aplicación le permita tener control sobre los asesores de ventas o empleados que se encargan a su vez de gestionar todo lo concerniente a un teléfono móvil y televisores. El gerente quiere ver reportes y quiere que su aplicación sea para plataformas web. Análisis Tomando en cuenta el caso anterior y después de haberme reunido con el gerente decidí crear la aplicación. Para ello lo primero que haré es crear todo el diseño y configuración de la base de datos. Iniciare como primer paso el servidor de aplicaciones con EasyPHP. Luego accederé al servidor por medio del localhost Daré clic en el icono de la casa. Y seguidamente clic en open para ir a mi base de datos.

description

Curso programacion con PHP

Transcript of vAplicación parte 1

Page 1: vAplicación parte 1

Yan David Burbano Amariles Ingeniero de Sistemas www.davidamariles.com EJEMPLO DESARROLLO DE UNA APLICACIÓN CON PHP En esta oportunidad comenzaremos un ejemplo que será muy cercano a todo el proceso de desarrollo de una aplicación. La aplicación que desarrollaremos será la siguiente: Descripción Proyecto La empresa ABC se dedica a la compra y venta de celulares y televisores. Para ello tiene empleados que se encargan de realizar todo el proceso de registro y gestión en general de la compra de celulares y televisores. El gerente quiere tener una aplicación que le permita tener un control sobre su negocio. Él quiere que su aplicación le permita tener control sobre los asesores de ventas o empleados que se encargan a su vez de gestionar todo lo concerniente a un teléfono móvil y televisores. El gerente quiere ver reportes y quiere que su aplicación sea para plataformas web. Análisis Tomando en cuenta el caso anterior y después de haberme reunido con el gerente decidí crear la aplicación. Para ello lo primero que haré es crear todo el diseño y configuración de la base de datos. Iniciare como primer paso el servidor de aplicaciones con EasyPHP.

Luego accederé al servidor por medio del localhost

Daré clic en el icono de la casa. Y seguidamente clic en open para ir a mi base de datos.

Page 2: vAplicación parte 1

Yan David Burbano Amariles Ingeniero de Sistemas www.davidamariles.com

Nos abre la pantalla de phpmyadmin donde crearemos la base de datos y las respectivas tablas. Lo primero que haremos y antes de cualquier cosa es crear todas las tablas de la base de datos. Tomando en cuenta la descripción del proyecto se me ocurre crear las siguientes tablas:

1. Empleado 2. Televisor 3. Celular 4. Administrador 5. Perfil

De las tablas anteriormente nombradas solo el empleado y el administrador tendrán la posibilidad de ingresar al sistema por medio de un login y un password. Le definiremos los atributos a cada tabla:

Tomando como referencia este prediseño vamos a crear nuestra base de datos con el Sistema Gestor de Base de Datos MySQL. Vamos a nuestro phpmyadmin que habíamos abierto previamente.

Page 3: vAplicación parte 1

Yan David Burbano Amariles Ingeniero de Sistemas www.davidamariles.com

Clic en Base de datos. Le colocamos el nombre y presionamos crear

La buscamos en la base de datos que nos aparece para dar clic y poder empezar a trabajar en ella.

Y comenzamos a crear todas las tablas que requerimos en nuestro proyecto tomando como base mi prediseño anterior. Comenzaremos creando la tabla perfil.

Page 4: vAplicación parte 1

Yan David Burbano Amariles Ingeniero de Sistemas www.davidamariles.com

Luego creamos la tabla empleado que tiene 6 campos y no tendrá para este ejemplo campos autoincrementables ya que la cedula hará las veces de llave primaria.

Seguimos con la tabla administrador.

Y terminamos creando las tablas televisor y celular. Estas dos si tienen una llave primaria autoincrementable. Televisor

Page 5: vAplicación parte 1

Yan David Burbano Amariles Ingeniero de Sistemas www.davidamariles.com Celular

Tomando en cuenta esto que acabo de hacer ya tengo mi base de datos creadas con las tablas.

Solo me falta la definir la llave foránea para la tabla administrador y la tabla empleado que tienen un campo llamado perfil que es la llave foránea que me conectará con la tabla que también se llama perfil. Para ello vamos a la tabla empleado. A la estructura. Damos clic en el campo perfil que es la llave foránea ya que ella me comunicará con el código de la tabla perfil.

Page 6: vAplicación parte 1

Yan David Burbano Amariles Ingeniero de Sistemas www.davidamariles.com

Y damos clic en OK. Hacemos el mismo proceso con la tabla Administrador. Ahora vamos a dar clic en la opción SQL que me permite ingresar código SQL.

Y agregaremos estas sentencias que me permiten generar las relaciones de mis tablas empleado y administrador con la tabla perfil.

Page 7: vAplicación parte 1

Yan David Burbano Amariles Ingeniero de Sistemas www.davidamariles.com

Esto quiere decir que mi campo en la tabla empleado que se llama perfil y que acabo de definir como llave foránea hace referencia al campo llamado código de mi tabla perfil. De esta manera conecto mi tabla perfil con mi tabla empleado. Ahora hago el mismo proceso con la tabla administrador.

Y en ambos casos presionamos continuar. Ahora voy a agregar de forma manual los perfiles que existirían para mi aplicación. Clic en la tabla perfil y luego en insertar.

Page 8: vAplicación parte 1

Yan David Burbano Amariles Ingeniero de Sistemas www.davidamariles.com

Y doy clic en el continuar que está en la parte inferior de la imagen. Reviso que los datos si hayan sido registrados.

Con esto ya quedará totalmente lista nuestra configuración de las tablas para nuestro proyecto de software.

Page 9: vAplicación parte 1

Yan David Burbano Amariles Ingeniero de Sistemas www.davidamariles.com El script completo de esta base de datos es el siguiente: -- phpMyAdmin SQL Dump -- version 4.1.4 -- http://www.phpmyadmin.net -- -- Servidor: 127.0.0.1 -- Tiempo de generación: 17-09-2014 a las 07:57:59 -- Versión del servidor: 5.6.15-log -- Versión de PHP: 5.4.24 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -- -- Base de datos: `databasetienda` -- -- -------------------------------------------------------- -- -- Estructura de tabla para la tabla `administrador` -- CREATE TABLE IF NOT EXISTS `administrador` ( `cedula` int(100) NOT NULL, `nombre` varchar(200) COLLATE utf8mb4_spanish_ci NOT NULL, `email` varchar(200) COLLATE utf8mb4_spanish_ci NOT NULL, `usuario` varchar(200) COLLATE utf8mb4_spanish_ci NOT NULL, `password` varchar(200) COLLATE utf8mb4_spanish_ci NOT NULL, `perfil` int(100) NOT NULL, PRIMARY KEY (`cedula`), KEY `perfil` (`perfil`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish_ci; -- -------------------------------------------------------- -- -- Estructura de tabla para la tabla `celular` -- CREATE TABLE IF NOT EXISTS `celular` ( `codigo` int(100) NOT NULL AUTO_INCREMENT, `marca` varchar(200) COLLATE utf8mb4_spanish_ci NOT NULL, `tamano` varchar(200) COLLATE utf8mb4_spanish_ci NOT NULL, `color` varchar(200) COLLATE utf8mb4_spanish_ci NOT NULL, `descripcion` varchar(200) COLLATE utf8mb4_spanish_ci NOT NULL, PRIMARY KEY (`codigo`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish_ci AUTO_INCREMENT=1 ; -- --------------------------------------------------------

Page 10: vAplicación parte 1

Yan David Burbano Amariles Ingeniero de Sistemas www.davidamariles.com -- -- Estructura de tabla para la tabla `empleado` -- CREATE TABLE IF NOT EXISTS `empleado` ( `cedula` int(100) NOT NULL, `nombre` varchar(200) COLLATE utf8mb4_spanish_ci NOT NULL, `email` varchar(200) COLLATE utf8mb4_spanish_ci NOT NULL, `usuario` varchar(200) COLLATE utf8mb4_spanish_ci NOT NULL, `password` varchar(200) COLLATE utf8mb4_spanish_ci NOT NULL, `perfil` int(100) NOT NULL, PRIMARY KEY (`cedula`), KEY `perfil` (`perfil`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish_ci; -- -------------------------------------------------------- -- -- Estructura de tabla para la tabla `perfil` -- CREATE TABLE IF NOT EXISTS `perfil` ( `codigo` int(100) NOT NULL AUTO_INCREMENT, `descripcion` varchar(200) COLLATE utf8mb4_spanish_ci NOT NULL, PRIMARY KEY (`codigo`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish_ci AUTO_INCREMENT=1002 ; -- -- Volcado de datos para la tabla `perfil` -- INSERT INTO `perfil` (`codigo`, `descripcion`) VALUES (1000, 'Empleado'), (1001, 'Administrador'); -- -------------------------------------------------------- -- -- Estructura de tabla para la tabla `televisor` -- CREATE TABLE IF NOT EXISTS `televisor` ( `codigo` int(100) NOT NULL AUTO_INCREMENT, `marca` varchar(200) COLLATE utf8mb4_spanish_ci NOT NULL, `tamano` varchar(200) COLLATE utf8mb4_spanish_ci NOT NULL, `color` varchar(200) COLLATE utf8mb4_spanish_ci NOT NULL, `descripcion` varchar(200) COLLATE utf8mb4_spanish_ci NOT NULL, PRIMARY KEY (`codigo`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish_ci AUTO_INCREMENT=1 ;

Page 11: vAplicación parte 1

Yan David Burbano Amariles Ingeniero de Sistemas www.davidamariles.com -- -- Restricciones para tablas volcadas -- -- -- Filtros para la tabla `administrador` -- ALTER TABLE `administrador` ADD CONSTRAINT `administrador_ibfk_1` FOREIGN KEY (`perfil`) REFERENCES `perfil` (`codigo`); -- -- Filtros para la tabla `empleado` -- ALTER TABLE `empleado` ADD CONSTRAINT `empleado_ibfk_1` FOREIGN KEY (`perfil`) REFERENCES `perfil` (`codigo`); /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

En el próximo post seguiremos con el desarrollo del proyecto, lo que haremos es pensar que pantallas necesitamos y que clases debemos crear, ya que nuestra aplicación se desarrollará bajo el paradigma de programación orientada a objetos.