SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
Лекция 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 сервер
❖   Система тестирования
Полезные ресурсы
❖   http://docs.djangoproject.com/en/1.3/

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

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

Contenu connexe

Similaire à SQL. Django, начало

Есть ли жизнь с ORM или типовая архитектура CRUD приложения
Есть ли жизнь с ORM или типовая архитектура CRUD приложенияЕсть ли жизнь с ORM или типовая архитектура CRUD приложения
Есть ли жизнь с ORM или типовая архитектура CRUD приложенияNicolay Velizhanin
 
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...e-Legion
 
Node.js for enterprise 2021 - JavaScript Fwdays 3
Node.js for enterprise 2021 - JavaScript Fwdays 3Node.js for enterprise 2021 - JavaScript Fwdays 3
Node.js for enterprise 2021 - JavaScript Fwdays 3Timur Shemsedinov
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesAliaksandr Ikhelis
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовSQALab
 
Анонс новых моделей серверов ДЕПО Шторм российского производства
Анонс новых моделей серверов ДЕПО Шторм российского производстваАнонс новых моделей серверов ДЕПО Шторм российского производства
Анонс новых моделей серверов ДЕПО Шторм российского производстваDEPO Computers
 
кри 2014 elastic search рациональный подход к созданию собственной системы а...
кри 2014 elastic search  рациональный подход к созданию собственной системы а...кри 2014 elastic search  рациональный подход к созданию собственной системы а...
кри 2014 elastic search рациональный подход к созданию собственной системы а...Vyacheslav Nikulin
 
рентабельный код
рентабельный кодрентабельный код
рентабельный кодMax Arshinov
 
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...GetDev.NET
 
New SpyLOG architechture (Highload 2008)
New SpyLOG architechture (Highload 2008)New SpyLOG architechture (Highload 2008)
New SpyLOG architechture (Highload 2008)Sergey Skvortsov
 
Hl2008 Spy Log Architechture 169
Hl2008 Spy Log Architechture 169Hl2008 Spy Log Architechture 169
Hl2008 Spy Log Architechture 169Media Gorod
 
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...Ontico
 
Шаблонизация sql, или история еще одного велосипеда, в трех частях, Алексей Р...
Шаблонизация sql, или история еще одного велосипеда, в трех частях, Алексей Р...Шаблонизация sql, или история еще одного велосипеда, в трех частях, Алексей Р...
Шаблонизация sql, или история еще одного велосипеда, в трех частях, Алексей Р...DevDay
 
Миграция JIRA - безобразие или безрассудство
Миграция JIRA - безобразие или безрассудствоМиграция JIRA - безобразие или безрассудство
Миграция JIRA - безобразие или безрассудствоSQALab
 
WebCamp:Back-end Developers Day Андрей Чебукин "ASP.NET Identity 2.0‏ исполь...
 WebCamp:Back-end Developers Day Андрей Чебукин "ASP.NET Identity 2.0‏ исполь... WebCamp:Back-end Developers Day Андрей Чебукин "ASP.NET Identity 2.0‏ исполь...
WebCamp:Back-end Developers Day Андрей Чебукин "ASP.NET Identity 2.0‏ исполь...GeeksLab Odessa
 
Вячеслав Смирнов - Инструменты нагрузочного тестирования
Вячеслав Смирнов - Инструменты нагрузочного тестированияВячеслав Смирнов - Инструменты нагрузочного тестирования
Вячеслав Смирнов - Инструменты нагрузочного тестированияElias Fofanov
 
Обзор Cisco UCCX 11
Обзор Cisco UCCX 11Обзор Cisco UCCX 11
Обзор Cisco UCCX 11Cisco Russia
 
разработка бизнес приложений (8)
разработка бизнес приложений (8)разработка бизнес приложений (8)
разработка бизнес приложений (8)Alexander Gornik
 
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NETОпыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NETGoSharp
 
