Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 1-5 (6-11доделать!!).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
4.7 Mб
Скачать

Создание таблиц

Перед созданием таблицы ТипыПродуктов необходимо определить группы (или категории):

    • Мюсли

    • Соевые продукты

    • Сухофрукты

    • Орехи

    • Орехово-фруктовые смеси

Можно эти категории задать в соответствующем столбце таблицы Продукты. При этом были очень часто повторения, на хранение такого типа как “Орехово-фруктовые смеси” потребуется в каждой записи 23 байта (1 байт на символ), поэтому такие характеристики объектов часто выносят в отдельную таблицу, а в основной таблице сохраняют ссылку на соответствующую строку. Такие классы объектов еще называют атрибутивные сущности.

В таблице ТипыПродуктов всего лишь два столбца:

КодТипаПродукта и НазваниеТипаПродукта.

Есть несколько правил, которые необходимо соблюдать в Access:

Имена объектов должны быть не более 64 символов и могут включать любые комбинации букв, цифр, пробелов и спецсимволов за исключением . ! и прямых скобок [].

Имя не должно начинаться с пробела и содержать управляющие символы (коды ASCII 0-31)

Избегайте в именах пробелов и слишком длинных имен.

Необходимо открыть созданную ранее БД оптовой фирмы "Здоровье". Затем сделать текущей вкладку Таблицы и создать таблицу в режиме конструктора.

Основные параметры структуры таблицы ТипыПродуктов:

Имя поля

Ключ.

уникан.

поле

Тип

данных

Размер

Число

десят.

знаков

Подпись

поля

Значение

по умолчанию

Условие

на

значение

Сооб-щение об ошибке

Обяза-

тельное поле

Индексиро-ванное поле

КодТипаПродукта

Да

Счетчик

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

-

Код типа

-

-

-

Да

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

НазваниеТипаПродукта

-

Текстовый

50

-

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

-

-

-

Да, совпадения не допускаются

Да

Для указания того, что поле ключевое – необходимо его выделить и щелкнуть на инструменте Ключ!

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

ТипыПродуктов

КодТипаПродукта

Назватие типа

1

Мюсли

2

Соевые продукты

3

Сухофрукты

4

Орехи

5

Орехово-фруктовые смеси

6

Молочные продукты

Удалить последнюю строку (так как категорий 5!).

Следующей необходимо создать таблицу Продукты.

Основные параметры структуры таблицы Продукты:

Имя поля

Ключ.

уникан.

поле

Тип

данных

Размер

Формат

Число

десят.

знаков

Подпись

поля

Значение

по умолчанию

Условие

на

значение

Сооб-щение об ошибке

Обяза-

тельное поле

Индексиро-ванное поле

КодПродукта

Да

Счетчик

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

-

-

Код продукта

-

-

-

Да, совпад. не доп-ся

Название

-

Текстовый

50

-

-

Название продукта

-

-

-

Да, совпад. не доп-ся

Да

ТипПродукта

Это поле определяется с помощью мастера подстановки! Организуется ссылка на поле КодТипаПродуктов таблицы ТипыПродуктов. См. ниже о Мастере подстановок.

Белки

-

Одинарное с плавающей точкой

Фиксированный

Авто

Белки (г)

-

-

-

Нет

Нет

Жиры

-

Одинарное с плавающей точкой

фиксированный

Авто

Жиры (г)

-

-

-

Нет

Нет

Углеводы

-

Одинарное с плавающей точкой

фиксированный

Авто

Углеводы (г)

-

-

-

Нет

Нет

Калории

-

Одинарное с плавающей точкой

фиксированный

Авто

Калории (ккал)

-

-

-

Нет

Нет

Сохранить заданную структуру и дать таблице имя Продукты.

Следующей создать таблицу Магазины. Для этого необходимо взять основные параметры данной таблицы из отчета по лабораторной работе №2.

Магазины

КодМагазина

Название

Адрес

РайонГорода

ДиректорМагазина

Телефон

1

Абрикос

ул. Макрушина 24

Кировский район

Белова Н.А.

41-81-91

2

Быстроном

ул. Учебная 48а

Кировский район

Новиков С.Б.

55-45-06

3

Фог-сити

ул. Учебная

Кировский район

Бабкина С.М.

53-14-40

4

Лама

ул. Красноармейская (ТЦ «Садко»)

