Vistas a la página totales

lunes, 10 de octubre de 2016

PASO 1 PLANTEAMIENTO DEL PROBLEMA

El proceso de creación de una base de datos comienza guiándonos bajo ciertas reglas y normas que el cliente (persona u organización) deseen, generalmente llamadas Reglas de Negocio que son prácticamente aquellas reglas, restricciones, procesos, necesidades y requerimientos impuestos por los usuarios o administradores de la Base de Datos.

Pero antes de comenzar tenemos que entender algunos conceptos básicos para que no tengamos complicaciones en el transcurso de la explicacion:

Entidad: una entidad es la representación de un objeto del mundo real que se describe en una base de datos.

Atributo: se representa como atributo a las características que constituyen y que son de interés en una entidad por ej.: “Profesor” (el cual es la entidad) puede tener como atributos: nombre, apellido, Fecha de nacimiento, etc.

Relación: en una o más entidades la relación es una descripción sobre alguna interacción entre ellas mismas.

Caso Practico

Para poner en practica lo anterior aprendido utilizaremos un caso practico sencillo, el cual nos ayudara a afinar y a comprender cada uno de los conceptos, abrirá nuestra mente al análisis detallista en el cual deberemos identificar lo que necesitaremos para darnos a la tarea de crear una base de datos.

Leamos el siguiente planteamiento del problema propuesto:


La Empresa, S.A. ha contratado nuestros servicios para que creemos la base de datos llamada FACTURACION que sera implementada en ella para un mejor control de  inventarios, compras y ventas de producto que se efectúan en cada sucursal. Mediante el control de la existencia por productos  y teniendo en cuenta que estos se almacenan en diferentes bodegas con la opción de que se cambie la ubicación de los productos a otras bodegas de lo que también se llevara registro de ello, adicionalmente se tendrá que contar con los cálculos de los máximos y mínimos de existencias, el punto re-orden y la existencia actual por bodega , la información de cada producto constara ademas de su código, el costo, la cantidad total que se encuentra disponible, entre otros aspectos que se consideren necesarios. Se requiere también que se identifique el proveedor correspondiente a cada producto.

Por otra parte, también se quiere tener registro de los clientes que hay por sucursal que sera utilizado también para los registros de facturas que se hagan por sucursal y por cliente teniendo en cuenta que estas pueden ser créditos fiscales, factura consumidor final, factura de importación, entre otros, en la especificación de los productos a vender dentro de una factura, se especifica en ella de que bodega se descargará la existencia y el precio de estos que sera determinado por el registro de nivel de precios.

Del caso anterior tenemos que deducir cuales serán las entidades (tablas) que se crearan para satisfacer las necesidades planteadas. Para poder identificarlas tenemos que comprender muy bien los que se nos pide, es de mucha ayuda que mientras se comienza a leer se escriban o se hagan apuntes de lo relevante que sobresalga en el texto.


IDENTIFICACIÓN DE ENTIDADES Y ATRIBUTOS

Recordemos que una Entidad es aquello que represente un objeto del mundo real y por lo tanto posee características que lo describan. 


--Un ejemplo claro dentro del texto anterior es la identificación de que lo que se necesita es llevar un registro de facturas, la cual requiere de ciertos datos que describan a una factura como lo son:


*numero de factura

*tipo de documento
*nombre del cliente
*dirección del cliente
*total a pagar
*total impuesto
*fecha
*etc...

De esta forma deducimos que FACTURA es una entidad y por lo tanto pasara a formar parte de nuestra base de datos.


--También nos damos cuenta que la empresa necesita llevar registro sobre los artículos que tiene en bodega, primeramente sabemos que un articulo esta descrito por las siguientes características:


*código de articulo

*descripción del articulo
*costo
*tipo
*etc...

Y así es como añadiremos la entidad ARTICULO a la lista de entidades de nuestra base de datos.


--Identificaremos también que la empresa necesita llevar el control de clientes por sucursal, tenemos que clientes esta descrito por las siguientes características:

*nombre del cliente
*teléfono
*edad
*dirección
*etc...

y también sabemos que las sucursales tiene características propias que las describen, entre las que están:

*numero de sucursal
*descripción de sucursal
*teléfono
*etc...

Agregaremos CLIENTE y SUCURSAL como entidades. 

