Está en la página 1de 12

Base de datos de un mdulo de venta

Publicado el Jueves 10 de mayo de 2007 a las 14:21:44 por julesh430 Votar: 1 voto, 40% Lecturas: 4,387 INTRODUCCIN

Las bases de datos han tenido una gran acogida en lasociedad actual, ya que permiten organizar informacin, ya sea de personas,objetos simplemente cualquier tipo de entidad que se pueda convertir eninformacin. Es por ello mismo que han tenido una acogida tan grande alrededordel mundo, ya que permiten tener registro de cualquier tipo de informacin quehaya pasado por el sistema de base de datos, adems de permitir consultar lainformacin y tener conocimiento de los usuarios, tanto en sus datos comonombre, nmero de identificacin y telfono hasta las actividades que stospueden realizar en el sistema de bases de datos. Adems de esto, la implementacin del lenguaje SQL quemediante querys consultas, permite tener acceso a las bases de datosrelacionales especificando los tipos de operaciones a realizar sobre lasmismas, que con su interoperabilidad conPHP ha permitido crear pginas web dinmicas que sirven de interfaces para elusuario, permitiendo una comunicacin transparente de los actores con el sistema de bases de datos.
LMITES DEL SISTEMA Y ROLES DEUSUARIO

Primero hay que definir las fronteras de la base dedatos, esto se hace con el fin de que informacin ajena al sistema seaintroducida, y por ende no tendra uso alguno. En el desarrollo de la siguientebase de datos, se mostrar el desarrollo del mdulo de ventas para unSupermercado, en donde se tienen que identificar las diferentes operaciones.Como el sistema se compone principalmente en el mdulo de ventas, se debendefinir como primera parte los diferentes usuarios que harn parte del sistema. Aunque solamente se trabaja con un tipo de usuario el sistema, se puedenimplementar otros usuarios obviamente especificando las clases de privilegios.Por ejemplo actualmente el sistema trabaja con un nico rol de administrador,pero en un futuro se podran implementar diferentes usuarios como Empleado Cliente, permitiendo que el empleado haga las ventas a los clientes generandouna factura, y el cliente hacer compras, pero limitados solamente a hacer stasactividades. El rol de Administrador pose toda cantidad de privilegios, comopor ejemplo agregar clientes, proveedores y productos,

adems de realizaroperaciones como las de hacer compras y generar facturas. Es muy importante definir los tipos de usuario, ya questos mismos hablan de las fronteras del sistema. Por ejemplo, en un mdulo deventas, no pueden haber usuarios de contabilidad, aunque s haya manejo dedinero de por medio, lo nico que se maneja en ste mdulo es lo que hay encaja y los productos disponibles con sus respectivos precios. Aunque lainformacin resultante de ste mdulo luego ser utilizada en otros, no quieredecir que todos los mdulos puedan manejarse en uno slo.

ANLISIS Y DISEO

Antes de crear el cdigo de la base de datos, esnecesario ver las diferentes entidades que se van a ver relacionadas en elSistema final. Un mdulo de Ventas simple se compone de las siguientesentidades convertidas en clases: - Producto:Indispensable parasaber lo que hay en stock. Contiene informacin necesaria de los productos comoun cdigo, nombre y precio de compra a proveedor y precio de venta al pblicoentre otros. - Proveedor:Se trata simplementede los diferentes contactos (usuarios o empresas) que surten el stock. Secompone de datos como identificacin, nombre y telfono entre otros comocualquier otro usuario. - Cliente:bsicamente se trata dequien compra los productos. A simple vista podra ser irrelevante, pero elcliente es necesario ingresarlo al sistema, ya que en futuras compras, o sernecesario redundar datos. Se compone de datos como identificacin, nombre ytelfono entre otros como cualquier otro usuario. - Descuento:es una tablaespecial, y permite saber el precio real de la compra en el momento de hacer lafactura. De acuerdo al tipo de producto, se sabr si hay descuento o no, y silo hay el porcentaje del descuento sobre el valor del producto. - Detalle:consiste en una tabladedicada a hacer la operacin previo de la factura. Consiste en saber lacantidad de productos y la especificacin de los mismos, con el fin de llevarsta informacin a la factura, y hacer la suma total de los precios.

