Despues de darle muchas vueltas decidi que si no hay forma infalible y 100% exacta de obtener esta informacion entonces trataria de acercarme lo mas posible, dado que tenia alrededor de unos 50 Stored procedures y 335 tablas, se imaginaran la "talachita" que iba a ser obtener esos datos abriendo cada uno de los SP's y analizando el codigo.Y esta fue la solucion con la que al final me quede...
/**1. Primero hay que declarar una variable del tipo tabla con 3 columnas que me sirvan para conocer mas de los objetos encontrados **/
/**2. Declarar unas variables mas para almacenar el nombre de mi tabla y el identificador que SQL le asigna a la tabla**/
/**3. Obtener el identificador de la tabla**/ SET @objname = 'TablaClientes' /**4. Insertar en la variable tabla los datos que correspondan a los Stored Procedures que en su codigo incluyan el nombre de la tabla que ando buscando**/ INSERT INTO @info(tableName, owner, oName) /**5 . Realizar la consulta sobre la variable de tabla**/ SELECT * FROM @info |
Con el script anterior, puedo consultar los Stored Procedures que mencionan una tabla, pero aun asi, tengo 335 tablas!!! SIN contar los que pudieran estar referenciando a alguna vista... y ahora quien podra defenderme? ... CODESMITH!!!
Total que he creado tambien una plantilla donde puedo barrer las 335 tablas + 50 Vistas (aprox) y generar el script que al final me dara la informacion que ando buscando... asi que si bien este metodo no es 100% exacto, si me saca de este apuro.
Ventajas
- Estoy directamente buscando las referencias por medio del codigo del stored procedure
- En casos como el que platico, donde tengo mas de 10 tablas hacer esto "a pie" es una lata
- Es extremadamente rapido
Y las desventajas...
- El barrido que hace del codigo del Stored Procedure, no distingue entre comentarios y codigo "vivo"
- Las tablas y vistas deben pertenecer a la misma base de datos de los stored procedures
- Estoy usando LIKE para hacer las busquedas asi que si una tabla se llama "tblCliente" y otra "tblClienteResultado"... se imaginaran que si un SP esta utilizando "tblClienteResultado" tambien me aparecera como referencia "fantasma" la tabla "tblCliente"
Pero hey... que querias en tan poco tiempo.
me fue muy util
ResponderBorrarTipos de integridad de datos
ResponderBorrarIntegridad de dominio (columnas) DEFAULT CHECK
Integridad de Entidad (filas) PRIMARY KEY UNIQUE
Integridad Referencial (entre tablas) FOREIGN KEY
Crear un constraints Default: Integridad de Dominio
alter table empresa add constraint def_telef default '000-0000' for telefono
Crear un constraints Check: Integridad de Dominio
alter table empresa add constraint ddd check (paginas>0 and preciocompra>0)
Crear un constraints Primary Key: Integridad de Entidad
alter table empresa add /*constraint*/ pk_idclave primary key (idclave)
Crear un constraints Unique: Integridad de Entidad
ALTER TABLE empresa ADD CONSTRAINT nnn_clave_empresa UNIQUE (descrip)
Crear un constraints de Integridad referencial
Alter Table supervisorempresa Add Constraint FK_codtipoemp Foreign Key (codempresa) References empresa(idclave)
Forzar integridad de datos
Integridad declarativa
1. Criterios definidos en un objeto
2. Implementar usando constraints
Integridad por procedimientos
1. Forzar scripts
2. Implementar triggers y stored Procedures
Que es una Esquema
Es un conjunto de datos para estructurar datos del mundo real.
Es la percepción de una determinada realidad interpretada de acuerdo a un cierto modelo.
Que es Generalización
Permite formar una entidad mediante la unión de otras entidades.
Cuales son los tipos de Cardinalidad
Es una restricción que se aplica a los tipos de relaciones sobre las entidades.
(Uno a uno) (Uno a muchos) (Muchos a muchos)
Diseño Inicial de la Base de Datos
1. Mapear las entidades para las tablas
2. Mapear atributos para columnas y documentar datos simples
3. Mapear identificadores únicos a llaves primarias
4. Mapear relaciones a llaves foráneas
5. Elegir opciones de arco
6. Elegir opciones de subtipo
¿Qué es un Stored Procedure?
1. Colección organizada de sentencias Transact-SQL
2. Encapsula tareas repetitivas
3. 5 tipos : Sistema, Local, Temporal, Remotos, Extendidos)
4. Aceptan parámetros de entrada y retornan valores
5. Devuelven valores que informan si hubo éxito o fracaso en las operaciones
Ventajas de los Stored Procedures
1. Compartir lógica de negocios
2. Provee mecanismos de seguridad
3. Mejoran la performance
4. Reducen el tráfico en la red
Ventajas de los Stored Procedures
ResponderBorrarTipos de integridad de datos
Integridad de dominio (columnas) DEFAULT CHECK
Integridad de Entidad (filas) PRIMARY KEY UNIQUE
Integridad Referencial (entre tablas) FOREIGN KEY
Crear un constraints Default: Integridad de Dominio
alter table empresa add constraint def_telef default '000-0000' for telefono
Crear un constraints Check: Integridad de Dominio
alter table empresa add constraint ddd check (paginas>0 and preciocompra>0)
Crear un constraints Primary Key: Integridad de Entidad
alter table empresa add /*constraint*/ pk_idclave primary key (idclave)
Crear un constraints Unique: Integridad de Entidad
ALTER TABLE empresa ADD CONSTRAINT nnn_clave_empresa UNIQUE (descrip)
Crear un constraints de Integridad referencial
Alter Table supervisorempresa Add Constraint FK_codtipoemp Foreign Key (codempresa) References empresa(idclave)
Forzar integridad de datos
Integridad declarativa
1. Criterios definidos en un objeto
2. Implementar usando constraints
Integridad por procedimientos
1. Forzar scripts
2. Implementar triggers y stored Procedures
Que es una Esquema
Es un conjunto de datos para estructurar datos del mundo real.
Es la percepción de una determinada realidad interpretada de acuerdo a un cierto modelo.
Que es Generalización
Permite formar una entidad mediante la unión de otras entidades.
Cuales son los tipos de Cardinalidad
Es una restricción que se aplica a los tipos de relaciones sobre las entidades.
(Uno a uno) (Uno a muchos) (Muchos a muchos)
Diseño Inicial de la Base de Datos
1. Mapear las entidades para las tablas
2. Mapear atributos para columnas y documentar datos simples
3. Mapear identificadores únicos a llaves primarias
4. Mapear relaciones a llaves foráneas
5. Elegir opciones de arco
6. Elegir opciones de subtipo
¿Qué es un Stored Procedure?
1. Colección organizada de sentencias Transact-SQL
2. Encapsula tareas repetitivas
3. 5 tipos : Sistema, Local, Temporal, Remotos, Extendidos)
4. Aceptan parámetros de entrada y retornan valores
5. Devuelven valores que informan si hubo éxito o fracaso en las operaciones
Ventajas de los Stored Procedures
1. Compartir lógica de negocios
2. Provee mecanismos de seguridad
3. Mejoran la performance
4. Reducen el tráfico en la red
Humberto, no existe mas la liga de la plantilla codesmith para buscar los storeprocedure. La volveras a poner?
ResponderBorrar