Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

жц ис / проектирование бд учебное пособие

.pdf
Скачиваний:
73
Добавлен:
14.05.2015
Размер:
660.27 Кб
Скачать

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

Учебное пособие

Петрозаводск 2003

Министерство образования Российской Федерации Петрозаводский государственный университет

Л. В. Щеголева

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

Учебное пособие

Петрозаводск 2003

УДК 681.3

П 791

Рецензенты:

кандидат физико-технических наук В. Т. Вдовицын, кандидат технических наук В. В. Поляков

Печатается по решению редакционно-издательского совета Петрозаводского государственного университета

Щеголева Л. В.

Проектирование базы данных: Учеб. пособие / Л. В. Щеголева; ПетрГУ. – Петрозаводск, 2003. 52 с.

П791 ISBN 5-8021-0355-8

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

Учебное пособие предназначено для студентов, изучающих дисциплины "Управление данными", "Проектирование баз данных", "Банки и базы данных".

УДК 681.3

 

 

ISBN 5-8021-0355-8

©

Л. В. Щеголева, 2003

 

©

Петрозаводский государственный

 

 

университет, 2003

Введение

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

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

Системы управления базами данных (СУБД) реализуют хранение данных в соответствии с одной или несколькими моделями данных, выполнение стандартных операций обработки данных, таких как внесение новой информации или корректировка уже введенной, поиск данных, удовлетворяющих заданным критериям, упорядочение данных и другие, а также поддерживают один или несколько языков баз данных.

Наиболее популярными сейчас являются реляционные СУБД, в которых данные хранятся в реляционных таблицах, и для них разработан стандарт языка обработки – SQL (термин «реляционная» будет пояснен далее в тексте пособия), поэтому пособие ориентировано именно на реляционные базы данных. В пособии рассмотрены следующие темы: уровни представления информации, построение инфологической модели данных, реляционная модель данных и основы реляционной алгебры, теория нормализации, пример проектирования базы данных для конкретной предметной области.

3

1.Этапы проектирования базы данных

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

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

Врезультате развития концепций баз данных были выделены три уровня представления информации: инфологический, даталогический и физический. На каждом уровне проводится структуризация информации таким образом, чтобы на третьем уровне информация могла быть представлена в виде структур данных, реализуемых в памяти ЭВМ.

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

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

4

логических связей между данными вне зависимости от того, что представляют собой данные и какие технические средства будут использованы для хранения данных, но с учетом программных средств (СУБД). Существует несколько видов даталогических моделей данных: сетевая, иерархическая, реляционная, объектная и другие.

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

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

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

Предметная

 

область

Пользователь

Инфологическая

Инфологическая

модель

модель

 

Даталогическая

Даталогическая

модель

модель

 

Физическая

Внешние модели

 

модель

СУБД

 

Память

5

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

Даталогические и физическая модели непосредственно реализуются в СУБД.

Физическая модель определяет структуру хранения данных на физических носителях.

Замечания

1.Обычно процесс построения моделей не является строго линейным. На любом шаге проектирования возможно возвращение к предыдущему этапу и исправление ранее построенной модели.

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

2.Модель предметной области

Модель предметной области (инфологическая модель) – это описание предметной области, выполненное без ориентации на используемые в дальнейшем программные и технические средства. Цель инфологического проектирования заключается в представлении семантики (т. е. смысла) предметной области. Эта модель должна быть понятна заказчику, который не является специалистом в области баз данных.

6

Для описания предметной области наиболее часто используется модель «сущность–связь», предложенная П. Ченом в 1976 году (или ее модификации). Сокращенно такую модель называют ER-моделью от английского названия «Entity–Relationship» («Сущность–связь»). Диаграмма модели имеет лексикографическую структуру, т. е. включает в себя текст и элементы графики. Из названия модели понятно, что основными ее структурными элементами будут объекты и связи между ними. Рассмотрим каждый из структурных элементов.

2.1. Объекты и классы объектов

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

Отобразить в модели каждый объект предметной области не представляется возможным. Модель предполагает некоторое обобщение и сведение всего к общей структуре. Поэтому среди всех конкретных объектов необходимо выделить их общие признаки, характеристики и по ним объединить объекты в классы. Так, Петрова С. П., Иванова И. И. и Булкина А. А. можно объединить в класс Студент, а Карандаш, Блокнот и Линейку – в класс Товар.

Каждый класс определяется набором атрибутов, т. е. свойств, которыми обладает каждый объект, принадлежащий к этому классу. Например, класс Студент может иметь следующие свойства: ФИО, Год рождения, Курс обучения, Номер зачетной книжки, а класс Товар – Наименование, Дата изготовления, Цена.

Свойства могут носить статический или динамический характер, что означает, что значение свойства не может измениться или может измениться с течением времени. Например, значение свойства Год рождения для класса Студент не может измениться, а значение свойства Курс обучения того же класса будет изменяться каждый учебный год, если, конечно, это добросовестный студент.

7

В терминах модели «сущность–связь» классы объектов обозначаются прямоугольниками, а свойства – овалами. Внутри прямоугольника записывается название класса, внутри овала – название свойства. Изменчивость свойств на схеме обозначается латинскими буквами S и D. Буква S означает статический характер свойства, буква D – динамический.

На рисунке ниже представлен класс Студент, имеющий четыре свойства, два из которых являются статическими (Год рождения и Номер зачетной книжки), а два других – динамическими (ФИО и Курс).

ФИО

D

Студент

S

Год рождения

 

 

 

D

 

 

S

 

 

 

 

 

Курс

 

 

Номер зачетной книжки

 

 

 

 

2.2. Связи между классами объектов

Между классами объектов могут существовать некоторые отношения, называемые связями. Например, между классами Студент и Группа существует связь: студенты распределены по группам или можно сказать, что группы состоят из студентов.

Связи могут быть бинарными, т. е. между двумя классами объектов, или между бóльшим количеством классов. Можно определить и циклические связи, т. е. связи между объектами одного и того же класса.

Между одними и теми же классами может существовать любое количество связей. Например, между классами Студент и Группа можно образовать связь «распределение студентов по группам» и связь «староста группы».

Связи, как и классы, могут иметь свойства. Например, между двумя классами Товар и Поставщик существует связь, которую назовем Поставка, которая означает, что поставщик поставляет товар. Эта связь будет иметь два свойства – Дата поставки и Количество.

8