Translate

sábado, 27 de julio de 2013

Creando un sitio web ASP .Net. Parte 2



Roque Rueda
Mi hermano me solicito que le creara un sitio web para venta de ropa así que para apoyarle he decidido crear un sitio web ASP .net en donde el pueda promocionar las ventas.
Lo último que realizamos fue la creación de una prueba unitaria en donde se obtenía la lista de los productos que existían, ahora quedo pendiente la creación de nuestra base de datos. Para esto vamos a crear la base de datos en SQLServer 2008 R2 que es la versión con la que contamos.

 


Una vez dentro vamos a seleccionar Databases y hacer clic derecho para ver las opciones.







Debemos seleccionar New Database...,  lo que nos va mostrar un formulario donde llenar datos para la nueva base de datos.
 







Vamos a ver que se nos agrega una nueva base de datos con el nombre que hemos introducido en el formulario.
 





Para comenzar a editar la estructura de la base de datos vamos a iniciar con la creación de un diagrama de la base de datos donde de una forma grafica vamos a editar las tablas y sus relaciones. Vamos a expandir la base de datos y en diagramas de base de datos vamos a hacer clic en New Database Diagram.
 









Nos va a aparecer un cuadro de dialogo indicando si deseamos crear los objetos necesarios vamos a hacer clic en Yes para crearlos.
 







Y lo siguiente que se nos muestra son las tablas que se desean agregar. Ya que no tenemos ninguna vamos a cerrar este cuadro de dialogo.
 







Ahora para agregar una nueva tabla en el diagrama de base de datos hacemos clic derecho sobre el espacio en blanco y seleccionamos agregar tabla.







Una vez se nos solicita el nombre de la tabla. En donde vamos a indicar Product.
 






Ahora vamos a editar la plantilla para que se genere algo como los siguiente en donde veremos la estructura de nuestra tabla.
 






Ahora para agrega una llave primaria vamos a hacer clic derecho en una de nuestras tablas y seleccionamos Add Primary Key.
 







Ahora vamos a agregar otras tablas a la base de datos. Cuando se necesita agregar una llave primaria compuesta se debe seleccionar una o más columnas y se hace el mismo proceso clic derecho.
 





Se va a asignar la llave primaria compuesta como la siguiente. 







Ahora en este caso vamos a agregar relaciones de llaves foráneas entre las tablas para eso seleccionamos la tabla llave primaria de la tabla y la arrastramos hacia la tabla y columna donde queremos que se cree la relación.
 










Lo que nos va a generar algo como lo siguiente:
 






La línea con la llave representa una relación de llave foránea entre el producto y el detalle de la venta. Lo  que nos permite entre otras cosas la siguientes: la unión de datos en consultas a los datos, la integridad de los datos esto ya que debe existir el elemento en producto para poder crear el detalle. Otra de las cuestiones que también permite es que si se desea eliminar un producto y este ya se encuentra asociado con un detalle esto nos marca un error nuevamente por la integridad referencial.





En este caso voy a agregar un elemento más a las llaves primarias de todas las tablas excepto IdSale y IdProduct de la tabla SalesDetail, vamos a asignar en las propiedades de la tabla como Identity; esta propiedad lo que permite es que la llave primaria se genere un valor por nosotros, el incremento es el numero que se elevara cada vez y la semilla es el número inicial.
Al intentar guardar debido a los cambios diversos realizados a la base de datos y ya que es la primera vez que utilizo SQLServer en está maquina (ya que casi siempre lo desactivo), se nos presenta el siguiente error:





Aquí amablemente SqlServer nos va a impedir realizar los cambios ya que estos deben borrar y recrear las tablas aunque esta opción se puede quitar ya que nosotros sabemos bien lo que vamos a realizar. Vamos al menú Tools -> Options.





Debemos desactivar la opción para que nos permita continuar con la operación de guardado.
Al final nuestro diagrama quedo de la siguiente manera:




De momento eso será lo que vamos a realizar de estructura de base de datos.