code: def _get_db_uid(
      pipeline: "Pipeline", fold_id: Union[int, None]
  ) -> str:
      """
      Constructs unique id from pipeline and data, which is considered as primary key for DB.
  
      :param pipeline: pipeline to get uid from
      :param fold_id: number of fold
  
      :return: unique pipeline plus related data identificator
      """
      fold_id = fold_id if fold_id is not None else ""
      pipeline_id = pipeline.root_node.descriptive_id
      return f"{pipeline_id}_{fold_id}"
  
file_path: FEDOT/fedot/core/caching/preprocessing_cache.py
imports: from typing import TYPE_CHECKING, Optional, Union
  from fedot.core.caching.base_cache import BaseCache
  from fedot.core.caching.preprocessing_cache_db import PreprocessingCacheDB
label_desc: Use image node_id 1 for calling a global function with example usage: _get_db_uid(pipeline, fold_id) and returns: pipeline_id, str, fold_id