Aller au contenu

Modèle de base de données#

La plupart des paramètres et contenus sont enregistrés dans un Système de Gestion de Base de Données (SGBD) par i-doit. MySQL ou MariaDB sont utilisés comme SGBD. Mais quelle est la structure du modèle de base de données i-doit?

Fondamentaux#

Certaines des plus de 400 tables de la base de données du locataire sont structurées à l'aide d'un schéma de noms défini. Par exemple, c'est la raison pour laquelle toutes les tables i-doit ont le préfixe "isys_".

D'autres identifiants pour les catégories CMDB sont "cats" pour des catégories spécifiques et "catg" pour des catégories globales. Ils se terminent par le nom anglais de la catégorie pertinente et le suffixe _list (par exemple, isys_catg_model_list, isys_catg_memory_list). Les tables de catégorie représentent 50% de la base de données complète. Une autre partie importante des tables sont des listes de dialogues avec lesquelles les listes déroulantes sont remplies. Beaucoup de ces listes spéciales contiennent des valeurs sur le type et le fabricant et peuvent être reconnues grâce à leurs noms, tels que "type" ou "manufacturer".

Références (Clés étrangères)#

Pour éviter les redondances dans le schéma de données, les bases de données i-doit sont structurées de manière relationnelle et normalisées selon le schéma de la troisième forme normale. Les clés étrangères ont une désignation uniforme (voir également le paragraphe sur "Schéma de noms") de sorte que vous puissiez les reconnaître immédiatement.

Schéma de noms#

Outre la désignation des tables individuelles, il existe un concept cohérent pour les noms qui traverse toutes les désignations de champ des tables i-doit. Il commence par le nom de la table, suivi du nom réel de la colonne. Par exemple, le champ id de la table isys_catg_cpu_list est appelé :

1
2
3
4
5
6
isys_catg_cpu_list__id
    /\              /\
 Table CPU            Colonne (ID)
isys_catg_cpu_list__title
    /\               /\
 Table CPU            Colonne (titre)

De même, les références à d'autres champs (clés étrangères) suivent un principe similaire. Une référence contient toujours le nom complet de la colonne référencée, de sorte que vous puissiez toujours voir à quelle colonne de table la référence pointe grâce au nom.

Exemple de référence d'objet d'une catégorie :

1
2
3
isys_catg_cpu_list__isys_obj__id
/\                 /\      /\
Tableau CPU      Tableau Obj.    Colonne

Objets#

Chaque objet est un enregistrement de données dans la table isys_obj. Les caractéristiques, telles que le type d'objet (serveurs, clients, routeurs, etc.), la date de création, le statut (normal, archivé, supprimé) et quelques attributs supplémentaires, sont enregistrés dans cette table. La détermination du type d'objet est effectuée en référençant la table isys_obj_type dans laquelle les caractéristiques et l'emplacement respectifs (infrastructure, logiciel, etc.) sont enregistrés.

Catégories Globales et Spécifiques#

Chaque catégorie est reflétée dans la base de données en tant que table individuelle et est en relation 1:n avec l'objet. En principe, il y a une distinction entre les valeurs uniques et les listes. Les valeurs uniques sont des entrées simples (par exemple, comptabilité ou facteur de forme) et une seule entrée par objet existe dans la table. En revanche, les listes permettent des entrées multiples (CPU, mémoire, ports ...). Dans chaque enregistrement de données de la catégorie globale, il y a une référence à un seul objet.

Exemple de la structure de la catégorie globale pour une carte graphique et de la catégorie globale pour les adresses IP :

isys_catg_graphic_list est au-dessus de la clé étrangère isys_catg_graphic_list__isys_obj__id par rapport à l'objet. Par le même schéma, l'adresse IP est en relation avec l'objet :
isys_catg_ip_list contient la clé étrangère isys_catg_ip_list__isys_obj__id.

Cela se traduit par la déclaration SQL suivante pour la détermination de tous les objets, de leurs cartes graphiques et des détails des adresses IP :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
SELECT
  isys_obj__title,
  isys_catg_graphic_list__title,
  isys_catg_graphic_list__memory,
  isys_memory_unit__title,
  isys_catg_ip_list__hostname,
  isys_catg_ip_list__address
FROM isys_obj
INNER JOIN isys_catg_graphic_list
ON isys_catg_graphic_list__isys_obj__id = isys_obj__id
INNER JOIN isys_memory_unit
ON isys_catg_graphic_list__isys_memory_unit__id = isys_memory_unit__id
INNER JOIN isys_catg_ip_list
ON isys_catg_ip_list__isys_obj__id = isys_obj__id

