SlideShare una empresa de Scribd logo
1 de 28
Разработка БД -
Введение

Шамрай Александр
a.shamray@cmcons.com
Проблемы командной разработки


Различное видение и приоритеты

Излишняя специализация ролей

Несоответствие процессов

Закостеневший менеджмент

Организационные проблемы

Бедная документация

Неэффективные руководства по разработке

Неэффективное моделирование
                  www.cmcons.com
ЭВОЛЮЦИОННАЯ
РАЗРАБОТКА
       www.cmcons.com
Техники эволюционной разработки


Эволюционное Моделирование


Регрессионное тестирование


Рефакторинг баз данных


Конфигурационное управление баз данных

Использование личных рабочих пространств для
разработки
                 www.cmcons.com
ЭВОЛЮЦИОННОЕ
МОДЕЛИРОВАНИЕ
       www.cmcons.com
Принципы эволюционного
                       моделирования

• Предполагать простоту
• Содержание является более важным, чем представление
• Принять изменения
• Учитывать будущие потребности
• Инкрементальные изменения
• Адаптация к локальным условиям
• Модель с целью
• Несколько моделей
• Открытый и честный диалог
• Качественная работа
• Быстрая обратная связь
• Программное обеспечение является основной целью
• Идти налегке
• Повторно использовать существующие ресурсы
• Рассматривать возможность для тестирования
                              www.cmcons.com
МОДЕЛИРОВАНИЕ БД С
ПОМОЩЬЮ UML
        www.cmcons.com
Use Case




www.cmcons.com
Sequence Diagram




  www.cmcons.com
Class Diagram




www.cmcons.com
Моделирование таблиц, сущностей и
         представлений




          www.cmcons.com
Стереотипы для моделирования таблиц,
                  сущностей и представлений

Стереотип              Применение

<<Aggregate>>          Применяется в статистических таблицах, которые используются для
                       хранения ненормализованные данных (часто для целей отчетности).
<<Entity>>             Необязательная нотация, которая подразумевает тип модели.

<<Index>>              Применяется для моделирования индекса, который реализует ключ
                       таблицы реляционной базы данных. Это указывает на зависимость от
                       индекса для таблицы или ключевого столбца, реализующего индекс.
<<Lookup table>>       Применяется к реляционным таблицам, которые используются для
                       простого просмотра списков.
<<Stored procedure>>   Применяется к классу, который содержит только операционные
                       подписи для хранимых процедур базы данных.
<<Table>>              Дополнительная нотация, которая подразумевается модельным
                       типом.
<<View>>               Применяется, когда моделируются представления для таблицы.
                       Указывается зависимость для каждой таблицы в определении
                       представления.




                                  www.cmcons.com
Стереотипы для моделирования ключей

Стереотип            Применение

<<AK>>               Указывает, что столбец является частью альтернативного ключ, также
                     известного как вторичный ключ для таблицы.
<<Auto Generated>>   Указывает, что значение столбца автоматически создается в базе
                     данных.
<<CK>>               Указывает, что атрибут является частью потенциальным ключ
                     сущности.
<<FK>>               Указывает, что столбец является частью внешнего ключа другой
                     таблицы.
<<Natural>>          Указывает, что атрибут или столбец является частью естественным
                     ключом.
<<PK>>               Указывает, что столбец является частью первичного ключа для
                     таблицы.
<<Surrogate>>        Указывает, что столбец является суррогатным ключом.




                                www.cmcons.com
Значения для ключей

Значение   Применение

key        Показывает к какому ключу кандидат или альтернативный
           принадлежит столбец/атрибут. Когда столбец является частью
           нескольких ключей (например, если он является частью двух
           различных внешних ключей), то необходимо указать, какой имеется в
           виду. Во втором примере столбец является частью третьего
           альтернативного ключа. (key = FK; key = AK-3)
order      Указывает порядок, в котором атрибут проявляется, когда он является
           частью составного ключа. В этом примере столбец будет четвертый в
           ключе. (order = 4)
