Web технологии

11. Реляционные базы данных

Дмитрий Смаль

Реляционные базы данных

Решаемые проблемы

Реляционная модель данных

Данные хранятся в виде таблиц. У каждой таблицы фиксированное число столбцов. Все данные в столбце одного типа.

Проектирование базы данных

Основная задача проектирования - сокращение избыточности и дублирования данных.

Существуют формальные правила проверки схемы базы данных на «правильность» - нормальные формы базы данных.

Проектирование на практике

Базы данных в Python

Подключение к базе

Полное интерфейса для работы с СУБД в PEP-0249

Выполнение запросов

Вставка многих записей

Placeholders

Базы данных в Django

Прямой доступ к базе

Полезные утилиты

Django Models

ORM - Object relational mapping - библиотек предоставляющая объектно-ориентированный интерфейс к реляционной базе данных. Django Models - библиотека ORM в Djnago.

DjangoSQL
класс МоделиТаблица
объект моделистрока таблицы
QuerySetзапрос

ORM vs SQL

Модели Django

Типы полей

DjangoMySQL
CharFieldVARCHAR(N)
EmailField
TextFieldLONGTEXT
BooleanFieldTINYINT(1)
IntegerFieldINT(11)
DateFieldDATE
DateTimeFieldDATETIME

Свойства полей

Связи между моделями

Связи между моделями

Реализация в СУБД

Ограничения внешних ключей

Применимо к полям типа ForeignKey, OneToOneField

Использование отношений в коде