Информатика ПР4. Задание 4. Лекция Базы данных и модели данных. Основы работы с реляционными базами данных
Скачать 34.62 Kb.
|
Практическое задание 4Тема 4. Основы работы с базами данных. Защита информацииЛекция 4.1. Базы данных и модели данных. Основы работы с реляционными базами данныхЗадание На основе заданного описания предметной области выполнить проектирование реляционной базы данных. Описание предметной области Оптовый магазин закупает товар по цене закупки и продает его по цене продажи. Цена продажи может изменяться в процессе реализации товара. Разница между ценой продажи и ценой закупки каждой единицы товара составляет доход магазина от реализации товара. При продаже каждой единицы товара указывается вид товара, продавец, дата продажи, цена продажи, количество проданных единиц товара. В магазине работает несколько продавцов. Каждый продавец получает комиссионное вознаграждение за проданный товар. Процент комиссионного вознаграждения назначается индивидуально каждому продавцу. Минимальный перечень атрибутов: Наименование товара. Единица измерения товара. Цена закупки единицы товара. Цена продажи единицы товара. Дата продажи. Количество проданных единиц товара. Ф. И. О. продавца. Процент комиссионных. Предлагаемый набор таблиц проектируемой базы данных: ТОВАРЫ. ПРОДАВЦЫ. ПРОДАЖИ. Выполненное задание сохраняется в файле Задание_4_Фамилия.doc или Задание_4_Фамилия.docx. Рекомендации по выполнению задания При проектировании базы данных рекомендуется выполнить следующие этапы работы: Рассмотреть образец выполнения задания. Выполнив анализ описания предметной области и минимального перечня атрибутов, которые должны быть представлены в таблицах базы данных, выделить информационные объекты для представления их в базе данных. Описать информационные объекты с помощью заданных атрибутов. Можно ввести в рассмотрение дополнительные атрибуты. Перейти к представлению информационных объектов в виде реляционных таблиц: определить состав полей базовых таблиц; в каждой таблице определить ключевое поле; определить тип связей между таблицами базы данных; определить свойства полей в таблицах. Образец выполнения задания Внимание! Это задание на проверку преподавателю НЕ предоставляется. Описание предметной области. Фирма выполняет ремонт компьютеров. При этом выполняется определенный набор операций (работ), стоимость которых устанавливается заранее. Каждый исполнитель получает фиксированный процент вознаграждения от стоимости выполнения работы. Этот процент устанавливается персонально каждому исполнителю. При оформлении заказа фиксируется дата выполнения заказа, вид выполненной работы, исполнитель работы. Требуется разработать структуру базы данных для хранения информации о выполнении ремонтных работ сотрудниками фирмы. Анализ описания предметной области позволяет выделить набор атрибутов, которые должны храниться в проектируемой базе данных: Наименование работы. Стоимость работы. Дата исполнения работы. Фамилия исполнителя. Имя исполнителя. Отчество исполнителя. Процент вознаграждения, который устанавливается индивидуально для каждого исполнителя. Исходя из набора атрибутов, можно выделить два информационных объекта (ИО): ИСПОЛНИТЕЛЬ (фамилия, имя, отчество, процент вознаграждения) и РАБОТА (наименование, стоимость). При выделении ИО нужно из числа заданных атрибутов отнести к данному ИО только те атрибуты, которые характеризуют данный объект и не зависят от других ИО. Так, атрибут «Фамилия» характеризует исполнителя и не зависит от выполняемой работы. Аналогично атрибут «Стоимость» характеризует только работу и не зависит от исполнителя. Заметим, что атрибут «Дата исполнения работы» не включен ни в один ИО, поскольку не является неотъемлемой характеристикой ни одного из них. Этот атрибут характеризует факт исполнения некоторой работы конкретным исполнителем. Определим соответствующие таблицы «ИСПОЛНИТЕЛИ» и «РАБОТЫ», включив в них поля, соответствующие атрибутам соответствующих ИО. Отметим, что ни одно из первоначально включенных в таблицу «ИСПОЛНИТЕЛИ» полей не определяет однозначно каждую запись таблицы и может содержать повторяющиеся значения, то есть не может служить первичным ключом. Введем в таблицу поле «Код исполнителя», значения в котором будут уникальными для каждого исполнителя. Это поле будет первичным ключом таблицы «ИСПОЛНИТЕЛИ». С этой же целью в таблицу «РАБОТЫ» введем первичный ключ «Код работы»:
В таблице «ИСПОЛНИТЕЛИ» будут храниться записи следующего вида:
В таблице «РАБОТЫ» будут храниться записи следующего вида:
Один исполнитель может выполнять различные работы. Одна и та же работа может быть выполнена разными исполнителями. Между таблицами «ИСПОЛНИТЕЛИ» и «РАБОТЫ» должна быть установлена связь типа «многие-ко-многим». Для организации такой связи потребуется новая таблица, в которую ключевые поля связываемых таблиц «Код работы» и «Код исполнителя» войдут как внешние ключи. Такой таблицей в нашем случае может быть таблица «ЗАКАЗЫ». Данные в эту таблицу будут заноситься при оформлении исполнения некоторой работы тем или иным исполнителем. Из первоначального перечня атрибутов в неё войдет атрибут «Дата исполнения работы». В таблице «ЗАКАЗЫ» определим первичный ключ «Код заказа».
В таблице «ЗАКАЗЫ» будут храниться записи вида:
Установим связи между таблицами посредством совпадающих полей в связываемых таблицах (рис. 1). Тип связи между таблицами «ИСПОЛНИТЕЛИ» и «ЗАКАЗЫ» – «один-ко-многим». Здесь таблица «ИСПОЛНИТЕЛИ» находится на стороне отношения «один» и является главной таблицей. Таблица «ЗАКАЗЫ» находится на стороне отношения «многие» и является подчиненной таблицей. Таблица «РАБОТЫ» является главной для связи между таблицами «РАБОТЫ» и «ЗАКАЗЫ» (связь «один-ко-многим»). Связь между таблицами «ИСПОЛНИТЕЛИ» и «РАБОТЫ» относится к типу «многие-ко-многим».
Рис. 1. Связи между таблицами проектируемой базы данных Определим свойства полей в каждой из таблиц. При выборе имен полей рекомендуется выбирать короткие имена. Типы полей выбираются исходя из характера информации, которую предполагается в них хранить. Типы полей таблицы «ИСПОЛНИТЕЛИ»
Типы полей таблицы «РАБОТЫ»
Типы полей таблицы «ЗАКАЗЫ»
Теперь наша база данных подготовлена к компьютерной реализации. |