ݺߣ

ݺߣShare a Scribd company logo
Шаблоны проектирования баз данных Денис Бесков-Доронин ИД «Афиша»
О чём доклад? О том, чего  Нет в учебниках : Трансформационные и реактивные системы. Промышленных методов проектирования БД не существует. О том, о чём  Не говорят в отрасли: Остаётся конструирование — для него нужны кубики. Что могло бы потянуть на кубики? Каталог шаблонов БД : Структура шаблона, разделы каталога.
Трансформационные системы  / 1 70- е годы Устройство системы : каскад блоков Вход Выход Обработчик Правила обработки Прообраз — традиционное поточное, конвейерное производство
Трансформационные системы  / 2 Применение: Первые программы — большинство! До сих пор — ряд классов ПО успешно использует  ( компиляторы, архиваторы, обработчики текста ) Устройство парадигмы: Функции-преобразователи Данные как объект обработки Декомпозиция (иерархия) Information System = Data Processing System
Трансформационные системы  /  3 Свойства: Предсказуемость ,  однозначность Негибкость, невариативность Отложенная обратная связь («мышление динозавра») GIGO (Garbage In, Garbage Out) Относительное соответствие эпохе, представлениям людей и назначению систем
Реактивные системы  / 1 8 0- е годы Устройство системы: серия взаимодействий Агенты Сообщения Стимул Принятие решения Реакция Прообраз — диалог, игра, коммуникация
Реактивные системы  /  2 Применение: Игры Автоматизация персональной деятельности Автоматизация бизнес-процессов Публичные веб-системы Устройство парадигмы : Наличие интереса Коммуникация Выбор Сеть, свободная среда агентов Прообраз — диалог, игра, коммуникация
Реактивные системы  /  3 Свойства: Свобода выбора Вариативность реакции Постоянная обратная связь Многообразие реального мира, постмодерн
Казус индустрии баз данных Благодаря историческим особенностям развития индустрии БД большая часть БД-инженеров  осталась в функционально-структурной парадигме Хотя в  объектной парадигме  есть много чего вкусного и стоящего —  она умеет справляться с изменениями
Что в меню кафе «Объекты и поклонники»? Модульность  — было и раньше Разработка через тестирование  — возможно Рефакторинг, версионирование  — возможно Повторное использование  — а как? Шаблоны проектирования  — возможно ли?
Каноническое «проектирование» по учебникам «Гуру» БД : Дейт Конноли Ульман Крёнке Метод «проектирования»: Описание структуры предметной области ER- модель ER –>  Таблицы и связи (Лог.модель) Нормализация Лог.модель  ->  Физ.модель
На деле — псевдо-проектирование Модель предметной области  -> Рутинные преобразования  -> Хранилище информационной модели предметной области Q:  А как обеспечивать прочие функциональные требования системы, как создавать предметную область  приложения ? A:  Не даёт ответа, читайте… Кнута?
Методов нет, что есть? Если нельзя проектировать, то можно конструировать  Есть — тысячи готовых решений —велосипедов, самокатов и инвалидных колясок
Претенденты на повторное использование Эталонные модели предметной области Шаблона анализа SQL -конструкции Структуры БД (собственно шаблоны проектирования)
Эталонные модели Пр Обл  / 1 Общего пользования: Люди и организации Продукция Заказ продукции Поставки Работы Счета и платежи Учёт и бюджетирование Кадры Отраслевые модели: Производство Телекоммуникации Здравоохранение Страхование Финансовые услуги Профессиональные услуги Путешествия Электронная торговля
Эталонные модели Пр Обл  /  2 Источники: Len Silverston, The Data Model Resource Book
Шаблоны анализа Мартин Фаулер, Analysis Patterns, 1997: Подотчётность Наблюдения и измерения Опись и учёт Планирование Торговля Производные договора Торговые пакеты
Типовые  SQL -конструкции Вадим Тропашко, Дональд Бурлесон, 2008, SQL Design Patterns:
Каталог шаблонов  / 1 Структура шаблона: Название Задача и контекст Устройство решения Ограничения и последствия Вариации Примеры Источники
Каталог шаблонов  / 2 Архитектурные образцы Учётные сущности и Домены Бизнес-агенты и Явления Регистры Сущность-атрибут-значение (EAV) Хранилище данных (DW) Приложение Навигация Уровневая Дескрипторная (тэги) Роли и права Настройки Системные задачи Метаданные Правила и формулы Поиск Древовидные структуры Однородная иерархия «Настройки» «WBS» Разнородная иерархия «Форум»  Наследование и обобщение «События и происшествия» Время-зависимые данные Аудит изменений Общий журнал изменений Персональные журналы изменений Версионность записи Двойники Управление версиями
Что дальше? «Мастер-класс» с разбором шаблонов См.  c айт :  http://DatabaseDesignPatterns.org См. ЖЖ-сообщество  database_design C ya!, Денис Бесков-Доронин

More Related Content

