jueves, 9 de febrero de 2012

Creación de relaciones y llenado de tablas.

Que tal espero que estos tutoriales les ayuden con el desarrollo de su base de datos. Bien, pues en esta entrega nos basaremos en la creación de relaciones y llenado de tablas de nuestra base de datos de manera sencilla, primero lo haremos gráficamente y posteriormente mediante código Transact-SQL.







Creación de relaciones.

¿Que son las relaciones en una base de datos?
Para entender mejor que son las relaciones en las bases de datos me encontré esta explicación bastante clara en Internet.


Las relaciones permiten ver como se determinan los vínculos, la cardinalidad y las dependencias entre las tablas. Conceptualmente una relación es un vínculo que se forma entre dos tablas. Este vínculo se da gracias a las llaves primarias. que no son más que un campo que posee ciertas características especiales. Un campo que actúa de llave primaria (Primary key o simplemente PK) indica que cada registro se pueda identificar de otro, lo hace único e irrepetible. De este modo no pueden existir dos registros con el mismo valor de PK. Un campo que actúa como llave foránea (Foraing Key, o FK) a diferencia del PK se vincula (allí es cuando se hace la relación) con un campo PK de otra tabla y hace que su valor dependa de este PK. Es decir, si por ejemplo tenemos un PK = 1, el valor que asumirá la FK de la segunda tabla será FK = PK = 1. Decimos que se ha formado una relación, porque el valor de una se traslada o se asocia con la de otra. [answers.yahoo.com]

Forma Grafica:


Creamos un nuevo diagrama de base de datos, desplegamos los elementos de la base de datos en el “+”, Seleccionamos la carpeta Diagramas de base de datos, hacemos click con el botón derecho y click sobre Nuevo diagrama de base de datos.













Presionamos Agregar en la pantalla que nos aparece hasta terminar de agregar todas las tablas.


Ahora nos aparecerán gráficamente en la ventana de diagrama las tablas y sus columnas, para relacionarlas basta con seleccionar la llave primaria de la tabla que queremos relacionar y arrastrarla sin soltar el botón hasta la columna de la otra tabla de la cual será la llave foránea, soltamos el botón cuando nos posicionemos en la columna correcta, si nos equivocamos basta con cambiar la columna en la próxima ventana que nos aparecerá [como se muestra en las imágenes].





















Podemos dejar el nombre de la relación por defecto, que es lo más recomendable, o pueden cambiar el nombre según sea el caso, presionamos el botón Aceptar.









En esta ventana la dejamos como se ve en la imagen, estas son las reglas para la comprobación de datos existentes, cuando se hace una inserción de una llave foránea [una llave foránea no es más que una llave primaria referenciada en otra tabla] primero comprueba que exista la llave primaria en la tabla a la que se hace referencia, para que así pueda existir un vinculo, igualmente cuando existe un borrado y actualización. Presionamos el botón Aceptar.


Como podemos ver las relaciones ya se han creado haremos esto con todas las tablas que tengan llaves foráneas, o solo a las que vamos a necesitar, a veces no es conveniente hacer una relación, pero hacemos un campo que hace referencia a una llave primaria de otra tabla. 










Una vez que terminamos de haces todas nuestra relaciones guardamos nuestro diagrama de base de datos dando click en la pestaña de la ventana del diagrama y hacemos click en Guardar Diagrama1.










Ingresamos el nombre con el que guardaremos nuestro diagrama y listo.










Mediante Código Transact-SQL:

Las relaciones su pueden hacer alterando la tabla con la siguiente consulta:

Abrimos una Nueva Consulta. Y escribimos el formato de la consulta de la siguiente forma:

Primero hacemos referencia a la base de datos que usaremos:










USE TerminalAutobuses
GO

El formato para crea relaciones es el siguiente:

ALTER TABLE <<tabla_con_la_llave_foranea>>
ADD CONSTRAINT <<nombre_de_la_relacion>>
FOREIGN KEY(<<nombre_de_la_llave_foranea>>)REFERENCES <<tabla_de_la_llave_primaria>>