Кировский район

Воронова М.Б.

41-29-15

5

Лама

ул. Новгородская

Кировский район

Кротов С.Б.

50-52-29

6

Экономный

ул. Киевская 57

Кировский район

Акбаев И.А.

412-419

7

Русский

ул. Советская 46

Кировский район

Кралев С.Н.

52-69-55

8

Добрыня

ул. Дзержинского 54а

Кировский район

Крылова А.Б.

50-70-68

9

Лайт

пр. Кирова 22

Кировский район

Ясенева В.О.

52-70-68

10

Копеечка

ул. Киевская 11а

Кировский район

Дорошенко

52-70-68

Аналогичным образом создать Улицы, Заказы и ПродуктыЗаказа!! Данные для таблиц Заказы и ПродуктыЗаказа заносятся только после заполнения таблиц Магазины и Продукты!!

Индексирование полей и записей в БД ACCESS

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

Свойство Индексированное поле (Indexed) определяет индекс, задаваемый по одному полю. Поле может содержать уникальные или повторяющееся значения. Например, в таблице «ТипПродукта» можно создать индекс по полю «КодТипаПродукта», которое содержит уникальные значения кода, в таблице Магазины по полю «Название», которое может содержать повторяющиеся значения (сеть магазинов Абрикос).

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

Подстановка – это механизм, облегчающий связь между таблицами

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

Продукты

КодПродукта

Название продукта

ТипПродукта

Белки (г)

Жиры (г)

Углеводы (г)

Калории (ккал)

5

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

Мюсли

10,10

2,30

65,30

322,20

6

Фруктовый рай

Мюсли

10,40

2,80

64,10

323,00

7

Экзотические фрукты

Мюсли

10,80

2,40

66,30

330,10

8

Тофу (соевый творог)

Соевые продукты

14,00

5,00

4,10

116,00

9

Копченый тофу

Соевые продукты

14,00

5,00

4,10

116,00

10

Тофу с морской капустой

Соевые продукты

14,00

4,80

4,10

115,70

11

Тофу с паприкой

Соевые продукты

14,10

4,87

4,67

116,25

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

Необходимо внести следующие записи в созданную таблицу.

Продукты

КодПродукта

Название продукта

Название типа продукта

Белки (г)

Жиры (г)

Углеводы (г)

Калории (ккал)

1

Солнечная радуга

Мюсли

10,50

2,80

63,70

322,30

2

Мультифруктовые

Мюсли

10,30

2,00

69,10

331,20

3

Королевское утро

Мюсли

10,90

3,20

67,00

310,20

4

Тропический рай

Мюсли

10,20

3,00

66,10

331,90

5

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

Мюсли

10,10

2,30

65,30

322,20

6

Фруктовый рай

Мюсли

10,40

2,80

64,10

323,00

7

Экзотические фрукты

Мюсли

10,80

2,40

66,30

330,10

8

Тофу (соевый творог)

Соевые продукты

14,00

5,00

4,10

116,00

9

Копченый тофу

Соевые продукты

14,00

5,00

4,10

116,00

10

Тофу с морской капустой

Соевые продукты

14,00

4,80

4,10

115,70

11

Тофу с паприкой

Соевые продукты

14,10

4,87

4,67

116,25

12

Десерт с курагой

Соевые продукты

14,10

6,50

4,80

126,00

13

Десерт с изюмом

Соевые продукты

14,00

6,90

4,80

127,00

14

Паштет с чесноком

Соевые продукты

14,00

4,00

4,80

116,00

15

Майонез нежный

Соевые продукты

1,80

1,60

60,30

557,80

16

Окара

Соевые продукты

4,70

14,30

1,70

91,00

17

Биточки из тофу

Соевые продукты

12,40

12,40

6,00

147,10

18

Биточки из окары

Соевые продукты

8,30

18,20

6,00

154,00

19

Ананас

Сухофрукты

3,23

68,58

0,00

294,40

20

Груша

Сухофрукты

2,28

60,83

0,00

258,80

21

Изюм черный

Сухофрукты

2,47

61,02

0,00

260,30

22

Курага

Сухофрукты

5,20

0,30

55,00

232,00

23

Папайя

Сухофрукты

3,23

68,58

0,80

294,40

24

Персик вяленный

Сухофрукты

3,23

68,58

0,50

294,40

25

Финики

