Опубликован: 02.08.2007 | Уровень: специалист | Доступ: платный
Лекция 3:

Что такое проектирование баз данных

< Лекция 2 || Лекция 3: 123456 || Лекция 4 >
Аннотация: В настоящей лекции определяется процесс проектирования базы данных и рассматривается базовая бизнес-модель процесс проектирования реляционной базы данных, основанная на понятии жизненного цикла.
Ключевые слова: проектирование базы данных, вероятность, функциональные требования, ПО, базы данных, сервер, база данных, конфликт, время реакции, определение категории, запрос, приложение, структуры баз данных, определение, анализ требований, проектирование баз данных, создание базы данных, интеллектуальный анализ данных, OLAP, OLTP, схема базы данных, аппаратное обеспечение, программное обеспечение, анализ предметной области, предметной области, бизнес-модель, модель проектирования, контекстная диаграмма, информационная модель предметной области, сущность-связь, функциональная модель предметной области, диаграмма потока данных, диаграмма состояний, диаграмма жизненного цикла, физическая модель, диаграмма декомпозиции, создание логической модели базы данных, создание физической модели базы данных, внутренняя схема, учет влияния транзакций, создание серверного кода, проектирование модулей приложений, контроль качества проектирования базы данных, сбор и анализ входных данных, контроль, логическая модель реляционной базы данных, скрипт, денормализация, спецификация модулей, учет задач обратного влияния, ER-диаграмма, логическая модель, функциональная модель, вывод, команда проекта, проектирование реляционных баз данных, сущность предметной области, атрибут сущности, функциональные зависимости, детерминант, возможный ключ, уникальный идентификатор сущности, целостность сущностей, степень связи, класс принадлежности сущности, идентификатор связи, нормальная форма Бойса-Кодда, первичный ключ отношения, физическая модель реляционной базы данных, схема отношения, связывающие сущности, многие-ко-многим, работ, SQL, нормализованная форма, базовые таблицы, логическая модель данных, поддержка ссылочной целостности, ссылочная целостность, индекс первичного ключа, дочерняя таблица, документирование, физические модели данных, алгоритм, декомпозиция, СУБД, производительность, список, администратор, администратор баз данных, принятия решений, централизованные вычисления, сеть, распределенные вычисления, доступ, концентраторы, ядро, вычисленное значение, Oracle, операции, создание хранимой процедуры, создание функций, автор

Введение

Настоящий курс лекций построен таким образом, чтобы материал этой лекции изучался дважды: первый раз с целью установочного характера, чтобы была понятна логика следующих лекций; второй раз - после последней лекции с целью ответа на вопросы и задачи теста.

Что такое проектирование базы данных

Значительная часть проектов в области информационных технологий (далее ИТ-проектов) направлена на разработку и создание информационных систем, в рамках которых осуществляется обработка данных различной сложности. Целью таких проектов является разработка и создание информационной системы с базами данных. Практически во всех таких проектах решается задача проектирования баз данных определенного типа. Решение задачи проектирования повышает вероятность того, что разрабатываемая информационная система (далее - система) будет удовлетворять заданным функциональным и информационным требованиям с учетом заданных ограничений.

Примеры функциональных требований: выдача отчетов по продажам по регионам; выдача отчетов по продажам по кварталам; автоматический расчет скидок на товары при увеличении объема закупаемой партии и т.п.

Примеры ограничений: максимальное время, отпущенное на проект; количество денежных средств, которое можно на него потратить. Следует также учитывать технологические средства, доступные при реализации проекта, например требование реализации базы данных в архитектуре "файл-сервер".

В эксплуатации база данных и ее окружение должны удовлетворять набору требований по ряду укрупненных (интегрированных) параметров, таких как:

  • функциональность и адаптируемость;
  • производительность обработки транзакций;
  • пропускная способность;
  • время реакции;
  • безопасность.

Это далеко не полный перечень параметров, по которым выставляются требования к базам данных, однако он содержит параметры, требования по которым выставляются наиболее часто.

Такие параметры иногда находятся в противоречии друг к другу. Так, высокие требования по функциональности на данном конкретном оборудовании могут вступать в конфликт с высокими требованиями по производительности. Например, отчеты могут генерироваться в течение нескольких часов и снизить в это время реакции пользователей, работающих с системой в диалоговом режиме.

