SlideShare a Scribd company logo
• база данных > 2 петабайт
• отсутствие готовых решений
• практически ни одно приложение не обходится без БД
• в большинстве вакансий разработчика упоминается SQL ,
по данным
• проектирование реляционных баз данных
• язык запросов SQL
• оптимизация запросов и схем данных
• и
• администрирование и настройка серверов БД
• noSQL и его использование в
• ER, FA, KB – диаграммы
• Нормализация
• DDL
• CRUD
• Транзакции
• Хранимые процедуры
• Тригеры
• EXPLAIN, slow_log
• Индексы
• Денормализация
“Ну и запросы у вас”, - сказала база данных и повисла
• Конфигурирование
• Репликация
• Резервное копирование
• Пользователи и права
• SQL-injections
На моей работе самая страшная фраза это: ребята, за
какую дату у нас есть бэкап базы данных?
• Концепция Map-Reduce
• Краткий обзор существующих решений
• Tarantool
“… многие отдали предпочтение реляционным системам баз
данных, поскольку используемый в них стандартизованный
язык SQL открывал возможности безболезненного
перехода от одной СУБД к другой. Хотя воспользовались ими
на практике только единицы, мысль о возможной смене
поставщика СУБД, не связанной со сколько-нибудь
ощутимыми затратами, согревала всех.” © Мартин Фаулер
• групповая разработка проекта
• нагрузочное тестирование
• экзамен
Экзамен - это уникальная возможность для студента два
раза в год узнать что-то полезное хотя бы на несколько
дней. © Французский бизнесмен и творческая личность
Джордж Элгози
1. Дейт К. Дж. Введение в системы баз данных
2. Бьюли А. Изучаем SQL
3. Молинаро Э. SQL – сборник рецептов
4. Заводны Дж, Шварц Б., Зайцев П., Ткаченко В., Ленц А.
MySQL. Оптимизация производительности
5. http://www.intuit.ru/catalog/database/
6. http://citforum.ru/database/
7. http://www.sql.ru/
8. http://www.mysql.com/
База данных (БД) – это взаимосвязанная информация
(данные) об объектах, которая организованна специальным
образом и хранится на каком-либо носителе.
• один-к-одному (1:1)
• один-ко-многим (1:M)
• многие-к-одному (M:1)
• многие-ко-многим (M:N) Мужчина ЖенщинаБрак
M N
Мужчина ЖенщинаБрак
M 1
Мужчина ЖенщинаБрак
1 M
Мужчина ЖенщинаБрак
1 1
• Выборка
• Проекция
• Объединение
• Пересечение
• Разность
• Произведение
• Деление
• Соединение
Имя Возраст Вес
Harry 34 80
Donald 29 70
Helena 54 54
Peter 34 80
Персоны
Имя Возраст Вес
Harry 34 80
Helena 54 54
Peter 34 80
σВозраст ≥ 34(Персоны)
Имя Возраст Вес
Harry 34 80
Donald 29 70
Helena 54 54
Peter 34 80
Персоны
πВозраст,Вес(Персоны)
Возраст Вес
29 70
54 54
34 80
Имя Возраст Вес
Harry 34 80
Donald 29 70
Helena 54 54
Peter 34 80
Персоны
Имя Возраст Вес
Daffy 24 19
Donald 29 70
Scrooge 81 27
Персонажы
Имя Возраст Вес
Harry 34 80
Donald 29 70
Helena 54 54
Peter 34 80
Daffy 24 19
Scrooge 81 27
Имя Возраст Вес
Harry 34 80
Donald 29 70
Helena 54 54
Peter 34 80
Персоны
Имя Возраст Вес
Daffy 24 19
Donald 29 70
Scrooge 81 27
Персонажы
Имя Возраст Вес
Donald 29 70
Имя Возраст Вес
Harry 34 80
Donald 29 70
Helena 54 54
Peter 34 80
Персоны
Имя Возраст Вес
Daffy 24 19
Donald 29 70
Scrooge 81 27
Персонажы
Имя Возраст Вес
Harry 34 80
Helena 54 54
Peter 34 80
Код_мульта Название_мульта
0 The Simpsons
1 Family Guy
2 Duck Tales
Мультфильмы
Код_канала Название_канала
0 СТС
1 2х2
Каналы
Код_мульта Название_мульта Код_канала Название_канала
0 The Simpsons 0 СТС
0 The Simpsons 1 2х2
1 Family Guy 0 СТС
1 Family Guy 1 2х2
2 Duck Tales 0 СТС
2 Duck Tales 1 2х2
Мультфильмы Каналы
Код_мульта Название_мульта Название_канала
0 The Simpsons RenTV
0 The Simpsons 2х2
0 The Simpsons CTC
1 Family Guy RenTV
1 Family Guy 2х2
2 Duck Tales СТС
2 Duck Tales 2x2
Название_канала
RenTV
2х2
Код_мульта Название_мульта
0 The Simpsons
1 Family Guy
Мультфильмы Каналы
Код_мульта Название_мульта Название_канала
0 The Simpsons 2х2
1 Family Guy 2х2
2 Duck Tales RenTV
Код_канала Частота
RenTV 3,1415
2х2 783,25
Код_мульта Название_мульта Название_канала Код_канала Частота
0 The Simpsons 2х2 2х2 783,25
1 Family Guy 2х2 2х2 783,25
2 Duck Tales RenTV RenTV 3,1415
Проектирование баз данных — процесс создания
схемы базы данных и определения необходимых
ограничений целостности.
• Обеспечение хранения в БД всей необходимой информации.
• Обеспечение возможности получения данных по всем
необходимым запросам.
• Сокращение избыточности и дублирования данных.
• Обеспечение целостности данных (правильности их
содержания): исключение противоречий в содержании данных,
исключение их потери и т.д.
Критерий Описание
Структурная достоверность
Соответствие способу определения и
организации информации
Простота
Удобство изучения модели как
профессионалами в области разработки
информационных систем, так и
обычными пользователями
Выразительность
Способность представлять различия
между данными, связи между данными и
ограничения
Отсутствие избыточности
Исключение излишней информации, т.е.
любая часть данных должна быть
представлена только один раз
Критерий Описание
Способность к совместному
использованию
Отсутствие принадлежности к какому-то
особому приложению или технологии и,
следовательно, возможность
использования модели во многих
приложениях и технологиях
Расширяемость
Способность развиваться и включать
новые требования с минимальным
воздействием на работу уже
существующих приложений
Целостность
Согласованность со способом
использования и управления
информацией внутри предприятия
Схематическое представление
Возможность представления модели с
помощью наглядных схематических
обозначений
Сложная система, спроектированная наспех,
никогда не работает, и исправить её,
чтобы заставить работать,
невозможно".
Законы Мерфи. 16-й закон системантики
• максимум командной работы
• привлечение наиболее
опытных специалистов
• заглядываем в будущее
• Внешнее представление (внешняя схема) данных -
совокупностью требований со стороны конкретной функции,
выполняемой пользователем.
• Концептуальная схема - полная совокупностью всех
требований к данным, полученной из пользовательских
представлений о реальном мире.
• Внутренняя схема - сама база данных.
• сущности
• атрибуты
• связи
Концептуальное (инфологическое) проектирование —
построение семантической модели предметной
области, то есть информационной модели наиболее
высокого уровня абстракции
• записи
• элементы данных
• связи между записями
Логическое (даталогическое) проектирование —
создание схемы базы данных на основе
конкретной модели данных, например, реляционной
модели данных
• группирование данных
• индексы
• методы доступа
Физическое проектирование — создание схемы базы
данных для конкретной СУБД
Блюдо Вид Дата Продукт Калорийнос
ть
Вес (г) Поставщик Город Страна Цена ($)
Лобио Закуска 1/9/2012 Фасоль 307 200 "Хуанхэ" Пекин Китай 0.37
Лук 45 40 "Наталка" Киев Украина 0.52
Масло 742 30 "Лайма" Рига Латвия 1.55
Зелень 18 10 "Даугава" Рига Латвия 0.99
Борщ Суп 1/9/2012 Мясо 166 80 "Наталка" Киев Украина 2.18
Лук 45 30 "Наталка" Киев Украина 0.52
Томаты 24 40 "Полесье" Киев Украина 0.45
Рис 334 50 "Хуанхэ" Пекин Китай 0.44
Масло 742 15 "Полесье" Киев Украина 1.62
Зелень 18 15 "Наталка" Киев Украина 0.88
1. Избыточность
2. Потенциальная противоречивость
(аномалии обновления)
3. Аномалии включения
4. Аномалии удаления
1. Числовые
2. Строковые
3. Календарные
4. NULL
mysql> SELECT 1 = NULL, 1 <> NULL, 1 < NULL, 1 > NULL;
1 = NULL 1 <> NULL 1 < NULL 1 > NULL
NULL NULL NULL NULL
mysql> SELECT 1 IS NULL, 1 IS NOT NULL, NULL IS NULL, NULL IS NOT NULL;
1 IS NULL 1 IS NOT NULL NULL IS NULL NULL IS NOT NULL
0 1 1 0
Тип столбца, поля Обьем занимаемой
памяти
Диапазон допустимых
значений
TINYINT [ (M) ] 1 байт От -128 до 127
От 0 до 255
SMALLINT [ (M) ] 2 байта От -32768 до 32767
От 0 до 65535
MEDIUM INT [ (M) ] 3 байта От -8388608 до 8388608
От 0 до 16777215
INT [ (M) ] 4 байта От -2147683648 до
2147683648
От 0 до 4294967295
BIGINT [ (M) ] 8 байт От -263 до 263 -1
От 0 до 264
Тип столбца, поля Обьем
занимаемой
памяти
Диапазон допустимых
значений
DECIMAL [ (M [, D ] ) ],
DEC [ (M [, D ] ) ],
NUMERUC [ (M [, D ] ) ]
M + 2 байта Повышенная точность;
зависимость от параметров
FLOAT [ (M, D) ] 4 байта -3.402823466E+38
до -1.175494351E-38
0
1.175494351E-38
до 3.402823466E+38.
DOUBLE [ (M, D) ],
REAL [ (M, D) ],
DOUBLE PRECISION [ (M, D) ]
8 байт -1.7976931348623157E+308
до -2.2250738585072014E-308
0
2.2250738585072014E-308
до 1.7976931348623157E+308
Тип столбца, поля Обьем занимаемой
памяти
Диапазон допустимых
значений
BIT [ (M) ] (M + 7) / 8 байт От 1 до 64 бита, в
зависимости от M
BOOLEAN [ (M) ] 1 байт 0 или 1
Тип столбца, поля Обьем занимаемой
памяти
Диапазон допустимых
значений
CHAR (M) M M символов
VARCHAR (M) L + 1 M символов
TINYBLOB, TINYTEXT L + 1 28 - 1 символов
BLOB, TEXT L + 2 216 - 1 символов
MEDIUMBLOB,
MEDIUMTEXT
L + 3 224 - 1 символов
LONGBLOB, LONGTEXT L + 4 2(32) — 1 символов
ENUM ('value1',
'value2',...)
1 или 2 65 536 элементов
SET ('value1', 'value2',...) 1,2,3,4 или 8 64 элемента
Тип столбца, поля Обьем занимаемой
памяти
Диапазон допустимых
значений
DATE 3 байта От "1000-01-01" до "9999-
12-31"
TIME 3 байта От "-828:59:59" до
"828:59:59"
DATATIME 8 байт От "1000-01-01 00:00:00"
до "9999-12-31 59:59:59"
TIMESTAMP 4 байта От "1970-01-01 00:00:00"
до "2038-12-31 59:59:59"
YEAR 1 байт От 1901 до 2155 для YEAR
(4)
От 1970 до 2069 для YEAR
(2)
СУБД осень 2012  лекция 1

