SlideShare a Scribd company logo
Лекция 5
SQL и немного Django
Structured Query Language
❖   Разрабатывался для неподготовленных
    пользователей

❖   Реляционная алгебра

❖   Стандартизован ANSI с 1986 года
Операторы
CREATE
ALTER
DROP
            DDL
INSERT
UPDATE      DML
DELETE

SELECT      DQL
GRANT
REVOKE      DCL
DENY

COMMIT
ROLLBACK
SAVEPOINT
Типы структур
❖   Tables

❖   Views

❖   Stored Procedures

❖   Triggers

❖   User Defined function

❖   Indexes

❖   Constraints
Примеры
SELECT * FROM Сделка
  WHERE Количество>20

SELECT Фамилия, ГородКлиента
  FROM Клиент
  WHERE ГородКлиента="Москва" Or
    ГородКлиента="Самара"

SELECT Клиент.Фирма, Клиент.Фамилия
  FROM Клиент
  ORDER BY Клиент.Фирма, Клиент.Фамилия DESC
Примеры
SELECT Товар.Название, Сделка.Количество,
    Сделка.Дата, Клиент.Фирма
  FROM Клиент INNER JOIN
    (Товар INNER JOIN Сделка
    ON Товар.КодТовара=Сделка.КодТовара)
    ON Клиент.КодКлиента=Сделка.КодКлиента

SELECT R.a1, R.a2
  FROM R
  UNION
  SELECT S.b2, S.b1
  FROM S
Примеры. Подзапросы
SELECT R.a1, R.a2
  FROM R
  WHERE NOT EXISTS
    (SELECT S.b1,S.b2
      FROM S
      WHERE S.b1=R.a2 AND S.b2=R.a1)

SELECT Дата, Количество
  FROM Сделка
  WHERE Количество=(SELECT Max(Количество)
    FROM Сделка)
Примеры. Вычисления
SELECT Товар.Название, Товар.Цена,
    Сделка.Количество,
    Товар.Цена*Сделка.Количество AS Стоимость
  FROM Товар INNER JOIN Сделка
    ON Товар.КодТовара=Сделка.КодТовара
Примеры. Агрегация
SELECT Sum(Сделка.Количество)
    AS Количество_товара
  FROM Сделка

SELECT Sum(Товар.Цена*Сделка.Количество)
    AS Стоимость
  FROM Товар INNER JOIN Сделка
    ON Товар.КодТовара=Сделка.КодТовара
СУБД
❖   Архитектура

    ❖   Встроенная (sqlite)

    ❖   Клиент-серверная

    ❖   ...

❖   Модель данных

    ❖   Реляционная

    ❖   NoSQL
Задачи веб разработки
❖   URL dispatching

❖   Обработка ошибок

❖   Работа с протоколом HTTP

❖   Работа с СУБД

❖   Валидация пользовательского ввода

❖   Шаблонизация

❖   Регистрация, аутентификация, авторизация

❖   Защита от атак
Типы атак
❖   XSS - Сross Site Sсriрting

❖   SQL injection

❖   DoS атака

❖   Политики безопасности

❖   Сниффинг

❖   CSRF

❖   …
Блок-схема сайта
The Web framework for perfectionists with deadlines



2003, 2005 года

Новостные сайты World Online

Версия 1.3
Преимущества
❖   Python

❖   Популярность + сторонние приложения

❖   Интегрированность компонентов

❖   Удачные архитектурные решения

❖   Превосходная документация
Компоненты
❖   URL dispatching

❖   MVC( или MTV)
❖   Отчуждаемые приложения (contrib + сторонние)
❖   Система кеширования
❖   ORM
❖   Шаблонизатор
❖   I18n
❖   Работа с формами
❖   Разработческий Web сервер
❖   Система тестирования
SQL. Django, начало
Полезные ресурсы
❖   http://docs.djangoproject.com/en/1.3/

❖   http://www.djangobook.com/ Second Edition

❖   Исходный код

More Related Content

PDF
Сделай дизайнеру приятно: Красивые веб-формы
PPT
XForms новое поколение веб-форм
PDF
«Организация Frontend-разработки на крупном проекте» — Дмитрий Кузнецов
PDF
Svyatoslav Login "360 View of XSS"
PDF
Knockoutjs на примере 2ГИС-Онлайн
PPT
Telerik Web aii
PDF
Как мы делаем раскладку Календаря@Mail.Ru
PDF
Нагрузочное тестирование с помощью locust.io
Сделай дизайнеру приятно: Красивые веб-формы
XForms новое поколение веб-форм
«Организация Frontend-разработки на крупном проекте» — Дмитрий Кузнецов
Svyatoslav Login "360 View of XSS"
Knockoutjs на примере 2ГИС-Онлайн
Telerik Web aii
Как мы делаем раскладку Календаря@Mail.Ru
Нагрузочное тестирование с помощью locust.io

Similar to SQL. Django, начало (20)

