Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

readme.md

Домашнее задание к занятию «Работа с PostgreSQL из C++»

Выполнив это задание, вы сможете использовать библиотеку libpq++, чтобы подключаться к базе данных PostgreSQL из С++ и выполнять запросы.

Цель задания

  1. Научиться делать SELECT-запросы к базе данных PostgreSQL из С++, чтобы получать данные и отображать их в C++ приложении.
  2. Научиться делать INSERT-, UPDATE- и DELETE-запросы к базе данных PostgreSQL из С++ для манипуляции данными из C++ приложения.

Инструкция для выполнения домашнего задания

Прочитать инструкцию

Вам встретятся два типа заданий в домашней работе:

  • без звёздочки,
  • со звёздочкой (*).

Задания без звёздочки нужно обязательно выполнить, чтобы получить зачёт.

Задания со звёздочкой — это задания дополнительные или повышенной сложности. Выполнять их не обязательно, но работа над ними поможет глубже понять тему.

Домашнее задание состоит из 1–3 заданий для самостоятельного решения. Чтобы их решить, нужны как знания, которые вы получили на вебинаре или из видео, так и навык поиска информации в интернете — самый важный навык программиста.

Любые вопросы по решению задач задавайте преподавателю в чате курса.


Задание 1

Создайте программу для управления клиентами на C++.

Нужно хранить персональную информацию о клиентах:

  • имя,
  • фамилия,
  • email,
  • телефон.

Сложность в том, что телефон у клиента может быть не один, а два, три и даже больше. А может и не быть — например, если он не захотел его оставлять.

Вам нужно разработать структуру БД для хранения информации и написать класс на С++ для управления данными со следующими методами:

  1. Метод, создающий структуру БД (таблицы).
  2. Метод, позволяющий добавить нового клиента.
  3. Метод, позволяющий добавить телефон для существующего клиента.
  4. Метод, позволяющий изменить данные о клиенте.
  5. Метод, позволяющий удалить телефон у существующего клиента.
  6. Метод, позволяющий удалить существующего клиента.
  7. Метод, позволяющий найти клиента по его данным — имени, фамилии, email или телефону.

Эти методы обязательны, но это не значит, что должны быть только они. Можно создавать дополнительные методы и классы.

Также предоставьте код, демонстрирующий работу написанного вами класса.

Подсказка

Не читайте этот раздел сразу, попытайтесь сначала решить задачу самостоятельно :)

Посмотреть методы
  • Чтобы создать таблицы, используйте метод transaction_base::exec, а в аргументах передавайте SQL запрос с "CREATE TABLE".
  • Чтобы добавить телефон клиента, используйте метод transaction_base::exec, а в аргументах передавайте SQL запрос с "INSERT".
  • Чтобы изменить данные о клиенте, используйте метод transaction_base::exec, а в аргументах передавайте SQL запрос с "UPDATE".
  • Чтобы удалить данные о клиенте или телефон, используйте метод transaction_base::exec, а в аргументах передавайте SQL запрос с "DELETE".
  • Для поиска клиента по его данным используйте метод transaction_base::query, а в аргументах передавайте SQL запрос с "SELECT".

Правила приёма домашней работы

Чтобы сдать домашнее задание, прикрепите в личном кабинете ссылку на ваш репозиторий.

Критерии оценки домашней работы

  1. В личном кабинете прикреплена ссылка на репозиторий с кодом для задания.
  2. В ссылке содержится код, который при запуске выполняет описанный в задании алгоритм.