Ya sabiendo cuales son los actores principales de labase de datos, es posible crear las tablas en el lenguaje de programacin PHP.Pero antes de hacerlo, se pude utilizar una herramienta muy til que permitesaber la importacioncita y cardinalidad de las diferentes llaves forneas quecompondran las diferentes tablas, sta utilidad se llama el Modelo Entidadrelacin. De sta forma es posible saber cmo actan unas tablas sobre otras ycul es la influencia de la informacin de unas sobre otras, as mismo lasoperaciones que pueden surgir dentro del sistema.

Ahora es posible saber la composicin de las tablasdel Sistema de Bases de datos, utilizando el modelo relacional, el cual indicacmo se disponen las llaves forneas entre tablas dando a conocer cmo ser elflujo de informacin entre entidades.

Es as que de sta manera ya se puede crear la base dedatos. Aqu dejo el Script en el cual se encuentra la sintaxis correcta paracrear la base de datos, en ste solamente se utiliza la sentencia simple CREATETABLE de SQL, al igual que FOREIGN KEY para indicar el campo de la tabla de laque viene la llave fornea y REFERENCES para indicar la tabla de la queproviene la llave fornea. NOT NULL indica que el campo no puede encontrarsevaco.

CREATE TABLE`Cliente` ( `ced_cli` VARCHAR( 10) NOT NULL , `nom_cli` VARCHAR( 30) NOT NULL , `ape_cli` VARCHAR( 30) NOT NULL , `tel_cli` VARCHAR( 10) NOT NULL , `dir_cli` VARCHAR( 30) NOT NULL , `mai_cli` VARCHAR( 30) NOT NULL , `pts_cli` INT( 6 )NOT NULL , PRIMARY KEY (`ced_cli` ) ) ENGINE = MYISAM ; CREATE TABLE`proveedor` ( `nit_prov` VARCHAR(10 ) NOT NULL , `nom_prov` VARCHAR(30 ) NOT NULL , `ape_prov` VARCHAR(30 ) NOT NULL , `tel_prov` VARCHAR(10 ) NOT NULL , `dir_prov` VARCHAR(30 ) NOT NULL , `mai_prov` VARCHAR(30 ) NOT NULL , `tip_prov` varchar(20 ) NOT NULL , PRIMARY KEY (`nit_prov` ) ) ENGINE = MYISAM ; CREATE TABLE`Descuento` ( `cod_des` VARCHAR( 10) NOT NULL , `nom_des` VARCHAR( 20) NOT NULL , `val_des` FLOAT( 2 )NOT NULL ,

`ini_des` DATE NOTNULL , `fin_des` DATE NOTNULL , `tip_pro_des`VARCHAR( 20 ) NOT NULL , PRIMARY KEY (`cod_des` ) ) ENGINE = MYISAM ; CREATE TABLE`productos` ( `id_pro` VARCHAR( 10) NOT NULL , `nom_pro` VARCHAR( 30) NOT NULL , `val_com_pro` FLOAT(8 ) NOT NULL , `val_ven_pro` FLOAT(8 ) NOT NULL , `fec_ent_pro` DATENOT NULL , `fec_sal_pro` DATENOT NULL , `can_pro` INT( 5 )NOT NULL , `tip_pro` VARCHAR( 20) NOT NULL , `cod_des` VARCHAR( 10) NOT NULL , `nit_prov` VARCHAR(10 ) NOT NULL , FOREIGN KEY (`cod_des` ) REFERENCES `descuento` ( `cod_des` ) , FOREIGN KEY (`nit_prov` ) REFERENCES `proveedor` ( `nit_prov` ) , PRIMARY KEY (`id_pro` ) ); CREATE TABLE`factura` ( `num_fac` INT( 10 )NOT NULL AUTO_INCREMENT, `fec_fac` DATE NOTNULL , `ced_cli` VARCHAR( 30) NOT NULL ,

`val_tot_fac` FLOAT(6 ) , `iva_fac` FLOAT( 6 ), FOREIGN KEY (`ced_cli` ) REFERENCES `cliente` ( `ced_cli` ) , PRIMARY KEY (`num_fac` ) ); CREATE TABLE`detalle` ( `val_pro_det` FLOAT(8 ) NOT NULL , `id_pro` VARCHAR( 10) NOT NULL , `num_fac` INT( 10 )NOT NULL , `can_pro_det` INT( 3) NOT NULL , FOREIGN KEY (`id_pro` ) REFERENCES `productos` ( `id_pro` ) , FOREIGN KEY (`num_fac` ) REFERENCES `factura` ( `num_fac` ) );