table      Указывает таблицу, на которую ссылается внешний ключ.
           Необязательное, потому что он часто может быть получено из
           диаграммы.




                      www.cmcons.com
Моделирование ограничений и поведения
     физической модели данных




            www.cmcons.com
НОРМАЛИЗАЦИЯ ДАННЫХ


       www.cmcons.com
Зачем нужна нормализация?




      www.cmcons.com
Правила нормализации

Уровень                    Правило
Первая нормальная форма    Первая нормальная форма (1НФ) требует,
                           чтобы каждое поле таблицы БД было
                           неделимым (атомарным) и не содержало
                           повторяющихся групп
Вторая нормальная форма    Вторая нормальная форма (2НФ) требует,
                           чтобы таблица удовлетворяла всем
                           требованиям 1НФ, и чтобы любое не ключевое
                           поле однозначно идентифицировалось его
                           ключевым полем
Третья нормальная форма    Третья нормальная форма (3НФ) требует,
                           чтобы таблица удовлетворяла всем
                           требованиям 2НФ, и чтобы всего его поля
                           напрямую зависели от ключевого поля




                          www.cmcons.com
Первая нормальная форма




      www.cmcons.com
Вторая нормальная форма




      www.cmcons.com
Третья нормальная форма




      www.cmcons.com
РЕГРЕССИОННОЕ
ТЕСТИРОВАНИЕ
        www.cmcons.com
TDD




www.cmcons.com
РЕФАКТОРИНГ


        www.cmcons.com
Рефакторинг в БД



Категории рефакторинга
• Качество данных
• Структурный
• Архитектурный
• Производительность
• Ссылочная целостность
• Рефакторинг методов
           www.cmcons.com
Сценарии рефакторинга




    www.cmcons.com
Шаги рефакторинга


Выполнить рефакторинг в личной рабочей области
 •   Убедитесь, что оптимизация кода базы данных требуется.
 •   Выберите наиболее подходящий рефакторинг базы данных.
 •   Определите потребности в очистке данных.
 •   Напишите модульные тесты.
 •   Обеспечьте период устаревания для первоначальной схемы.
 •   Реализуйте изменения.
 •   Обновите сценарии управления базой данных.
 •   Выполнение тестирование регрессии.
 •   Документируйте изменения.
 •   Используйте управление версиями.

Внедрить изменения в интеграционной области
 • Распространение изменений между разработчиками
 • Передача изменений на тестирование
Внедрить изменения в промышленную среду
 • Развернуть новые схемы базы данных
 • Развернуть затронутые изменениями приложения
                              www.cmcons.com
www.cmcons.com

Más contenido relacionado

La actualidad más candente

методические указания
методические указанияметодические указания
методические указания
sveta-la
 
Прикладная эконометрика. Лекция 2
Прикладная эконометрика. Лекция 2Прикладная эконометрика. Лекция 2
Прикладная эконометрика. Лекция 2
Vladimir Tcherniak
 
Прикладная эконометрика. Лекция 1
Прикладная эконометрика. Лекция 1Прикладная эконометрика. Лекция 1
Прикладная эконометрика. Лекция 1
Vladimir Tcherniak
 
лабораторная работа 2
лабораторная работа 2лабораторная работа 2
лабораторная работа 2
student_kai
 
3. Таблицы
3. Таблицы3. Таблицы
3. Таблицы
Artyukhova
 
8 повторение основ алгоритмизации и программирования
8 повторение основ алгоритмизации и программирования8 повторение основ алгоритмизации и программирования
8 повторение основ алгоритмизации и программирования
Средняя школа № 10 г. Слонима
 
0037
00370037
0037
JIuc
 
0039
00390039
0039
JIuc
 
0041
00410041
0041
JIuc
 
Упражнение 1
Упражнение 1Упражнение 1
Упражнение 1
Artyukhova
 
0044
00440044
0044
JIuc
 

La actualidad más candente (20)

Занятие 5 Форматирование ячеек и диапазонов
Занятие 5 Форматирование ячеек и диапазоновЗанятие 5 Форматирование ячеек и диапазонов
Занятие 5 Форматирование ячеек и диапазонов
 
