Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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
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()"/>
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.
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.- 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.
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.
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 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.