📝 Вопросы на самопроверку
Это вопросы для самопроверки — из блока Summary session 2 лекции. Попробуйте ответить самостоятельно, затем сверьтесь с решениями.
Блок 1. SQLAlchemy — основы
1
Зачем нужна библиотека SQLAlchemy?
Что даёт SQLAlchemy разработчику по сравнению с «сырым» SQL?
2
Какие есть основные принципы ORM?
Назовите не менее 3 принципов.
3
Какие преимущества и недостатки у Core по сравнению с ORM?
4
Что необходимо указать для подключения к базе данных через SQLAlchemy?
Какие компоненты входят в строку подключения?
5
Что такое сессия в SQLAlchemy? Какой жизненный цикл у сессии?
6
Что происходит с объектами после закрытия сессии?
Выберите правильный ответ:
- Объекты удаляются из памяти.
- Объекты остаются связанными с базой данных.
- Объекты остаются в памяти, но отсоединяются от базы данных.
Блок 2. Модели и связи
7
Какую роль играет __tablename__ в классе модели SQLAlchemy?
- Определяет методы доступа к данным
- Устанавливает соединение с базой данных
- Указывает имя таблицы в базе данных
8
Что делает параметр nullable в контексте колонки?
Что произойдёт при nullable=False?
9
За что отвечает функция relationship()? Назовите 3 параметра.
10
Как определяется связь «многие-ко-многим» в SQLAlchemy?
Что нужно создать дополнительно?
Блок 3. Запросы
11
Сопоставьте операции CRUD с описаниями:
| Операция | Описание |
|---|---|
| 1. Create | A. Изменение существующих данных |
| 2. Read | B. Удаление данных |
| 3. Update | C. Добавление новых записей |
| 4. Delete | D. Доступ к данным |
12
Какой метод возвращает ровно один объект и выбрасывает исключение при 0 или 2+ результатах?
.first().one().all().one_or_none()
13
Метод .first() всегда возвращает объект, и никогда не возвращает None. Верно ли это утверждение?
14
Для чего используется метод having()? Чем он отличается от filter()?
15
Метод order_by() может использоваться только для сортировки по одному критерию. Верно ли это утверждение?
16
Что делает метод scalar() в SQLAlchemy?
17
Для чего используется функция aliased()?
Приведите пример ситуации, где она необходима.