GO

Ejemplo:

Y presionamos Ejecutar. En este ejemplo creamos una relación con dos tablas, la tabla Boletos y la tabla Autobuses, la relación la llamamos fk_Boletos_Autobuses, la llave foránea es idAutobus de la tabla Boletos, y hacemos referencia que idAutubus  es llave primaria de Autobuses. Así podemos ir creando todas las relaciones con nuestras tablas.






Las relaciones serán las siguientes;


Llaves Primarias
Llaves Foráneas
Choferes
Corridas
idChofer

idChofer
Corridas
Boletos
idCorrida
IdCorrida

Autobuses
Boletos
idAutobus
idAutobus

Sucursales
Boletos
idSucursal

idSucursal

Cajas
idSucursal

Cajas
InicioCaja
idCaja

IdCaja

Cortes
idCaja

Cancelaciones
idCaja

Ventas
idCaja

Usuarios
InicioCaja
nombUsuario

nombUsuario

Cortes
nombUsuario

Cancelaciones
nombUsuario

Ventas
nombUsuario






















































Llenado de tablas.

Podemos llenar las tablas fácilmente mediante la edición de filas, antes de hacer un llenado de tablas tenemos que tener en cuenta primero que nada las llaves primarias y la lógica de las relaciones, tenemos que crear llaves primarias para poder hacer referencia a las llaves foráneas, que son las mismas llaves primarias pero en otra tabla, es decir; tenemos que crear una Sucursal para poder crear una Caja, una Choferes para poder crear Corridas, Autobuses y Usuarios para poder crear un Inicio de Caja y venta de boletos, etc.


Nos posicionamos en la tabla a la que deseamos editar los datos, damos click con el botón derecho y seleccionamos Editar las primeras 200 filas.




















Se abrirá la ventana de edición de tablas y vamos ingresando los datos de las tablas. Para confirmarlos solo falta con hacer clic en la zona donde está el “ * ”  como indica la imagen donde se encuentra el puntero.Si ingresamos fechas debemos hacerla con el formato Año-Mes-Dia “0000-00-00”, los tipo bit se ingresaran como “True” o “False”.






Mediante código Transact-SQL:





Abrimos una nueva ventana de consulta y escribimos el código con el siguiente formato:


USE TerminalAutobuses
GO
INSERT INTO <<Nombre_Tabla>>
(<<Columna1>>
,<<Columna2>>
,<<Columna3>>
,....
)
VALUES
(<<Valor1>>
,<<Valor2>>
,<<valor3>>
,....
)
GO


Ejemplo:


Y presionamos Ejecutar. Así vamos llenando las tablas en las que necesitamos tener datos por el momento. Aquí los datos de nvarchar debemos encerrarlos entre comillas simples ‘ ‘ , los tipos Int y Money sin comillas, los Datetime pueden ir con comillas o sin ellas, los tipos bit se ingresan para verdadero como 1 y falso como 0.

Por el momento las tablas que no interesa llenar son las de:

Sucursal, por lo menos una sucursal.
Cajas, por lo menos una caja.
Usuarios, por lo menos un usuario.
Autobuses, dependiendo cuantas corridas se hagan.
Corridas, las que se deseen.
Choferes, dependiendo las corridas que pueda realizar el chófer.

Estas son las únicas tablas que necesitamos llenar para después manipular estos datos por medio de Visual y los Web Services.Y esto es todo por el momento, dudas o sugerencias pueden contactarme en los comentarios o en mi Twitter o Facebook Gracias.













1 comentario:

  1. Hola que tal bro una pregunta, los campos que contienen las llaves foraneas se deben llenar con los datos de la llava primaria, es decir, nosotros los llenamos manualmente??

    ó
    Se llenan automaticamente al introducir los datos de las tablas que teben ser llenadas para que existan esos datos?

    ResponderEliminar