Список литературы
Информатика : Учебник для вузов / Под ред. проф. Н. В. Макаровой. – М. : Финансы и статистика, 2009.
Информатика. Базовый курс / С. В. Симонович [и др.]. – СПб. : Питер, 2008.
С. Д. Кузнецов «Основы современных баз данных». Курс лекций. – Электронный ресурс. / http://citforum.ru/database/osbd/contents.shtml
В. В. Кириллов «Основы проектирования реляционных баз данных». Учебное пособие. – Электронный ресурс / http://citforum.ru/database/dbguide/
Задание на выполнение
Создать базу данных в соответствии с номером варианта.
ПРИМЕР выполнения проектной части КОНТР_РАБ
Задание. Требуется спроектировать схему данных для представления в базе данных информации из заданной предметной области
Описание предметной области Фирма выполняет ремонт компьютеров. Требуется разработать базу данных для хранения информации о выполнении ремонтных работ сотрудниками фирмы. При оформлении заказа фиксируется дата выполнения заказа, вид выполненной работы, исполнитель работы. Каждый исполнитель получает фиксированный процент вознаграждения от стоимости выполнения работы. Этот процент устанавливается персонально каждому исполнителю при заключении трудового договора между фирмой и работником. Исполнитель получает вознаграждение, которое вычисляется как Стоимость выполнения заказа * Фиксированный процент вознаграждения |
База данных должна содержать следующую информацию: |
Фамилия исполнителя работы |
Имя исполнителя работы |
Отчество исполнителя работы |
Фиксированный процент вознаграждения (может различаться для разных исполнителей) |
Наименование работы |
Стоимость исполнения работы (фиксированная для каждого наименования работы) |
Дата исполнения работы |
Проанализировав данные, которые должны храниться в БД, можно выделить 2 информационных объекта: Исполнитель работы и Работа.
Информационный объект Исполнитель работы характеризуется следующими атрибутами:
Фамилия исполнителя работы |
Имя исполнителя работы |
Отчество исполнителя работы |
Фиксированный процент вознаграждения |
Информационный объект Работа характеризуется следующими атрибутами:
Наименование работы |
Стоимость исполнения работы |
Определим 2 таблицы:
ИСПОЛНИТЕЛИ |
|
РАБОТЫ |
Код исполнителя |
|
Код работы |
Фамилия исполнителя |
|
Наименование работы |
Имя исполнителя |
|
Стоимость исполнения работы |
Отчество исполнителя |
|
|
Процент вознаграждения |
|
|
В таблице ИСПОЛНИТЕЛИ будут храниться записи вида:
1 |
Иванов |
Андрей |
Петрович |
20% |
2 |
Алексеев |
Игорь |
Андреевич |
25% |
В таблице РАБОТЫ будут храниться записи вида:
1 |
Установка микропроцессора |
100,00 руб. |
2 |
Замена вентилятора на МП |
50,00 руб. |
Ни одно из заданных в условии задания полей таблицы ИСПОЛНИТЕЛИ не определяет однозначно каждую запись таблицы. Значения в любом из этих полей могут повторяться. Поэтому в таблицу введено поле Код исполнителя, значения в котором будут уникальными для каждого исполнителя. Это поле является первичным ключом таблицы ИСПОЛНИТЕЛИ и будет определено в Microsoft Access как ключевое поле.
С этой же целью в таблицу РАБОТЫ введен первичный ключ – ключевое поле Код работы.
Один исполнитель может выполнять различные работы. Одна и та же работа может быть выполнена разными исполнителями. Очевидно, что между таблицами ИСПОЛНИТЕЛИ и РАБОТЫ должна быть установлена связь типа «многие-ко-многим». Для организации такой связи должна быть создана новая таблица, в которую ключевые поля связываемых таблиц войдут как внешние ключи. Такой таблицей в нашем случае может быть таблица ЗАКАЗЫ. Информация в эту таблицу будет заноситься при оформлении заказа на выполнение конкретной работы конкретным исполнителем. В таблице ЗАКАЗЫ также определим ключевое поле Код заказа. Получим следующие таблицы.
ИСПОЛНИТЕЛИ |
|
ЗАКАЗЫ |
|
РАБОТЫ |
Код исполнителя |
|
Код заказа |
|
Код работы |
Фамилия исполнителя |
|
Код работы |
|
Наименование работы |
Имя исполнителя |
|
Код исполнителя |
|
Стоимость исполнения работы |
Отчество исполнителя |
|
Дата исполнения работы |
|
|
Процент вознаграждения |
|
|
|
|
Установим связи между таблицами посредством совпадающих полей в связываемых таблицах.
Тип связи между таблицами ИСПОЛНИТЕЛИ и ЗАКАЗЫ – «один-ко-многим». В этом отношении таблица ИСПОЛНИТЕЛИ находится на стороне отношения «один», она называется главной таблицей. Таблица ЗАКАЗЫ находится на стороне отношения «многие» и называется подчиненной. Аналогично таблица РАБОТЫ является главной в отношении «один-ко-многим» между таблицами РАБОТЫ и ЗАКАЗЫ. А связь между таблицами ИСПОЛНИТЕЛИ и РАБОТЫ относится к типу «многие-ко-многим».
Определим свойства полей в каждой из таблиц. При выборе имен полей рекомендуется выбирать короткие имена. Типы полей выбираются исходя из характера информации, которую предполагается хранить в поле.
ИСПОЛНИТЕЛИ
|
||||
Имя поля в схеме данных |
Имя поля в компьютерной БД |
Тип поля |
Размер поля |
Формат поля |
Код исполнителя |
Код исполнителя |
счетчик |
устанавливается автоматически |
- |
Фамилия исполнителя |
Фамилия |
текстовый |
30 байт |
- |
Имя исполнителя |
Имя |
текстовый |
20 байт |
- |
Отчество исполнителя |
Отчество |
текстовый |
30 байт |
- |
Процент вознаграждения |
Процент |
числовой |
Одинарное с плавающей точкой |
Процентный |
РАБОТЫ
|
||||
Имя поля |
Имя поля в компьютерной БД |
Тип поля |
Размер поля |
Формат поля |
Код работы |
Код работы |
счетчик |
устанавливается автоматически |
- |
Стоимость исполнения работы |
Стоимость работы |
денежный |
устанавливается автоматически |
- |
ЗАКАЗЫ
|
||||
Имя поля |
Имя поля в компьютерной БД |
Тип поля |
Размер поля |
Формат поля |
Код заказа |
Код заказа |
счетчик |
устанавливается автоматически |
- |
Код работы |
Код работы |
числовой |
длинное целое |
- |
Код исполнителя |
Код исполнителя |
числовой |
длинное целое |
- |
Дата исполнения работы |
Дата исполнения |
дата/время |
- |
- |
Теперь наша база данных подготовлена к компьютерной реализации. Вопросы создания БД в программе Microsoft Access подробно рассматриваются на практических занятиях в рамках данного модуля.
Вопросы для подготовки к защите КОНТР_РАБ
Что такое база данных? Что такое система управления базами данных?
Назовите известные Вам модели представления данных в базах данных.
Какая модель данных реализуется в СУБД Microsoft Access?
Что такое «поле», «запись» таблицы БД в СУБД Microsoft Access?
Назовите свойства поля таблицы БД.
Назовите и охарактеризуйте допустимые типы полей в таблице БД Microsoft Access.
Что такое «первичный ключ», «внешний ключ» таблицы реляционной БД?
Назовите информационные объекты Вашей БД, укажите реквизиты каждого объекта.
Обоснуйте правомерность выбора того или иного типа данных для представления каждого их реквизитов в Вашей базе данных.
Какого типа связи (отношения) могут быть установлены между таблицами реляционной БД? Охарактеризуйте каждый тип связи.
Опишите типы связей, установленные между таблицами Вашей БД.
Продемонстрируйте процесс внесения изменений в структуру таблицы БД.
Продемонстрируйте процесс внесения изменений в данные базовых таблиц (редактирование данных, добавление строк, удаление строк).
Каково назначение форм БД?
Продемонстрируйте процесс создания формы в режиме Мастер форм на примере двух связанных таблиц Вашей БД.
Каково принципиальное различие процедур и результатов создания формы в режиме автоформы и в режиме мастера запросов?
Продемонстрируйте процесс создания запроса на выборку.
Укажите некоторые способы записи условий отбора в запросе на выборку.
Чем запрос с параметром отличается от простого запроса на выборку?
Продемонстрируйте процесс выполнения запроса с параметром.
Как создать в таблице БД вычисляемое поле? Чем вычисляемое поле запроса отличается от обычного поля?
Каково назначение итогового запроса?
Продемонстрируйте процесс создания итогового запроса.
Каково назначение запросов на удаление данных?
Можно ли с помощью запроса на удаление данных удалить отдельные (не все) поля записи таблицы?
Укажите критерий, согласно которому в запрос на удаление данных включаются поля обрабатываемой запросом таблицы.
Продемонстрируйте процесс создания запроса на удаление данных.
Каково назначение запросов на обновление данных?
Продемонстрируйте процесс создания запроса на обновление данных.
Каково назначение запросов на создание новой таблицы?
Продемонстрируйте процесс создания запроса на создание новой таблицы.
Чем отличается таблица, созданная при помощи запроса на создание таблицы, от результирующей таблицы запроса на выборку?
Каково назначение отчетов БД?
Укажите возможные способы создания отчетов БД.
Продемонстрируйте процесс создания отчета в режиме Мастер отчетов на примере двух связанных таблиц Вашей БД.
