You are on page 1of 9

Ao de la Inversin para el

Desarrollo Rural y la Seguridad


Alimentaria
Universidad Nacional de San Martn.

Facultad de Ingeniera de Sistemas e Informtica.


Curso : Administracin de Base de Datos

Tema : Diccionario de Datos

Docente : Ing. Andy Rucoba Retegui

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);

You might also like