Y así sucesivamente nos daremos a la tarea de identificar cada una de las Entidades necesarias y adecuadas que conformaran la estructura de nuestra base de datos, es un trabajo algo tedioso pero con la practica, se incrementara nuestra capacidad de identificarlas mas fácilmente. Es así como tenemos la lista de todas la entidades que compondrán nuestra base de datos:

**PROVEEDOR
**TBLBODEGA
**TBLCLIENTE
**TBLFACTURA
**TBLFACTURALINEA
**TBLNIVELPRECIO
**TBLTIPODEDOCUEMENTO
**TBLTRANSINVENTARIO
**TLBARTICULO
**TBLSUCURSAL

Nótese que agregamos "TBL" al principio de cada nombre de las entidades haciendo referencia a "TABLA" y que el nombre de las entidades esta escrito en singular, por cuestiones de estandarización se utiliza esta forma que es la mas correcta y hará que nuestro trabajo sea mas profesional.

Ademas de todo eso, también identificaremos las características ó ATRIBUTOS de cada una así como lo hicimos anteriormente.

NORMALIZACIÓN

Como parte del proceso de diseño de una base de datos, entra en juego otro procesos importante que no ayudara a establecer algunas restricciones y estándares en ella.


Hay que comprender un nuevo concepto llamado Normalización, el cual se define de la siguiente manera:

La normalizacion es el proceso de organizar los datos de una base de datos. Se incluye la creación de tablas y el establecimiento de relaciones entre ella según las reglas diseñadas tanto para proteger los datos como para hacer que la base de datos sea mas flexible el eliminar la redundancia y las dependencias incoherentes.

En otras palabras la normalización es el proceso de simplificación de una base de datos que ayudara a obtener los mejores resultados de ella.

Existen una serie de reglas establecidas denominadas "FORMAS NORMALES" (FN) para poder obtener esos resultados, las que se numeran de la siguiente manera: 1FN, 2FN, 3FN, FNBC, 4FN, 5FN. Pero para nuestro caso solo se aplicaran las primeras 3 de ellas descritas por una serie de normas en cada una así:

---Primera forma normal (1FN)

*-Elimine los grupos repetidos de las tablas individuales.
*-Cree una tabla independiente para cada conjunto de datos relacionados.
*-Identifique cada conjunto de datos relacionados con una clave principal.

Para describir de manera simple esta primera forma, usaremos un ejemplo muy sencillo, pensemos en los datos de un CLIENTE, y usemos el campo DIRECCIÓN, sabemos por simple determinación que una dirección esta conformada por el país, departamento (ó provincia), ciudad, colonia, calle, numero de casa; por lo tanto si nos damos cuenta cada uno de estos posee características que lo describen a cada uno asi:

PAÍS esta compuesto por ====> CÓDIGO DE PAÍS y NOMBRE DE PAÍS.

PROVINCIA esta compuesto por ====> CÓDIGO DE PROVINCIA y NOMBRE DE PROVINCIA.

CIUDAD esta compuesta por ====> CÓDIGO DE PROVINCIA y NOMBRE DE PROVINCIA.

COLONIA esta compuesta por ====> CÓDIGO DE CIUDAD y NOMBRE DE CIUDAD.

Por lo tanto estas pasaran a convertirse en nuevas Tablas que se relacionaran entre si, con respecto a calle y numero de casa estos si serán datos propios del cliente, y se preguntaran ¿porque?, es simple, es porque estos si serán datos propios del clientes, y se identificara de los demás con el complemento de las otras partes de la DIRECCION, que es lo mismo que sucede con calle.

---Segunda forma normal (2FN)

*-Cree tablas independientes para conjuntos de valores que se apliquen a varios registros.

*-Relacione estas tablas con una clave externa.

Aplica que para cada Entidad deberá existir un campo que se convertirá en llave primaria y que la identificará de todas las demás, y que estrictamente deberá poseer un valor y este por ningún motivo podrá repetirse.

Ademas de eso se especifica que se deberá relacionar cada tabla que se relacionen cada tabla independiente para no perder información en la base de datos.


---Tercera forma normal (3FN)

*-Elimine los campos que no dependan de la clave.

*-Los valores de un registro que no sean parte de la clave de ese registro no pertenecen a la tabla. 


No hay comentarios.:

Publicar un comentario