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

28
Разработка БД - Введение Шамрай Александр [email protected]

Upload: -

Post on 22-May-2015

490 views

Category:

Technology


5 download

TRANSCRIPT

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

Разработка БД -

Введение

Шамрай Александр

[email protected]

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

www.cmcons.com

Проблемы командной разработки

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

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

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

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

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

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

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

Неэффективное моделирование

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

www.cmcons.com

ЭВОЛЮЦИОННАЯ

РАЗРАБОТКА

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

www.cmcons.com

Техники эволюционной разработки

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

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

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

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

Использование личных рабочих пространств для разработки

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

www.cmcons.com

ЭВОЛЮЦИОННОЕ

МОДЕЛИРОВАНИЕ

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

www.cmcons.com

Принципы эволюционного

моделирования

•Предполагать простоту

•Содержание является более важным, чем представление

•Принять изменения

•Учитывать будущие потребности

•Инкрементальные изменения

•Адаптация к локальным условиям

•Модель с целью

•Несколько моделей

•Открытый и честный диалог

•Качественная работа

•Быстрая обратная связь

•Программное обеспечение является основной целью

•Идти налегке

•Повторно использовать существующие ресурсы

•Рассматривать возможность для тестирования

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

www.cmcons.com

МОДЕЛИРОВАНИЕ БД С

ПОМОЩЬЮ UML

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

www.cmcons.com

Use Case

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

www.cmcons.com

Sequence Diagram

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

www.cmcons.com

Class Diagram

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

www.cmcons.com

Моделирование таблиц, сущностей и

представлений

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

www.cmcons.com

Стереотипы для моделирования таблиц,

сущностей и представлений

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

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

<<Entity>> Необязательная нотация, которая подразумевает тип модели.

<<Index>> Применяется для моделирования индекса, который реализует ключ таблицы реляционной базы данных. Это указывает на зависимость от индекса для таблицы или ключевого столбца, реализующего индекс.

<<Lookup table>> Применяется к реляционным таблицам, которые используются для простого просмотра списков.

<<Stored procedure>> Применяется к классу, который содержит только операционные подписи для хранимых процедур базы данных.

<<Table>> Дополнительная нотация, которая подразумевается модельным типом.

<<View>> Применяется, когда моделируются представления для таблицы. Указывается зависимость для каждой таблицы в определении представления.

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

www.cmcons.com

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

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

<<AK>> Указывает, что столбец является частью альтернативного ключ, также известного как вторичный ключ для таблицы.

<<Auto Generated>> Указывает, что значение столбца автоматически создается в базе данных.

<<CK>> Указывает, что атрибут является частью потенциальным ключ сущности.

<<FK>> Указывает, что столбец является частью внешнего ключа другой таблицы.

<<Natural>> Указывает, что атрибут или столбец является частью естественным ключом.

<<PK>> Указывает, что столбец является частью первичного ключа для таблицы.

<<Surrogate>> Указывает, что столбец является суррогатным ключом.

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

www.cmcons.com

Значения для ключей

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

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

order Указывает порядок, в котором атрибут проявляется, когда он является частью составного ключа. В этом примере столбец будет четвертый в ключе. (order = 4)

table Указывает таблицу, на которую ссылается внешний ключ. Необязательное, потому что он часто может быть получено из диаграммы.

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

www.cmcons.com

Моделирование ограничений и поведения

физической модели данных

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

www.cmcons.com

НОРМАЛИЗАЦИЯ ДАННЫХ

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

www.cmcons.com

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

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

www.cmcons.com

Правила нормализации

Уровень Правило

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

Вторая нормальная форма Вторая нормальная форма (2НФ) требует, чтобы таблица удовлетворяла всем требованиям 1НФ, и чтобы любое не ключевое поле однозначно идентифицировалось его ключевым полем

Третья нормальная форма Третья нормальная форма (3НФ) требует, чтобы таблица удовлетворяла всем требованиям 2НФ, и чтобы всего его поля напрямую зависели от ключевого поля

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

www.cmcons.com

Первая нормальная форма

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

www.cmcons.com

Вторая нормальная форма

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

www.cmcons.com

Третья нормальная форма

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

www.cmcons.com

РЕГРЕССИОННОЕ

ТЕСТИРОВАНИЕ

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

www.cmcons.com

TDD

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

www.cmcons.com

РЕФАКТОРИНГ

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

www.cmcons.com

Рефакторинг в БД

Категории рефакторинга

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

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

www.cmcons.com

Сценарии рефакторинга

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

www.cmcons.com

Шаги рефакторинга

Выполнить рефакторинг в личной рабочей области

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

Внедрить изменения в интеграционной области

• Распространение изменений между разработчиками• Передача изменений на тестирование

Внедрить изменения в промышленную среду

• Развернуть новые схемы базы данных• Развернуть затронутые изменениями приложения

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

www.cmcons.com