СУБД 2013 Лекция №1 "Введение и начало проектирования"Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных". Лекция №1 "Введение и начало проектирования"
Лектор - Павел Щербинин.
В лекции обсуждаются значение и роли баз данных в IT, даются определения БД и СУБД. Затем рассказывается о реляционной модели данных, об основах реляционной алгебры. Далее говорится непосредственно о проектировании БД: каковы критерии оценки модели данных, особенности концептуального проектирования, этапы проектирования, что такое логическое проектирование. Остальная часть лекции посвящена типам данных MySQL: NULL, целые числа, числа с плавающей точкой, бинарные, строки, дата и время.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Переформулировки поисковых запросов в Яндексе / ноябрь 2010 / Евгений ТрофименкоEugene Trofimenko
http://promosite.ru/conference/optimization-minsk-2010.php
Доклады на конференциях "Поисковая оптимизация и продвижение сайтов в Интернете 2010" и "Продвижение сайтов в белорусском интернете, SEO Революция 2010". Введенный пользователем запрос до передачи поисковому алгоритму переформулируется - расширяется другими словами (частями речи, транслитом и др.). Определение конкретных переформулировок для их использования в текстах и ссылках на сайт.
СУБД 2013 Лекция №1 "Введение и начало проектирования"Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных". Лекция №1 "Введение и начало проектирования"
Лектор - Павел Щербинин.
В лекции обсуждаются значение и роли баз данных в IT, даются определения БД и СУБД. Затем рассказывается о реляционной модели данных, об основах реляционной алгебры. Далее говорится непосредственно о проектировании БД: каковы критерии оценки модели данных, особенности концептуального проектирования, этапы проектирования, что такое логическое проектирование. Остальная часть лекции посвящена типам данных MySQL: NULL, целые числа, числа с плавающей точкой, бинарные, строки, дата и время.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Переформулировки поисковых запросов в Яндексе / ноябрь 2010 / Евгений ТрофименкоEugene Trofimenko
http://promosite.ru/conference/optimization-minsk-2010.php
Доклады на конференциях "Поисковая оптимизация и продвижение сайтов в Интернете 2010" и "Продвижение сайтов в белорусском интернете, SEO Революция 2010". Введенный пользователем запрос до передачи поисковому алгоритму переформулируется - расширяется другими словами (частями речи, транслитом и др.). Определение конкретных переформулировок для их использования в текстах и ссылках на сайт.
Всеволод Поляков "История одного мониторинга"Fwdays
«Мир изменился… Я чувствую это в воде… Я чувствую это в земле…»
Галадриэль
«Какой-то отсталый у неё мониторинг»
Сева Поляков
В этом докладе я хочу рассказать вам историю о современном мониторинге, на примере выбора для моего текущего проекта. Когда нужен prometheus, когда нужен SaaS и почему графит не умрёт. Также я постараюсь пройтись по всем новинкам и важным изменениям в современном мире мониторинга.
Виртуализация баз данных с КРОК и Delphix. Кейс ИнгосстрахКРОК
25 августа 2016
Бизнес-ужин «Современный подход к хранению баз данных, или как сократить время на развертывание с 5 дней до 5 минут»
Подробнее http://www.croc.ru/action/detail/65761/
Семинар в Академии информационных систем. Мы рассмотрели схемы надежности инфраструктуры ЦОД tier согласно требованиям стандартов в области ЦОД - Bisci 002-2011, TIA/EIA-942, Uptime Institute. Рассмотрели влияние различных систем друг на друга - охлаждение и электроснабжение.
Управление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULTКРОК
Веб-семинар «Управление данными и защита от сбоев. Решения КРОК на основе продуктов CommVault».
Подробнее о мероприятии http://www.croc.ru/action/detail/1466/
Презентация Дениса Мурунова, Эксперта группы системных инженеров департамента информационных технологий КРОК
Cоциальный граф "Одноклассников" в myTargetOleg Tsarev
Задача выглядит обманчиво простой — рядом с баннером игры из Одноклассников показывать текстовый тизер «эту игру играет Кот Матроскин и ещё 5 твоих друзей» (имя и количество берутся из друзей пользователя на Одноклассниках).
Как обрабатывать граф друзей проекта Одноклассники для этой задачи?
На этот простой вопрос дают разные ответы:
- взять графовую базу данных
- использовать матрицу инцидентности
- использовать список смежных вершин.
Если уточнить, что сырые данные занимают полтора терабайта, в графе 200 миллионов вершин и 13 миллиардов связей, то ручные решения сразу отметаются.
«Графовая база данных!» Стоит озвучить нагрузку в десятки тысяч запросов секунду и требования отвечать за миллисекунды (тысячные доли секунды!) как графовые базы сразу оказываются за бортом — типичное время ответа на простые запросы — единицы секунд.
Экс-разработчик MySQL и SciDB, ныне ведущий разработчик myTarget Олег Царёв расскажет, как решалась эта непростая задача в рамках проекта.
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)Ontico
«Одноклассники» состоят из тысяч серверов, большая часть которых участвует в онлайн-обработке запросов пользователей. Каждый из этих серверов владеет только частью данных или логики. Эти части в социальной сети изолировать друг от друга невозможно, поэтому между серверами происходит много сетевого взаимодействия — разнообразного и большого по объему. Таким образом, Одноклассники — это одна из самых больших, сложных и нагруженных распределенных систем в мире.
В этом докладе Олег расскажет об опыте построения отказоустойчивых распределенных систем на Java, основных ошибках и отказах, приемах их тестирования и диагностики. Также речь пойдет об авариях в распределенных системах и методах их предупреждения.
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Всеволод Поляков "История одного мониторинга"Fwdays
«Мир изменился… Я чувствую это в воде… Я чувствую это в земле…»
Галадриэль
«Какой-то отсталый у неё мониторинг»
Сева Поляков
В этом докладе я хочу рассказать вам историю о современном мониторинге, на примере выбора для моего текущего проекта. Когда нужен prometheus, когда нужен SaaS и почему графит не умрёт. Также я постараюсь пройтись по всем новинкам и важным изменениям в современном мире мониторинга.
Виртуализация баз данных с КРОК и Delphix. Кейс ИнгосстрахКРОК
25 августа 2016
Бизнес-ужин «Современный подход к хранению баз данных, или как сократить время на развертывание с 5 дней до 5 минут»
Подробнее http://www.croc.ru/action/detail/65761/
Семинар в Академии информационных систем. Мы рассмотрели схемы надежности инфраструктуры ЦОД tier согласно требованиям стандартов в области ЦОД - Bisci 002-2011, TIA/EIA-942, Uptime Institute. Рассмотрели влияние различных систем друг на друга - охлаждение и электроснабжение.
Управление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULTКРОК
Веб-семинар «Управление данными и защита от сбоев. Решения КРОК на основе продуктов CommVault».
Подробнее о мероприятии http://www.croc.ru/action/detail/1466/
Презентация Дениса Мурунова, Эксперта группы системных инженеров департамента информационных технологий КРОК
Cоциальный граф "Одноклассников" в myTargetOleg Tsarev
Задача выглядит обманчиво простой — рядом с баннером игры из Одноклассников показывать текстовый тизер «эту игру играет Кот Матроскин и ещё 5 твоих друзей» (имя и количество берутся из друзей пользователя на Одноклассниках).
Как обрабатывать граф друзей проекта Одноклассники для этой задачи?
На этот простой вопрос дают разные ответы:
- взять графовую базу данных
- использовать матрицу инцидентности
- использовать список смежных вершин.
Если уточнить, что сырые данные занимают полтора терабайта, в графе 200 миллионов вершин и 13 миллиардов связей, то ручные решения сразу отметаются.
«Графовая база данных!» Стоит озвучить нагрузку в десятки тысяч запросов секунду и требования отвечать за миллисекунды (тысячные доли секунды!) как графовые базы сразу оказываются за бортом — типичное время ответа на простые запросы — единицы секунд.
Экс-разработчик MySQL и SciDB, ныне ведущий разработчик myTarget Олег Царёв расскажет, как решалась эта непростая задача в рамках проекта.
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)Ontico
«Одноклассники» состоят из тысяч серверов, большая часть которых участвует в онлайн-обработке запросов пользователей. Каждый из этих серверов владеет только частью данных или логики. Эти части в социальной сети изолировать друг от друга невозможно, поэтому между серверами происходит много сетевого взаимодействия — разнообразного и большого по объему. Таким образом, Одноклассники — это одна из самых больших, сложных и нагруженных распределенных систем в мире.
В этом докладе Олег расскажет об опыте построения отказоустойчивых распределенных систем на Java, основных ошибках и отказах, приемах их тестирования и диагностики. Также речь пойдет об авариях в распределенных системах и методах их предупреждения.
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Лекция 5. MapReduce в Hadoop (алгоритмы)Technopark
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Лекция 3. Распределённая файловая система HDFSTechnopark
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Лекция 1. Введение в Big Data и MapReduceTechnopark
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №10 "Нереляционное решение в области баз данных — NoSQL". Лектор - Станислав Ступников.
Вводная часть посвящена определению и истории развития концепции NoSQL. Даются характеристики, рассказывается о способах использования. Рассматриваются виды NoSQL БД, теоретические основы NoSQL, а в конце лекции обсуждаются недостатки NoSQL-решений, а также проводится сравнение разных NoSQL-решений.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №10 "Нереляционное решение в области баз данных — NoSQL". Лектор - Станислав Ступников.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №9 "Безопасность баз данных". Лектор - Павел Щербинин.
Открывается лекция рассказом о резервном копировании (о логических и физических резервных копиях, о выборе данных для копирования). Затем определяется терминология для обсуждения дальнейших вопросов. После этого рассматриваются основы учётных записей: таблицы доступа, привилегии, виды записей. Обсуждаются SQL-injection, список смежных вершин (Adjacency Set), вложенное множество (Nested Set), материализованный путь (Materialized Path) и комбинированный подход.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
СУБД 2013 Лекция №8 "Конфигурирование базы данных"Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №8 "Конфигурирование базы данных". Лектор - Павел Щербинин.
Сначала объясняются основы конфигурирования и общие принципы настройки. Далее рассказывается об области видимости, о настройке использования памяти, обсуждается размер блока ключей key_cache_block_size. Рассматривается устройство и использование кэша InnoDB, а также кэшей потоков и таблиц. Затем говорится об особенностях ввода/вывода в InnoDB. Далее рассказывается о табличном пространстве, оптимизации файловой сортировки, переменных состояния. Финальная часть лекции посвящена репликации: настройка, синхронизация, топология, планирование пропускной способности, администрирование и обслуживание, проблемы и их решения.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №7 "Оптимизация запросов и индексирование". Лектор - Павел Щербинин.
Вначале рассказывается об оптимизации доступа к данным, о декомпозиции соединения и состоянии запроса. Далее идёт большой блок, посвящённый оптимизатору запросов (изменение порядка соединения, применение алгебраических правил эквивалентности, оптимизации COUNT(), MIN(), MAX(), вычисление и свертка константных выражений, покрывающие индексы, оптимизация подзапросов, раннее завершение, сравнение по списку IN() и распространение равенства). Затем последовательно рассматриваются такие вещи, как соединение (JOIN) в MySQL, оптимизатор сортировки, коррелированные подзапросы, слияние и непоследовательный просмотр индексов, функции SELECT & UPDATE, COUNT(). После этого рассказывается об оптимизации запросов с помощью JOIN, GROUP BY, DISTINCT и LIMIT со смещением. В конце лекции даётся информация о кэшировании запросов, объединённых таблицах и секционировании.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №5 "Определение узких мест". Лектор - Павел Щербинин.
Вначале рассказывается о подсистемах хранения: MyISAM, InnoDB, Memory, о критериях выбора подсистем хранения, приводятся практические примеры. Затем обсуждается тема индексирования (B-tree, хеш-индексы) и EXPLAIN (столбцы id, table, possible_keys, key, key_len).
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-запросы". Лектор - Павел Щербинин.
Лекция открывается рассказом о том, что такое профилирование запроса, каковы его этапы выполнения в MySQL. Рассказывается о том, как планировать запрос, как осуществляется протоколирование запросов, как собирается статистика. Объясняются основы индексирования, подробно обсуждаются стратегии индексирования для достижения высокой производительности: изоляция столбца, кластерные индексы (преимущества и недостатки), размещение данных в MyISAM и InnoDB, покрывающие индексы. Далее затрагивается тема нормализации и денормализации, а также таблиц счётчиков. В завершении рассказывается о версионировании схемы БД: о методах инкрементных изменений, идемпотентных изменений, уподобления структуры БД исходному коду.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
2. • база данных > 2 петабайт
• отсутствие готовых решений
• практически ни одно приложение не обходится без БД
• в большинстве вакансий разработчика упоминается SQL ,
по данным
3. • проектирование реляционных баз данных
• язык запросов SQL
• оптимизация запросов и схем данных
• и
• администрирование и настройка серверов БД
• noSQL и его использование в
6. • EXPLAIN, slow_log
• Индексы
• Денормализация
“Ну и запросы у вас”, - сказала база данных и повисла
7. • Конфигурирование
• Репликация
• Резервное копирование
• Пользователи и права
• SQL-injections
На моей работе самая страшная фраза это: ребята, за
какую дату у нас есть бэкап базы данных?
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. Аномалии удаления
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)