More Related Content

Similar to СУБД осень 2012 лекция 1

Web осень 2012 лекция 5
Web осень 2012 лекция 5Web осень 2012 лекция 5
Web осень 2012 лекция 5Technopark
 
Информационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхИнформационные технологии в эру Больших данных
Информационные технологии в эру Больших данных
Sergey Makrushin
 
Информационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхИнформационные технологии в эру Больших данных
Информационные технологии в эру Больших данных
Сергей Макрушин
 
Web весна 2013 лекция 5
Web весна 2013 лекция 5Web весна 2013 лекция 5
Web весна 2013 лекция 5Technopark
 
Всеволод Поляков "История одного мониторинга"
Всеволод Поляков "История одного мониторинга"Всеволод Поляков "История одного мониторинга"
Всеволод Поляков "История одного мониторинга"
Fwdays
 
Software Analytics in frontend
Software Analytics in frontendSoftware Analytics in frontend
Software Analytics in frontend
Denis Kolesnikov
 
Реляционные базы данных
Реляционные базы данныхРеляционные базы данных
Реляционные базы данных
Levon Avakyan
 
Oracle NoSQL Database
Oracle NoSQL DatabaseOracle NoSQL Database
Oracle NoSQL Database
Andrey Akulov
 
базы данных
базы данныхбазы данных
базы данных
Алексей Орловский
 