методические указания
методические указанияметодические указания
методические указания
 
Прикладная эконометрика. Лекция 2
Прикладная эконометрика. Лекция 2Прикладная эконометрика. Лекция 2
Прикладная эконометрика. Лекция 2
 
Stat 1 alpha
Stat 1 alphaStat 1 alpha
Stat 1 alpha
 
Excel13
Excel13Excel13
Excel13
 
Прикладная эконометрика. Лекция 1
Прикладная эконометрика. Лекция 1Прикладная эконометрика. Лекция 1
Прикладная эконометрика. Лекция 1
 
лабораторная работа 2
лабораторная работа 2лабораторная работа 2
лабораторная работа 2
 
DBD lection 3. Outer and inner joins, nested queries, user views. In Russian.
DBD lection 3. Outer and inner joins, nested queries, user views. In Russian.DBD lection 3. Outer and inner joins, nested queries, user views. In Russian.
DBD lection 3. Outer and inner joins, nested queries, user views. In Russian.
 
лекция 5
лекция 5лекция 5
лекция 5
 
Magento admin area
Magento admin areaMagento admin area
Magento admin area
 
3. Таблицы
3. Таблицы3. Таблицы
3. Таблицы
 
8 повторение основ алгоритмизации и программирования
8 повторение основ алгоритмизации и программирования8 повторение основ алгоритмизации и программирования
8 повторение основ алгоритмизации и программирования
 
0037
00370037
0037
 
24 25 запросы
24 25 запросы24 25 запросы
24 25 запросы
 
0039
00390039
0039
 
основы и трюки Excel
основы и трюки Excelосновы и трюки Excel
основы и трюки Excel
 
Обзор полезных функций и приемов в Excel
Обзор полезных функций и приемов в ExcelОбзор полезных функций и приемов в Excel
Обзор полезных функций и приемов в Excel
 
0041
00410041
0041
 
Упражнение 1
Упражнение 1Упражнение 1
Упражнение 1
 
0044
00440044
0044
 

Destacado

White box techniques
White box techniquesWhite box techniques
White box techniques
QA Guards
 
Организация управления требованиями. Игорь Архипов
Организация управления требованиями.  Игорь АрхиповОрганизация управления требованиями.  Игорь Архипов
Организация управления требованиями. Игорь Архипов
Alexander Baikin
 
Miniq 11: Time management by Anton Zolotarev & Andrei Artisheuski
Miniq 11: Time management by Anton Zolotarev & Andrei ArtisheuskiMiniq 11: Time management by Anton Zolotarev & Andrei Artisheuski
Miniq 11: Time management by Anton Zolotarev & Andrei Artisheuski
EPAM Systems
 
Новые времена. Трансформация офиса управления проектами
Новые времена. Трансформация офиса управления проектамиНовые времена. Трансформация офиса управления проектами
Новые времена. Трансформация офиса управления проектами
Александр Шамрай
 
Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...
Александр Шамрай
 
Кадры для ИТ-индустрии: найти и удержать
Кадры для ИТ-индустрии: найти и удержатьКадры для ИТ-индустрии: найти и удержать
Кадры для ИТ-индустрии: найти и удержать
SQALab
 
Reporting куда как-зачем by Anton Stoliar
Reporting   куда как-зачем by Anton StoliarReporting   куда как-зачем by Anton Stoliar
Reporting куда как-зачем by Anton Stoliar
EPAM Systems
 
Управление рабочими элементами в TFS 2010
Управление рабочими элементами в TFS 2010Управление рабочими элементами в TFS 2010
Управление рабочими элементами в TFS 2010
Александр Шамрай
 
Tsahin test delgertsetseg
Tsahin test delgertsetsegTsahin test delgertsetseg
Tsahin test delgertsetseg
sokodeke
 
Reporting error
Reporting errorReporting error
Reporting error
QA Guards
 
