Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика 2011-2012 / Информатика-2-сем(2011) / Задания и примеры / Access / Лаб.р. 1 и 2 Реализация товаров и услуг (Лаб.р. по Access).doc
Скачиваний:
42
Добавлен:
07.06.2015
Размер:
110.59 Кб
Скачать

4

Доцент кафедры информатики РГУПС, к.ф.-м.н. Рухленко Сергей Анатольевич

Лабораторные работы по субд Access (в составе Microsoft Office)

Лабораторная работа №1

Построение таблиц базы данных и схемы данных

Цель: 1-й этап реализации приложений. На основе модели информационной системы «Заказы» разработать нормализованную базу данных (НБД) - описать поля и ключи таблиц БД, построить отношения, то есть задать связи между таблицами и определить свойства этих отношений.

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

Заказы (основная таблица)

Составы заказов

Код заказа

Клиент (код)

Дата заказа

Сотрудник (код)

Общая сумма

Код заказа

Товар (код)

Количество

Цена продажи

Сумма

Товары

Типы товаров

1

1

Код

Тип товара (код)

Название

Цена

1

Код

Тип товара

Типы клиентов

1

Клиенты

Сотрудники

Код

Тип клиента (код)

Название

Телефон

Город (код)

Улица (код)

Дом

Квартира

1

Код

Тип клиента

Код

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

Телефон

Города

1

Код

Название

1

Код

Название

Улицы

1

Соглашения

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

Типы используемых связей

В предлагаемой схеме во всех отношениях между таблицами с одной стороны выступает внешнее поле, которое связано с первичным ключом другой таблицы. Эту таблицу называют справочником для первой - назовём её «базовой» - таблицы.

Используются отношения с контролем ссылочной целостности типа «один ко многим» ( 1 : ∞). Это означает, с одной стороны, что нельзя ввести значение внешнего поля, пока не определена запись с таким же значением ключа в связанном с ним справочнике, и, с другой стороны, недопустимо удаление элемента справочника (записи о единичном объекте), пока существуют ссылки на этот объект в «базовых» для справочника таблицах.

Кроме обычных «двухсторонних» связей в схеме используется «односторонняя» связь, которая характеризуется тем, что значение внешнего поля является необязательным. Оно может быть пустым (“”) или ссылаться на несуществующее значение ключа в справочнике, например, на запись с нулевым значением ключа. Этот тип связи следует использовать, когда обязательный ввод значений полей не требуется. При этом ссылка на запись в другой таблице (справочнике) допускается, но может отсутствовать. С другой стороны, может отсутствовать или может быть удалена соответствующая запись в справочнике, на который ссылается внешнее код таблицы.

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

  1. Для программной реализации ИС работы с заказами клиентов «Заказы» запустите Access, входящий в состав пакета Microsoft Office. Выбрав вариант «Новая база данных» создайте в каталоге своей группы собственный проект с именем файла данных Реализация товаров.mdb (расширение добавляется по умолчанию). Можно добавить к имени файла свою фамилию или имя.

  2. При открытии СУБД предоставляется возможность работать со следующими объектами: Таблицы, Запросы, Формы, Отчёты, Страницы, Макросы, Модули.

  3. Для создания таблицы в Access опишите и в дальнейшем корректируйте её структуру в режиме конструктора. Создайте 9 таблиц. Прежде всего, ознакомьтесь с описанием полей таблиц и пунктами 5-10 работы. Структура таблиц задаётся согласно схеме данных в режиме Конструктор или путём копирования и изменения уже созданных таблиц. Например, таблицу Улицы удобно создать путём копирования структуры таблицы Города: Ctrl-C - копировать в буфер памяти, Ctrl-V - вставить из буфера, указав имя новой таблицы. Для создания каждой таблицы нажмите кнопку Создать и в режиме Конструктор опишите все поля отдельной таблицы согласно пунктам 5-10 и следующему рисунку:

Рис. 1. Структура данных некоторых таблиц базы данных

Таблица

Ключ

Имя поля

Тип данных

Описание

Размер поля

Типы

товаров

К

Код

Тип товара

Счетчик

Текстовый

Первичный ключ таблицы

Название типа товара

20 символов

Товары

К

Код

Тип товара

Название

Цена

Счетчик

Числовой Текстовый

Денежный

Первичный ключ таблицы

Числовой код типа товара

Название товара / услуги

Тариф (плановая цена)

Длинное целое

30

Типы

клиентов

К

Код

Тип клиента

Счетчик

Текстовый

Ключ таблицы

Название типа клиента

20 символов

Города (или Улицы)

К

Код

Название

Счетчик

Текстовый

Ключ таблицы

Название соответств.объекта

(копировать таблицу Города)

20 символов

Клиенты

К

Код

Тип клиента

Название

Телефон

Город

Улица

Дом

Квартира

Счетчик

Числовой

Текстовый

Текстовый

Числовой

Числовой

Числовой

Числовой

Ключ таблицы Клиенты

Числовой код типа клиента

Название клиента

Телефон клиента

Числовой код города

Числовой код улицы

№ дома

№ квартиры

Длинное целое

30

15

Длинное целое

Длинное целое

Целое

Целое

Заказы

К

Код заказа

Клиент

Дата заказа

Сотрудник

Общая сумма

Счетчик

Числовой

Дата/время

