Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ит

.pdf
Скачиваний:
19
Добавлен:
02.04.2015
Размер:
2.8 Mб
Скачать

81 7. В первом диалоговом окне мастера указать, что будут использованы

значения из таблицы или запроса. Далее из представленного списка выбрать таблицу Товар. В следующем диалоговом окне выбрать поля Код_товара, На-

именование_товара. Далее необходимо установить галочку – скрыть ключевой столбец и нажать Готово.

8. Сохранить и закрыть таблицу.

Упражнение 8. Создание структуры таблицы Заказ.

1.Перейти в режим Конструктора для создания структуры таблицы.

2.Определить имена и свойства полей согласно табл. 5.5.

 

 

Таблица 5.5

Название поля

Тип данных

Свойства поля

 

 

 

 

 

Размер поля – длинное целое; Условие на

Код_заказа

Числовой

значение ->0; Сообщение об ошибке – «Код

 

 

заказа неверен!»; Обязательное поле – да.

 

 

 

 

 

Размер поля – длинное целое; Обязательное

Код_заказчика

Числовой

поле – да; Индексированное поле – да (допус-

 

 

каются совпадения);

 

 

 

Дата_выписки

Дата/время

Формат поля – краткий формат даты; Обяза-

 

 

тельное поле–нет; Индексированное поле– нет

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

Дата/время

 

 

 

 

 

Размер поля – длинное целое; Обязательное

Код_доставки

Числовой

поле – да; Индексированное поле – да (допус-

 

 

каются совпадения);

 

 

 

Оплата

Текстовый

Размер поля – 100 символов; Обязательное

поле – нет; Индексированное поле – нет

 

 

 

 

 

3.Задать в качестве ключевого поле Код_заказа.

4.Сохранить таблицу под именем Заказ.

5.Выбрать поле Оплата и в качестве Типа данных указать Мастер подстановок. В первом диалоговом окне указать, что будет введен фиксиро-

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

ниями Да и Нет.

6. Выбрать поле Код_заказчика и с помощью Мастера подстановок вы-

брать для подстановки поля Код_заказчика, Фамилия, Имя, Отчество таблицы

Заказчик.

7. Нажать кнопку Индексы панели инструментов Конструктор таб-

лиц и заполнить поля диалогового окна Индексы (рис. 5.8).

82

Рис. 5.8 Задание индекса для табл. 5.5 8. Выбрать поле Код_доставки и с помощью Мастера подстановок вы-

брать для подстановки поля Код_доставки, Адрес, Телефон таблицы Доставка.

Ключевое поле не скрывать.

9. Сохранить и закрыть таблицу Заказ.

10.Открыть таблицу Артикул заказа в режиме Конструктора. Для поля

Код_заказа с помощью мастера подстановок создать список подстановки из полей Код_заказа, Код_заказчика таблицы Заказ.

Схема данных

Схема базы данных – набор схем отношений (заголовков столбцов таб-

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

рактеристиками (поля таблицы). Связь между таблицами строится автоматиче-

ски, если таблицы имеют одинаковые названия связанных полей и согласован-

ные типы данных (хотя бы одно поле должно быть ключевым). Первичный ключ – атрибут (атрибуты), который единственным образом определяет значе-

ние кортежа (значение строки таблицы). Внешний ключ – атрибут таблицы,

значения которого соответствуют значениям первичного ключа в другой свя-

занной таблице.

Чтобы вызвать окно схемы данных надо выполнить одно из действий: 1)

воспользоваться командой Сервис Схема данных; 2) нажать кнопку па-

нели инструментов База данных.

В этом окне можно: 1) связывать таблицы в схему данных с учетом тре-

бований целостности данных; 2) определить поля подстановки для удобства ра-

боты с данными.

83

Целостность данных означает, что данные, введенные в поле таблицы,

где поле не первичный ключ, должны соответствовать данным, где поле случит первичным ключом.

Связь – устанавливает взаимозависимость между совпадающими значе-

ниями в ключевых полях. Существует три вида связи:

Один-к-одному – запись в одной таблице может иметь не более одной связанной записи в другой таблице.