Виртуализация баз данных с КРОК и Delphix. Кейс Ингосстрах
Виртуализация баз данных с КРОК и Delphix. Кейс ИнгосстрахВиртуализация баз данных с КРОК и Delphix. Кейс Ингосстрах
Виртуализация баз данных с КРОК и Delphix. Кейс Ингосстрах
КРОК
 
Надежная инфраструктура цод
Надежная инфраструктура цодНадежная инфраструктура цод
Надежная инфраструктура цод
Дмитрий Мацкевич
 
Управление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULT
Управление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULTУправление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULT
Управление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULT
КРОК
 
Data Destribution service OMG standart
Data Destribution service OMG standart Data Destribution service OMG standart
Data Destribution service OMG standart
Sergei Seleznev
 
Cоциальный граф "Одноклассников" в myTarget
Cоциальный граф "Одноклассников" в myTargetCоциальный граф "Одноклассников" в myTarget
Cоциальный граф "Одноклассников" в myTarget
Oleg Tsarev
 
DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...
DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...
DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...
it-people
 
Социальный граф Одноклассников в Target Mail.Ru
Социальный граф Одноклассников в Target Mail.RuСоциальный граф Одноклассников в Target Mail.Ru
Социальный граф Одноклассников в Target Mail.Ru
CodeFest
 