MS TFS 2010 - Управление качеством проекта разработки по
MS TFS 2010 - Управление качеством проекта разработки поMS TFS 2010 - Управление качеством проекта разработки по
MS TFS 2010 - Управление качеством проекта разработки по
Александр Шамрай
 

Destacado (20)

White box techniques
White box techniquesWhite box techniques
White box techniques
 
Agile testing
Agile testingAgile testing
Agile testing
 
Практическое руководство IBM RTC 3 - Конфигурирование шаблона процесса (управ...
Практическое руководство IBM RTC 3 - Конфигурирование шаблона процесса (управ...Практическое руководство IBM RTC 3 - Конфигурирование шаблона процесса (управ...
Практическое руководство IBM RTC 3 - Конфигурирование шаблона процесса (управ...
 
Организация управления требованиями. Игорь Архипов
Организация управления требованиями.  Игорь АрхиповОрганизация управления требованиями.  Игорь Архипов
Организация управления требованиями. Игорь Архипов
 
Управление качеством проекта разработки ПО в TFS 2008
Управление качеством проекта разработки ПО в TFS 2008Управление качеством проекта разработки ПО в TFS 2008
Управление качеством проекта разработки ПО в TFS 2008
 
Практическое руководство IBM RTC 3 - Управление проектами жизненного цикла
Практическое руководство IBM RTC 3 - Управление проектами жизненного циклаПрактическое руководство IBM RTC 3 - Управление проектами жизненного цикла
Практическое руководство IBM RTC 3 - Управление проектами жизненного цикла
 
Miniq 11: Time management by Anton Zolotarev & Andrei Artisheuski
Miniq 11: Time management by Anton Zolotarev & Andrei ArtisheuskiMiniq 11: Time management by Anton Zolotarev & Andrei Artisheuski
Miniq 11: Time management by Anton Zolotarev & Andrei Artisheuski
 
Практическое руководство IBM RTC 3 - Управление заданиями Eclipse client
Практическое руководство IBM RTC 3  - Управление заданиями Eclipse clientПрактическое руководство IBM RTC 3  - Управление заданиями Eclipse client
Практическое руководство IBM RTC 3 - Управление заданиями Eclipse client
 
Новые времена. Трансформация офиса управления проектами
Новые времена. Трансформация офиса управления проектамиНовые времена. Трансформация офиса управления проектами
Новые времена. Трансформация офиса управления проектами
 
Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...
 
Кадры для ИТ-индустрии: найти и удержать
Кадры для ИТ-индустрии: найти и удержатьКадры для ИТ-индустрии: найти и удержать
Кадры для ИТ-индустрии: найти и удержать
 
Reporting куда как-зачем by Anton Stoliar
Reporting   куда как-зачем by Anton StoliarReporting   куда как-зачем by Anton Stoliar
Reporting куда как-зачем by Anton Stoliar
 
Оптимизация интерактивного тестирования с использованием метрики Покрытие кода
Оптимизация интерактивного тестирования с использованием метрики Покрытие кодаОптимизация интерактивного тестирования с использованием метрики Покрытие кода
Оптимизация интерактивного тестирования с использованием метрики Покрытие кода
 
Tsahim test
Tsahim testTsahim test
Tsahim test
 
Практическое руководство IBM RTC 3 - Использование отчетности и виджетов
Практическое руководство IBM RTC 3 - Использование отчетности и виджетовПрактическое руководство IBM RTC 3 - Использование отчетности и виджетов
Практическое руководство IBM RTC 3 - Использование отчетности и виджетов
 
Управление рабочими элементами в TFS 2010
Управление рабочими элементами в TFS 2010Управление рабочими элементами в TFS 2010
Управление рабочими элементами в TFS 2010
 
Tsahin test delgertsetseg
Tsahin test delgertsetsegTsahin test delgertsetseg
Tsahin test delgertsetseg
 
Reporting error
Reporting errorReporting error
Reporting error
 
Terms and definitions
Terms and definitionsTerms and definitions
Terms and definitions
 
MS TFS 2010 - Управление качеством проекта разработки по
MS TFS 2010 - Управление качеством проекта разработки поMS TFS 2010 - Управление качеством проекта разработки по
MS TFS 2010 - Управление качеством проекта разработки по
 

Similar a Разработка баз данных - введение

СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
Technopark
 
Data retrieving in Sharepoint. Camlex.NET - tool for building CAML queries us...
Data retrieving in Sharepoint. Camlex.NET - tool for building CAML queries us...Data retrieving in Sharepoint. Camlex.NET - tool for building CAML queries us...
Data retrieving in Sharepoint. Camlex.NET - tool for building CAML queries us...
sadomovalex
 
Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...
Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...
Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...
Ontico
 
физическая структура хранения артемов Ready
физическая структура хранения артемов Readyфизическая структура хранения артемов Ready
физическая структура хранения артемов Ready
rit2010
 
паттерны проектирования источников данных
паттерны проектирования источников данныхпаттерны проектирования источников данных
паттерны проектирования источников данных
Vitaliy Trenkenshu
 
Оптимизации скорости выполнения запросов
Оптимизации скорости выполнения запросовОптимизации скорости выполнения запросов
Оптимизации скорости выполнения запросов
Alex.Kolonitsky
 

Similar a Разработка баз данных - введение (20)

СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
 
Data retrieving in Sharepoint. Camlex.NET - tool for building CAML queries us...
Data retrieving in Sharepoint. Camlex.NET - tool for building CAML queries us...Data retrieving in Sharepoint. Camlex.NET - tool for building CAML queries us...
Data retrieving in Sharepoint. Camlex.NET - tool for building CAML queries us...
 
Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...
Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...
Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...
 
14 - Базы данных. Основные объекты базы данных и язык SQL
14 - Базы данных. Основные объекты базы данных и язык SQL14 - Базы данных. Основные объекты базы данных и язык SQL
14 - Базы данных. Основные объекты базы данных и язык SQL
 
Реляционные базы данных
Реляционные базы данныхРеляционные базы данных
Реляционные базы данных
 
Павел Лузанов, Postgres Professional. «PostgreSQL для пользователей Oracle»
Павел Лузанов, Postgres Professional. «PostgreSQL для пользователей Oracle»Павел Лузанов, Postgres Professional. «PostgreSQL для пользователей Oracle»
Павел Лузанов, Postgres Professional. «PostgreSQL для пользователей Oracle»
 
Mastering Declarative Database Schema - MageConf 2019
Mastering Declarative Database Schema - MageConf 2019Mastering Declarative Database Schema - MageConf 2019
Mastering Declarative Database Schema - MageConf 2019
 
Базы данных лекция №7
Базы данных лекция №7Базы данных лекция №7
Базы данных лекция №7
 
физическая структура хранения артемов Ready
физическая структура хранения артемов Readyфизическая структура хранения артемов Ready
физическая структура хранения артемов Ready
 
Паттерны проектирования источников данных
Паттерны проектирования источников данныхПаттерны проектирования источников данных
Паттерны проектирования источников данных
 
паттерны проектирования источников данных
паттерны проектирования источников данныхпаттерны проектирования источников данных
паттерны проектирования источников данных
 
Витрины данных - загрузка данных, разработка процессов ETL
Витрины данных - загрузка данных, разработка процессов ETLВитрины данных - загрузка данных, разработка процессов ETL
Витрины данных - загрузка данных, разработка процессов ETL
 
Стандарты и соглашения в сложных ООП-приложениях
Стандарты и соглашения в сложных ООП-приложенияхСтандарты и соглашения в сложных ООП-приложениях
Стандарты и соглашения в сложных ООП-приложениях
 
СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"
 
Оптимизации скорости выполнения запросов
Оптимизации скорости выполнения запросовОптимизации скорости выполнения запросов
Оптимизации скорости выполнения запросов
 
Access 05
Access 05Access 05
Access 05
 
Troubleshooting my sql_performance_addons
Troubleshooting my sql_performance_addonsTroubleshooting my sql_performance_addons
Troubleshooting my sql_performance_addons
 
Class queries
Class queriesClass queries
Class queries
 
базы данных
базы данныхбазы данных
базы данных
 
11 - Web-технологии. Работа с СУБД
11 - Web-технологии. Работа с СУБД11 - Web-технологии. Работа с СУБД
11 - Web-технологии. Работа с СУБД
 

Más de Александр Шамрай

Организация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFSОрганизация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFS
Александр Шамрай
 
Особенности и примеры использования Microsoft Project Server и Team Foundatio...
Особенности и примеры использования Microsoft Project Server и Team Foundatio...Особенности и примеры использования Microsoft Project Server и Team Foundatio...
Особенности и примеры использования Microsoft Project Server и Team Foundatio...
Александр Шамрай
 
Организация процессов разработки на основе TFS
Организация процессов разработки на основе TFSОрганизация процессов разработки на основе TFS
Организация процессов разработки на основе TFS
Александр Шамрай
 
Сквозное обеспечение качества и расширяемость платформы на примере тестирован...
Сквозное обеспечение качества и расширяемость платформы на примере тестирован...Сквозное обеспечение качества и расширяемость платформы на примере тестирован...
Сквозное обеспечение качества и расширяемость платформы на примере тестирован...
Александр Шамрай
 
Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...
Александр Шамрай
 
Особенности и успешные примеры внедрения Microsoft ALM
Особенности и успешные примеры внедрения Microsoft ALMОсобенности и успешные примеры внедрения Microsoft ALM
Особенности и успешные примеры внедрения Microsoft ALM
Александр Шамрай
 
Практическое руководство - использование SVN
Практическое руководство - использование SVNПрактическое руководство - использование SVN
Практическое руководство - использование SVN
Александр Шамрай
 
Модульное тестирование с помощью visual studio 2012 MS Test, Nunit, X-unit.ne...
Модульное тестирование с помощью visual studio 2012 MS Test, Nunit, X-unit.ne...Модульное тестирование с помощью visual studio 2012 MS Test, Nunit, X-unit.ne...
Модульное тестирование с помощью visual studio 2012 MS Test, Nunit, X-unit.ne...
Александр Шамрай
 

Más de Александр Шамрай (20)

Azure DevOps Адаптация под собственные потребности
Azure DevOps Адаптация под собственные потребностиAzure DevOps Адаптация под собственные потребности
Azure DevOps Адаптация под собственные потребности
 
Azure DevOps сборка, развертывание и тестирование
Azure DevOps сборка, развертывание и тестированиеAzure DevOps сборка, развертывание и тестирование
Azure DevOps сборка, развертывание и тестирование
 
Azure DevOps Управление проектом и версионный контроль
Azure DevOps Управление проектом и версионный контрольAzure DevOps Управление проектом и версионный контроль
Azure DevOps Управление проектом и версионный контроль
 
Организация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFSОрганизация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFS
 
Особенности и примеры использования Microsoft Project Server и Team Foundatio...
Особенности и примеры использования Microsoft Project Server и Team Foundatio...Особенности и примеры использования Microsoft Project Server и Team Foundatio...
Особенности и примеры использования Microsoft Project Server и Team Foundatio...
 
Cовременные подходы организации процессов разработки
Cовременные подходы организации процессов разработкиCовременные подходы организации процессов разработки
Cовременные подходы организации процессов разработки
 
Управление запросами к продукту на основе Team Foundation Server
Управление запросами к продукту на основе Team Foundation ServerУправление запросами к продукту на основе Team Foundation Server
Управление запросами к продукту на основе Team Foundation Server
 
Практическое руководство IBM RTC 3 - Управление проектами на основе гибких по...
Практическое руководство IBM RTC 3 - Управление проектами на основе гибких по...Практическое руководство IBM RTC 3 - Управление проектами на основе гибких по...
Практическое руководство IBM RTC 3 - Управление проектами на основе гибких по...
 
Практическое руководство IBM RTC 3 - Управление проектами на основе формальны...
Практическое руководство IBM RTC 3 - Управление проектами на основе формальны...Практическое руководство IBM RTC 3 - Управление проектами на основе формальны...
Практическое руководство IBM RTC 3 - Управление проектами на основе формальны...
 
Практическое руководство IBM RTC 3 - Управление заданиями Web client
Практическое руководство IBM RTC 3  - Управление заданиями Web clientПрактическое руководство IBM RTC 3  - Управление заданиями Web client
Практическое руководство IBM RTC 3 - Управление заданиями Web client
 
Практическое руководство IBM RTC 3 - Установка и поддержка
Практическое руководство IBM RTC 3  - Установка и поддержкаПрактическое руководство IBM RTC 3  - Установка и поддержка
Практическое руководство IBM RTC 3 - Установка и поддержка
 
Сквозное обеспечение качества и расширяемость платформы TFS
Сквозное обеспечение качества и расширяемость платформы TFSСквозное обеспечение качества и расширяемость платформы TFS
Сквозное обеспечение качества и расширяемость платформы TFS
 
Организация процессов разработки на основе TFS
Организация процессов разработки на основе TFSОрганизация процессов разработки на основе TFS
Организация процессов разработки на основе TFS
 
Отчеты в TFS VSO  и практики аналитики
Отчеты в TFS VSO  и практики аналитикиОтчеты в TFS VSO  и практики аналитики
Отчеты в TFS VSO  и практики аналитики
 
Организация работы с требованиями и документацией в TFS
Организация работы с требованиями и документацией в TFSОрганизация работы с требованиями и документацией в TFS
Организация работы с требованиями и документацией в TFS
 
Сквозное обеспечение качества и расширяемость платформы на примере тестирован...
Сквозное обеспечение качества и расширяемость платформы на примере тестирован...Сквозное обеспечение качества и расширяемость платформы на примере тестирован...
Сквозное обеспечение качества и расширяемость платформы на примере тестирован...
 
Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...
 
Особенности и успешные примеры внедрения Microsoft ALM
Особенности и успешные примеры внедрения Microsoft ALMОсобенности и успешные примеры внедрения Microsoft ALM
Особенности и успешные примеры внедрения Microsoft ALM
 
Практическое руководство - использование SVN
Практическое руководство - использование SVNПрактическое руководство - использование SVN
Практическое руководство - использование SVN
 
Модульное тестирование с помощью visual studio 2012 MS Test, Nunit, X-unit.ne...
Модульное тестирование с помощью visual studio 2012 MS Test, Nunit, X-unit.ne...Модульное тестирование с помощью visual studio 2012 MS Test, Nunit, X-unit.ne...
Модульное тестирование с помощью visual studio 2012 MS Test, Nunit, X-unit.ne...
 

Último

CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
Хроники кибер-безопасника
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
Хроники кибер-безопасника
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
Хроники кибер-безопасника
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
Хроники кибер-безопасника
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
Ирония безопасности
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Ирония безопасности
 

Último (9)

MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 

Разработка баз данных - введение

  • 1. Разработка БД - Введение Шамрай Александр a.shamray@cmcons.com
  • 2. Проблемы командной разработки Различное видение и приоритеты Излишняя специализация ролей Несоответствие процессов Закостеневший менеджмент Организационные проблемы Бедная документация Неэффективные руководства по разработке Неэффективное моделирование www.cmcons.com
  • 4. Техники эволюционной разработки Эволюционное Моделирование Регрессионное тестирование Рефакторинг баз данных Конфигурационное управление баз данных Использование личных рабочих пространств для разработки www.cmcons.com
  • 6. Принципы эволюционного моделирования • Предполагать простоту • Содержание является более важным, чем представление • Принять изменения • Учитывать будущие потребности • Инкрементальные изменения • Адаптация к локальным условиям • Модель с целью • Несколько моделей • Открытый и честный диалог • Качественная работа • Быстрая обратная связь • Программное обеспечение является основной целью • Идти налегке • Повторно использовать существующие ресурсы • Рассматривать возможность для тестирования www.cmcons.com
  • 9. Sequence Diagram www.cmcons.com
  • 11. Моделирование таблиц, сущностей и представлений www.cmcons.com
  • 12. Стереотипы для моделирования таблиц, сущностей и представлений Стереотип Применение <<Aggregate>> Применяется в статистических таблицах, которые используются для хранения ненормализованные данных (часто для целей отчетности). <<Entity>> Необязательная нотация, которая подразумевает тип модели. <<Index>> Применяется для моделирования индекса, который реализует ключ таблицы реляционной базы данных. Это указывает на зависимость от индекса для таблицы или ключевого столбца, реализующего индекс. <<Lookup table>> Применяется к реляционным таблицам, которые используются для простого просмотра списков. <<Stored procedure>> Применяется к классу, который содержит только операционные подписи для хранимых процедур базы данных. <<Table>> Дополнительная нотация, которая подразумевается модельным типом. <<View>> Применяется, когда моделируются представления для таблицы. Указывается зависимость для каждой таблицы в определении представления. www.cmcons.com
  • 13. Стереотипы для моделирования ключей Стереотип Применение <<AK>> Указывает, что столбец является частью альтернативного ключ, также известного как вторичный ключ для таблицы. <<Auto Generated>> Указывает, что значение столбца автоматически создается в базе данных. <<CK>> Указывает, что атрибут является частью потенциальным ключ сущности. <<FK>> Указывает, что столбец является частью внешнего ключа другой таблицы. <<Natural>> Указывает, что атрибут или столбец является частью естественным ключом. <<PK>> Указывает, что столбец является частью первичного ключа для таблицы. <<Surrogate>> Указывает, что столбец является суррогатным ключом. www.cmcons.com
  • 14. Значения для ключей Значение Применение key Показывает к какому ключу кандидат или альтернативный принадлежит столбец/атрибут. Когда столбец является частью нескольких ключей (например, если он является частью двух различных внешних ключей), то необходимо указать, какой имеется в виду. Во втором примере столбец является частью третьего альтернативного ключа. (key = FK; key = AK-3) order Указывает порядок, в котором атрибут проявляется, когда он является частью составного ключа. В этом примере столбец будет четвертый в ключе. (order = 4) table Указывает таблицу, на которую ссылается внешний ключ. Необязательное, потому что он часто может быть получено из диаграммы. www.cmcons.com
  • 15. Моделирование ограничений и поведения физической модели данных www.cmcons.com
  • 18. Правила нормализации Уровень Правило Первая нормальная форма Первая нормальная форма (1НФ) требует, чтобы каждое поле таблицы БД было неделимым (атомарным) и не содержало повторяющихся групп Вторая нормальная форма Вторая нормальная форма (2НФ) требует, чтобы таблица удовлетворяла всем требованиям 1НФ, и чтобы любое не ключевое поле однозначно идентифицировалось его ключевым полем Третья нормальная форма Третья нормальная форма (3НФ) требует, чтобы таблица удовлетворяла всем требованиям 2НФ, и чтобы всего его поля напрямую зависели от ключевого поля www.cmcons.com
  • 24. РЕФАКТОРИНГ www.cmcons.com
  • 25. Рефакторинг в БД Категории рефакторинга • Качество данных • Структурный • Архитектурный • Производительность • Ссылочная целостность • Рефакторинг методов www.cmcons.com
  • 27. Шаги рефакторинга Выполнить рефакторинг в личной рабочей области • Убедитесь, что оптимизация кода базы данных требуется. • Выберите наиболее подходящий рефакторинг базы данных. • Определите потребности в очистке данных. • Напишите модульные тесты. • Обеспечьте период устаревания для первоначальной схемы. • Реализуйте изменения. • Обновите сценарии управления базой данных. • Выполнение тестирование регрессии. • Документируйте изменения. • Используйте управление версиями. Внедрить изменения в интеграционной области • Распространение изменений между разработчиками • Передача изменений на тестирование Внедрить изменения в промышленную среду • Развернуть новые схемы базы данных • Развернуть затронутые изменениями приложения www.cmcons.com