Процесс проектирования информационных систем, страница 2

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

•  Реализовать требования безопасности согласно функциональной спецификации

•  Выполнить тестирование системы на безопасность

•  Отслеживать угрозы при внедрении системы

Типы баз данных

•  Плоский файл – данные хранятся в виде таблицы, нет связей между данными и файлами, высокая производительность благодаря индексации

•  Иерархические – различная информация хранится в различных форматах, пример – Microsoft Exchange Server

•  Реляционные – данные хранятся во множестве таблиц и столбцов, между которыми есть связи; объединяет достоинства плоских файлов (скорость) и иерархических (разнообразие хранимых данных)

•  Объектно-ориентированные – объекты базы данных доступны в виде объектов одного или нескольких языков программирования, пример – Microsoft Visual FoxPro, часто применяются в научных целях

Проектирование РБД (выделение таблиц и полей)

•  Выявление сущностей, как объектов о которых следует сохранять информацию

•  Для выделения сущностей следует проанализировать сценарии использования и логический проект

•  На основе выявленных сущностей формируются таблицы базы данных

•  Выявление атрибутов, описывающих свойства и состояние сущностей

•  На основе атрибутов сущностей формируются столбцы (поля) базы данных

Проектирование РБД (типы данных и ограничения)

•  Каждое поле таблицы должно иметь тип, например, вещественное или целое число или строка

•  Типы данных могут быть системными и пользовательскими

•  Типы данных накладывают ограничения на хранимые данные

•  Необходимо разрешить или определить, могут ли в ячейках таблицы храниться нулевые значения

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

•  Ограничения могут затрагивать несколько полей, например некоторые комбинации полей могут быть запрещены

Проектирование РБД (связи)

•  Необходимо выявить или добавить ключевые поля – первичные ключи (primary key PK) и внешние ключи (foreign key FK)

•  Связи один-к-одному – PK и FK таблиц замкнуты друг на друга

•  Связи один-ко-многим – PK главной таблицы указывает на FK подчинённой таблицы

•  Связи многие-ко-многим – используется дополнительная таблица, содержащая FK для связи двух основных таблиц, содержащих PK

Оптимизация БД

•  Индексация

–  Ускоряет доступ к данным

–  Помогает обеспечить целостность данных

–  Типы индексов: кластерные и некластерные

•  Нормализация

•  Денормализация

Нормальные формы РБД

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

–  Таблицы являются двумерными

–  Каждая ячейка таблиц содержит значение

–  Каждая колонка таблиц имеет одно значение

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

–  Исключаются избыточные данные в сущностях

–  Переносятся в отдельные таблицы атрибуты, зависящие только от части ключа

–  Консолидация данных при наличии возможности

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

–  Удаляются все колонки, не зависящие от ключа

–  Выносятся в отдельную таблицу все данные, не характеризующие сущность напрямую

–  Сокращаются или устраняются аномалии удаления или обновления

–  Таблица проверяется на наличие оставшихся избыточных данных

Особенности кодирования

•  Разработка одного или нескольких прототипов

•  Разработка компонентов будущей системы

•  Документирование кода

•  Сборка проекта должна осуществляться как можно чаще, желательно каждый день

Масштабируемость

•  Масштабируемость – возможность системы увеличивать ёмкость предоставляемых сервисов при увеличении используемых ресурсов