Aлександр Зайцев, LifeStreet
Aлександр Зайцев, LifeStreetAлександр Зайцев, LifeStreet
Aлександр Зайцев, LifeStreet
Ontico
 
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)
Ontico
 
BigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: PersonalizationBigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: PersonalizationAnton Gorokhov
 

Similar to СУБД осень 2012 лекция 1 (20)

Web осень 2012 лекция 5
Web осень 2012 лекция 5Web осень 2012 лекция 5
Web осень 2012 лекция 5
 
Информационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхИнформационные технологии в эру Больших данных
Информационные технологии в эру Больших данных
 
Информационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхИнформационные технологии в эру Больших данных
Информационные технологии в эру Больших данных
 
Web весна 2013 лекция 5
Web весна 2013 лекция 5Web весна 2013 лекция 5
Web весна 2013 лекция 5
 
Всеволод Поляков "История одного мониторинга"
Всеволод Поляков "История одного мониторинга"Всеволод Поляков "История одного мониторинга"
Всеволод Поляков "История одного мониторинга"
 
Software Analytics in frontend
Software Analytics in frontendSoftware Analytics in frontend
Software Analytics in frontend
 
Реляционные базы данных
Реляционные базы данныхРеляционные базы данных
Реляционные базы данных
 
Oracle NoSQL Database
Oracle NoSQL DatabaseOracle NoSQL Database
Oracle NoSQL Database
 