Один-ко-многим – записи главной таблицы может соответствовать не-

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

Многие-ко-многим – одной записи в первой таблице может соответство-

вать несколько записей второй таблицы, и наоборот.

Для создания связи следует добавить все таблицы входящие в БД коман-

дой Связи Добавить таблицу (кнопка панели инструментов Связь).

Скрыть таблицу можно командой Связи Скрыть таблицу (рис. 5.9).

Рис. 5.9. Окно Схема данных

Связь между таблицами можно создать двумя способами.

Первый способ – графический, для этого следует выбрать в главной таб-

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

Связи Изменить. Эта команда активна, когда открыто окно Схема данных.

В диалоговом окне Изменение связей выбрать из списков названия свя-

занных таблиц и полей (рис 5.10). Каскадное обновление связанных полей

84

указывает, что любые изменения в поле главной таблицы будут и в подчинен-

ной. Каскадное удаление связанных полей означает, что при удалении записи

сопределенным значением из главной таблицы автоматически удалятся записи

сэтим значением из подчиненной таблицы.

Рис. 5.10. Задание параметров связи в диалоговом окне Изменение связей

Упражнение 9. Создание схемы данных.

1.Вызвать окно схемы данных командой Сервис Схема данных.

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

После чего щелкнуть по кнопке Закрыть.

3. Перетянуть поле Код_заказчика таблицы Заказчик на поле

Код_заказчика таблицы Заказ. В открывшемся диалоговом окне Изменение

связей установить флажки: обеспечение целостности связей, каскадное об-

новление связанных полей, каскадное удаление связанных записей.

4. Аналогично установить связи: 1) между полем Код_доставки таблицы

Доставка и полем Код_доставки таблицы Заказ; 2) между полем Код_заказа

таблицы Заказ и полем Код_заказа таблицы Артикул_заказа; 3) между полем

Код_товара таблицы Товар и полем Код_товара таблицы Артикул_заказа. 5. Закрыть окно Схемы данных, сохранив все изменения.

Упражнение 10. Заполнение таблиц данными.

1. Выделить таблицу Товар и нажать кнопку панели инструмен-

тов окна БД.

2. Заполнить пять строк таблицы информацией. В качестве товара ис-

пользовать продукцию мебельного комбината (например, стол письменный).

85 3. Аналогично заполнить остальные таблицы в следующем порядке: 1)

Заказчик; 2) Доставка; 3) Заказ; 5) Артикул заказа.

Задание для самостоятельной работы

Создать БД, используя таблицы 5.6-5.10. Связать таблицы в схему данных, используя связь один-ко-многим, первичные и внешние ключи таблиц.

Таблица 5.6

Страна

Название поля

 

Тип данных

 

 

Свойства поля

 

 

Примечание

 

 

 

 

 

 

 

 

 

 

Код_страны

 

Числовой, целое

 

Первичный ключ,>0

 

страна

 

 

 

 

 

 

 

 

 

 

Страна

 

Текстовый

 

 

Длина поля 100

 

Название страны

 

 

 

символов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Стоимость_визы

 

Денежный

 

 

>0

 

 

стоимость визы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 5.7

 

 

 

 

 

Маршрут

 

 

 

 

 

 

 

 

 

 

 

 

 

Название поля

 

 

Тип данных

 

Свойства поля

 

 

Примечание

 

 

 

 

 

 

 

 

 

 

Код_путевки

 

 

Числовой, целое

Первичный ключ,

 

идентификация

 

 

>0

 

 

путевки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Название_маршрута

Текстовый

 

 

Длина поля 200

 

Название мар-

 

 

символов

 

 

шрута

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Цена_путевки

 

 

Денежный

 

 

>0

 

 

цена путевки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 5.8

 

 

 

Статистика_продаж

 

 

 

 

 

 

 

Название поля

Тип данных

Свойства поля

Примечание

 

 

 

 

№_пп

Счетчик

Первичный ключ, >0

учет продаж

 

 

 

 

Дата_продажи

Дата/время

Краткий формат даты

