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.
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??
ResponderEliminaró
Se llenan automaticamente al introducir los datos de las tablas que teben ser llenadas para que existan esos datos?