базы данных
базы данныхбазы данных
базы данных
 
Виртуализация баз данных с КРОК и Delphix. Кейс Ингосстрах
Виртуализация баз данных с КРОК и Delphix. Кейс ИнгосстрахВиртуализация баз данных с КРОК и Delphix. Кейс Ингосстрах
Виртуализация баз данных с КРОК и Delphix. Кейс Ингосстрах
 
Надежная инфраструктура цод
Надежная инфраструктура цодНадежная инфраструктура цод
Надежная инфраструктура цод
 
Управление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULT
Управление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULTУправление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULT
Управление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULT
 
Data Destribution service OMG standart
Data Destribution service OMG standart Data Destribution service OMG standart
Data Destribution service OMG standart
 
Cоциальный граф "Одноклассников" в myTarget
Cоциальный граф "Одноклассников" в myTargetCоциальный граф "Одноклассников" в myTarget
Cоциальный граф "Одноклассников" в myTarget
 
DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...
DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...
DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...
 
Социальный граф Одноклассников в Target Mail.Ru
Социальный граф Одноклассников в Target Mail.RuСоциальный граф Одноклассников в Target Mail.Ru
Социальный граф Одноклассников в Target Mail.Ru
 
Aлександр Зайцев, LifeStreet
Aлександр Зайцев, LifeStreetAлександр Зайцев, LifeStreet
Aлександр Зайцев, LifeStreet
 
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)
 
5793.ppt
5793.ppt5793.ppt
5793.ppt
 
BigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: PersonalizationBigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: Personalization
 

More from Technopark

Лекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель PregelЛекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель Pregel
Technopark
 
Лекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.RuЛекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.Ru
Technopark
 
Лекция 13. YARN
Лекция 13. YARNЛекция 13. YARN
Лекция 13. YARN
Technopark
 
Лекция 12. Spark
Лекция 12. SparkЛекция 12. Spark
Лекция 12. Spark
Technopark
 
Лекция 10. Apache Mahout
Лекция 10. Apache MahoutЛекция 10. Apache Mahout
Лекция 10. Apache Mahout
Technopark
 
Лекция 9. ZooKeeper
Лекция 9. ZooKeeperЛекция 9. ZooKeeper
Лекция 9. ZooKeeper
Technopark
 
Лекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и HiveЛекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и Hive
Technopark
 
Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)
Technopark
 
Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)
Technopark
 
Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)
Technopark
 
Лекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFSЛекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFS
Technopark
 
Лекция 2. Основы Hadoop
Лекция 2. Основы HadoopЛекция 2. Основы Hadoop
Лекция 2. Основы Hadoop
Technopark
 
Лекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduceЛекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduce
Technopark
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
Technopark
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
Technopark
 
СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"
Technopark
 
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
Technopark
 
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
Technopark
 
СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"
Technopark
 
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
Technopark
 

More from Technopark (20)

Лекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель PregelЛекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель Pregel
 
Лекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.RuЛекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.Ru
 
Лекция 13. YARN
Лекция 13. YARNЛекция 13. YARN
Лекция 13. YARN
 
Лекция 12. Spark
Лекция 12. SparkЛекция 12. Spark
Лекция 12. Spark
 
Лекция 10. Apache Mahout
Лекция 10. Apache MahoutЛекция 10. Apache Mahout
Лекция 10. Apache Mahout
 
Лекция 9. ZooKeeper
Лекция 9. ZooKeeperЛекция 9. ZooKeeper
Лекция 9. ZooKeeper
 
Лекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и HiveЛекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и Hive
 
Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)
 
Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)
 
Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)
 
Лекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFSЛекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFS
 
Лекция 2. Основы Hadoop
Лекция 2. Основы HadoopЛекция 2. Основы Hadoop
Лекция 2. Основы Hadoop
 
Лекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduceЛекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduce
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
 
СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"
 
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
 
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
 
СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"
 
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
 

СУБД осень 2012 лекция 1

  • 1.
  • 2. • база данных > 2 петабайт • отсутствие готовых решений • практически ни одно приложение не обходится без БД • в большинстве вакансий разработчика упоминается SQL , по данным
  • 3. • проектирование реляционных баз данных • язык запросов SQL • оптимизация запросов и схем данных • и • администрирование и настройка серверов БД • noSQL и его использование в
  • 4. • ER, FA, KB – диаграммы • Нормализация • DDL
  • 5. • CRUD • Транзакции • Хранимые процедуры • Тригеры
  • 6. • EXPLAIN, slow_log • Индексы • Денормализация “Ну и запросы у вас”, - сказала база данных и повисла
  • 7. • Конфигурирование • Репликация • Резервное копирование • Пользователи и права • SQL-injections На моей работе самая страшная фраза это: ребята, за какую дату у нас есть бэкап базы данных?
  • 8. • Концепция Map-Reduce • Краткий обзор существующих решений • Tarantool “… многие отдали предпочтение реляционным системам баз данных, поскольку используемый в них стандартизованный язык SQL открывал возможности безболезненного перехода от одной СУБД к другой. Хотя воспользовались ими на практике только единицы, мысль о возможной смене поставщика СУБД, не связанной со сколько-нибудь ощутимыми затратами, согревала всех.” © Мартин Фаулер
  • 9. • групповая разработка проекта • нагрузочное тестирование • экзамен Экзамен - это уникальная возможность для студента два раза в год узнать что-то полезное хотя бы на несколько дней. © Французский бизнесмен и творческая личность Джордж Элгози
  • 10. 1. Дейт К. Дж. Введение в системы баз данных 2. Бьюли А. Изучаем SQL 3. Молинаро Э. SQL – сборник рецептов 4. Заводны Дж, Шварц Б., Зайцев П., Ткаченко В., Ленц А. MySQL. Оптимизация производительности 5. http://www.intuit.ru/catalog/database/ 6. http://citforum.ru/database/ 7. http://www.sql.ru/ 8. http://www.mysql.com/
  • 11. База данных (БД) – это взаимосвязанная информация (данные) об объектах, которая организованна специальным образом и хранится на каком-либо носителе.
  • 12.
  • 13. • один-к-одному (1:1) • один-ко-многим (1:M) • многие-к-одному (M:1) • многие-ко-многим (M:N) Мужчина ЖенщинаБрак M N Мужчина ЖенщинаБрак M 1 Мужчина ЖенщинаБрак 1 M Мужчина ЖенщинаБрак 1 1
  • 14. • Выборка • Проекция • Объединение • Пересечение • Разность • Произведение • Деление • Соединение
  • 15. Имя Возраст Вес Harry 34 80 Donald 29 70 Helena 54 54 Peter 34 80 Персоны Имя Возраст Вес Harry 34 80 Helena 54 54 Peter 34 80 σВозраст ≥ 34(Персоны)
  • 16. Имя Возраст Вес Harry 34 80 Donald 29 70 Helena 54 54 Peter 34 80 Персоны πВозраст,Вес(Персоны) Возраст Вес 29 70 54 54 34 80
  • 17. Имя Возраст Вес Harry 34 80 Donald 29 70 Helena 54 54 Peter 34 80 Персоны Имя Возраст Вес Daffy 24 19 Donald 29 70 Scrooge 81 27 Персонажы Имя Возраст Вес Harry 34 80 Donald 29 70 Helena 54 54 Peter 34 80 Daffy 24 19 Scrooge 81 27
  • 18. Имя Возраст Вес Harry 34 80 Donald 29 70 Helena 54 54 Peter 34 80 Персоны Имя Возраст Вес Daffy 24 19 Donald 29 70 Scrooge 81 27 Персонажы Имя Возраст Вес Donald 29 70
  • 19. Имя Возраст Вес Harry 34 80 Donald 29 70 Helena 54 54 Peter 34 80 Персоны Имя Возраст Вес Daffy 24 19 Donald 29 70 Scrooge 81 27 Персонажы Имя Возраст Вес Harry 34 80 Helena 54 54 Peter 34 80
  • 20. Код_мульта Название_мульта 0 The Simpsons 1 Family Guy 2 Duck Tales Мультфильмы Код_канала Название_канала 0 СТС 1 2х2 Каналы Код_мульта Название_мульта Код_канала Название_канала 0 The Simpsons 0 СТС 0 The Simpsons 1 2х2 1 Family Guy 0 СТС 1 Family Guy 1 2х2 2 Duck Tales 0 СТС 2 Duck Tales 1 2х2
  • 21. Мультфильмы Каналы Код_мульта Название_мульта Название_канала 0 The Simpsons RenTV 0 The Simpsons 2х2 0 The Simpsons CTC 1 Family Guy RenTV 1 Family Guy 2х2 2 Duck Tales СТС 2 Duck Tales 2x2 Название_канала RenTV 2х2 Код_мульта Название_мульта 0 The Simpsons 1 Family Guy
  • 22. Мультфильмы Каналы Код_мульта Название_мульта Название_канала 0 The Simpsons 2х2 1 Family Guy 2х2 2 Duck Tales RenTV Код_канала Частота RenTV 3,1415 2х2 783,25 Код_мульта Название_мульта Название_канала Код_канала Частота 0 The Simpsons 2х2 2х2 783,25 1 Family Guy 2х2 2х2 783,25 2 Duck Tales RenTV RenTV 3,1415
  • 23. Проектирование баз данных — процесс создания схемы базы данных и определения необходимых ограничений целостности.
  • 24. • Обеспечение хранения в БД всей необходимой информации. • Обеспечение возможности получения данных по всем необходимым запросам. • Сокращение избыточности и дублирования данных. • Обеспечение целостности данных (правильности их содержания): исключение противоречий в содержании данных, исключение их потери и т.д.
  • 25. Критерий Описание Структурная достоверность Соответствие способу определения и организации информации Простота Удобство изучения модели как профессионалами в области разработки информационных систем, так и обычными пользователями Выразительность Способность представлять различия между данными, связи между данными и ограничения Отсутствие избыточности Исключение излишней информации, т.е. любая часть данных должна быть представлена только один раз
  • 26. Критерий Описание Способность к совместному использованию Отсутствие принадлежности к какому-то особому приложению или технологии и, следовательно, возможность использования модели во многих приложениях и технологиях Расширяемость Способность развиваться и включать новые требования с минимальным воздействием на работу уже существующих приложений Целостность Согласованность со способом использования и управления информацией внутри предприятия Схематическое представление Возможность представления модели с помощью наглядных схематических обозначений
  • 27. Сложная система, спроектированная наспех, никогда не работает, и исправить её, чтобы заставить работать, невозможно". Законы Мерфи. 16-й закон системантики • максимум командной работы • привлечение наиболее опытных специалистов • заглядываем в будущее
  • 28. • Внешнее представление (внешняя схема) данных - совокупностью требований со стороны конкретной функции, выполняемой пользователем. • Концептуальная схема - полная совокупностью всех требований к данным, полученной из пользовательских представлений о реальном мире. • Внутренняя схема - сама база данных.
  • 29. • сущности • атрибуты • связи Концептуальное (инфологическое) проектирование — построение семантической модели предметной области, то есть информационной модели наиболее высокого уровня абстракции
  • 30. • записи • элементы данных • связи между записями Логическое (даталогическое) проектирование — создание схемы базы данных на основе конкретной модели данных, например, реляционной модели данных
  • 31. • группирование данных • индексы • методы доступа Физическое проектирование — создание схемы базы данных для конкретной СУБД
  • 32. Блюдо Вид Дата Продукт Калорийнос ть Вес (г) Поставщик Город Страна Цена ($) Лобио Закуска 1/9/2012 Фасоль 307 200 "Хуанхэ" Пекин Китай 0.37 Лук 45 40 "Наталка" Киев Украина 0.52 Масло 742 30 "Лайма" Рига Латвия 1.55 Зелень 18 10 "Даугава" Рига Латвия 0.99 Борщ Суп 1/9/2012 Мясо 166 80 "Наталка" Киев Украина 2.18 Лук 45 30 "Наталка" Киев Украина 0.52 Томаты 24 40 "Полесье" Киев Украина 0.45 Рис 334 50 "Хуанхэ" Пекин Китай 0.44 Масло 742 15 "Полесье" Киев Украина 1.62 Зелень 18 15 "Наталка" Киев Украина 0.88 1. Избыточность 2. Потенциальная противоречивость (аномалии обновления) 3. Аномалии включения 4. Аномалии удаления
  • 33. 1. Числовые 2. Строковые 3. Календарные 4. NULL
  • 34. mysql> SELECT 1 = NULL, 1 <> NULL, 1 < NULL, 1 > NULL; 1 = NULL 1 <> NULL 1 < NULL 1 > NULL NULL NULL NULL NULL mysql> SELECT 1 IS NULL, 1 IS NOT NULL, NULL IS NULL, NULL IS NOT NULL; 1 IS NULL 1 IS NOT NULL NULL IS NULL NULL IS NOT NULL 0 1 1 0
  • 35. Тип столбца, поля Обьем занимаемой памяти Диапазон допустимых значений TINYINT [ (M) ] 1 байт От -128 до 127 От 0 до 255 SMALLINT [ (M) ] 2 байта От -32768 до 32767 От 0 до 65535 MEDIUM INT [ (M) ] 3 байта От -8388608 до 8388608 От 0 до 16777215 INT [ (M) ] 4 байта От -2147683648 до 2147683648 От 0 до 4294967295 BIGINT [ (M) ] 8 байт От -263 до 263 -1 От 0 до 264
  • 36. Тип столбца, поля Обьем занимаемой памяти Диапазон допустимых значений DECIMAL [ (M [, D ] ) ], DEC [ (M [, D ] ) ], NUMERUC [ (M [, D ] ) ] M + 2 байта Повышенная точность; зависимость от параметров FLOAT [ (M, D) ] 4 байта -3.402823466E+38 до -1.175494351E-38 0 1.175494351E-38 до 3.402823466E+38. DOUBLE [ (M, D) ], REAL [ (M, D) ], DOUBLE PRECISION [ (M, D) ] 8 байт -1.7976931348623157E+308 до -2.2250738585072014E-308 0 2.2250738585072014E-308 до 1.7976931348623157E+308
  • 37. Тип столбца, поля Обьем занимаемой памяти Диапазон допустимых значений BIT [ (M) ] (M + 7) / 8 байт От 1 до 64 бита, в зависимости от M BOOLEAN [ (M) ] 1 байт 0 или 1
  • 38. Тип столбца, поля Обьем занимаемой памяти Диапазон допустимых значений CHAR (M) M M символов VARCHAR (M) L + 1 M символов TINYBLOB, TINYTEXT L + 1 28 - 1 символов BLOB, TEXT L + 2 216 - 1 символов MEDIUMBLOB, MEDIUMTEXT L + 3 224 - 1 символов LONGBLOB, LONGTEXT L + 4 2(32) — 1 символов ENUM ('value1', 'value2',...) 1 или 2 65 536 элементов SET ('value1', 'value2',...) 1,2,3,4 или 8 64 элемента
  • 39. Тип столбца, поля Обьем занимаемой памяти Диапазон допустимых значений DATE 3 байта От "1000-01-01" до "9999- 12-31" TIME 3 байта От "-828:59:59" до "828:59:59" DATATIME 8 байт От "1000-01-01 00:00:00" до "9999-12-31 59:59:59" TIMESTAMP 4 байта От "1970-01-01 00:00:00" до "2038-12-31 59:59:59" YEAR 1 байт От 1901 до 2155 для YEAR (4) От 1970 до 2069 для YEAR (2)