Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУлабраб ИТиС в лог и эконом кор.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

2 Лабораторная работа № 2. Проектирование и заполнение базы данных

Microsoft Access относится к реляционным системам управления базами данных (СУБД).

Реляционная база данных представляет собой совокупность таблиц, связанных между собой определенными отношениями и предназначенных для хранения данных. Основу реляционной базы данных составляют таблицы, которые содержат данные об однотипных объектах. Таблица реляционной базы данных состоит из множества строк и столбцов. Каждая строка таблицы содержит данные об одном объекте и называется записью. Все записи имеют одинаковую структуру – они состоят из полей, в которых хранятся атрибуты (свойства) объекта. Каждое поле записи содержит некоторое свойство представляемого объекта. Это значит, что данные в ячейках одного столбца должны быть одного типа, и в этом коренное отличие реляционной базы данных от таблиц Excel.

Каждая таблица должна иметь один или несколько столбцов (атрибутов), которые однозначно идентифицируют каждый объект в таблице, т. е. позволяют однозначно отличить один объект от другого. Такие столбцы образуют первичный ключ (primary key), и если столбцов несколько, то говорят, что первичный ключ является составным. Поле, представляющее первичный ключ или являющееся частью первичного ключа, называется ключевым.

В реляционной базе данных очень важным является понятие связи между таблицами. Связь (relationship) – это логическое отношение между объектами, представленными таблицами. Связь между записями двух таблиц основана на совпадении атрибутов, по которым эта связь устанавливается. Связи бывают следующих видов: один-к-одному, один-ко-многим, многие-ко-многим.

Задание 1

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

1 Создать таблицы базы данных согласно приведенной на рисунке 1 информации. Курсивом выделены первичные ключи.

Имя поля

Тип поля

Имя поля

Тип поля

Таблица АВТОМОБИЛИ

Таблица СОТРУДНИКИ

КодАвто

Числовой

КодСотрудника

Числовой

Марка

Текстовый

Фамилия

Текстовый

ГодВыпуска

Числовой

Имя

Текстовый

ФИОвладельца

Текстовый

Отчество

Текстовый

Адрес

Текстовый

Должность

Текстовый

Телефон

Текстовый

Телефон

Текстовый

Таблица РЕМОНТЫ

КодРемонта

Числовой

КодАвто

Числовой

КодСотрудника

Числовой

ДатаРемонта

Дата/время

СтоимостьРемонта

Числовой

СтавкаНДС

Числовой

ОбщаяСтоимость

Числовой

Рисунок 1 – Таблицы для хранения данных о ремонте автомобилей

2 Связать таблицы согласно приведенной на рисунке 2 схеме.

Рисунок 2 – Схема базы данных

3 Заполнить все таблицы исходными данными. Вычисляемое поле ОбщаяСтоимость в таблице Заказы не заполнять.

Рекомендации по выполнению

В Access 2007 в режиме конструктора создаём 3 таблицы. В первой таблице «Автомобили» (рисунок 3) содержатся такие сведения об авто, как код авто, марка, год выпуска, ФИО владельца, адрес, телефон. Поле КодАвто является ключевым (курсор на поле КодАвто, правая клавиша мыши, ключевое поле).

Рисунок 3 – Структура таблицы Автомобили

Во второй таблице «Сотрудники» (рисунок 4) содержатся следующие сведения о сотрудниках: код сотрудники, фамилия, имя, отчество, должность, телефон. Поле «КодСотрудника» является ключевым полем.

Рисунок 4 – Структура таблицы Сотрудники

В третьей таблице «Ремонты» (рисунок 5) содержатся следующие сведения о ремонтах: код ремонта, код авто, код сотрудника, дата поставки, стоимость единицы товара, количество единиц товара, стоимость поставки (вычисляемое поле). Поле «КодПоставки» является ключевым полем.

Рисунок 5 – Структура таблицы Ремонты

Таблицы сохранить, затем снова возвратиться в конструктор таблиц.