Параметры, выражающие требования к базе данных, могут ранжироваться посредством присвоения приоритетов. Присвоение высшего приоритета требованию создать структуру данных для достижения системой максимально возможной производительности может привести к тому, что при проектировании базы данных требование обеспечить удобство работы определенной категории пользователей будет рассматриваться через призму производительности. Например, в системе бронирования авиабилетов в транснациональной авиакомпании время отклика на запрос не должно превышать 15-30 секунд. Поэтому, если это требование не будет удовлетворяться, то потребуется "разгрузить" приложение оператора.

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

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

Определение 1. Проектирование базы данных - это поиск способов удовлетворения функциональных требований средствами имеющейся компьютерной технологии с учетом заданных ограничений.

Как правило, ИТ-проекты по созданию базы данных включают в себя следующие этапы: определение стратегии построения системы, анализ требований к базе данных, проектирование базы данных, реализация базы, тестирование и внедрение базы данных. Этап проектирования базы данных считается одним из самых сложных "размытых" этапов создания базы данных, который не имеет явно выраженного начала и окончания. По сравнению с анализом требований к базе данных или разработкой приложений, проектирование базы данных, по мнению многих ведущих специалистов, является плохо структурированной задачей. Если все этапы создания базы данных перекрываются друг с другом в своей последовательности, то этап проектирования перекрывается со всеми остальными этапами. Проектирование начинается с момента принятия стратегических решений и продолжается на этапах реализации и тестирования.

Процесс проектирования базы данных охватывает несколько основных сфер.

  • Проектирование объектов базы данных (таблицы, представления, индексы, триггеры, хранимые процедуры, функции, пакеты) для представления данных предметной области в базе данных.
  • Проектирование интерфейса взаимодействия с базой данных (формы, отчеты и т.д.), т.е. проектирование приложений, которые будут сопровождать данные в базе данных и реализовывать вопросно-ответные отношения на этих данных.
  • Проектирование баз данных под конкретную вычислительную среду или информационную технологию (архитектура "клиент-сервер", параллельные архитектуры, распределенная вычислительная среда).
  • Проектирование баз данных под назначение системы (интеллектуальный анализ данных, OLAP, OLTP и т.д.).

Отметим, что приложения работы с базой данных проектируются одновременно с физической схемой базы данных, а не отдельно! Зачастую вычислительная среда задается в качестве входных условий проектирования, но иногда проектирование следует проводить с учетом возможного перехода в будущем на другую аппаратную платформу или технологию.

Внимание! Базы данных всегда проектируются под конкретное назначение системы.

Техника проектирования баз данных может измениться в целом и в деталях в зависимости от назначения системы. Например, следует различать проектирование систем складирования данных и проектирование так называемых OLTP -систем, ориентируемых на оперативную обработку транзакций. В данном учебном курсе рассматривается проектирование баз данных в основном для OLTP -систем. Именно на таких системах исторически сложилась техника проектирования баз данных.

Известно, что база данных:

  • имеет свою внутреннюю архитектуру;
  • имеет свое собственное лингвистическое содержание;
  • действует в рамках некоторой внешней среды;
  • имеет свои средства взаимодействия с внешней средой;
  • функционирует на конкретной программно-аппаратной платформе;
  • поддерживается в рамках определенных организационно-технологических мероприятий.

Таким образом, база данных является сложным многокомпонентным объектом, объединяющим аппаратное обеспечение, программное обеспечение, информацию в виде данных и персонал. Основной задачей проектировщика базы данных является обоснованный выбор такой ее структуры, которая обеспечит согласованное взаимодействие всех ее компонентов согласно заданным функциональным требованиям в рамках заданных ограничений.

В данном курсе мы не рассматриваем вопросы анализа предметной области. Эта задача предшествует проектированию базы данных, и решают ее аналитики. Однако проектировщик баз данных должен знать результаты выполнения этой задачи и уметь правильно интерпретировать их в ходе проектирования. Результаты анализа предметной области базы данных, а именно модели данных предметной области на семантическом уровне, являются исходными данными для решения задач проектирования базы данных. Поэтому проектировщик должен знать концепции, лежащие в основе моделирования данных предметной области, и конструкции, образующие совокупность этих моделей.

< Лекция 2 || Лекция 3: 123456 || Лекция 4 >
Александра Каева
Александра Каева
Михаил Забелкин
Михаил Забелкин
Евгений Вершинин
Евгений Вершинин
Россия, Нижний Новгород, Нижегородский государственный технический университет, 2008
Aleksandr Arshinskyi
Aleksandr Arshinskyi
Россия