Sei sulla pagina 1di 15

UNIDAD II.- QU ES UN DICCIONARIO DE DATOS?

Un diccionario de datos contiene las caractersticas lgicas de los datos que se van a utilizar en un sistema, incluyendo nombre, descripcin, alias, contenido y organizacin. Estos diccionarios se desarrollan durante el anlisis de flujo de datos y ayuda a los analistas que participan en la determinacin de los requerimientos del sistema, evitando as malas interpretaciones o ambigedades, su contenido tambin se emplea durante el diseo del proyecto. En un diccionario de datos se encuentra la lista de todos los elementos que forman parte del flujo de datos de todo el sistema. Los elementos ms importantes son flujos de datos, almacenes de datos y procesos. El diccionario de datos guarda los detalles y descripcin de todos estos elementos.

DICCIONARIO DE DATOS
El diccionario de datos es una lista organizada de todos los datos pertinentes al sistema, con un conjunto de definiciones precisas y rigurosas para que tanto el analista como el usuario se entiendan. En el diccionario de datos se: Describe el significado de los flujos y almacenes que muestran los dfds. Describe la composicin de los paquetes de datos que se mueven a travs de los flujos de datos Describe la composicin de los paquetes de datos en los almacenes Especifica los valores y unidades relevantes de piezas elementales de informacin entre los flujos de datos y los almacenes de datos Describe los detalles de las relaciones entre las entidades que aparecen en un diagrama entidadinterrelacin Notacin en el diccionario de datos = est compuesto de +y () opcionalidad {} iteracin [] seleccin | separador de alternativas en caso de seleccin ** comentarios @ identificador en caso de almacenes

UNIDAD III.- RESTRICCIONES


Una restriccin es una limitacin que obliga el cumplimiento de ciertas condiciones en la base de datos. Algunas no son determinadas por los usuarios, sino que son inherentemente definidas por el simple hecho de que la base de datos sea relacional. Algunas otras restricciones las puede definir el usuario, por ejemplo, usar un campo con valores enteros entre 1 y 10.

Las restricciones proveen un mtodo de implementar reglas en la base de datos. Las restricciones limitan los datos que pueden ser almacenados en las tablas. Usualmente se definen usando expresiones que dan como resultado un valor booleano, indicando si los datos satisfacen la restriccin o no. Las restricciones no son parte formal del modelo relacional, pero son incluidas porque juegan el rol de organizar mejor los datos. Las restricciones son muy discutidas junto con los conceptos relacionales.