INTERFACES

Las interfaces sonuna parte primordial para elaborar un sistema de bases de datos, ya que dan aconocer al usuario final el medio por el cual pueden ingresar, consultar,editar y eliminar datos. Es importante que la interfaz sea agradable y msimportante que todo, que sea fcil de usar para el usuario. Esto se puedelograr usando mens desplegables. Cada men tiene las diferentes tablas antes creadas en la base de datos, aexcepcin de descuento, detalle y factura que se resumen en la accin derealizar la compra. Adems los campos detexto para insertar deben asegurar la integridad de la base de datos. Merefiero a que si es un campo donde slo se deben insertar nmeros como porejemplo el costo de un producto, se campo de precio slo puede aceptarnmeros no letras. Esto se puede lograrmediante JavaScript, en donde dependiendo de cada campo, se ponen lasexcepiones y restricciones para

el campo de texto: function validar(e) { tecla =(document.all) ? e.keyCode : e.which; if (tecla==8) return true; patron =/[d]/; te = String.fromCharCode(tecla); return patron.test(te); } Lo que hace elanterior script es que por medio de unafuncin, se evite que desde el teclado se inserten letras dadas por el patrn /[d]/, si se quiereevitar que se inserten nmeros y se inserten slo letra se cambia el patrn/[D]/. Este es un truco muy til para que no se vaya a quebrantar laintegridad del sistema de bases de datos. A continuacin semuestra una interfaz de acuerdo a lo mencionado:

CONSULTAS

Para la creacin delas consultas es necesario tener en cuenta que se debe mostrar informacinimportante, o por lo menos datos clave para saber acera de un objeto de la basede datos. Para ello se pueden hacer consultas globales o especficas. Unaconsulta global lo que hace es mostrar toda la informacin concerniente a unatabla stas consultas son especialmente hechas para el administrados, ya quepuede saber de todos los usuarios u otras entidades que se

hayan registrado.Una consulta especfica, permite mediante un dato inicial como nombre nmerode identificacin mostrar informacin especfica de la informacin buscada en una tabla. En el sistema debases de datos del mdulo de ventas, se utilizaron consultas generales para Administrador por medio de un GRID. Un GRID es muy til para consultar ymodificar informacin de los usuarios, productos y proveedores. Consistesimplemente en un mdulo hecho en AJAX el cual se conecta a la base de datos mostrando toda la informacin correspondientea una tabla. Esta GRID fue desarrollada por el equipo Senza Limiti, y puede serdescargada de la siguiente pgina: www.senzalimiti.sk/slgrid/ Al implementar la GRID se pueden ver la utilidad que tiene, ya que se pueden editar los datos,sin necesidad de hacer consultas especficas para ir a buscar los datos(Obviamente sin desmeritar este tipo de consultas) los siguientes resultados:

La GRID o grilla esuna herramienta para facilitar las consultas, adems de adjuntar las funcionesde edicin, modificacin y eliminacin de elementos de una tabla.

COMPRA

Para hacer el mdulo de compra ya se mostraron lasdiferentes tablas necesitadas para el proceso. Pero la parte ms importante endonde todas las entidades se ven relacionadas, es la realizacin de la compra yla generacin de la factura. Primero es necesario generar el detallede compra,que es cuando el cliente escoge los productos y la cantidad a llevar de losmismos.

Despus de escoger los productos mediante el detallede la factura, ya se puede generar la factura para el usuario mediante lacedula del mismo.

Espero que el artculo haya sido claro y pueda ser de ayuda para aquellos que estn haciendo una base de datos basada en un mdulo de ventas, ya que todo esto se baso en una experiencia real

También podría gustarte