Поле «КодАвто» заполняется из списка, значения в который заносятся из таблицы Автомобили (КодАвто – (SELECT Автомобили.КодАвто FROM Автомобили;).

Поле «КодСотрудника» заполняется из списка, значения в который заносятся из таблицы «Сотрудники» (КодСотрудника) – (SELECT Сотрудники.КодСотрудника FROM Сотрудники;).

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

Для организации постоянных связей между таблицами для обеспечения целостности базы данных при изменении, добавлении и удалении записей нажать кнопку «Схема данных» и добавить таблицы. Перетащить курсором мыши с нажатой левой клавишей от поля «КодАвто» таблицы «Автомобили» к полю «КодАвто» таблицы «Ремонты», и создать связь один–ко–многим. Аналогично от поля «КодСотрудника» таблицы «Сотрудники» – к полю «КодСотрудника» таблицы «Ремонты». Вид схемы данных представлен на рисунке 6.

Рисунок 6 – Схема базы данных

Занести в таблицы данные. Вид заполненных таблиц представлен на рисунке 7.

Рисунок 7 – Вид заполненных таблиц

Задание 2

Клиенты размещают заказы на поставку товара на фирме. За каждым заказом закреплен сотрудник фирмы. При оформлении заказа указывается дата его размещения. Дата исполнения указывается только тогда, когда заказ выполнен. До этого поле «Дата исполнения» остается пустым. Разработать схему базы данных, содержащую следующие таблицы (таблицы 1 и 2).

Таблица 1 – Клиенты

Имя поля

Тип данных

Код клиента (РК)

Числовой

ФИО клиента

Текстовый

Адрес

Текстовый

Город

Текстовый

Страна

Текстовый

Телефон

Числовой

Курсивом выделены первичные ключи (РК). Их значения уникальны. Связать таблицы, обеспечив целостность данных, по полям «Код клиента». Обеспечение целостности данных не позволит оформить заказ на несуществующего клиента.

Таблица 2 – Заказы

Имя поля

Тип данных

Номер заказа (РК)

Числовой

ФИО сотрудника

Текстовый

Дата размещения

Дата/время

Дата исполнения

Дата/время

Сумма заказа

Денежный

Код клиента

Числовой

Заполнить таблицы самостоятельно, учитывая следующую информацию: клиентов – 5 – 6, заказов – 12 – 15. Не из Беларуси 2 – 3 клиента. Некоторые клиенты разместили только по одному заказу, а некоторые более одного, причем хотя бы один из клиентов разместил более трех заказов. Еще не выполнены 3 – 4 заказа.

Задание 3

В магазин поступают продукты питания. Для каждого товара указаны его единицы измерения и срок реализации (в днях). Цена единицы товара может быть разной у разных поставщиков. Необходимо разработать схему базы данных, содержащую следующие таблицы (таблицы 3 и 4).

Курсивом выделены первичные ключи (РК). Их значения уникальны.

Связать таблицы, обеспечив целостность данных, по полям «Код продукта». Обеспечение целостности данных не позволит оформить по ошибке поставку несуществующего товара.

Таблица 3 – Продукты

Имя поля

Тип данных

Код продукта (РК)

Числовой

Продукт

Текстовый

Единица измерения

Текстовый

Срок реализации

Числовой

Таблица 4 – Поставка

Имя поля

Тип данных

Номер записи (РК)

Числовой

Код продукта

Числовой

Поставщик

Текстовый

Дата поставки

Дата/время

Цена за единицу

Денежный

Объем поставки

Числовой

Заполнить таблицы самостоятельно, учитывая следующую информацию: продуктов – 3–4, поставок – 12–15. Срок реализации одного–двух продуктов – не более двух дней. Для таких продуктов время с последней поставки больше срока реализации. Даты поставок – в течение месяца до даты выполнения лабораторной работы. Поставляют более трех наименований продуктов 1–2 поставщика. Поставляли продукты более 5 раз 1–2 поставщика.