Введение
Проектирование базы данных
Учебное пособие
Введение
Базы данных предназначены для хранения и обработки большого количества однородной информации, которая может представлять собой, например, сведения о сотрудниках университета, справочник лекарственных средств, результаты измерения температуры, давления и влажности в течение года, сведения о банковских вкладах, список счетов для оплаты телефонных переговоров и т. д.
Идея использовать компьютер для накопления и обработки больших объемов информации появилась почти сразу после его создания. Одновременно с развитием компьютерной техники развивалась и теория баз данных, изменялись структура представления информации, хранения данных на физических носителях, методы доступа и обработки данных. В результате появились модели баз данных, методики проектирования баз данных, специальное программное обеспечение для работы с базами данных, называемое системой управления базами данных, языки баз данных.
Системы управления базами данных (СУБД) реализуют хранение данных в соответствии с одной или несколькими моделями данных, выполнение стандартных операций обработки данных, таких как внесение новой информации или корректировка уже введенной, поиск данных, удовлетворяющих заданным критериям, упорядочение данных и другие, а также поддерживают один или несколько языков баз данных.
Наиболее популярными сейчас являются реляционные СУБД, в которых данные хранятся в реляционных таблицах, и для них разработан стандарт языка обработки – SQL (термин «реляционная» будет пояснен далее в тексте пособия), поэтому пособие ориентировано именно на реляционные базы данных. В пособии рассмотрены следующие темы: уровни представления информации, построение инфологической модели данных, реляционная модель данных и основы реляционной алгебры, теория нормализации, пример проектирования базы данных для конкретной предметной области.
1. Этапы проектирования базы данных
В базе данных обычно хранится информация из некоторой сферы деятельности, например, данные по отгрузке готовых изделий со склада, или по успеваемости студентов факультета, или по оплате телефонных разговоров и т. п. Эту сферу деятельности мы будем называть предметной областью. Таким образом, база данных будет содержать информацию из предметной области, которую необходимо хранить и обрабатывать с помощью компьютера.
База данных представляет собой структурированный набор данных, поэтому без специальной предварительной подготовки информацию в той форме, в которой мы ее обычно получаем, воспринимаем, передаем, нельзя представить в памяти компьютера и обрабатывать по формальным алгоритмам, реализованным в виде программ. Чтобы компьютерная обработка (хранение, сортировка, поиск и т. д.) стала возможной, информацию необходимо структурировать по определенным правилам.
В результате развития концепций баз данных были выделены три уровня представления информации: инфологический, даталогический и физический. На каждом уровне проводится структуризация информации таким образом, чтобы на третьем уровне информация могла быть представлена в виде структур данных, реализуемых в памяти ЭВМ.
На первом уровне, который называется инфологическим, определяется, какая информация о предметной области будет храниться и обрабатываться в компьютере, и в результате исследования предметной области строится ее инфологическая модель. Информация в инфологической модели представляется вне зависимости от того, какие программные и технические средства будут использованы в дальнейшем для ее хранения и обработки. На этом уровне предметная область описывается в терминах классов объектов и их взаимосвязей, которые являются понятными конечным пользователям и людям, работающим в предметной области, не знакомым с принципами организации баз данных.
На втором уровне, который называется даталогическим, или концептуальным, информация представляется в виде данных и логических связей между данными вне зависимости от того, что представляют собой данные и какие технические средства будут использованы для хранения данных, но с учетом программных средств (СУБД). Существует несколько видов даталогических моделей данных: сетевая, иерархическая, реляционная, объектная и другие.
На третьем, физическом, уровне определяется, как и где на физическом носителе будут храниться данные.
Для представления информации о предметной области с точки зрения одного конкретного пользователя или группы пользователей могут быть построены внешние модели первого и второго уровней, т. е. инфологические и даталогические.
На рисунке ниже отражена взаимосвязь моделей представления информации.
Информация о предметной области, с которой работают пользователи, отображается сначала в инфологической модели, затем в даталогической и, наконец, в физической модели. Представления отдельных пользователей оформляются внешними инфологическими и даталогическими моделями. Здесь нужно обратить внимание на то, что внешние модели должны быть обязательно согласованы с соответствующими инфологической и даталогической моделями. Это означает, что они ни в коем случае не дополняют соответствующие модели, а являются их проекцией на уровень заинтересованности отдельного пользователя в информации.
Даталогические и физическая модели непосредственно реализуются в СУБД.
Физическая модель определяет структуру хранения данных на физических носителях.
Замечания
1. Обычно процесс построения моделей не является строго линейным. На любом шаге проектирования возможно возвращение к предыдущему этапу и исправление ранее построенной модели.
2. Построение внешних моделей может выполняться как параллельно с построением других моделей, так и после окончания построения всех моделей. Главное требование к внешним моделям заключается в том, что внешние модели должны быть согласованы с инфологической и концептуальной (даталогической) моделью данных, т. е. являться частью этих моделей, но никак не дополнением к ним.
2. Модель предметной области
Модель предметной области (инфологическая модель) – это описание предметной области, выполненное без ориентации на используемые в дальнейшем программные и технические средства. Цель инфологического проектирования заключается в представлении семантики (т. е. смысла) предметной области. Эта модель должна быть понятна заказчику, который не является специалистом в области баз данных.
Для описания предметной области наиболее часто используется модель «сущность–связь», предложенная П. Ченом в 1976 году (или ее модификации). Сокращенно такую модель называют ER-моделью от английского названия «Entity–Relationship» («Сущность–связь»). Диаграмма модели имеет лексикографическую структуру, т. е. включает в себя текст и элементы графики. Из названия модели понятно, что основными ее структурными элементами будут объекты и связи между ними. Рассмотрим каждый из структурных элементов.