Шаблоны проектирования баз данных — Введение

  • 1. Шаблоны проектирования баз данных Денис Бесков-Доронин ИД «Афиша»
  • 2. О чём доклад? О том, чего Нет в учебниках : Трансформационные и реактивные системы. Промышленных методов проектирования БД не существует. О том, о чём Не говорят в отрасли: Остаётся конструирование — для него нужны кубики. Что могло бы потянуть на кубики? Каталог шаблонов БД : Структура шаблона, разделы каталога.
  • 3. Трансформационные системы / 1 70- е годы Устройство системы : каскад блоков Вход Выход Обработчик Правила обработки Прообраз — традиционное поточное, конвейерное производство
  • 4. Трансформационные системы / 2 Применение: Первые программы — большинство! До сих пор — ряд классов ПО успешно использует ( компиляторы, архиваторы, обработчики текста ) Устройство парадигмы: Функции-преобразователи Данные как объект обработки Декомпозиция (иерархия) Information System = Data Processing System
  • 5. Трансформационные системы / 3 Свойства: Предсказуемость , однозначность Негибкость, невариативность Отложенная обратная связь («мышление динозавра») GIGO (Garbage In, Garbage Out) Относительное соответствие эпохе, представлениям людей и назначению систем
  • 6. Реактивные системы / 1 8 0- е годы Устройство системы: серия взаимодействий Агенты Сообщения Стимул Принятие решения Реакция Прообраз — диалог, игра, коммуникация
  • 7. Реактивные системы / 2 Применение: Игры Автоматизация персональной деятельности Автоматизация бизнес-процессов Публичные веб-системы Устройство парадигмы : Наличие интереса Коммуникация Выбор Сеть, свободная среда агентов Прообраз — диалог, игра, коммуникация
  • 8. Реактивные системы / 3 Свойства: Свобода выбора Вариативность реакции Постоянная обратная связь Многообразие реального мира, постмодерн
  • 9. Казус индустрии баз данных Благодаря историческим особенностям развития индустрии БД большая часть БД-инженеров осталась в функционально-структурной парадигме Хотя в объектной парадигме есть много чего вкусного и стоящего — она умеет справляться с изменениями
  • 10. Что в меню кафе «Объекты и поклонники»? Модульность — было и раньше Разработка через тестирование — возможно Рефакторинг, версионирование — возможно Повторное использование — а как? Шаблоны проектирования — возможно ли?
  • 11. Каноническое «проектирование» по учебникам «Гуру» БД : Дейт Конноли Ульман Крёнке Метод «проектирования»: Описание структуры предметной области ER- модель ER –> Таблицы и связи (Лог.модель) Нормализация Лог.модель -> Физ.модель
  • 12. На деле — псевдо-проектирование Модель предметной области -> Рутинные преобразования -> Хранилище информационной модели предметной области Q: А как обеспечивать прочие функциональные требования системы, как создавать предметную область приложения ? A: Не даёт ответа, читайте… Кнута?
  • 13. Методов нет, что есть? Если нельзя проектировать, то можно конструировать Есть — тысячи готовых решений —велосипедов, самокатов и инвалидных колясок
  • 14. Претенденты на повторное использование Эталонные модели предметной области Шаблона анализа SQL -конструкции Структуры БД (собственно шаблоны проектирования)
  • 15. Эталонные модели Пр Обл / 1 Общего пользования: Люди и организации Продукция Заказ продукции Поставки Работы Счета и платежи Учёт и бюджетирование Кадры Отраслевые модели: Производство Телекоммуникации Здравоохранение Страхование Финансовые услуги Профессиональные услуги Путешествия Электронная торговля
  • 16. Эталонные модели Пр Обл / 2 Источники: Len Silverston, The Data Model Resource Book
  • 17. Шаблоны анализа Мартин Фаулер, Analysis Patterns, 1997: Подотчётность Наблюдения и измерения Опись и учёт Планирование Торговля Производные договора Торговые пакеты
  • 18. Типовые SQL -конструкции Вадим Тропашко, Дональд Бурлесон, 2008, SQL Design Patterns:
  • 19. Каталог шаблонов / 1 Структура шаблона: Название Задача и контекст Устройство решения Ограничения и последствия Вариации Примеры Источники
  • 20. Каталог шаблонов / 2 Архитектурные образцы Учётные сущности и Домены Бизнес-агенты и Явления Регистры Сущность-атрибут-значение (EAV) Хранилище данных (DW) Приложение Навигация Уровневая Дескрипторная (тэги) Роли и права Настройки Системные задачи Метаданные Правила и формулы Поиск Древовидные структуры Однородная иерархия «Настройки» «WBS» Разнородная иерархия «Форум» Наследование и обобщение «События и происшествия» Время-зависимые данные Аудит изменений Общий журнал изменений Персональные журналы изменений Версионность записи Двойники Управление версиями
  • 21. Что дальше? «Мастер-класс» с разбором шаблонов См. c айт : http://DatabaseDesignPatterns.org См. ЖЖ-сообщество database_design C ya!, Денис Бесков-Доронин