Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Базы данных - лекция1 - Введение

Anton
September 04, 2018

Базы данных - лекция1 - Введение

Anton

September 04, 2018
Tweet

More Decks by Anton

Other Decks in Education

Transcript

  1. Цифровая эпоха • Все знания мира — оцифровать и в

    интернет • 2014 год: Google обрабатывает 20 петабайт (1 петабайт = 1024 терабайт) информации в день [1] • Все письменные работы, созданные человечеством с начала известной истории, занимают ~50 петабайт [1]
  2. Поиск информации внутри книги • Содержание • Номера страниц •

    Примерное место по памяти • Прочитать все целиком
  3. Поиск книги внутри библиотеки • Библиографии и каталоги (по темам,

    названиям, авторам) • Картотека • Списки источников в других книгах • Совет учителя или библиотекаря
  4. Ваша ценность - умения • связывать и структурировать информацию, •

    составлять путевую карту обучения, • фильтровать информационный шум, • выделять ключевые события, • отличать факты от фейков, • ранжировать источники, • выстраивать внешне несвязанные события в логические цепочки • определять неочевидные закономерности среди огромных потоков информации
  5. Хранение, обработка, структурирование электронных данных • Текстовые файлы • Электронные

    таблицы • Реляционные базы данных (SQL) • Нереляционные базы данных (NoSQL — Not Only SQL) • Большие данные (Big data)
  6. Электронные таблицы • Типизированные ячейки (текст, числа, даты) • Произвольные

    связи между ячейками и диапазонами ячеек через формулы • Автоматическое обновление связанных ячеек • Встроенные скрипты
  7. Области применения • Нарисовать расписание занятий • Список сотрудников или

    прайс-лист • Продвинутый калькулятор • Бухгалтерия «на коленке»
  8. Реляционные базы данных • Таблицы + строго типизированные именованные колонки

    • На значения колонок можно накладывать ограничения • Между таблицами можно устанавливать жесткие связи через внешние ключи • Целостность данных, транзакции
  9. Области применения • бизнес (ERP: складской учет, бухгалтерский учет, документооборот,

    управление проектами, автоматизация бизнес-процессов и т. п.), • веб (блоги, форумы, порталы, интернет- магазины, соцсети, веб-приложения), • мобильные приложения (встраиваемые базы данных: контакты, звонки), • настольные приложения (Access сдулся, разработка).
  10. Нереляционные базы данных • Обеспечивают скорость, масштабируемость, отказоустойчивость, жертвуя жесткими

    связями и обязательной целостностью • Реализуют разные концепты в зависимости от задачи
  11. Большие данные • Поиск полезных закономерностей в океанах информации •

    Предсказательный эффект приносит деньги • Ценность имеет инженер (data scientist), владеющий техническими методами работы с массивами информации и целевой предметной областью одновременно
  12. Реляционные базы данных, язык SQL 2.1. Подробнее про реляционные базы

    данных, основы SQL. Практика: SQL+slite, sql- ex.ru. 2.2. Работа с базами данных при разработке программы (Java), интерфейс JDBC. Практика: Java+JDBC (sqlite/MySQL). 2.3. Прямое отображение объектной модели приложения на структуру базы данных: фреймворки ORM. Практика: переделать предыдущее упражнение с SQL на ORM-фреймворк для Java. 2.4. Базы данных на мобильных платформах: встраиваемые (однофайловые) базы данных. Практика: Android Provider API+sqlite. 2.5. Базы данных для веб-приложения, многоуровневая архитектура веб-приложения. БД <=> Веб-приложение[ORM/Rest-сервис] <=> Интернет-протокол[Json] <=> Браузер[JavaScript/HTML] Практика: Unfiltered+Scala или Node.js+JavaScript
  13. Нереляционные базы данных (NoSQL) 3.1. Отличие от реляционных баз данных,

    области применения, примеры: высоконагруженные сервисы (HighLoad), большие данные (BigData). 3.2. Типы хранилищ NoSQL: Ключ-значение, Семейства колонок 3.3. Типы хранилищ NoSQL: Документо- ориентированные БД, БД на основе графов
  14. Большие данные (Big data): data science, data mining 4.1. Основные

    понятия, области применения, особенности работы инженера-ученого, работающего с большими данными, современный рынок труда для специалистов по большим данным. 4.2. Технические средства работы с большими данными, основные инструменты и подходы 4.3. Примеры реальных задач
  15. Доклады • 1 доклад на одного человека • Прогул доклада:

    -1 балл за курсовую (не восстанавливается) • Сделанный доклад: +0.5 балла на зачет/за курсовую • Последняя страница — список источников • Минимум 3 разных источника • Наличие английского источника: +1 балл к зачету/курсовой (вместо 0.5)
  16. Зачёт • Нужно накопить 2 балла • 1 лабораторная работа

    = 0.5 балла • Доклад = 0.5 балла • Доклад с англоязычным источником = 1 балл
  17. Курсовая • Выбрать предметную область • Сумма лабораторных работ в

    предметной области, оформленных красиво по правилам курсовой, даст курсовую • 1 лабораторная работа = 0.5 балла • 2 балла = 3 за курсовую • 3 балла = 4 за курсовую • 4 балла = 5 за курсовую • (пропущенный доклад: -1 балл)
  18. Практическое задание 1 • Выбрать предметную область • Выбрать 1

    объект с 2-3 характеристиками • Заполнить текстовый файл 20-30 экземплярами объекта • При помощи команд cat и grep получить из файла группы объектов, удовлетворяющих тем или иным значениям характеристик (2-3 группы)
  19. Ссылки • [1] The Data Explosion in 2014 Minute by

    Minute – Infographic, Susan Gunelius, July 12, 2014, http://aci.info/2014/07/12/the-data- explosion-in-2014-minute-by-minute- infographic/