Дата продажи путевки

 

 

 

 

 

 

 

 

Код_путевки

Числовой,

 

 

 

Внешний ключ к табл.9

 

 

 

 

 

 

 

Код_страны

Может повторяться

Внешний ключ к табл.8

целое

 

 

 

 

 

 

 

Код_цели

 

 

 

Внешний ключ к табл.11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Код_сервиса

 

 

 

 

 

 

Внешний ключ к табл.10

 

 

 

 

 

 

Кол_проданных_

Числовой,

Значения от 1 до 50

Вводится количество

путевок

целое

проданных путевок

 

 

 

 

 

 

 

 

 

 

 

 

 

86

 

 

 

 

 

Таблица 5.9

 

 

Сервис

 

 

 

 

 

 

 

Название поля

Тип данных

Свойства поля

Примечание

 

 

 

 

 

 

Код_сервиса

Числовой, целое

Первичный ключ,>0

сервис

 

 

 

 

 

 

Вид_сервиса

Текстовый

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

Название сервиса

 

 

 

 

 

 

 

 

 

 

 

Таблица 5.10

 

 

 

Цель

 

 

 

 

 

 

 

Название поля

Тип данных

 

Свойства поля

 

Примечание

 

 

 

 

 

 

Код_цели

Числовой, целое

 

Первичный ключ,

 

идентификация

 

>0

 

цели поездки

 

 

 

 

 

 

 

 

 

 

Цель_путешествия

Текстовый

 

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

 

Цель путешествия

 

 

 

 

 

 

Вопросы для самопроверки

1.Понятия: базы данных, предметной области, СУБД.

2.Запуск СУБД MS Access. Выход из СУБД MS Access.

3.Как создать новую базу данных.

4.Элементы окна приложения: расположение, назначение, состав.

5.Объекты СУБД MS Access.

6.Этапы разработки базы данных.

7.Какие существуют способы создания таблиц?

8.Элементы окна конструктора таблиц: расположение, назначение.

9.Типы и основные свойства полей таблиц.

10.Что такое ключевое поле? Как оно определяется? Какие ключевые по-

ля бывают?

11.Для чего предназначена маска ввода? Как задать маску ввода? 12.Создание и использование индексов.

13.Что такое списки подстановки? Как они создаются? 14.Что такое схема данных? Связь? Какие бываю связи? 15.Как установить связь? Что такое целостность данных?

87

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

Тема занятия: Средства редактирования данных БД

Цель работы: Создание запросов средствами Microsoft Access.

Общие сведения о запросах

Запрос это некоторый набор данных, полученный в результате обраще-

ния к БД. Запрос состоит из различных условий, вычисляемых полей, инструк-

ций на выполнение тех или иных операций и т.д. Результаты при каждом новом выполнении запроса меняются в соответствии с изменениями, произошедшими с данными в таблицах. В MS Access возможно создание запросов в двух режи-

мах: 1) в режиме QBE (в графическом бланке для конструирования запроса); 2)

в режиме SQL (создание инструкций на выборку данных с помощью встроен-

ного языка SQL-запросов). Основными видами запросов являются:

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

всоответствии с некоторыми условиями.

2.Групповой запрос выполняет вычисления с некоторой группой дан-

ных (в бланк запроса добавляется поле Групповая операция).

3. Перекрестный запрос выводит результаты статистических расчетов

(сумма, среднее значение) в виде таблицы.

4. Запрос на изменение меняет содержимое БД (запросы на удаление,

добавление и обновление данных).

5.Параметрический запрос повторяет запрос с другими значениями.

6.SQL - запрос использует специфические средства SQL.

Вначале определяется структура таблиц, создается схема данных, добав-

ляются данные в базу, после чего создаются запросы следующим образом:

1. Выбирается объект Запрос на Панели объектов и нажимается кнопка на Панели инструментов окна БД.

2. В диалоговом окне Новый запрос указывается один из типов запроса:

Конструктор – создание нового запроса в графическом бланке.

Простой запрос – генерация запроса с помощью мастера на выборку из определенных полей таблицы (таблиц).