2.4.2.- RESTRICCIN DE UNICIDAD UNI: {AO,, AP} LA DEFINICIN DE UNA RESTRICCIN DE UNICIDAD SOBRE UN CONJUNTO DE ATRIBUTOS K DE LA RELACIN R EXPRESA LA SIGUIENTE PROPIEDAD: NO DEBE HABER EN R DOS TUPLAS QUE TENGAN EL MISMO VALOR EN TODOS LOS ATRIBUTOS DEL CONJUNTO K. EJEMPLO: UNI: {ID_LIB} NO DEBE HABER EN PUBLICACIN DOS TUPLAS QUE TENGAN EL MISMO VALOR EN EL ATRIBUTO ID_LIB. FORMALMENTE ESTA RESTRICCIN SE DEFINE COMO: T1:PUBLICACIN ( T1.ID_LIB = T2.ID_LIB

RESTRICCIONES REFERENCIALES
En un modelo entity data model (edm), pueden existir restricciones referenciales entre objetos relacionados, por ejemplo entre los objetos salesorderdetail ysalesorderheader. Estas restricciones se especifican en el archivo de lenguaje de definicin de esquemas conceptuales (csdl).

RESTRICCIONES DE LOS DOMINIOS Las restricciones de los dominios son la forma ms simple de restriccin de integridad. Se especfica para cada atributo un dominio de valores posibles. Una definicin adecuada de las restricciones de los dominios no slo permite verificar los valores introducidos en la base de datos sino tambin examinar las consultas para asegurarse de que tengan sentido las comparaciones que hagan.por ejemplo, normalmente no se considerar que la consulta hallar todos los clientes que tengan el nombre de una sucursal tenga sentido. Por tanto, nombre-cliente y nombre-sucursal deben tener dominios diferentes.la clusula check de sql: 1999 permite restringir los dominios de maneras poderosas que no permiten la mayor parte de los sistemas de tipos de los lenguajes de programacin.la clusula check permite especificar un predicado que debe satisfacer cualquier valor asignado a una variable cuyo tipo sea el dominio RESTRICCIONES DE INTEGRIDAD En este tema se trata uno de los aspectos ms importantes para aadir consistencia a los diseos de bases de datos: son las restricciones de integridad que ayudan a mantener la consistencia semntica de los datos. Adems de las restricciones de integridad definidas por las claves y las restricciones de

cardinalidad estudiadas en el tema modelo entidad-relacin, se tratan las restricciones de los dominios, la integridad referencial, las dependencias funcionales y las dependenciasmultivaloradas.las restricciones de integridad proporcionan un medio de asegurar que las modificaciones hechas a la base de datos por los usuarios autorizados no provoquen la prdida de la consistencia de los datos. Protegen a la base de datos contra los daos accidentales. Tipos de restricciones de integridad: declaracin de claves. Cardinalidad de la relacin de varios a varios, de uno a varios, de uno a uno. Restricciones de los dominios integridad referencial asertos disparadores dependencias funcionales dependencias multivaloradas

LAS RESTRICCIONES (CONSTRAINTS)


Las restricciones son un mtodo declarativo de definicin de la integridad de datos ya que ellas se definen al momento de crear la tabla (con la sentencia create table), o al momento de modificar la definicin de la tabla(con la sentencia alter table). En otras palabras, una restriccin forma parte de la definicin de la tabla. Las restricciones son el mtodo preferido para dar fuerza a la integridad de los datos. La tabla siguiente describe los diferentes tipos de restricciones: Tipo de Descripcion restriccion Especifica el valor que se mantendra para la columna cuando un Default valor no se ha ingresado explicitamente en una sentencia insert. Check Especifica los valores de los datos que son aceptables en la columna. Identifica cada registro o fila como unica. Se crea un indice para Primary key mejorar el rendimiento. Los valores nulos no son permitidos. Previene la duplicacion de las llaves alternas y se asegura que un Unique indice se crea para que mejore el rendimiento. Se permiten valores nulos. Define la columna o combinacion de columnas de una tabla Foreign key secundaria, cuyos valores dependen de la llave primaria de una tabla primaria. Las restricciones se definen al momento de definir la tabla con las sentencias create table o alter table. Create table nombre_tabla ( columna1 tipo_dato propiedades constraint nombre_restriccion...., columna2 tipo_dato propiedades constraint nombre_restriccion...,...) Alter table nombre_tabla add constraint nombre_restriccion.... La restriccin default (valor predeterminado) Define cual es el valor por defecto de una columna cuando al ejecutar insert no se especifica el valor de dicha columna. Ejemplo: use biblioteca alter table prestamo add constraint df_fecha_sal default getdate() fot pre_fec_sal

ESPECIFICACIN DE LOS CASOS DE PRUEBA 2.1. PLANTEAMIENTO DEL PROBLEMA Es necesario contar con una herramienta que permita la representacin de los casos de prueba, es decir, la representacin de las interacciones entre actores y el sistema, los valores de prueba implicados y los resultados esperados. Para ser til, esta herramienta debe tener las siguientes caractersticas:
Debe ser independiente de la plataforma y tecnologa del sistema a prueba. Debe abstraernos de la implementacin del sistema a prueba. Debe permitir interactuar a los actores externos mediante ratn y teclado a travs de varias pantallas distintas. Debe ser manipulable programticamente. Debe permitir expresar verificaciones o aserciones. Debe ser de libre acceso. Debe ser modular y permitir construir un caso de prueba a partir de casos de prueba y mdulos ya existentes. Debe permitir generar cdigo de prueba automticamente. En los siguientes puntos describimos brevemente algunas de las herramientas y estudiadas. propuestas

2.2. AGEDIS Agedis ha sido un proyecto financiado por la comunidad europea con la participacin de empresas privadas. Su objetivo ha sido elaborar un conjunto de documentos y herramientas para permitir las pruebas basadas en modelos. Uno de los resultados de Agedis ha sido una especificacin para definir casos de prueba. Sin embargo, esta especificacin no cumple las caractersticas citadas arriba y no es de aplicacin en este trabajo. A continuacin se describe esta especificacin y se expone los motivos por los que no nos es til. Los conjuntos de prueba de Agedir (AGEDIS Test Suite) estn compuestos de descripciones abstractas (Abstract Test Suite) y trazas (Test Suite Traces). El primer elemento describe las clases, objetos y escenarios lgicos (casos de prueba), as como el comportamiento esperado (como parte de los escenarios lgicos). El segundo elemento describe una ejecucin del primero. Un conjunto de pruebas contiene una nica descripcin abstracta y tantas trazas como se desee. A continuacin se muestra un ejemplo tomado de la documentacin de Agedis. En la descripcin abstracta se observa que se est probando una clase llamada Test con un mtodo control () y otro observe() que devuelve un valor booleano. Se definen 2 casos de prueba iguales. <testSuitexmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../schema/testSuite.xsd"> <abstractTestSuite generator="manual"> <model> <class name="Test"> <members> <member signature="control()"/>

UNIDAD IV.- CONSULTAS AVANZADAS


Las consultas avanzadas siguen las mismas reglas para definir palabras y frases, maysculas, signos de puntuacin y asteriscos que las consultas simples, pero adems permiten disponer de un conjunto de operadores lgicos con los que concretar mejor las bsquedas, y criterios de ordenacin de bsqueda con los que ordenar como se quiera los resultados encontrados. Los operadores se usan para combinar palabras y frases, ya no basta con separarlas por blancos. Operador AND: Asegura que slo se encontrarn documentos en los que ambas palabras (o frases) estn presentes. En lugar de AND tambin podemos escribir and o &. Por ejemplo, si escribimos: "principecarlos" and fotos, obtendremos todos los documentos con las palabras fotos y el texto principecarlos, o sea, casi con toda probabilidad encontraremos fotos de Carlos de Inglaterra. Operador OR: Asegura que se encontrarn documentos en los que al menos una de las palabras (o frases) estn presentes. En lugar de OR tambin podemos escribir or o |. Por ejemplo, si escribimos: blanco or negro, obtendremos todos los documentos en las que aparece la palabra blanco o la palabra negro, o las dos cosas a la vez. Operador NEAR: Asegura que se encontrarn documentos en los que ambas palabras (o frases) estn cerca, como mucho a una distancia de diez palabras entre s. En lugar de NEAR tambin podemos escribir near o ~. Por ejemplo, si escribimos: casa near blanca, obtendremos todos los documentos en las que ambas palabras estn cerca como ocurre, por ejemplo, en las frases "la casa alguna vez fue blanca", "Nunca visites la Casa Blanca", "Quem su casa. Es que Blanca era un poco pirmana." Operador NOT: Asegura que se encontrarn documentos en los que no aparecen esas palabras (o frase). En lugar de NOT tambin podemos escribir not o !. Por ejemplo, si escribimos: not "billgates", no aparecern documentos en los que aparezca el texto "billgates". Como los caracteres &, |, ~ y ! son sinnimos de los nombre de operadores, si se desea hacer una consulta en las que aparezcan estos caracteres, se debern colocar entre comillas, para que no sean interpretados como operadores. El uso de parntesis permite cambiar el orden en el que se usan los operadores o simplemente para agruparlos. De hecho, se recomienda usar siempre los parntesis para evitar cualquier conflicto, adems de que ayudan a ver de forma ms clara la consulta a hacer. Por ejemplo, si se escribe: (libros and "garciamarquez") or (cuentos and "gloria fuertes"), buscar documentos que traten de libros de Garca Mrquez o bien de cuentos de Gloria Fuertes, o de ambas cosas a la vez.

Otra gran ventaja de las consultas avanzadas es la posibilidad de ordenar los documentos obtenidos tras la bsqueda, lo que es casi tan importante como elegir bien las palabras por las que se hace la bsqueda. Por defecto las consultas avanzadas no se ordenan de ninguna forma.

CONSULTAS MULTICAPAS
Los 7 principios del modelo multicapa GEOSPATIAL - GIS, INTERNET Y BLOGS FEBRERO, 2008 Aunque es ms fcil decirlo que hacerlo, quisiera empezar esta semana geofumando sobre este tema, aunque existen libros completos sobre esta materia, usaremos los 7 principios de la Web 2.0 para resumir el esquema del modelo multicapa y aplicarlo al campo geomtico. El concepto conocido como multicapa, surge luego que las aplicaciones cliente-servidor tomaran auge, ligado al crecimiento de Internet al tiempo que las redes privadas (Intranet) se volvieran tambin populares. Uno de los objetivos ms importantes es que el desarrollo no afecte la operacin y mucho menos a los usuarios de consulta en un sistema que est en constante uso. Tal es el caso, por ejemplo en un proyecto de catastro masivo en que los tcnicos de campo, mapeo o digitalizadores deben alimentar la informacin; luego los analistas jurdicos, tcnicos GIS y de regularizacin deben procesar los datos mientras que desde el lado de usuarios externos existe una demanda a nivel de consulta o solicitudes de trmites en lnea. Veamos entonces las capas de este modelo y sus principios.

LA CAPA DE DESARROLLO.
1. DISEO SIMPLE. Es importante entender, que cuando se desarrollan aplicaciones multicapa no se puede exagerar en funcionalidades que harn lento el proceso, despliegue de datos o la actualizacin de funcionalidades. Esta es la razn por la que la utilizacin de procedimientos tipo Javascript corriendo en un servidor permite que muchos usuarios al mismo tiempo ejecuten tareas sin recargar el sistema. En la medida que los procesos se pueden hacer ms pequeos solo requiere vigilar la cantidad y capacidad de procesadores para mantener el diseo simple aunque esto ms que ser una especialidad de arquitectos de software parece ser ms una habilidad de los dioses. 2. APLICACIONES PARA USO MULTIDISPOSITIVO. Es necesario considerar que los usuarios querrn acceder a la informacin desde dispositivos de escritorio o diversidad de mviles va la web por lo que el desarrollo debe considerar este principio. Aunque no es fcil predecir la evolucin de los conocidos gadgets, al menos se debe considerar la especialidad del proyecto para fines de alimentacin y descarga de datos, como en el caso de un proceso catastral el uso de quipos GPS y PDAs con aplicaciones GIS/CAD con capacidades mnimas de alimentacin de datos tabulares, y uso de datos raster/vector. A medida que la especialidad del negocio es de uso diversificado requiere estar pendiente del avance de las tecnologas. 3. VA BASE DE DATOS. Para mantener un procesador libre de colapso es necesario considerar que cualquier accin que el usuario ejecute sea una simple llamada a la base de datos, as que si se usar transferencia de archivos es preferible crear web services. Si se usarn mapas, lo ideal es crear servicios IMS para publicacin y si se har descarga de documentos buscar el uso de web services.

LA CAPA DE PROCESOS.
1. LA WEB COMO PLATAFORMA. Sea Intranet o Internet, el concepto es el mismo, buscar que el entorno de trabajo de los usuarios sea en lnea as que cualquier tipo de procesos corren desde el servidor. Esto se complementa con el siguiente principio pues la intencin es buscar que la operacin de procesos no requiera de equipos con grandes recursos aunque sea necesario redisear aplicativos de escritiorio. 2. USO DE APLICACIONES EN LNEA. Este es un gran reto para los desarrolladores, pues en esta capa tambin entra un nivel de usuarios que hacen procesos que van ms all de la consulta. Tal es el caso de mantenimiento catastral, en que se requiere uso de archivos discretos y no solo manipulacin de datos tabulares. Para esto el software elegido debe proveer un entorno de administracin controlada de archivos, versionado y el proceso conocido como checkout-checkin; tambin se espera que la API provea capacidades para particularizar las funcionalidades y evitar que los procesos de escritorio compliquen la sincronizacin.

LA CAPA DE USUARIOS.
6. Inteligencia Colectiva. Este principio viene del concepto de comunidad, muy popular en estos das. Es importante crear interfases que faciliten la comunicacin entre usuarios, sean estos foros, redes de soporte o canales de mensajera instantnea a fin que los usuarios puedan compartir entre ellos sus dudas, soluciones y sacarle el provecho a las habilidades colectivas. 7. Retroalimentacin. Los servicios creados deben tener las funcionalidades suficientes para que los usuarios puedan reportar errores, agregar comentarios sean automatizados o voluntarios lo importante es que los usuarios que administran las otras dos capas sepan de los visitantes. Tambin se espera en este nivel que el acceso restringido sea seguro, el registro funcional y la actualizacin de cambios automatizada.

SUBCONSULTAS
Una subconsulta correlacionada es una subconsulta que contiene una referencia a una tabla que tambin aparece en la consulta exterior. Por ejemplo: SELECT * FROM t1 WHERE column1 = ANY (SELECT column1 FROM t2 WHERE t2.column2 = t1.column2); Tenga en cuenta que la subconsulta contiene una referencia a una columna de t1, incluso aunque la clusulaFROM de la subconsulta no menciona una tabla t1. Por lo tanto, MySQL busca fuera de la subconsulta y encuentra t1 en la consulta externa.

Suponga que la tabla t1 contiene un registro en que column1 = 5 y column2 = 6; mientras, la tabla t2contiene un registro en que column1 = 5 y column2 = 7. La expresin ... WHERE column1 = ANY (SELECT column1 FROM t2) sera TRUE, pero en este ejemplo, la clusula WHERE dentro de la subconsulta es FALSE (ya que (5,6) no es igual a (5,7)), as que la subconsulta como un todo es FALSE. Regla de visibilidad: MySQL evala desde dentro hacia fuera. Porejemplo:

SELECT column1 FROM t1 AS x WHERE x.column1 = (SELECT column1 FROM t2 AS x WHERE x.column1 = (SELECT column1 FROM t3 WHERE x.column2 = t3.column1)); En este comando, x.column2 debe ser una columna en la tabla t2 ya que SELECT column1 FROM t2 AS x ... renombra t2. No hay una columna en la tabla t1 porque SELECT column1 FROM t1 ... es una consulta externa que est demasiado afuera. Para subconsultas en clusulas HAVING u ORDER BY ,MySQL busca nombres de columna en la lista de seleccin exterior. Para ciertos casos, una subconsulta correlacionada es ptima. Porejemplo: val IN (SELECT key_val FROM tbl_name WHERE correlated_condition)
De otro modo, son ineficientes y lentas. Reescribir la consulta como un join puede mejorar el rendimiento. Las subconsultas correlacionadas no pueden referirse a los resultados de funciones agregadas de la consulta exterior.

OPERACIONES CON CONJUNTOS UNIN


Dados dos o ms conjuntos, se define la unin de conjuntos, como el conjunto formado por los elementos de todos los conjuntos. Ejemplo: Sean los conjuntos A = {a, b, c, d, e, f} y B = {a, h, j}. La unin de A y B es {a, b, c, d, e, f, h, j}

La unin tiene las siguientes propiedades: Conmutativa. A unin B = B unin A Asociativa. (A unin B) unin C = A unin (B unin C). Distributiva: A unin (B interseccin C) = (A unin B) interseccin (A unin C) Absorcin: A unin (A interseccin B) = A Idempotencia: A unin A = A Elemento neutro: A unin conjunto vaco = A Dominacin: U unin A = U Inversa: A unin A' = U Inversa de Morgan: (A unin B) ' = A ' interseccin B '
INTERSECCIN Dados dos o ms conjuntos, se define la interseccin de conjuntos, como el conjunto formado por los elementos que pertenecen a todos los conjuntos. Ejemplo: Sean los conjuntos A = {a, b, c, d, e, f} y B = {a, h, j}. La interseccin de A y B es {a} La interseccin tiene las siguientes propiedades: Conmutativa. A interseccin B = B interseccin A, Asociativa. (A interseccin B) interseccin C = A interseccin (B interseccin C).

Distributiva: A interseccin (B unin C) = (A interseccin B) unin (A interseccin C) Absorcin: A interseccin (A unin B) = A Idempotencia: A interseccin A = A Elemento neutro: A interseccin conjunto vaco = A Dominacin: conjunto vaco interseccin A = U Inversa: A interseccin A' = U Inversa de Morgan: (A interseccin B) ' = A ' unin B ' DIFERENCIA Dados dos conjuntos A y B, su diferencia, A - B, es los elementos de A que no pertenecen a B. Ejemplo: Sean los conjuntos A = {a, b, c, d, e, f} y B = {a, h, j}. La diferencia A - B es {b, c, d, e, f}. La diferencia B - A es {h, j} DIFERENCIA SIMTRICA Dados dos conjuntos A y B su diferencia simtrica es la unin de la diferencia A - B y B - A. En el ejemplo anterior la diferencia simtrica es {b, c, d, e, f, h, j} PRODUCTO CARTESIANO Dados dos conjuntos A y B, el producto cartesianos de estos dos conjuntos es el conjunto formado por todos los pares ordenados (a,b) donde a es un elemento de A y b es un elemento de B. Ejemplo: Sean A = {a, b, c} y B = {1, 2} dos conjuntos. El producto cartesiano A x B = {(a,1), (a,2), (b,1), (b,2), (c,1), (c,2)} El cardinal (nmero de elementos) del producto cartesiano es el producto de los cardinales de los dos conjuntos, |A x B| = |A| x |B|

PROCEDIMIENTOS ALMACENADOS Y DISPARADORES


DISPARADORES Tambin conocidos como TRIGGERS, es un bloque de cdigo almacenado en base de datos que se activa cuando se pulsa una determinada tecla u ocurre un determinado evento automticamente, un disparador esta asociado a una tabla como puede ser: Realizar una consulta. Validar un dato. Hacer una operacin DML inserta, modificar o eliminar registros de una base de datos. En definitiva los DISPARADORES (TIGGERS) son eventos a nivel de tabla que se ejecutan automticamente cuando se realizan ciertas operaciones sobre la tabla. Existen varios tipos de disparadores, dependiendo del tipo de transaccin de disparo y el nivel en el que se ejecuta el disparador (trigger): 1. DISPARADORES DE NIVEL DE FILA: se ejecutan una vez para cada fila afectada por una instruccin DML. Los disparadores de nivel de fila se crean utilizando la clusula for each row en el comando create trigger. 2. DISPARADORES DE NIVEL DE INSTRUCCIN: se ejecutan una vez para cada instruccin DML. Por ejemplo, si una nica instruccin INSERT inserta 500 filas en una tabla un disparador de nivel de instruccin para dicha tabla slo se ejecutar una vez. Los disparadores de nivel de instruccin son el tipo predeterminado que se crea con el comando create trigger. 3. DISPARADORES BEFORE Y AFTER: puesto que los disparadores son ejecutados por sucesos, puede establecerse que se produzcan inmediatamente antes (before) o despus (after) de dichos sucesos. 4. DISPARADORES INSTEAD Of: puede utilizar INSTEAD OF para indicar a Oracle lo que tiene que hacer en lugar de realizar las acciones que invoca el disparador. Por ejemplo, podra usar un disparador INSTEAD OF en una vista para gestionar las inserciones en una tabla o para actualizar mltiples tablas que son parte de una vista. 5. DISPARADORES DE ESQUEMA: puede crear disparadores sobre operaciones en el nivel de esquema tales como create table, alter table, drop table, audit, rename, truncate y revoke. Puede incluso crear disparadores para impedir que los usuarios eliminen sus propias tablas. En su mayor parte, los disparadores de nivel de esquema proporcionan dos capacidades: impedir operaciones DDL y proporcionar una seguridad adicional que controle las operaciones DDL cuando stas se producen. 6. DISPARADORES EN NIVEL DE BASE DE DATOS: puede crear disparadores que se activen al producirse sucesos de la base de datos, incluyendo errores, inicios de sesin, conexiones y desconexiones. Puede utilizar este tipo de disparador para automatizar el mantenimiento de la base de datos o las acciones de auditora. Una definicin del disparador consiste en los siguientes componentes: 1. 2. 3. 4. 5. 6. Nombre del trigger. ( create [or replace] trigger <nombre del trigger>) Punto de tiempo del trigger ( before | after ) Disparando eventos ( insert or update [of <columnas> ] or delete <tabla>) Tipo de disparador (opcional) ( for each row ) Restriccin del disparador (Solo para for each row disparador) ( when < Condicin > ) Cuerpo del disparador Estructura de Disparadores.

PROCEDIMIENTOS ALMACENADOS.- Un procedimiento es un conjunto de sentencias de SQL y que se guarda en la base de datos Con los procedimientos se amplia la velocidad de ejecucin de las consultas sin reducir la eficiencia en la respuesta del servidor de base de datos. Esto porque el procedimiento es compilado en memoria virtual del cliente En los procedimientos se pueden crear tablas temporales que solamente existirn durante la ejecucin del mismo Los valores resultantes de la ejecucin del procedimiento sern obtenidos de la ltima consulta especificada, siempre y cuando no se enven a una tabla temporal Se define una tabla temporal al anteponer el smbolo # a su nombre.

CREACIN DE PROCEDIMIENTO ALMACENADO


Crear un procedimiento almacenado, es una coleccin guardada de instrucciones Transact-SQL que puede tomar y devolver los parmetros proporcionados por el usuario. Los procedimientos se pueden crear para uso permanente o para uso temporal en una sesin (procedimiento local temporal) o para su uso temporal en todas las sesiones (procedimiento temporal global). Sintaxis CREATE PROCEDURE procedure_name [ ; number ] [ { @ parameter data_type } ] go ARGUMENTOS.- Procedure_name Es el nombre del nuevo procedimiento almacenado. Los nombres de procedimiento deben seguir las reglas de los identificadores y deben ser nicos en la base de datos y para su propietario. Los procedimientos temporales locales o globales se pueden crear precediendo el procedure_name con un signo numrico simple (# procedure_name ) para los procedimientos temporales locales y un signo numrico doble (## procedure_name ) para los procedimientos temporales globales. El nombre completo, incluidos los signos # o ##, no puede exceder de 128 caracteres. Especificar el nombre del propietario del procedimiento es opcional. NUMBER.- Es un entero opcional utilizado para agrupar procedimientos del mismo nombre de forma que se puedan quitar juntos con una nica instruccin DROP PROCEDURE. Por ejemplo, los procedimientos utilizados con una aplicacin llamada &quot;orders&quot; se pueden llamar orderproc ;1, orderproc ;2, etc. La instruccin DROP PROCEDURE orderproc quita el grupo completo. Si el nombre contiene identificadores delimitados, el nmero no debe incluirse como parte del identificador; utilice el delimitador adecuado slo alrededor de procedure_name. @ PARAMETER.- Es un parmetro del procedimiento. En una instruccin CREATE PROCEDURE se pueden declarar uno o ms parmetros. El usuario debe proporcionar el valor de cada parmetro declarado cuando se ejecuta el procedimiento, a menos que se haya definido un valor predeterminado para el parmetro. Un procedimiento almacenado puede tener un mximo de 2.100 parmetros. Especifique un nombre de parmetro con un signo (@) como el primer carcter. Los nombres de los parmetros deben cumplir las reglas de los identificadores. Los parmetros son locales para el procedimiento; los mismos nombres de parmetro se pueden utilizar en otros procedimientos. De forma predeterminada, los parmetros slo pueden ocupar el lugar de constantes; no se pueden utilizar en lugar de nombres de tablas, nombres de columnas o nombres de otros objetos de base de datos. DATA_TYPE.- Es el tipo de datos del parmetro. Todos los tipos de datos, incluidos text, ntext e image, se pueden utilizar como parmetros de un procedimiento almacenado. ELIMINAR Y EJECUTAR UN PROCEDIMIENTO.- Sintaxis para eliminar drop procedure nombre del procedimiento Sintaxis para ejecutar nombre del procedimiento parmetro 1, parmetro 2, parmetro n, Ejecutar el procedimiento nombre del procedimiento

NDICES
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. Un ndice es una estructura de datos que permite acceder a diferentes filas de una misma tabla a travs de un campo (o campos clave). Un ndice de acceso es un archivo auxiliar utilizado internamente por el SGDB para acceder directamente a cada registro del archivo de datos.Un ndice permite un acceso mucho ms rpido a los datos.

PARA QU SE UTILIZAN LOS NDICES EN BD?


Para encontrar ms rpido aquello que buscamos, por lo tanto podemos decir que nos sirven para agilizar las consultas a las tablas. Una tabla o una vista puede contener los siguientes tipos de ndices:

AGRUPADO
Los ndices agrupados ordenan y almacenan las filas de los datos de la tabla o vista de acuerdo con los valores de la clave del ndice. Son columnas incluidas en la definicin del ndice. Slo puede haber un ndice agrupado por cada tabla, porque las filas de datos slo pueden estar ordenadas de una forma. La nica ocasin en la que las filas de datos de una tabla estn ordenadas es cuando la tabla contiene un ndice agrupado. Cuando una tabla tiene un ndice agrupado, la tabla se denomina tabla agrupada. Si una tabla no tiene un ndice agrupado, sus filas de datos estn almacenadas en una estructura sin ordenar denominada montn.

NO AGRUPADO
Los ndices no agrupados tienen una estructura separada de las filas de datos. Un ndice no agrupado contiene los valores de clave de ndice no agrupado y cada entrada de valor de clave tiene un puntero a la fila de datos que contiene el valor clave. El puntero de una fila de ndice no agrupado hacia una fila de datos se denomina localizador de fila. La estructura del localizador de filas depende de si las pginas de datos estn almacenadas en un montn o en una tabla agrupada. Si estn en un montn, el localizador de filas es un puntero hacia la fila. Si estn en una tabla agrupada, el localizador de fila es la clave de ndice agrupada.

NDICE DE CLAVE NICA


El ndice cdigo es un ndice especial que se crea cuando una tabla se define maestra y debe existir siempre ya que equivale al primary key. El ndice cdigo es obligatoriamente de tipo clave nica en las tablas maestras pero cualquier otro ndice tambin puede ser de tipo clave nica incluso teniendo mltiples partes. Los ndices de clave nica pueden tener como todos los tipos de ndices una o mltiples partes. Cada parte est definida por un campo de la tabla.

NDICE ACEPTA REPETIDAS


El ndice nombre es muy habitual ya que se crea con el asistente de creacin de tabla. Indexa por defecto el campo nombre de la tabla. Los ndices de tipo acepta repetidas permiten que de cada clave repetida puedan existir 4.000 millones de registros por eso aade 4 bytes a longitud de la clave. Este tipo de ndices pueden tener mltiples partes, en este caso indexa slo por nombre pero podra ser un ndice por persona y fecha, por ejemplo, permitiendo repeticiones.

NDICE DE PALABRAS
El ndice puede tener cualquier identificador aunque por defecto el asistente de creacin de tablas lo crea con el identificador palabras. Slo con indicar que el tipo de ndice es por palabras Velneo ya se encarga de indexar todas las palabras de los campos indicados en la frmula de partes. Este tipo de ndice es muy til ya que permite indexar por mltiples campos. En este caso se podra localizar la entidad por su nombre, CIF o telfono.

NDICE DE TROZOS
El ndice puede tener cualquier identificador aunque por defecto el asistente de creacin de tablas lo crea con el identificador trozos. Slo con indicar que el tipo de ndice es por trozos Velneo ya se encarga de indexar todas las ternas de palabras de los campos indicados en la frmula de partes. Este tipo de ndice es muy til ya que permite indexar por mltiples campos. En este caso se podra localizar la entidad por trozos de su nombre, CIF o telfono.

SINTAXIS DE UN NDICE EN BD
La sintaxis para la creacin de ndices es la siguiente:
CREATE [UNIQUE] INDEX<nombre_indice> ON<nombre_tabla>( <nombre_campo> [ASC | DESC] {,<nombre_campo> [ASC | DESC]}) );

ELABORA UN SCRIPT PARA LA CREACIN, ACTUALIZACIN, Y ELIMINACIN DE UN NDICE EN UNA BASE DE DATOS.
CrearIndice Create index indice1 On dbo.spt_values(number desc,namedesc); EliminarIndice Drop index indice1 On dbo.spt_values

CREACION DE REPORTES
Es una caracterstica de los sistemas de administracin de bases de datos que permite al usuario final especificar de manera sencilla un formato para un reporte para desplegar la informacin obtenida de una base de datos. Un reporte o Informe, como ltimamente se le conoce es: Los informes son una manera excelente de organizar y presentar los datos de una base de datos de Microsoft Access. Los informes permiten aplicar formato a los datos dando lugar a un diseo atractivo e informativo en la pantalla o en las copias impresas. 1. Los informes pueden darles mayor utilidad a los datos. 2. Los informes pueden tener diferentes niveles de complejidad, desde una simple lista (como un informe sobre el estado de un proyecto o un informe semanal de ventas) hasta un catlogo detallado de productos. LOS INFORMES TAMBIN PERMITEN: 1. 2. 3. 4. 5. Preparar facturas. Crear etiquetas postales. Crear un directorio, como una lista alfabtica de empleados con su informacin de contacto. Permiten presentar un resumen de los datos, como las ventas agrupadas por regin. Los informes pueden resumir y agrupar los datos para proporcionar una introduccin.

GENERACION DE REPORTES
El conjunto de opciones disponibles para crear tablas de resumen, mediante las cuales se puedan presentar de manera descriptiva los datos disponibles en memoria se halla en STATISTICS-SUMMARIES, TABLES, TEST TABLES. El diseo de tablas en stata puede ser de una va o de dos vas. En el primer caso se tiene una variable categrica por filas y en cada columna la variable continua a la cual se desee calcular estadsticas de resumen. En el caso de tablas a dos vas(two way) se deben tener dos variables categrica que se van a relacionar: Una por filas y otra por columnas. Para modificar la estructura de una tabla una vez construida, disponemos de la sentencia SQL alter table. Mediante esta sentencia, podemos llevar a cabo las operaciones siguientes: Agregar una columna. demo=# alter table persona add edad int; ALTER Eliminar una columna. demo=# ALTER TABLE products DROP COLUMN description; Fijar el valor por omisin de una columna. demo=# alter table persona alter edad set default 15; ALTER Eliminar el valor por omisin de una columna. demo=# alter table persona alter edad drop default; ALTER Renombrar una columna. demo=# alter table persona rename direccion to dir; ALTER Renombrar una tabla. demo=# alter table persona rename to personal; ALTER

La mejor opcin para crear una tabla es desde la Vista diseo, que vendra a ser el esqueleto de la tabla, o lo que sta tiene en su interior. En la vista diseo definiremos los nombres de los campos (columnas), el tipo de dato que introduciremos en cada uno, la cantidad de caracteres que puede almacenar, el formato (en los datos numricos), las mscaras de entrada, entre otras cosas. Para crear una tabla de este modo, debemos ir a la ficha Crear y desde el fragmento Tabla hacer clic en el botn Diseo de tabla. Se abrir la vista diseo de la tabla, con tres columnas Nombre del campo, Tipo de datos y Descripcin -, con un panel con dos fichas General y Bsqueda en la parte inferior, y adems aparecer el grupo Herramientas de tabla con la ficha Diseo. El generador de reportes puede ser utilizado para imprimir reportes creados por el usuario de cualquier maestro, de cualquiera de los exploradores, de los informes por pantalla o de las hojas electrnicas creadas en ContaExcel. El generador de reportes permite imprimir informes diseados por el usuario en segundos.