Числовой

Денежный

Ключ таблицы Заказы

Внешний ключ – код клиента

Дата оформления заказа

Внешний ключ –код сотрудника

Стоимость заказанных товаров

Длинное целое

Длинное целое

Сотрудники

К

Код

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

Телефон

Счетчик

Текстовый Текстовый

Первичный ключ таблицы

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

Назв. продукции/товара/услуги

20

15

Составы

заказов

К

К

Код заказа

Товар

Цена продажи Количество

Сумма

Числовой

Числовой

Денежный

Числовой

Денежный

Поле в составе двойного ключа

Поле в составе двойного ключа

Цена продажи товара/услуги

Одного вида товара в заказе

…товара одного наименования

Длинное целое

Длинное целое

Действительное

Замечание: Иногда значение Авто свойства Число десятичных знаков округляет денежные величины (рубли) до целых. В этом случае следует установить значение свойства, равное 2 (для учёта копеек).

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

Для внешних числовых полей Город и Улица таблицы Клиенты удалите значение по умолчанию, равное нулю. В этом случае новая запись любой таблицы будет выглядеть «пустой» и не будет содержать нулей. Удалите также значение по умолчанию «0» для полей Дом, Квартира и для всех «денежных» полей, для поля Количество можно установить значение, равное 1.

Имя каждой таблицы задаётся либо после выполнения команды Сохранить, либо по запросу системы после попытки закрытия окна конструктора. Для поля Дата заказа можно в закладке Макет установить Маску ввода, например, в виде «99.99.99;0;_».

  1. Атрибутами каждого поля являются 1) признак ключа, 2) Имя поля, 3) Тип данных, 4) Описание и 5) набор “Свойства поля”, задаваемый внизу в отдельном подокне. В частности, в качестве свойств устанавливаются Размер поля и Формат поля, шаблон ввода данных (Маска ввода), начальное значение при вводе записи (Значение по умолчанию), индексировано поле или нет, для индекса является ли он уникальным (Допускаются совпадения или Совпадения не допускаются). Нажав кнопку на панели инструментов Ключевое поле с изображением ключа, можно установить или отключить признак ключевого поля.

Свойству Шкала поля Количество присвойте значение 6. Столько значащих цифр в числе может потребоваться, например, для учёта миллиграммов в случае ввода количества килограммов.

В таблице Составы заказов для установки составного ключа надо, удерживая клавишу Shift и щёлкая мышкой в позиции признака ключа, выделить две первые строки и затем нажать кнопку с ключом. Выделить несколько полей можно также, нажав левую кнопку мыши в столбце с признаком ключа и перемещая мышь.

Внимание! Проверьте, чтобы для всех внешних ключей таблиц (они входят в состав отношений со стороны многие - ∞), например, Код заказа и Товар в таблице Составы заказов, поля Клиент и Сотрудник в таблице Заказы, была отключена уникальность – значение Совпадения не допускаются. Для этих полей должен быть установлен вариант Допускаются совпадения.

  1. После создания всех таблиц следует задать схему данных, т.е. установить связи между таблицами и задать их свойства. Находясь в окне базы данных, нажмите кнопку Схема данных на Панели инструментов. При необходимости нажмите кнопку Добавление таблиц и двойным щелчком мыши на именах в списке таблиц добавьте таблицы в схему.

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

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

  1. Для установки ссылочного «одностороннего» типа связи требуется дважды щёлкнуть мышью на линии, представляющей связь, затем в окне «Изменение связи» нажать кнопку «Объединение …» и переключением радиокнопки (одной из кнопок выбора) выбрать третий вариант объединения таблиц «Объединение ВСЕХ записей изИмя базовой таблицы” и только тех записей изИмя таблицы-справочника”, в которых связанные поля совпадают».

  2. После построения схемы данных введите в таблицы по 2 - 3 записи в порядке, учитывающем установленные связи. Например, только после ввода записи в таблицу Города, соответствующий код города удастся ввести в поле Город таблицы Клиенты.

  3. Можно избавиться от ручного ввода кодов в таблицы, а в дальнейшем и в экранные формы. Для этого выделите внешнее поле, содержащее числовой код (естественно, не счётчик), и перейдите в нижнем подокне Свойства поля на закладку Подстановка. При этом можно использовать поле со списком и при вводе данных устанавливать, к примеру, значение числового кода для поля Клиент путём выбора из списка названия одного из клиентов. Этим и объясняется то, что в качестве имени поля вместо Код клиента используется имя Клиент.

Подключение списков из таблиц-справочников произведём к полям: 1) Тип товара в таблице Товары; 2) Тип клиента, 3) Город, 4) Улица в таблице Клиенты; 5) Клиент и 6) Сотрудник в таблице Заказы; 7) Товар в таблице Составы заказов.

В закладке Подстановка этих полей установите значения следующих параметров:

Тип элемента управления

Поле со списком

Тип источника строк

Таблица или запрос

Источник строк

Таблица с названием, соответствующим имени поля

Присоединённый столбец

1

Число столбцов

2 (или 3 для поля Сотрудник, или 4 для поля Клиент и Товар)

Ширина столбцов

0;3 ( или 0;3;2 для Сотрудник, или 0;0;3;2 для Клиент и Товар)

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

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

Лабораторная работа №2

Соседние файлы в папке Access