PDF
Web осень 2013 лекция 6
PPTX
django-and-postgresql
PDF
Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".
PPTX
тестирование защищенности веб приложений
PPTX
Тестирование защищенности веб-приложений
PDF
11 - Web-технологии. Работа с СУБД
PPTX
SQL________________________________.pptx
PDF
MySQL+HandlerSocket=NoSQL
PDF
Сергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
PDF
Нереляционный SQL
PDF
Нереляционный SQL / Андрей Николаенко (IBS)
ODP
Работа с БД в Drupal 7
PDF
То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
PPTX
Управление Данными. Лекция 7
PPTX
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 08
PPTX
Стажировка-2013, разработчики, занятие 11. Базы данных
PPTX
Разработка бизнес приложений (5)
PPTX
C++ и базы данных
PDF
Не все базы данных одинаково полезны
PDF
Не все базы данных одинаково полезны
Web осень 2013 лекция 6
django-and-postgresql
Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".
тестирование защищенности веб приложений
Тестирование защищенности веб-приложений
11 - Web-технологии. Работа с СУБД
SQL________________________________.pptx
MySQL+HandlerSocket=NoSQL
Сергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
Нереляционный SQL
Нереляционный SQL / Андрей Николаенко (IBS)
Работа с БД в Drupal 7
То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
Управление Данными. Лекция 7
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 08
Стажировка-2013, разработчики, занятие 11. Базы данных
Разработка бизнес приложений (5)
C++ и базы данных
Не все базы данных одинаково полезны
Не все базы данных одинаково полезны
Ad

SQL. Django, начало

  • 1. Лекция 5 SQL и немного Django
  • 2. Structured Query Language ❖ Разрабатывался для неподготовленных пользователей ❖ Реляционная алгебра ❖ Стандартизован ANSI с 1986 года
  • 3. Операторы CREATE ALTER DROP DDL INSERT UPDATE DML DELETE SELECT DQL GRANT REVOKE DCL DENY COMMIT ROLLBACK SAVEPOINT
  • 4. Типы структур ❖ Tables ❖ Views ❖ Stored Procedures ❖ Triggers ❖ User Defined function ❖ Indexes ❖ Constraints
  • 5. Примеры SELECT * FROM Сделка WHERE Количество>20 SELECT Фамилия, ГородКлиента FROM Клиент WHERE ГородКлиента="Москва" Or ГородКлиента="Самара" SELECT Клиент.Фирма, Клиент.Фамилия FROM Клиент ORDER BY Клиент.Фирма, Клиент.Фамилия DESC
  • 6. Примеры SELECT Товар.Название, Сделка.Количество, Сделка.Дата, Клиент.Фирма FROM Клиент INNER JOIN (Товар INNER JOIN Сделка ON Товар.КодТовара=Сделка.КодТовара) ON Клиент.КодКлиента=Сделка.КодКлиента SELECT R.a1, R.a2 FROM R UNION SELECT S.b2, S.b1 FROM S
  • 7. Примеры. Подзапросы SELECT R.a1, R.a2 FROM R WHERE NOT EXISTS (SELECT S.b1,S.b2 FROM S WHERE S.b1=R.a2 AND S.b2=R.a1) SELECT Дата, Количество FROM Сделка WHERE Количество=(SELECT Max(Количество) FROM Сделка)
  • 8. Примеры. Вычисления SELECT Товар.Название, Товар.Цена, Сделка.Количество, Товар.Цена*Сделка.Количество AS Стоимость FROM Товар INNER JOIN Сделка ON Товар.КодТовара=Сделка.КодТовара
  • 9. Примеры. Агрегация SELECT Sum(Сделка.Количество) AS Количество_товара FROM Сделка SELECT Sum(Товар.Цена*Сделка.Количество) AS Стоимость FROM Товар INNER JOIN Сделка ON Товар.КодТовара=Сделка.КодТовара
  • 10. СУБД ❖ Архитектура ❖ Встроенная (sqlite) ❖ Клиент-серверная ❖ ... ❖ Модель данных ❖ Реляционная ❖ NoSQL
  • 11. Задачи веб разработки ❖ URL dispatching ❖ Обработка ошибок ❖ Работа с протоколом HTTP ❖ Работа с СУБД ❖ Валидация пользовательского ввода ❖ Шаблонизация ❖ Регистрация, аутентификация, авторизация ❖ Защита от атак
  • 12. Типы атак ❖ XSS - Сross Site Sсriрting ❖ SQL injection ❖ DoS атака ❖ Политики безопасности ❖ Сниффинг ❖ CSRF ❖ …
  • 14. The Web framework for perfectionists with deadlines 2003, 2005 года Новостные сайты World Online Версия 1.3
  • 15. Преимущества ❖ Python ❖ Популярность + сторонние приложения ❖ Интегрированность компонентов ❖ Удачные архитектурные решения ❖ Превосходная документация
  • 16. Компоненты ❖ URL dispatching ❖ MVC( или MTV) ❖ Отчуждаемые приложения (contrib + сторонние) ❖ Система кеширования ❖ ORM ❖ Шаблонизатор ❖ I18n ❖ Работа с формами ❖ Разработческий Web сервер ❖ Система тестирования
  • 18. Полезные ресурсы ❖ http://docs.djangoproject.com/en/1.3/ ❖ http://www.djangobook.com/ Second Edition ❖ Исходный код