SuperNovo: примеры размещения 1С
SuperNovo: примеры размещения 1СSuperNovo: примеры размещения 1С
SuperNovo: примеры размещения 1СSuperNovo
 

Similaire à SQL. Django, начало (20)

Есть ли жизнь с ORM или типовая архитектура CRUD приложения
Есть ли жизнь с ORM или типовая архитектура CRUD приложенияЕсть ли жизнь с ORM или типовая архитектура CRUD приложения
Есть ли жизнь с ORM или типовая архитектура CRUD приложения
 
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
 
Node.js for enterprise 2021 - JavaScript Fwdays 3
Node.js for enterprise 2021 - JavaScript Fwdays 3Node.js for enterprise 2021 - JavaScript Fwdays 3
Node.js for enterprise 2021 - JavaScript Fwdays 3
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practices
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
 
Анонс новых моделей серверов ДЕПО Шторм российского производства
Анонс новых моделей серверов ДЕПО Шторм российского производстваАнонс новых моделей серверов ДЕПО Шторм российского производства
Анонс новых моделей серверов ДЕПО Шторм российского производства
 
кри 2014 elastic search рациональный подход к созданию собственной системы а...
кри 2014 elastic search  рациональный подход к созданию собственной системы а...кри 2014 elastic search  рациональный подход к созданию собственной системы а...
кри 2014 elastic search рациональный подход к созданию собственной системы а...
 
рентабельный код
рентабельный кодрентабельный код
рентабельный код
 
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
 
New SpyLOG architechture (Highload 2008)
New SpyLOG architechture (Highload 2008)New SpyLOG architechture (Highload 2008)
New SpyLOG architechture (Highload 2008)
 
Hl2008 Spy Log Architechture 169
Hl2008 Spy Log Architechture 169Hl2008 Spy Log Architechture 169
Hl2008 Spy Log Architechture 169
 
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...
 
Шаблонизация sql, или история еще одного велосипеда, в трех частях, Алексей Р...
Шаблонизация sql, или история еще одного велосипеда, в трех частях, Алексей Р...Шаблонизация sql, или история еще одного велосипеда, в трех частях, Алексей Р...
Шаблонизация sql, или история еще одного велосипеда, в трех частях, Алексей Р...
 
Миграция JIRA - безобразие или безрассудство
Миграция JIRA - безобразие или безрассудствоМиграция JIRA - безобразие или безрассудство
Миграция JIRA - безобразие или безрассудство
 
WebCamp:Back-end Developers Day Андрей Чебукин "ASP.NET Identity 2.0‏ исполь...
 WebCamp:Back-end Developers Day Андрей Чебукин "ASP.NET Identity 2.0‏ исполь... WebCamp:Back-end Developers Day Андрей Чебукин "ASP.NET Identity 2.0‏ исполь...
WebCamp:Back-end Developers Day Андрей Чебукин "ASP.NET Identity 2.0‏ исполь...
 
Вячеслав Смирнов - Инструменты нагрузочного тестирования
Вячеслав Смирнов - Инструменты нагрузочного тестированияВячеслав Смирнов - Инструменты нагрузочного тестирования
Вячеслав Смирнов - Инструменты нагрузочного тестирования
 
Обзор Cisco UCCX 11
Обзор Cisco UCCX 11Обзор Cisco UCCX 11
Обзор Cisco UCCX 11
 
разработка бизнес приложений (8)
разработка бизнес приложений (8)разработка бизнес приложений (8)
разработка бизнес приложений (8)
 
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NETОпыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
 
SuperNovo: примеры размещения 1С
SuperNovo: примеры размещения 1СSuperNovo: примеры размещения 1С
SuperNovo: примеры размещения 1С
 

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 сервер ❖ Система тестирования
  • 17.
  • 18. Полезные ресурсы ❖ http://docs.djangoproject.com/en/1.3/ ❖ http://www.djangobook.com/ Second Edition ❖ Исходный код