• Предложить дополнительные возможности для снижения
рисков по безопасности
• Реализовать требования безопасности согласно
функциональной спецификации
• Выполнить тестирование системы на безопасность
• Отслеживать угрозы при внедрении системы
Типы баз данных
• Плоский файл – данные хранятся в виде таблицы, нет
связей между данными и файлами, высокая производительность благодаря индексации
• Иерархические – различная информация хранится в
различных форматах, пример – Microsoft Exchange Server
• Реляционные – данные хранятся во множестве таблиц и
столбцов, между которыми есть связи; объединяет достоинства плоских файлов
(скорость) и иерархических (разнообразие хранимых данных)
• Объектно-ориентированные – объекты базы данных
доступны в виде объектов одного или нескольких языков программирования, пример
– Microsoft Visual FoxPro,
часто применяются в научных целях
Проектирование РБД (выделение таблиц и
полей)
• Выявление сущностей, как объектов о которых следует
сохранять информацию
• Для выделения сущностей следует проанализировать
сценарии использования и логический проект
• На основе выявленных сущностей формируются таблицы
базы данных
• Выявление атрибутов, описывающих свойства и состояние
сущностей
• На основе атрибутов сущностей формируются столбцы
(поля) базы данных
Проектирование РБД (типы данных и
ограничения)
• Каждое поле таблицы должно иметь тип, например,
вещественное или целое число или строка
• Типы данных могут быть системными и пользовательскими
• Типы данных накладывают ограничения на хранимые данные
• Необходимо разрешить или определить, могут ли в
ячейках таблицы храниться нулевые значения
• Необходимо определить, в каких диапазонах должны
находиться значения атрибутов
• Ограничения могут затрагивать несколько полей,
например некоторые комбинации полей могут быть запрещены
Проектирование РБД (связи)
• Необходимо выявить или добавить ключевые поля –
первичные ключи (primary key PK) и
внешние ключи (foreign key FK)
• Связи один-к-одному – PK и FK
таблиц замкнуты друг на друга
• Связи один-ко-многим – PK главной
таблицы указывает на FK подчинённой таблицы
• Связи многие-ко-многим – используется дополнительная
таблица, содержащая FK для связи двух основных таблиц, содержащих PK
Оптимизация БД
• Индексация
– Ускоряет доступ
к данным
– Помогает
обеспечить целостность данных
– Типы индексов:
кластерные и некластерные
• Нормализация
• Денормализация
Нормальные формы РБД
• Первая нормальная форма
– Таблицы являются двумерными
– Каждая ячейка таблиц содержит значение
– Каждая колонка таблиц имеет одно значение
• Вторая нормальная форма
– Исключаются избыточные данные в сущностях
– Переносятся в отдельные таблицы атрибуты, зависящие
только от части ключа
– Консолидация данных при наличии возможности
• Третья нормальная форма
– Удаляются все колонки, не зависящие от ключа
– Выносятся в отдельную таблицу все данные, не
характеризующие сущность напрямую
– Сокращаются или устраняются аномалии удаления или
обновления
– Таблица проверяется на наличие оставшихся избыточных
данных
Особенности кодирования
• Разработка
одного или нескольких прототипов
• Разработка
компонентов будущей системы
• Документирование
кода
• Сборка
проекта должна осуществляться как можно чаще, желательно каждый день
Масштабируемость
• Масштабируемость – возможность системы увеличивать
ёмкость предоставляемых сервисов при увеличении используемых ресурсов