Файл: О.Н. Ванеев Разработка инфологической модели базы данных.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 01.06.2024
Просмотров: 43
Скачиваний: 0
Министерство образования Российской Федерации Государственное учреждение
Кузбасский государственный технический университет Кафедра информационных и автоматизированных производственных систем
РАЗРАБОТКА ИНФОЛОГИЧЕСКОЙ МОДЕЛИ БАЗЫ ДАННЫХ
Методические указания по выполнению лабораторной работы по курсу "Управление данными" для студентов специальности
071900 "Информационные системы и технологии"
Составитель О.Н.Ванеев
Утверждены на заседании кафедры Протокол № 4 от 26.11.02
Рекомендованы к печати учебнометодической комиссией по специальности 071900 Протокол № 86 от 05.12.02
Электронная копия находится в библиотеке главного корпуса ГУ КузГТУ
Кемерово 2003
1
1. ЦЕЛЬ РАБОТЫ
Изучение основных принципов проектирования баз данных, принципов построения баз данных.
В связи с этим, содержанием работы является разработка инфологической модели базы данных.
Реализация модели средствами СУБД ACCESS.
2. ТЕОРЕТИЧЕСКИЕ ПОЛОЖЕНИЯ
Для того чтобы база данных выполняла свои функции, то есть обеспечивала возможность хранения и быстрого поиска требуемой информации, при ее создании необходимо, прежде всего, обеспечить, чтобы содержащаяся в ней информация была достаточна, но не избыточна, то есть чтобы не было лишней информации. Данные вопросы решаются на этапе проектирования инфологической модели базы данных, то есть на этапе установления необходимых объектов данных, их атрибутов и связей между объектами данных.
Объекты данных или информационные объекты в общем случае – это файлы или информационные таблицы, строки которых, называемые записями, соответствуют отдельному экземпляру объекта в поставленной задаче. Обычно информационные объекты базы данных соответствуют реальным объектам предметной области, для которой сформулирована поставленная задача. Таким образом, при формировании инфологической модели необходимо установить, какие объекты предметной области присутствуют в поставленной задаче и соответственно какие объекты данных необходимы для построения базы данных.
Установление состава объектов производится на основе анализа поставленной задачи. В качестве объекта выделяется некоторая сущность, обладающая однозначными атрибутами. Атрибут – это некоторый показатель, характеризующий объект, в простейшем случае цвет, вес и т.п. Таким образом, у выделенных объектов характеристики могут иметь одно значение.
Например, пусть поставлена задача проектирования базы данных автомобилей автопредприятий города при возможности получения данных о составе парка, его характеристиках, в том числе данных о потребностях в топливе. В данной задаче предварительно можно выделить два объекта: автопредприятие и автомобиль. Атрибутами авто-
2
предприятия могут быть наименование, адрес и т.п.; для автомобиля также можно выделить следующие атрибуты: регистрационный номер, пробег, объем двигателя, тип потребляемого горючего и т.д.
Состав атрибутов объекта должен, с одной стороны, в достаточной мере его определять, с другой стороны, не должен быть избыточным. Причем возможна ситуация, когда некоторых атрибутов нет в исходной постановке задачи, однако они необходимы для определения других атрибутов и для реализации инфологической модели. Среди атрибутов целесообразно выделить идентифицирующие, то есть те, которые однозначно определяют отдельный экземпляр объекта. Данные атрибуты по терминологии баз данных называются первичными ключами. В качестве первичных ключей можно использовать атрибуты, соответствующие характеристикам реальных объектов, возможно формирование первичных ключей из нескольких атрибутов. Например, ключ, идентифицирующий сотрудника, можно сформировать из атрибутов "Фамилия", "Имя", "Отчество", просто соединив их, то есть "сотрудник" = "Фамилия" + "Имя" + "Отчество", так как вероятность наличия сотрудников с совпадающими одновременно именами, фамилиями и отчествами довольно мала.
Через первичный ключ объекта с ним будет производиться связь других информационных объектов, следовательно, для уменьшения размеров информационной базы и для увеличения скорости обработки информации целесообразно, чтобы первичный ключ был компактным. Поэтому иногда удобнее вводить первичные ключи как новые атрибуты в виде кодов объектов, порядковых номеров и т.д. В рассматриваемом примере в качестве первичного ключа для объекта "автопредприятие" можно взять его краткое наименование или код, для автомобиля – регистрационный номер.
Выявленные объекты и их атрибуты отображаются на схеме инфологической структуры базы данных, вернее на ее первоначальном варианте, так как скорее всего в процессе дальнейшей разработки она претерпит изменения, объектам могут быть добавлены некоторые атрибуты, может измениться и состав объектов (рис. 1).
Для каждого выделенного атрибута необходимо ввести обозначение, указать, какие значения он может принимать (тип данных и возможный диапазон значений). Данная информация необходима для их описания средствами СУБД.
3
АВТОПРЕДПРИЯТИЕ ••КраткоеНаименование
•ПолноеНаименование
•Адрес
АВТОМОБИЛЬ •• РегистрационныйНомер
•Пробег
•ОбъемДвигателя
•ТипГорючего
Рис. 1. Предварительный вариант инфологической модели базы данных
Если база данных предназначена для решения какой-либо определенной задачи, ее информационные объекты должны быть связанными, то есть иметь между собой отношения. Отношения между объектами различаются по типу и форме. Тип отношения соответствует его содержанию (иерархические, принадлежность и т д.), форма отношения определяет его реализацию и прежде всего множественность, то есть с каким количеством экземпляров установлено отношение с одной и с другой стороны. По множественности отношения можно разделить на отношения "один к одному", "один к многим", "многие к одному" и "многие к многим".
Вчастности, в рассматриваемом примере между объектами АВТОПРЕДПРИЯТИЕ и АВТОМОБИЛЬ существует отношение принадлежности "один к многим", то есть автомобили должны принадлежать какому-либо автопредприятию.
Связи между информационными объектами реализуются через специальные атрибуты, вторичные ключи, которые имеют значение первичного ключа объекта, с которым данный экземпляр объекта связан.
Врассматриваемом примере, для того чтобы отобразить связь автомобилей с автопредприятиями, объект АВТОМОБИЛЬ должен иметь вторичный ключ, например, краткое наименование предприятиявладельца, по которому можно определить соответствующую запись в информационном объекте АВТОПРЕДПРИЯТИЕ.
4
Отношения между объектами необходимо отобразить на схеме инфологической структуры базы данных. Множественность связи отображается с помощью двойной стрелки (рис. 2).
АВТОПРЕДПРИЯТИЕ Принадлежит ••КраткоеНаименование
•ПолноеНаименование
•Адрес
АВТОМОБИЛЬ
• РегистрационныйНомер ♦КраткоеНаименованиеПредприятияВладельца
•Пробег Владеет •ИзносЦилиндров
•МодельАвто
•ОбъемДвигателя
•ТипГорючего
Рис. 2. Уточненная инфологическая модель
Сформированная на данном этапе инфологическая структура не является окончательной. Для того чтобы в базе данных не было дублирующей информации и для обеспечения возможности ее быстрой модернизации, в теории построения баз данных предусматривается специальный этап работ, называемый нормализацией.
Различают несколько форм нормализации.
В первую форму нормализации включается вынесение атрибутов, содержащих однотипную, часто корректируемую информацию, в отдельные объекты. Например, атрибуты, содержащие такие характеристики автомобиля, как пробег, износ цилиндров и т.п., характеризующие текущее состояние автомобиля, очевидно, часто придется корректировать, при этом большая вероятность того, что понадобятся другие аналогичные характеристики, например, "состояние системы отопления" и т.п. Нормализация первой формы предполагает представление
5
таких характеристик в виде отдельного объекта с атрибутами "название характеристики" и "значение характеристики". Кроме того необходим вторичный ключ, по которому будет осуществляться связь характеристики с экземпляром объекта, к которому она относится. В рассматриваемом примере вторичным ключом может быть регистрационный номер автомобиля. Так как характеристики могут относиться к различному типу данных, то для каждого типа характеристик необходимо добавить отдельный объект.
В целом нормализация первой формы скорее увеличивает размер базы, поэтому ее целесообразно проводить для характеристик, которые часто корректируются или в случае, если состав характеристик предполагается переменным, однако она позволяет строить гибкие, легко модернизируемые базы (рис. 3).
|
АВТОПРЕДПРИЯТИЕ |
|
|
|
|
••КраткоеНаименование |
|
|
|
|
|
|
АВТОМОБИЛЬ |
|
|
•ПолноеНаименование |
|
|
|
|
|
|
•• РегистрационныйНомер |
|
|
•Адрес |
|
|
|
|
|
|
♦КраткоеНаименованиеПред- |
|
|
|
|
|
|
|
|
|
|
приятияВладельца |
|
|
|
|
|
|
|
|
|
•МодельАвто |
|
|
|
|
•ОбъемДвигателя |
ХАРАКТЕРИСТИКИ АВТО- |
|
|||
|
•ТипГорючего |
|||
МОБИЛЯ |
|
|||
|
|
|||
•• РегистрационныйНомерАвто |
|
|
||
|
||||
•НазваниеХарактеристики |
|
|
||
•ЗначениеХарактеристики |
|
|
||
|
|
|
|
|
Рис. 3. Инфологическая модель после нормализации первой формы
Нормализация второй формы предполагает исключение полей, непосредственно характеризующих не рассматриваемый объект, а некоторый другой, к которому рассматриваемый объект относится какимлибо образом. В частности, очевидно, что для автомобилей одной модели будут повторяться описания таких данных, как объем двигателя, тип горючего и т.п. Очевидно, что эти данные определяются моделью рассматриваемого автомобиля и являются характеристиками модели.
6
Таким образом, целесообразно в инфологическую структуру ввести еще один объект – МОДЕЛИАВТО, в котором будут содержаться данные о моделях автомобилей, в объекте же АВТОМОБИЛЬ будет лишь вторичный ключ, по которому производится связь автомобиля с соответствующей моделью в объекте МОДЕЛИАВТО (рис. 4).
|
|
АВТОПРЕДПРИЯТИЕ |
|
|
|
|
|
|
|
|
••КраткоеНаименование |
|
|
|
|
|
|
|
|
|
|
|
АВТОМОБИЛЬ |
|
||
|
|
•ПолноеНаименование |
|
|
|
|
||
|
|
•Адрес |
|
|
|
•• РегистрационныйНомер |
|
|
|
|
|
|
|
|
|
♦КраткоеНаименованиеПред- |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
приятияВладельца |
|
|
|
|
|
|
|
|
♦МоделиАвто |
|
|
ХАРАКТЕРИСТИКИ АВТО- |
|
|
|
|
|||
|
|
|
||||||
|
МОБИЛЯ |
|
|
|
|
|
||
|
♦РегистрационныйНомерАвто |
|
|
|
|
|||
|
• НазваниеХарактеристики |
|
|
|
|
|||
|
• ЗначениеХарактеристики |
|
|
МОДЕЛИАВТО |
|
|||
|
|
|
|
|
|
|
••МоделиАвто |
|
|
|
|
|
|
|
|
•ОбъемДвигателя |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
•ТипГорючего |
|
|
|
|
|
|
|
|
|
|
Рис. 4. Инфологическая модель после нормализации второй формы
Объект МОДЕЛИАВТО возможно требует нормализации по первой форме, то есть вынесения в отдельный объект характеристик моделей.
Нормализация третьей формы подразумевает исключение атрибутов, значение которых можно вычислить через другие атрибуты. Например, если бы в объекте МОДЕЛИАВТО были атрибуты "максимальная нагрузка на ось", "масса автомобиля" и "количество осей", то очевидно, что атрибут "максимальная нагрузка на ось" может быть вычислен через массу автомобиля и количество осей. Таким образом, данную характеристику в объекте МОДЕЛИАВТО можно исключить и при необходимости формировать ее на основании данных о массе и количестве осей в данной модели.
7
Теория построения баз данных подразумевает и другие формы (уровни) нормализации, однако в данной работе они не будут рассматриваться.
3.ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
3.1.Установить состав информационных объектов и их атрибутов.
3.1.1.Установить состав информационных объектов. Определить,
какие объекты предметной области участвуют в поставленной задаче.
3.1.2.Установить атрибуты выявленных объектов, определить их тип и возможные значения.
3.1.3.Для выявленных объектов выбрать первичные ключи или определить дополнительные атрибуты, выполняющие роль первичных ключей.
3.1.4.Установить связи между объектами, определить их тип и форму. Определить для объектов вторичные ключи, через которые реализуются вторичные связи.
3.1.5.Построить графическую схему предварительной инфологической модели.
3.2. Для объектов инфологической модели провести нормализацию первой формы.
3.3. Для объектов инфологической модели провести нормализацию второй формы.
3.4. Если необходимо, провести нормализацию первой формы для объектов, добавленных при нормализации второй формы.
3.5. Построить графическую схему окончательной инфологической модели и описать ее объекты и атрибуты.
3.6. Создать средствами используемой СУБД информационные объекты, соответствующие выявленным объектам предметной области, задать их поля и связи между ними.
4.ВАРИАНТЫ ЗАДАНИЙ
Заданием для работы является начальная формулировка некоторой задачи, требующая уточнения и доработки. Уточнение задания является обязательной частью выполнения задания.
1. Спроектировать базу данных для учета рабочих кадров на предприятии, их квалификации, текущей занятости рабочих.
8
2.Спроектировать базу данных для учета технологического оборудования на предприятии, его технологических возможностей (выполняемые методы обработки, ориентация рабочих органов и столов и т.д.)
иобщих характеристик (год выпуска, производитель и т.д.).
3.Спроектировать базу редукторов. База должна содержать характеристики редукторов и данные о производителях.
4.Спроектировать базу данных автомобилей предприятия.
5.Разработать базу данных, отражающую состояние обрабатываемых деталей на предприятии. База должна отражать принадлежность деталей к сборочным единицам, текущий этап (операция) обработки деталей.
6.База данных подразделений АО "КОРМЗ". База должна отражать общую информацию о подразделении (наименование, руководитель, профиль), информацию об оснащенности оборудованием и о персонале подразделения.
7.База данных о ведущих клубах Европы: год образования, бюджет, игроки, тренеры.
8.База данных футболистов. Команды, в которых они играют и играли и т.д.
9.База данных технологических маршрутов обработки типовых поверхностей.
10.База данных факультета. База данных должна содержать данные о студентах, учебных предметах, оценках, полученных студентами за данный предмет на сессиях, и преподавателях, читавших данный предмет, ведущих практические и лабораторные занятия и поставивших оценку или зачет.
11.База данных композиторов и музыкальных направлений. База должна содержать общие данные о композиторе, о музыкальных произведениях, им написанных. Также база должна обеспечивать возможность получения данных о музыкальных направлениях (композитороснователь, наиболее характерные произведения).
12.Спроектировать базу данных кулинарных рецептов.
13.База данных дискографии музыкальных рок-коллективов.
14.База данных датчиков. База должна содержать данные о дате разработки, измеряемых параметрах, точности измерения, цене и производителях.
15.Спроектировать базу данных станочного оборудования механообрабатывающего участка. База должна содержать данные о модели