PDF de programación - Inventario de una red IP orientado en CMSI

Imágen de pdf Inventario de una red IP orientado en CMSI

Inventario de una red IP orientado en CMSIgráfica de visualizaciones

Publicado el 22 de Julio del 2018
424 visualizaciones desde el 22 de Julio del 2018
141,0 KB
9 paginas
Creado hace 13a (02/11/2007)
Inventario de una red IP orientado en CMSI

Anexo capítulo 3



En este anexo vamos a presentar los ficheros cmsip.sql y data.sql procedente de la

implementación del estándar CMSI en una base de datos PostgreSQL.

Presentamos a continuación el fichero cmsip.sql que es el que define la estructura

básica de tablas y las relaciones que hay entre ellas.

-- Tabla que indica la versión de la base de datos útil para actualizaciones
CREATE TABLE eneo_asset_version (
version varchar(255) NOT NULL,
PRIMARY KEY (version)
);

-- Tabla que contiene el árbol de categoría, cada elemento se identifica por un id, que debe
ser único

CREATE TABLE category_tree (
id serial NOT NULL,
name varchar(255) default NULL,
PRIMARY KEY (id)
);

-- Tabla que contiene los nodos del árbol de categorías. Los elementos que contiene son:
-- node_tag: Es una etiqueta identificativa del nodo
-- category_tree_id: es el identificador del árbol de categoría al que pertenece
-- parents: identifca el nodo_tag padre, en el caso de que no tenga padre, su valor será
NULL
-- name: nombre del nodo.
-- descr: descripción del nodo.
CREATE TABLE category_node (
node_tag varchar(255) NOT NULL,
category_tree_id int8 NOT NULL default 0,
parents varchar(255) default NULL,
name varchar(255) NOT NULL,
descr varchar(255) default NULL,
PRIMARY KEY (node_tag)
);
ALTER TABLE category_node
ADD FOREIGN KEY (category_tree_id) REFERENCES category_tree (id) ON
DELETE CASCADE,
ADD FOREIGN KEY (parents) REFERENCES category_node (node_tag) ON DELETE
CASCADE;

-- Tabla family, contiene todas las familias dentro de un nodo, sus columnas son:
-- family_tag: Es el identificador de la familia.
-- node_tag: Es el identificador del nodo al que pertenece la familia
-- name: Nombre de la familia
-- descr: Descripción de la familia
-- grandparents: Es el identificador del nodo principal al que pertenece la familia
CREATE TABLE family (
family_tag serial NOT NULL,
node_tag varchar(255) NOT NULL,
name varchar(255) NOT NULL,
descr varchar(255) default NULL,
grandparents varchar(255) NOT NULL,
PRIMARY KEY (family_tag)
);

49

Proyecto Fin de Carrera

ALTER TABLE family
ADD FOREIGN KEY (node_tag) REFERENCES category_node (node_tag) ON DELETE
CASCADE,
ADD FOREIGN KEY (grandparents) REFERENCES category_node (node_tag) ON
DELETE CASCADE;

-- Tabla que contiene los formatos gramaticales de los atributos
-- id: Identificador único de una expresión gramatical
-- grammar: Expresión gramatical, dado por expresiones regulares
-- name: Nombre de la expresión gramatical.
-- descr: Descripción de la expresión gramatical
CREATE TABLE grammar (
id serial NOT NULL,
grammar varchar(255) NOT NULL,
name varchar(255) NOT NULL,
descr varchar(255) default NULL,
PRIMARY KEY (id)
);

-- Tabla que contiene el tipo de definición de un atributo, este puede venir dado por 2 tipos
diferentes:
-- nodes: El atributo hereda el mismo tipo de definición que los atributos de otro nodo.
-- grammar: El tipo de definición de un atributo viene dado por una expresión gramatical
CREATE TABLE type_def (
type_id varchar(255) NOT NULL,
descr varchar(255) default NULL,
nodes int8 default NULL,
grammar int8 default NULL,
PRIMARY KEY (type_id)
);
ALTER TABLE type_def
ADD FOREIGN KEY (grammar) REFERENCES grammar (id) ON DELETE CASCADE;

