Alumnos : ARANDA MANCHAY, Carlos Ritter. MUOZ CIEZA, Csar Elvin. ORTIZ CASTILLO, Wilmer. VELASQUEZ CARO, Manuel E.
Ciclo : V (2013-I).
Tarapoto - Per
2013 INTRODUCCIN A METADATOS Cuando Internet empez a crecer y la cantidad de informacin disponible aument desmesuradamente, surgi el problema de clasificarla e identificarla de manera eficiente. Partiendo de ese problema, se comenzaron a usar los metadatos, es decir, informacin relativa a los propios datos que facilitan su catalogacin y adems proporcionan informacin semntica asociada. Los metadatos son datos altamente estructurados que describen informacin, describen el contenido, la calidad, la condicin y otras caractersticas de los datos. Es "Informacin sobre informacin" o "datos sobre los datos".
TIPOS DE METADATOS Existen diversos tipos de metadatos, cada uno con su propio formato para describirlos. Segn la informacin que proporcionen, existen metadatos sobre: el contenido, aspectos formales, derechos de autor y el contexto. Segn la funcin que proporcionan, se pueden clasificar en: Descriptivos Describen e identifican recursos de informacin. Permite a los usuarios la bsqueda y recuperacin de la informacin. DUBLIN CORE o Etiquetas META de HTML Estructurales Facilitan la navegacin y la presentacin de los recursos. Proporcionan informacin sobre la estructura interna de los documentos, as como la relacin entre ellos. XML y RDF o SGML Administrativos Facilitan la gestin de conjuntos de recursos. Incluye la gestin de derechos y sobre control de acceso y uso. MOA2
Hay varias iniciativas para tratar de normalizar y estandarizar los metadatos sobre los recursos electrnicos. Quiz el ms conocido sea el Dublin Core, creado inicialmente para catalogar y compartir informacin sobre libros entre bibliotecas estadounidenses, pero que ahora se usa casi en la totalidad de las pginas web existentes en Internet. Existen otros muchos estndares con diferentes niveles de estructuracin y de detalle optimizados para el sistema por el fueron creados. Los metadatos pueden almacenarse en una base de datos, normalmente diseada para tal efecto, o incrustados en la cabecera del propio documento sobre el que aaden informacin. En el contenido web, por ejemplo, la metainformacin sobre una pgina web suele ir incluida en el propio documento HTML, mientras que otros contenidos como la sindicacin de noticias o metadatos sobre archivos multimedia se proporcionan como documentos aparte. USOS DE LOS METADATOS Las aplicaciones son muy amplias. Principalmente se usan para la recuperacin de informacin y para describir y catalogar documentos. Otros usos incluyen la definicin de derechos de propiedad intelectual, valoracin y evaluacin de contenidos, etc. Los principales clientes suelen ser los robots y agentes de los motores de bsqueda. DICCIONARIO DE DATOS
Un diccionario de datos es un conjunto de metadatos que contiene las caractersticas lgicas y puntuales de los datos que se van a utilizar en el sistema que se programa, incluyendo nombre, descripcin, alias, contenido y organizacin. Identifica los procesos donde se emplean los datos y los sitios donde se necesita el acceso inmediato a la informacin, se desarrolla durante el anlisis de flujo de datos y auxilia a los analistas que participan en la determinacin de los requerimientos del sistema, su contenido tambin se emplea durante el diseo. 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.
HERRAMIENTAS QUE HACEN USO EL DICCIONARIO DE DATOS NetDynamics PowerBuilder PROGRESS Visual Basic Bases de Datos Compatibles CA-Clipper, CA-OpenIngres DB2 for MVS, DB2 for OS/390 DB2 UDB, dBASE FoxPro, HiRDB Informix, InterBase Microsoft Access, Microsoft SQL Server Oracle, Paradox Rdb, red Brick Warehouse SAS, SQL Anywhere SQLBase, Sybase Teradata Sistemas Operativos Compatibles Windows NT Windows 95 Windows 98 Erwin Entre otros. Requerimientos Tcnicos: Mnimo 10 MB de espacio de disco duro, 16 MB RAM (32 MB RAM recomendado para modelos largos.) NORMA ISO 10027 Esta Norma Internacional describe el marco para una serie de normas internacionales que especifican un organismo especializado Sistema de informacin, denominado Recursos de Informacin Diccionario System (IRDS). Un IRDS se utiliza para controlar y documentar los recursos de informacin de una empresa. Esta Norma Internacional define los niveles de datos pertinentes a un IRDS. Se define las interfaces que son IRDS prescrita por otras normas internacionales en las IRDS la familia de normas. Tambin define los tipos de contenido de los datos que se prescriben por otras Normas Internacionales de la familia. DEFINICIONES Las definiciones en esta clusula son esas definiciones IRDS utilizados en este marco. Estas definiciones se hacen referencia en otras Normas Internacionales de los que se utilizan. Adems Normas Internacionales pueden definir la terminologa adicional. Cuando cada trmino se seala en esta clusula se introdujo en una tarde clusula de esta Norma Internacional, se imprime en negrita LOS EFECTOS DE ESTA NORMA LOS SIGUIENTES APLICAN TRMINOS. Control de acceso: Una capacidad de restritt la uso de los servicios de datos el acceso a los usuarios que han sido previamente autorizado. Nivel de aplicacin: El nivel de datos en los que se registran las instancias de datos de la aplicacin. Par nivel de aplicacin: El trmino utilizado para describir tanto el nivel de aplicacin y su esquema en el Nivel IRD. Esquema de aplicacin: Un conjunto de definiciones que el control de lo que puede existir en cualquier momento en una aplicacin. Auditora: Un proceso de la comprobacin de que cambios realizados previamente a una coleccin de datos han sido realizado correctamente y por un usuario apropiadamente autorizado a una momento oportuno. Cliente: Un usuario que solicita los servicios prestados en una interfaz de un servidor. Restriccin: Declaracin de uno o ms vlidas estados de una parte de una base de datos, basado en las condiciones que los valores en la base de datos deben satisfacer en cualquier momento. Datos Contenedor: Un rea conceptual de almacenamiento en el que se registran instancias de datos de bronceado VISTAS Y TABLAS DE SISTEMA INTERNAS EN POSTGRESQL Adems podemos obtener informacin sobre cmo est funcionando PostgreSQL internamente a travs de las vistas y tablas de sistema en la base de datos. En sucesivos artculos iremos viendo qu tipo de informacin contienen y como interpretar estas vista/tablas de sistema. Para que muchas de estas vistas/tablas funcionen debemos tener activados estos parmetros en nuestro sistema, track_counts, track_functions, track_activities, bien en el fichero postgresql.conf o definidos con SET / ALTER DATABASE en la sesin o base de datos de la que queremos obtener informacin. Existen muchas vistas y tablas internas pero las que se usan ms comnmente para obtener informacin de PostgreSQL son las siguientes: pg_roles: Informacin sobre todos los roles y usuarios definidos en la base de datos. pg_database Informacin sobre todas las bases de datos definidas en nuestro sistema. pg_locks: Informacin sobre los bloqueos activos en nuestras bases de datos. Vista complicada de entender pero muy valiosa en ciertas situaciones. pg_stat_activity: Informacin sobre todos los procesos clientes conectados a la base de datos. pg_stat_database: Informacin global de uso de todas las bases de datos. pg_stat_user_tables: Informacin de uso de todas las tablas de usuario en una base de datos. pg_stat_user_indexes: Informacin de uso de todos los ndices de usuarios en una base de datos. pg_stat_user_functions: Informacin sobre estadsticas de uso de las funciones en uso. pg_statio_user_tables: Informacin de acceso a disco y memoria cache de todas las tablas de usuario en una base de datos. pg_statio_user_indexes: Informacin de acceso a disco y memoria cache de todos los ndices de usuario en una base de datos. pg_stat_bgwriter: Informacin global sobre el proceso "background writer". Catlogo del sistema PostgreSQL. Cada base de datos tiene estas mismas tablas, salvo por la primera que es nica, que almacenan cada una de las partes que componen la base de datos. Nombre del catlogo Descripcin pg_database Bases de datos pg_class Clases o tablas pg_attribute Atributos o campos de la clase o tabla pg_index ndices secundarios pg_proc Procedimientos (en C y en SQL) pg_type Tipos de datos (del sistema y definidos por el usuario) pg_operator Operadores (del sistema y definidos por el usuario) pg_aggregate Agregados y funciones agregadas pg_am Mtodos de acceso pg_amop Operadores de mtodos de acceso pg_amproc Funciones de soporte para mtodos de acceso pg_opclass Clases de operadores de mtodos de acceso
Tabla que contiene todas las bases de datos que existen en el sistema. Vale la pena consultarla en aplicaciones que impliquen explorar diversos aspectos. Table = pg_database Field Type Length Description datname name 32 Nombre de la base datdba int4 4 Uid del database admin datpath text var El path para llegar hasta la base
Tabla que contiene todas las tablas en la base de datos actual. Table = pg_class Field Type Length Description relname name 32 Nombre de la tabla reltype oid 4 El Objecto Id de la tabla relowner oid 4 El UID (postgres) del dueo de la tabla relam oid 4 relpages int4 4 Nmero de pginas ocupadas por la tabla reltuples int4 4 Nmero de tuplas en la tabla Relhasindex bool 1 Verdadero si tiene al menos un ndice relisshared bool 1 relkind char 1 relnatts int2 2 Nmero de atributos relchecks int2 2 reltriggers int2 2 Nmero de triggers asociados relhasrules bool 1 Verdadero si tiene reglas asociadas relacl aclitem[] var
Tabla que contiene los atributos de los atributos de todas las tablas en la base actual. Table = pg_attribute Field Type Length Description attrelid oid 4 OID del atributo attname name 32 Nombre del atributo atttypid oid 4 Oid del tipo definido para el atributo attdisbursion float4 4 attlen int2 2 Longitud en bytes del atributo attnum int2 2 attnelems int4 4 attcacheoff int4 4 atttypmod int2 2 attbyval bool 1 attisset bool 1 attalign char 1 attnotnull bool 1 atthasdef bool 1
Para saber que bases de datos hay en el sistema: SELECT * FROM pg_database; Para saber que tablas tengo en la base de datos actual: SELECT * FROM pg_class; Lo mismo, pero slo las definidas por el usuario, excluyendo las del sistema: SELECT * FROM pg_class WHERE relname !~~ 'pg%'; Si slo queremos saber cuntos registros tiene una tabla, basta con preguntar: SELECT relname,reltuples FROM pg_class WHERE relname=mitabla'; Donde mitabla es el nombre de la tabla de la cual nos interesa saber el nmero de registros. A continuacin, presentamos una forma de extraer informacin de las tablas de la base de datos. pg_database tiene las bases de datos, pg_class tiene las tablas, y pg_attribute tiene los campos. Si lo que queremos saber es el nmero de registros en una tabla determinada, basta con preguntar lo siguiente, conociendo la tabla, adicionalmente se obtienen los campos. Para, adems, saber los tipos de los campos, habra que hacer un query a pg_type con los oids de los campos. Puede construir la consulta para hacerlo? SELECT relname,reltuples,attname,attnum FROM pg_class,pg_attribute WHERE pg_class.relname='mitabla' AND pg_attribute.attrelid=pg_class.oid AND attnum > 0 ORDER BY attnum; Si lo que queremos es saber todo de todas las tablas de la base que no sean del sistema, sino del usuario, por supuesto ordenadas por oid, se hace lo siguiente, pero con el problema de que incluye los ndices: SELECT pg_class.oid,relname,reltuples,attname FROM pg_class,pg_attribute WHERE pg_class.relname !~~ '%pg%' AND pg_attribute.attrelid=pg_class.oid AND attnum > 0 ORDER BY pg_class.oid; En el caso de que uno quiera saber cules son los campos de todas las tablas que se tienen en una base de datos, esta consulta lo soluciona. SELECT pg_class.relname,pg_attribute.attname,pg_class.reltuples,pg_type.typna me FROM pg_attribute WHERE attrelid = pg_class.oid AND attnum > 0 AND atttypid=pg_type.oid AND pg_class.oid IN (SELECT oid FROM pg_class WHERE relname !~~ 'pg%') AND pg_type.oid IN (SELECT oid FROM pg_type);