Перекрёстный запрос – создание запроса с помощью мастера, результа-

ты которого представлены в виде двумерной таблицы.

88

Повторяющиеся записи – создание запроса с помощью мастера на поиск повторяющихся записей в простой таблице/запросе.

Записи без подчиненных – создание запроса с помощью мастера на по-

иск записей, которым не соответствует ни одна запись в подчиненной таблице.

Диалоговое окно конструктора запроса (рис. 6.1) состоит из двух частей:

Рис. 6.1. Окно конструктора запроса с таблицами Заказ и Заказчик

1) Области таблиц запроса, в которой размещаются таблицы и/или за-

просы, и отображается их структура;

2) Бланка запроса, в котором задаются необходимые поля и условия запроса.

Переключить режим отображения окна

Конструктора запросов можно командами

(рис. 6.2) пункта Вид основного меню (кнопка Рис. 6.2. Режимы отображения

панели инструментов).

окна Конструктора запросов

 

Для создания запроса в режиме Конструктора надо:

1.Выбрать режим Конструктор в диалоговом окне Новый запрос.

2.Определить свойства всего запроса в окне Свойства запроса (кнопка

панели инструментов Конструктор запросов).

3.Определить тип запроса командами пункта основного меню Запрос

4.Добавить таблицы (запросы), из которых производится выборка дан-

ных, командой ЗапросОтобразить таблицу.

5. Добавить поля таблиц в бланк запроса. Существуют следующие спо-

собы добавления: 1) перетащить поле из таблицы в строку Поле бланка запро-

са; 2) выбрать нужное поле в строке Поле бланка запроса.

89

6.Задать порядок сортировки (поле Сортировка бланка запроса).

7.Указать (при необходимости) групповую операцию для чего добавля-

ется поле Групповая операция командой ВидГрупповые операции.

8. Определить условия (критерии) отбора записей в строке Условие от-

бора бланка конструктора запросов под конкретным полем запроса.

9. Задать параметры выборки запроса (если нужно ли при выполнении запроса вводить некоторую уточняющую информацию).

10.Запустить запрос на выполнение командой ЗапросЗапуск (кнопка панели инструментов Конструктор запросов) и сохранить инструкции запроса

(кнопка панели инструментов).

Запросы на выборку

Предназначены для отбора определенных данных из таблицы, выполне-

ния простых вычислений, основываясь на результатах отбора. Запросы на вы-

борку в Области объектов отображаются значком .

Упражнение 1. Создать запрос на выборку, содержащий даты выписки накладных и даты исполнения заказа для всех заказчиков (внутреннее соедине-

ние по одному полю). Для этого необходимо:

1.Перейти к созданию запроса в режиме Конструктора.

2.С помощью диалогового окна Добавление таблицы внести в бланк запроса таблицы: Заказчик; Заказ (рис. 6.3).

Рис. 6.3. Внутреннее соединение по одному полю

90

3. В диалоговом окне Свойства запроса (кнопка панели инструмен-

тов) в строке Уникальные записи установить отметку Да (рис. 6.4).

Рис. 6.4. Диалоговое окно Свойства запроса

4. Добавить в бланк запроса в строку Поле следующие атрибуты: Назва-

ние, Фамилия (из таблицы Заказчик), Дата_выписки, Дата_исполнения, Опла-

та (из таблицы Заказ).

5.Для поля Название задать Сортировку по возрастанию.

6.В строке Вывод на экран для всех полей установить «галочку».

7.Запустить запрос командой ЗапросЗапуск (кнопка панели инст-

рументов Конструктор запросов). Сохранить запрос под именем Запрос1.

Упражнение 2. Создать запрос на выборку, содержащий список товаров по накладным с заказанным количеством и ценой. Для этого следует:

1.Перейти к созданию запроса в режиме Конструктора.

2.Добавить в область таблиц запроса таблицы Заказ, Артикул_заказа,

Товар. А в бланк запроса внести все необходимые поля согласно рис. 6.5.

Рис. 6.5. Запрос на выборку с косвенными связями