-- Tabla value_list contiene la lista de valores que puede tener un atributo, la definición de
estos atributos viene dado por un identificador hacia la tabla anterior
CREATE TABLE value_list (
value_tag varchar(255) NOT NULL,
type_id varchar(255) NOT NULL,
name varchar(255) NOT NULL,
descr varchar(255) default NULL,
PRIMARY KEY (value_tag, type_id)
);
ALTER TABLE value_list
ADD FOREIGN KEY (type_id) REFERENCES type_def (type_id) ON DELETE
CASCADE;

-- Tabla family_attr, contiene el formato gramatical de las familias, sus columnas son:
-- attr_id: Identificador del atributo de familia
-- type_id: Identificador del tipo de definición
-- name: Nombre del atributo de familia
-- descr: Descripción del atributo de familia
CREATE TABLE family_attr (
attr_id serial NOT NULL,
type_id varchar(255) NOT NULL,
name varchar(255) NOT NULL,
descr varchar(255) default NULL,
PRIMARY KEY (attr_id)
);
ALTER TABLE family_attr
ADD FOREIGN KEY (type_id) REFERENCES type_def (type_id) ON DELETE
CASCADE;

50

Inventario de una red IP orientado en CMSI


-- Tabla de expresión, contiene las expresiones regulares que clasifican la información de
inventario.
-- id: Identificador de la expresion regular
-- grammar: expresion regular
-- family_tag: identificador de la familia de productos al que pertenece
CREATE TABLE expression (
id serial NOT NULL,
grammar varchar(1000) NOT NULL,
family_tag int8 NOT NULL,
PRIMARY KEY (id)
);

ALTER TABLE expression
ADD FOREIGN KEY (family_tag) REFERENCES family (family_tag) ON DELETE
CASCADE;

-- Tabla family_attr_value, contiene los valores de los atributos de las familias
-- id: Identificador único del valor
-- node_tag: Identificador del nodo
-- family_tag: Identificador de la familia
CREATE TABLE family_attr_value (
id serial NOT NULL,
node_tag varchar(255) NOT NULL,
family_tag int8 NOT NULL,
attr_id int8 NOT NULL,
value varchar(255) NOT NULL,
PRIMARY KEY (id)
);

ALTER TABLE family_attr_value
ADD FOREIGN KEY (node_tag) REFERENCES category_node (node_tag) ON DELETE
CASCADE,
ADD FOREIGN KEY (attr_id) REFERENCES family_attr (attr_id) ON DELETE
CASCADE,
ADD FOREIGN KEY (family_tag) REFERENCES family (family_tag) ON DELETE
CASCADE;

-- Tabla probes, contiene la información de las sondas de las cuales recibe información
-- id: Identificador único de la sonda
-- ip: Dirección IP de la sonda
-- date_update: Último instante de tiempo en el cual se recibió información de dicha sonda.
-- name: Nombre de red de la sonda, si no tiene ninguno coincide con la dirección IP.
CREATE TABLE probes (
id serial NOT NULL,
ip INET NOT NULL,
date_update timestamptz,
name varchar(255) NOT NULL,
PRIMARY KEY (id)
);

-- Tabla users, contiene información sobre los usuarios los cuales tienen accesos a ciertas
-- sondas, existe el usuario de base de datos, es el que tiene acceso a todas las sondas.
-- Name: nombre del usuario
-- read_write: Booleano que indica el permiso del usuario
CREATE TABLE users (
name varchar(255) NOT NULL,
read_write boolean DEFAULT false,
PRIMARY KEY (name)
);

51

Proyecto Fin de Carrera


