class_docstr: The `TableCatalog` catalog stores information about all tables (structured, media, etc.) and materialized views. It has the following columns, not all of which are relevant for all table types.
  `_row_id:` an autogenerated unique identifier.
  `_name:` the name of the table, view, etc.
  `_file_url:` the path to the data file on disk
  `_table_type:` the type of the table (refer to TableType).
code: def __init__(
      self,
      name: str,
      file_url: str,
      table_type: int,
      identifier_column="id",
  ):
      self._name = name
      self._file_url = file_url
      self._identifier_column = identifier_column
      self._table_type = table_type
  
file_path: evadb/evadb/catalog/models/table_catalog.py
imports: from sqlalchemy import Column, Enum, String
  from sqlalchemy.orm import relationship
  from evadb.catalog.catalog_type import TableType
  from evadb.catalog.models.base_model import BaseModel
  from evadb.catalog.models.utils import TableCatalogEntry
label_desc: Use image node_id 1 to create a new TableCatalog object from inherited base classes: BaseModel with example: obj = TableCatalog(name, file_url, table_type, identifier_column)