Сухофрукты

2,00

63,90

0,50

272,00

26

Чернослив

Сухофрукты

2,30

0,70

57,50

256,00

27

Арахис

Орехи

17,40

10,53

31,71

410,00

28

Грецкий орех

Орехи

17,54

10,53

31,71

669,00

29

Кешью жареный

Орехи

17,50

30,50

42,20

572,00

30

Миндаль

Орехи

18,30

9,40

54,10

598,00

31

Семечки подсолнуха

Орехи

24,00

16,10

47,30

601,00

32

Семечки тыквы

Орехи

29,00

13,10

46,70

596,00

33

Фисташки

Орехи

20,80

16,40

51,60

642,00

34

Фундук

Орехи

14,10

9,30

61,60

648,00

35

Африканская смесь

Орехово-фруктовые смеси

8,60

60,50

0,20

456,40

36

Бразильская смесь

Орехово-фруктовые смеси

8,90

52,00

25,60

474,20

37

Витаминная смесь

Орехово-фруктовые смеси

8,30

51,00

23,10

456,90

38

Смесь «Наслаждение»

Орехово-фруктовые смеси

7,60

69,40

11,60

412,80

39

Тропическая смесь

Орехово-фруктовые смеси

1,40

79,90

0,10

326,40

40

Чайная смесь

Орехово-фруктовые смеси

3,23

68,60

23,10

294,40

41

Смесь экзотических фруктов

Орехово-фруктовые смеси

1,50

78,60

0,10

320,90

Порядок выполнения работы

  1. Изучить ход выполнения работы, изложенный в краткой теории.

  2. Открыть БД оптовой фирмы "Здоровье".

  3. Создать таблицу ТипыПродуктов. Заполнить данными.

  4. Создать таблицу Продукты, используя мастер подстановки. Заполнить данными.

  5. Создать таблицу Магазины. Заполнить данными.

  6. Создать таблицу Заказы. Заполнить данными.

  7. Создать таблицу ПродуктыЗаказа. Заполнить данными.

  8. Создать таблицу Улицы (КодУлицы, Название, Тип – Улица, Переулок, Площадь, Проспект). Заполнить данными.

  9. Установить связи. Проверить целостность. Внести необходимые изменения.

  10. Сохранить все изменения в БД оптовой фирмы "Здоровье".

  11. Продемонстрировать результат работы преподавателю.

  12. Закрыть БД оптовой фирмы "Здоровье".

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

Разработка и проектирование простых запросов в СУБД

Цель работы: сформировать умения создавать простые запросы

Время выполнения: 2 часа.

Место выполнения работы: кабинет информатики и прикладного программного обеспечения, операционных систем и системного программирования, учебная лаборатория организации и функционирования ЭВМ, микропроцессорной техники, кабинет баз данных и систем управления базами данных.

Правила ТБ и пожарная безопасность на рабочем месте: Общие при работе с ПК (см. инструкции).

Дидактическое и методическое обеспечение: ПК, практикум, OS WINDOWS, справочная система.

Литература:

1. Гончаров, А. Ю. Access 2003 : самоучитель с примерами / А. Ю. Гончаров. – М.: Кудиц-образ, 2004.

2. Проектирование баз данных СУБД Microsoft Access / Н. Н. Гринченко [и др.]. – М.: Телеком, 2004.

3. Фуфаев, Э. В. Базы данных / Э. В. Фуфаев, Д. Э. Фуфаев. – М.: Академия, 2007.

4. Хомоненко, А. Д. Базы данных : учебник для вузов / А. Д. Хомоненко, В. М. Цыганков, М. Г. Мальцев. – СПб. : КоронаПринт, 2002.

5. Хомоненко, А. Д. Microsoft Access 2003 / А. Д. Хомоненко. – СПб.: БХВ-Питер, 2005.

Краткая теория

Запросы являются мощным средством обработки данных, хранимых в таблицах Access.

С помощью запросов можно

  • просматривать,

  • анализировать,

  • изменять данные.

Они также используются в качестве источника данных для форм и отчетов.

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

Запросы можно создавать самостоятельно и с помощью мастеров.

Мастера запросов автоматически выполняют основные действия в зависимости от ответов пользователя на поставленные вопросы. Самостоятельно разработать запросы можно в режиме конструктора.

Запросы Access можно классифицировать следующим образом:

ПО СПОСОБУ ЗАДАНИЯ

ЗАПРОСЫ на QBE ---------------------------------------------------------------ЗАПРОСЫ на SQL

(Query by Examle) (Sequence Query Language)

Любой запрос на QBE может быть представлен на языке SQL.

Но, как правило, использование SQL оправдано в следующих случаях:

  • запросы на объединение

  • запросы к серверу

  • управляющие запросы

  • подчиненные запросы

ЗАПРОСЫ МОГУТ ВКЛЮЧАТЬ ПАРАМЕТРЫ

(элементы выражений, значения которые задаются пользователем при вычислении запроса через диалоговое окно).

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

ПО ТИПУ ОПЕРАЦИИ:

З АПРОСЫ НА ВЫБОРКУ ------------------------------------------------ЗАПРОСЫ ДЕЙСТВИЯ

Frame2

бывают следующих типов:

  • запрос на удаление

  • обновление записей

  • добавление записей

  • создание новой таблицы

ЗАПРОСЫ МОГУТ БЫТЬ ОДНОТАБЛИЧНЫМИ, ЛИБО МНОГОТАБЛИЧНЫМИ.

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

Примечание. Простые запросы на выборку практически не отличаются от фильтров. Более того, фильтры можно сохранять как запросы.

Можно также использовать запрос на выборку, чтобы сгруппировать записи для вычисления сумм, средних значений, пересчета и других действий.

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

СОЗДАНИЕ ЗАПРОСОВ.

При создании запроса можно использовать либо мастер запросов, либо построить запрос с помощью конструктора.

Пример создания запроса с помощью мастера:

Рис. 1 Окно мастера построения запросов

Для создания нового запроса надо в окне базы данных выбрать вкладку Запросы и щелкнуть по кнопке <Создать>. Откроется окно "Новый запрос", вид которого представлен на рис. 2.

Рис. 2 Окно “Создать” новый запрос.

В окне вы выбираете один из пяти пунктов: Конструктор, Простой запрос, Перекрестный запрос, Повторяющиеся записи, Записи без подчиненных.

Конструктор позволит вам самостоятельно создать любой тип запроса, но этот режим рекомендуется пользователям, уже имеющим некоторый опыт создания запросов.

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

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

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

У вас может возникнуть вопрос: как создавать запросы с параметрами и запросы на изменение, если при создании запроса они явно не указаны?

Следует отметить, что основой для всех этих запросов является запрос на выборку, т.е. сначала необходимо определить набор данных, с которым хотите работать. Затем для созданного запроса на выборку надо перейти в режим конструктора.

Задание параметров производится в строке Условия отбора для соответствующих полей.

Для доступа к запросам на изменение надо открыть пункт меню Запрос - в открывшемся списке вы увидите все виды запросов на изменение.

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

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

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

    • на физическом носителе информации (обычно это жесткий диск) требуется меньший объем пространства;

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

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

!Для создания запросов перейдите на вкладку Запросы.

!Существуют два вида работы с запросами – режим конструктора и режим просмотра.

!При создании запроса необходимо указать таблицу (или таблицы), которые будут участвовать в запросе.

!Для сохранения запроса следует выполнить следующие действия :

- выполните команду Файл, Сохранить или щелкните по кнопке <Сохранить> на панели инструментов

- если вы впервые сохраняете запрос, введите новое имя запроса в диалоговом окне "Сохранение".

ЗАПРОСЫ НА QBE.

QBE – это графический способ задания запросов. Так будет выглядеть в режиме конструктора ваш первый запрос, построенный мастером

Сам бланк запрос представляет собой две части:

- в верхней части указываются таблицы, участвующие в запросе;

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

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

    • В первой строке бланка запроса Поле щелчком мыши вызвать появление кнопки списка и выбрать из списка нужное поле

    • Переместить с помощью мыши требуемое поле из списка полей таблицы в схеме данных запроса в первую строку бланка запроса

    • Дважды щелкнуть на имени поля таблицы в схеме данных запроса

    • Для включения в запрос всех полей таблицы можно переместить с помощью мыши в соответствующую строку бланка запроса все поля из списка полей в схеме данных запроса или дважды щелкнуть на символе * в этом списке

Практические задания

ОДНОТАБЛИЧНЫЕ ЗАПРОСЫ НА ВЫБОРКУ.