-- La tabla probes_users relaciona los usuarios con las sondas a la que tiene acceso
CREATE TABLE probes_users (
id serial NOT NULL,
users varchar(255) NOT NULL,
probes serial NOT NULL,
PRIMARY KEY (id)
);
ALTER TABLE probes_users
ADD FOREIGN KEY (probes) REFERENCES probes (id) ON DELETE CASCADE,
ADD FOREIGN KEY (users) REFERENCES users (name) ON DELETE CASCADE;

-- Tabla hosts, contiene las direcciones IP de todos los equipos que se han detectado
-- a través de las sondas.
-- id: Identificador único.
-- ip: Dirección IP.
-- mac: Dirección Mac.
-- name: Nombre del equipo, en caso de que no tenga, coincide con la dirección IP.
-- date_update: Último instante del cual se tiene información.
-- probes: sonda que detecto dicho equipo.
CREATE TABLE hosts (
id serial NOT NULL,
ip INET NOT NULL,
mac MACADDR default NULL,
name varchar(255) NOT NULL,
date_update timestamptz,
probes serial NOT NULL,
PRIMARY KEY (id)
);
ALTER TABLE hosts
ADD FOREIGN KEY (probes) REFERENCES probes (id) ON DELETE CASCADE;

-- Tabla product, contiene todos los productos de la jerarquía.
-- product_tag: Etiqueta identificativa del producto.
-- family_tag: familia a la que pertenece dicho producto.
-- probes: sonda que detectó dicho producto.
-- hosts: Identificador del equipo detectado.
CREATE TABLE product (
product_tag serial NOT NULL,
family_tag int8 NOT NULL,
probes int8 NOT NULL,
hosts int8 NOT NULL,
PRIMARY KEY (product_tag)
);

ALTER TABLE product
ADD FOREIGN KEY (family_tag) REFERENCES family (family_tag) ON DELETE
CASCADE,
ADD FOREIGN KEY (probes) REFERENCES probes(id) ON DELETE CASCADE,
ADD FOREIGN KEY (hosts) REFERENCES hosts (id) ON DELETE CASCADE;

-- Tabla product_attr, contiene información sobre los atributos de los datos de productos
-- que se detectan
-- attr_id: Identificador único del atributo.
-- type_id: Identificador de la expresión gramatical que sigue.
-- name: Nombre del atributo.
-- descr: Descripción del atributo.
CREATE TABLE product_attr (
attr_id serial NOT NULL,
type_id varchar(255) NOT NULL,

52

Inventario de una red IP orientado en CMSI

name varchar(255) NOT NULL,
descr varchar(255) default NULL,
PRIMARY KEY (attr_id)
);

ALTER TABLE product_attr
ADD FOREIGN KEY (type_id) REFERENCES type_def (type_id) ON DELETE
CASCADE;

-- Tabla product_attr_value, contiene los valores de los atributos de productos
-- id: Identificador único del valor.
-- family_tag: Identificador de la familia.
-- producto_tag: Identificador del producto.
-- probes: Identificador de la sonda.
-- attr_id: Identificador del tipo de formato que tiene dicho atributo
-- value: Valor del atributo.
CREATE TABLE product_attr_value (
id serial NOT NULL,
family_tag int8 NOT NULL,
product_tag int8 NOT NULL,
probes int8 NOT NULL,
attr_id int8 NOT NULL,
value varchar(255) NOT NULL,
PRIMARY KEY (id)
);

ALTER TABLE product_attr_value
ADD FOREIGN KEY (family_tag) REFERENCES family (family_tag) ON DELETE
CASCADE,
ADD FOREIGN KEY (product_tag) REFERENCES product (product_tag) ON DELETE
CASCADE,
ADD FOREIGN KEY (probes) REFERENCES probes (id) ON DELETE CASCADE,
ADD FOREIGN KEY (attr_id) REFERENCES product_attr (attr_id) ON DELETE
CASCADE;

-- Tabla attributes,
  • Links de descarga
http://lwp-l.com/pdf12669

Comentarios de: Inventario de una red IP orientado en CMSI (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad