Base de dato: Facturacion

Se desea crear una base de datos llamada Facturacion, a travez de un diagrama relacional que permita a una empresa llevar el control de sus productos, de sus precios, de su existencia en bodega, de su inventario, de su Proveedor y de su cliente.

Los diagramas relacionales tienen tres niveles:
-Conceptual.
-Fisico.
-Logico.

El diagrama que se muestra en la imagen es un diagrama a nivel Conceptual es decir no esta normalizado ya que a nivel conceptual permite las relaciones de muchos a muchos, lo cual a nivel de Base de datos es una aberracion, por lo que se debe comprender que las entidades(tablas) no estan debidamente relacionadas.

Como ya conocemos la sintaxis para crear una base de datos se procede a lo siguiente:

create database Facturacion

Use Facturacion

Recordando que usamos la palabra reservado Use para trabajar sobre la base de datos recien creada, luego de esto se procede a insertar las Entidades(Tablas) a la base de datos.

Entidad/Tablas

Una entidad es un obejto que tiene existencia propia en el mundo real, es decir son aquellas que tienen caracteristicas(atributos) que le dan existencia propia en el mundo real, en el caso de la base de datos conoceremos las entidades como tablas a la cual le asignaremos su caracteristicas con su tipo de dato, el tipo de dato de un atributo debera ser estrictamente relacionado con lo que almacenaremos dentro de el, por ejemplo los tipos de datos pueden ser:

-Integer (int): Almacena un tipo de dato entero es decir solo numeros sin punto decimal.
-Varchar (20): Almacena datos de tipo cadena es decir palabras, nombres, direcciones entre otros el numero que lleva en el parentesis es la longitud es decir el tamaño que este tendra reservado.
-Float: Este tipo de dato almacena valores de numeros reales, es decir que tengan punto decimal.
-Date: Almacena el valor en formato de fecha.

Se debe tomar en cuenta que una entidad se representa como una tabla, el nombre de las entidades debe ir en singular porque tienen existencia propia.

Modelo Entidad-Relacion

Conociendo lo que es una entidad, procedemos a conocer lo que es una relacion.
Una relacion es el proceso que tienen en comun dos o mas entidades, es decir por ejemplo tenemos una entidad llamada Inventario y otra Proveedor ¿Cual seria la relacion entre ambas?, Iria de Inventario a Proveedor y de Proveedor a Inventario, donde de Inventario a Proveedor seria Inventario Solicita al Proveedor y de Proveedor a Inventario el Proveedor facilita al Inventario.

Partiendo de eso llegamos a lo que se conoce como Modelo-Entidad-Relacion, el cual permite mostrar en la vida real como estan relacionadas nuestras entidades, asi mismo el modelo tiene su propia simbologia donde:

-Se utiliza el rectagunlo para representar una entidad.
-Se utiliza un rombo para definir las relaciones.
-Se utiliza una linea recta que une las entidades con sus atributos.
-Se representa los atributos por medio de ovalos.
-Se utiliza una linea recta para establecer la union entre entidades y relaciones.



La sintaxis para la creacion de tablas es la siguiente:

Create table NombreTabla
(
           campo1 tipo_dato,
           campo2 tipo_dato,
           .
           .
           .
          campoN tipo_dato
);

Donde table tambien es una palabra reservada, dentro de los parentesis iran el numero de atributos que sean necesarios e importantes de nuestra entidad, al nombre de la tabla debe agregarse "tbl" por ejemplo: "tblArticulo, tblMateria, tblProveedor", los campos en cambio deben ir separados por una coma a excepcion del ultimo campo, se finaliza cerrando parentesis y punto y coma.

Dentro de la sintaxis de la creacion de las tablas, tambien definimos si acepta valores nulos o no nulos que quiere decir esto, que de aceptarse valores nulos se puede dejar algun campo vacio, pero si se restringe a no aceptar valores nulos, al dejar un campo con esta restriccion no permitira que quede vacio, la restriccion se realiza de la siguiente forma

 Create table NombreTabla
(
           campo1 tipo_dato not null,
);

De este modo le estamos diciendo al motor que restringa los valores nulos(vacios) en ese campo especifico.



1 comentario:

  1. Excelente! Nada más como observación, al principio se mencionan tres tipos de diagramas, sería perfecto describir en qué consisten cada una de ellas y hacer algún tipo de comparativa. Además, al leer el contenido se describe la sintaxis para el CREATE creo que se debería mencionar qué gestor de base de datos soporta esa sintaxis... Es diferente la de Oracle va SqlServer vs MySql.

    ResponderEliminar