Les mêmes règles s'appliquent également aux catégories spécifiques. Une requête pour tous les détails nets de tous les objets nets se présente comme suit:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
SELECT
  isys_obj__title,
  isys_cats_net_list__address,
  isys_cats_net_list__dhcp_range_from,
  isys_cats_net_list__dhcp_range_to,
  isys_cats_net_list__dhcp,
  isys_cats_net_list__def_gw
FROM
isys_cats_net_list
INNER JOIN isys_obj
ON isys_cats_net_list__isys_obj__id = isys_obj__id

Diagramme: Relation entre les catégories et les objets

Diagramme: Relation entre les catégories et les objets **

Dans le diagramme, vous pouvez voir comment un objet est lié à la catégorie globale CPU. Cette catégorie accède à nouveau aux entrées Dialog+, telles que le fabricant et le type. Il en va de même avec la catégorie globale Facteur de forme qui accède au type de facteur de forme.

Diagramme: Relation entre les catégories et les objets

Ce diagramme illustre les relations d'un objet avec la catégorie "Adresse hôte" (IP). L'objet (par exemple, Serveur1) est dans la table isys_obj, les adresses IP allouées sont dans la table isys_catg_ip_list. En raison du niveau détaillé des caractéristiques de l'adresse hôte, trois tables supplémentaires sont référencées à côté des détails de base (nom d'hôte, adresse ...):

  • isys_connection, contenant la connexion à l'objet réseau
  • isys_ip_assignment, déterminant la forme d'attribution de l'IP (DHCP, statique)
  • isys_net_type, fournissant le type de réseau

Utilisateurs, Contacts, Personnes, Groupes de personnes#

Les contacts, qui peuvent être à la fois des utilisateurs internes et des personnes externes dans i-doit, sont enregistrés dans la table isys_obj avec les types d'objets respectifs. Les utilisateurs internes diffèrent des "contacts" externes uniquement par le remplissage du contenu avec les paramètres d'authentification i-doit (comme le nom d'utilisateur ou le mot de passe) dans la table isys_cats_person_list. Les groupes (et les groupes de droits) sont enregistrés dans isys_obj par le système_.

Journal de bord#

Le journal de bord se compose d'entrées dans la table isys_logbook. Cette table a de nouveau des références à d'autres tables. Les tables suivantes sont importantes :

  • isys_logbook_archive (entrées de journal de bord archivées)
  • isys_logbook_event (événements, tels que créés, modifiés ou supprimés)
  • isys_logbook_level (niveau d'alarme pour une présentation colorée dans le journal de bord et priorité)
  • isys_logbook_source (où l'événement a été déclenché, par exemple, source interne ou externe, Nagios, etc.)

Aperçu de la Table#

Catégories CMDB

  • isysgui_catg
  • isysgui_cats
  • isysgui_custom

Table de dialogue pour la comptabilité (isys_catg_account_list)

  • isys_account

Tables pour les connexions de câbles

  • isys_cable_connection
  • isys_cable_type

Catégories globales

  • isys_catg_access_list
  • isys_catg_accounting_list
  • isys_catg_application_list
  • isys_catg_backup_list
  • isys_catg_connector_list
  • isys_catg_contact_list
  • isys_catg_controller_list
  • isys_catg_cpu_frequency
  • isys_catg_cpu_list
  • isys_catg_distributor
  • isys_catg_drive_list
  • isys_catg_emergency_plan_list
  • isys_catg_fc_port_list
  • isys_catg_file_list
  • isys_catg_formfactor_list
  • isys_catg_global_category
  • isys_catg_global_list
  • isys_catg_graphic_list
  • isys_catg_idic_list
  • isys_catg_image_list
  • isys_catg_ip_list
  • isys_catg_ip_list_2_isys_catg_port_list
  • isys_catg_ip_list_2_isys_netp_ifacel
  • isys_catg_lic_list
  • isys_catg_location_list
  • isys_catg_logb_list
  • isys_catg_maintenance_list
  • isys_catg_manual_list
  • isys_catg_memory_list
  • isys_catg_model_list
  • isys_catg_nagios
  • isys_catg_nagios_list
  • isys_catg_netp_list
  • isys_catg_netv
  • isys_catg_netv_list
  • isys_catg_net_type_list
  • isys_catg_odep_list
  • isys_catg_overview_list
  • isys_catg_port_list
  • isys_catg_port_list_2_isys_netp_con
  • isys_catg_port_list_2_isys_netp_ifacel
  • isys_catg_power_consumer_list
  • isys_catg_sanpool_list
  • isys_catg_sound_list
  • isys_catg_stor_list
  • isys_catg_ui_list
  • isys_catg_version_list
  • isys_catg_virtual_list
  • isys_catg_virtual_machine_list
  • isys_catg_workflow_list

Catégories spécifiques

  • isys_cats_access_point_list
  • isys_cats_ac_list
  • isys_cats_application_list
  • isys_cats_building_list
  • isys_cats_client_list
  • isys_cats_cp_contract_list
  • isys_cats_distributor
  • isys_cats_emergency_plan_list
  • isys_cats_enclosure_list
  • isys_cats_file_list
  • isys_cats_group_list
  • isys_cats_lic_group
  • isys_cats_lic_item
  • isys_cats_lic_list
  • isys_cats_location_generic_list
  • isys_cats_maintenance_list
  • isys_cats_monitor_list
  • isys_cats_net_list
  • isys_cats_pobj_list
  • isys_cats_prt_emulation
  • isys_cats_prt_list
  • isys_cats_prt_paper
  • isys_cats_room_list
  • isys_cats_router_list
  • isys_cats_san_list
  • isys_cats_service_list
  • isys_cats_switch_fc_list
  • isys_cats_switch_net_list
  • isys_cats_tapelib_list
  • isys_cats_wan_list
  • isys_cats_ws_net_type_list

Connexions entre objets et catégories

  • isys_connection

Références de contact

  • isys_contact
  • isys_contact_data_item
  • isys_contact_type

Combinaisons d'objets

  • isys_container

Dialogue : Type de contrat mobile

  • isys_cp_contract_type

Informations sur la version et la révision de la base de données i-doit

  • isys_db_init

Dépendances, type de dépendance

  • isys_dependency
  • isys_dep_type

Table de connexion pour le lecteur au stockage

  • isys_drive_list_2_stor_list

Modèles d'exportation

  • isys_export

Dialogue : Médium de port FC

  • isys_fc_port_medium

Fichiers

  • isys_file_category (catégorie)
  • isys_file_group (groupe)
  • isys_file_physical (chemin du fichier physique)
  • isys_file_type (types de fichiers)

Administration de groupe

  • isys_group

Table de connexion des groupes de droits aux modules, objets, contacts ou sessions utilisateur

  • isys_group_2_isys_module
  • isys_group_2_isys_obj
  • isys_group_2_isys_person_intern
  • isys_group_2_isys_user_session

Dialogue : Attribution d'IP

  • isys_ip_assignment

Configuration LDAP

  • isys_ldap (connexion au serveur LDAP)
  • isys_ldap_directory (types de répertoires)

  • isys_location_image

Enregistrement des objets verrouillés (objets en cours de traitement)

  • isys_lock

Journal

  • isys_logbook
  • isys_logbook_archive
  • isys_logbook_event
  • isys_logbook_event_class
  • isys_logbook_lc_parameter
  • isys_logbook_level
  • isys_logbook_source

Dialogue : Temps de réaction pour les contrats de maintenance

  • isys_maintenance_reaction_rate

Dialogue : Titre de la mémoire de travail

  • isys_memory_title

Dialogue : Titre du modèle

  • isys_model_title

Administration des modules

  • isys_module

Moniteur

  • isys_monitor_resolution
  • isys_monitor_unit

Tables pour la configuration Nagios

  • isys_nagios_commands
  • isys_nagios_config
  • isys_nagios_contacts
  • isys_nagios_contact_groups
  • isys_nagios_dependency
  • isys_nagios_host_escalations
  • isys_nagios_nagioshosts
  • isys_nagios_ndo
  • isys_nagios_service
  • isys_nagios_service_escalations
  • isys_nagios_timeperiods

Dialogues pour la catégorie spécifique Net (Réseau de couche 3-Net)

  • isys_net_dns_domain
  • isys_net_dns_server
  • isys_net_type
  • isys_net_type_title

Table pour les objets CMDB (éléments de configuration)

  • isys_obj

Table pour les types d'objets CMDB (types de CI)

  • isys_obj_type

Groupe de types d'objets et table de connexion des types d'objets aux catégories globales

  • isys_obj_type_2_isysgui_catg
  • isys_obj_type_2_isysgui_catg_overview
  • isys_obj_type_group

Table pour les organisations

  • isys_organisation_intern_iop

Table pour les contacts

  • isys_person_extern
  • isys_person_intern
  • isys_person_intern_iop

Dialogues de port

  • isys_port_duplex
  • isys_port_negotiation
  • isys_port_speed
  • isys_port_standard

Connexion électrique

  • isys_power_con
  • isys_power_female_socket
  • isys_power_fuse_ampere
  • isys_power_male_plug

Catégorie Général : But prévu

  • isys_purpose

Administration des rôles et des droits

  • isys_right

  • isys_right_2_isys_role

  • isys_role

Unité de capacité SAN

  • isys_san_capacity_unit

Recherche

  • isys_search

Service

  • isys_service_manufacturer

Niveau de RAID

  • isys_stor_raid_level

Bibliothèque de bandes

  • isys_tapelib_type

Groupes d'arborescence d'objets (infrastructure, logiciel, autres)

  • isys_tree_group

Unité de temps

  • isys_unit_of_time

Paramètres des utilisateurs, sessions et paramètres

  • isys_user_locale
  • isys_user_mydoit
  • isys_user_session
  • isys_user_setting
  • isys_user_ui

WAN

  • isys_wan_capacity_unit
  • isys_wan_role
  • isys_wan_type

Spécifications Wifi

  • isys_wf_type_2_wf_tp
  • isys_wlan_auth
  • isys_wlan_channel
  • isys_wlan_encryption
  • isys_wlan_function
  • isys_wlan_standard

Tables pour la gestion des flux de travail

  • isys_workflow
  • isys_workflow_2_isys_workflow_action
  • isys_workflow_action
  • isys_workflow_action_parameter
  • isys_workflow_action_type
  • isys_workflow_category
  • isys_workflow_status
  • isys_workflow_template_parameter
  • isys_workflow_type

Tables temporaires

  • temp_obj_data

Tables Dialog-Plus#

  • isys_ac_air_quantity_unit => Système de climatisation : unité de quantité d'air

  • isys_ac_refrigerating_capacity_unit => Système de climatisation : unité de capacité de refroidissement

  • isys_guarantee_period_unit => Période de garantie : unité

  • isys_memory_unit => Mémoire : unité

  • isys_stor_unit => Stockage : unité

  • isys_temp_unit => Température : unité

  • isys_ac_type => Système de climatisation : type

  • isys_catd_drive_type => Disque : type

  • isys_catg_cpu_type => CPU : type

  • isys_catg_formfactor_type => Facteur de forme

  • isys_cats_prt_type => Imprimante : type

  • isys_client_type => Client : type

  • isys_controller_type => Contrôleur : type

  • isys_filesystem_type => Système de fichiers

  • isys_memory_type => Mémoire : type

  • isys_monitor_type => Moniteur : type

  • isys_port_type => Port : type

  • isys_power_fuse_type => Objet d'alimentation : type de fusible

  • isys_power_connection_type => Objet d'alimentation : type de connecteur

  • isys_room_type => Salle : type

  • isys_stor_con_type => Stockage : type de connexion

  • isys_stor_type => Stockage : type de périphérique

  • isys_ui_con_type => Interface : type de connexion

  • isys_ui_plugtype => Interface : type de prise

  • isys_application_manufacturer => Applications : fabricant

  • isys_catg_cpu_manufacturer => CPU : fabricant

  • isys_controller_manufacturer => Contrôleur : fabricant

  • isys_graphic_manufacturer => Cartes graphiques : fabricant

  • isys_memory_manufacturer => Mémoire : fabricant

  • isys_model_manufacturer => Modèle : fabricant

  • isys_sound_manufacturer => Cartes son : fabricant

  • isys_stor_manufacturer => Stockage : fabricant

  • isys_controller_model => Contrôleur : modèle

  • isys_stor_model => Stockage : modèle

  • isys_depth_unit => Facteur de forme : unité

  • isys_iface_manufacturer => Interface : fabricant

  • isys_iface_model => Interface : modèle

  • isys_pc_manufacturer => Grand public : fabricant

  • isys_pc_model => Grand public : modèle

  • isys_plug_type => Port : prise

  • isys_netx_ifacel_type => Interface log. : type

  • isys_fc_port_type => Port FC : type

  • isys_access_type => Accès : type d'accès