Sie sind auf Seite 1von 9

3- Uso de ndices y relaciones de tablas

Objetivos:
Crear indicies y manejar la restricciones de estos

Recursos:
SQL SERVER 2012 Guas de prctica.

Introduccin:
Para el manejo de bases de datos relacionales debo de manejar las restricciones necesarias para poder enlazar las tablas y ordenar los datos.

INDICES (INDEX)
Un ndice es una estructura de disco asociada con una tabla o una vista que acelera la recuperacin de filas de la tabla o de la vista. Un ndice contiene claves generadas a partir de una o varias columnas de la tabla o la vista. Dichas claves estn almacenadas en una estructura (rbol b) que permite que SQL Server busque de forma rpida y eficiente la fila o filas asociadas a los valores de cada clave.

CLAVE PRIMARIA (PRIMARY KEY)


La clave principal de una tabla relacional identifica de forma exclusiva cada registro de la tabla. Puede ser un atributo normal que se garantiza que sea nico (como el nmero de Seguro Social en una mesa con no ms de un registro por persona) o puede ser generado por el DBMS (como un identificador nico global o GUID, en Microsoft SQL Server). Las claves principales pueden consistir en un solo atributo o atributos mltiples en combinacin.

CLAVE FORANEA (FOREING KEY)


Una clave externa es un campo de una tabla relacional que coincide con la columna de clave principal de otra tabla. La clave externa se puede utilizar para las tablas de referencia. Para ms informacin sobre este tema, lea Creacin de claves externas.

INICIO DE LA PRCTICA

Empezaremos creando la base de datos empresa1, de la forma que ya aprendimos y a continuacin crearemos la tabla ubicacion la cual segn lo aprendido anteriormente la obtendra as

Ahora vamos a crear un llave primaria, utilizando click derecho sobre el campo idubicacion, se nos desplegara un men y seleccionamos Set Primary Key.

Entonces aparecer una llave a la par del campo idubicacion lo que significa es llave primaria (PK), la cual solo puede haber una en la tabla

Como ltimo paso vas hacer que el campo idubicacion sea auto numrico, sea que pondr nmeros en correlativo automticamente, para hacer esto, utilizaremos las opciones debajo del diseo de la tabla, ocuparemos la pestaa Identity Specification, exploraremos la opcin y seleccionaremos (is identity) la cual por default esta en NO, la podremos en SI, usado la opcin al final de la lnea, una vez activado podremos poner con qu nmero empieza y los incrementos, las opciones por default en ambas son de 1.

Ahora guardo la tabla con el nombre de ubicacin y agrego 5 registros, los cuales deben ser nombre de ciudades, no necesita llenar el campo idubicacion l lo har automticamente.. Como siguiente paso creemos la tabla pago, realizando el mismo proceso, creando idpago como llave primaria, y haciendo que este campo sea auto numrico, y agregando los siguientes cuatro registro: contado, crdito, tarjeta crdito, consignacin. Seguiremos creando la siguiente tabla que es proveedor segn el diagrama, crearemos como llave primaria idproveedor y la haremos auto numrico, lo cual nos quedara as.

CREACION DE INDICES
Para poder hacer relaciones necesitamos crear llaves forneas (FK), estas debe estar indexadas, para mejor control y uso, para esto daremos click sobre el campo idubicacion y seleccionaremos Indices o Claves.

Al seleccionarlo los mostrara la siguiente pantalla, y seleccionamos Add.

Posteriormente en la pestaa General opcin Columns, selecciono el botn que tiene tres puntos, para seleccionar el campo que quiero indexar.

En la siguiente pantalla debo de seleccionar la columna o campo que quiero indexar y adems selecciono si quiero hacerlo de forma ascendente o descendente.

Ahora presiono ok y me voy a la pestaa identity y a la opcin (name) y le cambio nombre, el cual puede ser el mismo del campo idubicacion o uno distinto pero representativo.

Una vez terminado el proceso, puedo salirme tomando la opcin Close, o puedo aadir otro index presionando Add, haga el mismo el proceso para indexar el campo idpago.

CREACION DE RELACIONES
Abriremos en diseo la tabla proveedores seleccione cualquier campo y presiono click derecho, y en las opciones ocupo Relaciones.

En la pantalla de relaciones seleccione la opcin Add para agregar un relacin entre el campo proveedor.idubicaion con el campo ubicacion.idubicaion.

En la pestaa General seleccione la opcin Tables And Columns Specific y despus seleccione el botn al final de la fila que tiene tres puntos.

Una vez en esa pantalla seleccione las tablas y los compas que desea relacionar y coloque el nombre de la relacin, para el ejemplo yo considere rela_idubicacion, pero usted puede personalizar el nombre, una vez terminado presione ok

Una vez terminado este proceso presione Close para salir o Add para agregar otro. Repita este procedimiento para crear la relacin proveedor.idpago con pago.idpago.

CREACION DE DIAGRAMAS
Una opcin de ver el resultado de nuestra creacin es elaborando un diagrama de base de datos, para lo cual expandimos la base de datos empresa1, seleccionamos Database Diagrams presionamos click derecho y seleccionamos New Database Diagram.

Nos va a mostrar un pantalla con todas tablas de la base de datos, con el mouse seleccionamos todos y presionamos la opcin Add, o tambin podemos hacerlo una a una, y posteriormente presionamos Close.

Ordenamos un poco las pantallas y podremos observar que hemos podido lograr el requerimiento puesto al principio de la prctica.

MODO CONSOLA
Haremos el mismo esquema de base de datos, solo que le cambiaremos nombre a la base de datos a empresa2, ponemos crear utilizando el siguiente querry (consulta).
CREATE DATABASE empresa113 GO USE empresa113 GO CREATE TABLE ubicacion (idubicacion INT IDENTITY(1,1), descrip varchar(45), CONSTRAINT idubicacion PRIMARY KEY(idubicacion)) GO CREATE TABLE pago (idpago INT IDENTITY(1,1), descrip varchar(45), CONSTRAINT idpago PRIMARY KEY(idpago)) GO CREATE TABLE proveedor (idproveedor INT IDENTITY(1,1), nombre varchar(45), idubicacion int, idpago int, CONSTRAINT idproveedor PRIMARY KEY(idproveedor), CONSTRAINT rela_idubicacion FOREIGN KEY(idubicacion) REFERENCES ubicacion(idubicacion), CONSTRAINT rela_idpago FOREIGN KEY (idpago) REFERENCES pago(idpago)) GO

Ejercicios: Cree consulta para crear la base de datos empresa3, utilizando ALTER TABLE. Verifique la entrada de datos de las tablas indexadas. Cree una nueva base de datos que incluya 4 tablas relacionadas. Elabore diagramas de todos los ejemplos. Investigue el uso de CHECK Realice ejercicios adicionales que su instructor lo solicite.

Das könnte Ihnen auch gefallen