# DatabaseDataProvider - Провайдер для баз данных

class axipy.DatabaseDataProvider

  Базовые классы: `DataProvider`

  Базовый класс для провайдеров БД.

  Свойства:

  `id` | Идентификатор провайдера.

  Методы:

  `create_open`(schema, dataobject, db_name, ...) | Создает и открывает объект данных.
  `file_extensions`() | Список поддерживаемых расширений файлов.
  `get_destination`(schema, dataobject, db_name, ...) | Создает назначение объекта данных.
  `get_source`(host, db_name, user, password[, ...]) | Создает описательную структуру для источника данных.
  `open`(host, db_name, user, password[, port, ...]) | Открывает объект данных.

  Специальные методы:

  `__repr__`() | Официальное строковое представление объекта при вызове `repr()`.

  __repr__() → str

    Официальное строковое представление объекта при вызове `repr()`.

  create_open(schema: Schema, dataobject: str, db_name: str, host: str, user: str, password: str, port: int = DEFAULT_PORT, export_params: Optional[ExportParameters] = None) → Table

    Создает и открывает объект данных.

    Параметры:

      - schema – Схема таблицы.

      - dataobject – Имя таблицы.

      - db_name – Имя базы данных.

      - host – Адрес сервера.

      - user – Имя пользователя.

      - password – Пароль.

      - port – Порт.

      - export_params – Дополнительные параметры экспорта.

  file_extensions() → List[str]

    Список поддерживаемых расширений файлов.

    Результат:

      Пустой список для не файловых провайдеров.

  get_destination(schema: Schema, dataobject: str, db_name: str, host: str, user: str, password: str, port: int = DEFAULT_PORT, export_params: Optional[ExportParameters] = None) → Destination

    Создает назначение объекта данных.

    > Args:

    >   schema: Схема таблицы. dataobject: Имя таблицы. db_name: Имя базы данных. host: Адрес сервера. user: Имя пользователя. password: Пароль. port: Порт. export_params: Дополнительные параметры экспорта.

    См.также

    Пример преобразования в БД

  get_source(host: str, db_name: str, user: str, password: str, port: int = DEFAULT_PORT, dataobject: Optional[str] = None, sql: Optional[str] = None, prj: Optional[str] = None, alias: Optional[str] = None, unique: Optional[str] = None, editable_unique: Optional[bool] = False) → Source

    Создает описательную структуру для источника данных. Она в дальнейшем может быть использована при открытии данных `ProviderManager.open()`.

    В качестве таблицы можно указать либо ее наименование dataobject либо текст запроса sql.

    Параметры:

      - host – Адрес сервера.

      - db_name – Имя базы данных.

      - user – Имя пользователя.

      - password – Пароль.

      - port – Порт.

      - dataobject – Имя таблицы.

      - sql – SQL-запрос. Если указан, то он имеет более высокий приоритет по отношению к значению dataobject.

      - prj – Строка Системы Координат.

      - alias – Псевдоним для открываемой таблицы.

      - unique – Поле с уникальным значением, которое будет использоваться как идентификатор.

      - editable_unique – Установить возможность изменения значения поля unique.

  property id: str

    Идентификатор провайдера.

  open(host: str, db_name: str, user: str, password: str, port: int = DEFAULT_PORT, dataobject: Optional[str] = None, sql: Optional[str] = None, prj: Optional[str] = None, alias: Optional[str] = None, unique: Optional[str] = None, editable_unique: Optional[bool] = False) → Table

    Открывает объект данных.

    В качестве таблицы можно указать либо ее наименование dataobject либо текст запроса sql.

    Параметры:

      - host – Адрес сервера.

      - db_name – Имя базы данных.

      - user – Имя пользователя.

      - password – Пароль.

      - port – Порт.

      - dataobject – Имя таблицы.

      - sql – SQL-запрос. Если указан, то он имеет более высокий приоритет по отношению к значению dataobject.

      - prj – Строка Системы Координат.

      - alias – Псевдоним для открываемой таблицы.

      - unique – Поле с уникальным значением, которое будет использоваться как идентификатор.

      - editable_unique – Установить возможность изменения значения поля unique.