Propiedades de Índices

25/01/2006 - 17:05 por solusoft | Informe spam
Hola a todos.

En mi caso, suele pasar que algún analista con el ER-WIn cree la estructura
de una base de datos SQL SERVER, y añada los campos PK, los FK, y campos AK.

El caso es que se generan índices, tanto para PK, FK, AK, y algún IF(no ´se
muy bien qué es), esos índices pueden ser únicos.

Quería saber si consultando las tablas de sistema sys o utilizando algún
sp_XXXX puede saber los índices que tiene una tabla, y si hay campos AK, los
índices IF, etcétera.

Cómo podría hacerlo ?

Muchas gracias.

Preguntas similare

Leer las respuestas

#1 Isaias
25/01/2006 - 17:56 | Informe spam
Prueba con esto:

select * from INFORMATION_SCHEMA.KEY_COLUMN_USAGE
Saludos
IIslas


"solusoft" escribió:

Hola a todos.

En mi caso, suele pasar que algún analista con el ER-WIn cree la estructura
de una base de datos SQL SERVER, y añada los campos PK, los FK, y campos AK.

El caso es que se generan índices, tanto para PK, FK, AK, y algún IF(no ´se
muy bien qué es), esos índices pueden ser únicos.

Quería saber si consultando las tablas de sistema sys o utilizando algún
sp_XXXX puede saber los índices que tiene una tabla, y si hay campos AK, los
índices IF, etcétera.

Cómo podría hacerlo ?

Muchas gracias.
Respuesta Responder a este mensaje
#2 Alejandro Mesa
25/01/2006 - 19:43 | Informe spam
solusoft,

Puedes usar el procedimiento almacenado sp_helpindex.

Ejemplo:

use northwind
go

exec sp_helpindex 'dbo.orders'
go

Tambien puedes chequear la tabla de sistema sysindexes (no se recomienda que
bases tu codigo en estas tablas, preferible usar las vistas
INFORMATION_SCHEMA). El la tabla sysindexes (sql server 2000) hay una entrada
para la tabla (indid = 0) si esta no tiene indice clustered o una entrada
para la tabla (indid = 1) si esta tiene indice clustered. Ademas puede tener
hasta 249 entradas para los indices nonclustered y/o estadisticas (creadas
automatica o manualmente).

Ejemplo:

use northwind
go

select *
from sysindexes
where indid between 0 and 250
and [id] = object_id('dbo.orders')
order by indid
go

SQL Server implementa las restricciones de clave primaria mediante el uso de
un indice unico, que puede ser clustered o nonclustered, pero este no crea de
forma automatica algun indice para claves foraneas y mucho menos para llaves
alternas.


AMB

"solusoft" wrote:

Hola a todos.

En mi caso, suele pasar que algún analista con el ER-WIn cree la estructura
de una base de datos SQL SERVER, y añada los campos PK, los FK, y campos AK.

El caso es que se generan índices, tanto para PK, FK, AK, y algún IF(no ´se
muy bien qué es), esos índices pueden ser únicos.

Quería saber si consultando las tablas de sistema sys o utilizando algún
sp_XXXX puede saber los índices que tiene una tabla, y si hay campos AK, los
índices IF, etcétera.

Cómo podría hacerlo ?

Muchas gracias.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida