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

Базы Данных

.pdf
Скачиваний:
162
Добавлен:
04.06.2015
Размер:
5.09 Mб
Скачать

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

 

 

Предприятия

 

 

 

Имя поля

Тип данных

Размер/формат

 

 

поля

 

 

 

КодПредприятия

Числовой

Целое

 

 

 

Наименование

Текстовый

20

Предприятия

 

 

 

 

 

Адрес

Текстовый

40

 

 

 

СфераДеятельности

Текстовый

20

(отрасль)

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

 

 

из фиксированного набора

 

 

 

 

Тип предприятия

Логический

 

(государственное, част-

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

 

ное)

из фиксированного набора

 

 

 

 

Индекс: КодПредприятия.

 

 

Вакансии

 

 

 

Имя поля

Тип данных

Размер/формат

 

 

поля

 

 

 

Код предприятия

Числовой

Целое

 

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

 

 

из одноименного поля таблицы

 

 

Предприятия

 

 

 

 

Код профессии

Числовой

Целое

 

 

 

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

 

 

из одноименного поля таблицы

 

 

Профессии

 

 

 

 

Оклад

Денежный

Основной

 

 

 

Индекс: КодПредприятия + КодПрофессии (со-

ставной индекс из двух полей).

Ограничение целостности: размер оклада не более

50000 рублей.

60

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

1.4. КОНТРОЛЬНЫЕ ВОПРОСЫ

1.Является ли Access реляционной СУБД и почему?

2.Какие объекты может содержать база данных в Access? Укажите их назначение. Какие объекты базы данных являются обязательными, какие – нет? Какое расширение имеет исходный файл базы данных?

3.Как можно осуществить запуск Access и открытие существующей базы данных? Продемонстрируйте эти действия. Поясните функции основных элементов интерфейса Access.

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

5.Какие действия необходимо осуществить, чтобы создать базу данных? Как в Access можно построить пустую базу данных?

6.Что включает в себя создание таблицы? При помощи каких инструментов можно формировать в Access таблицы? Укажите и покажите, как можно добавлять в таблицу поля или удалять из таблицы поля.

7.Какие типы данных могут быть назначены полям таблицы в Access? Каким образом можно задавать и изменять тип данных поля таблицы? Какие свойства может иметь поле таблицы?

8.Какие типы данных допускают выполнение арифметических операций? Чем тип данных Числовой отличается от типа Денежный? Продемонстрируйте разницу этих типов на примере.

9.Для чего предназначен тип данных Счетчик? Какие типы счетчиков возможны в Access? Какое максимально допустимое значение может содержать поле типа Счетчик с последовательными значениями? Можно ли сортировать, фильтровать и индексировать такие поля? Продемонстрируйте использование этого типа данных на вашей базе данных.

10.Для чего используется тип данных Поле объекта OLE? Продемонстрируйте применение этого типа на вашей базе данных. Можно ли сортировать и индексировать такие поля? Какой фильтр можно установить для данных типа Поле объекта OLE?

61

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

11.Чем тип данных Текстовый отличается от типа Поле MEMO? Можно ли сортировать данные типа Поле MEMO? Покажите это на примере. Какой фильтр можно установить для данных типа Поле MEMO?

12.Для каких типов данных возможно использование свойства поля Маска ввода? Продемонстрируйте применение этого свойства на одной из таблиц вашей базы данных.

13.Для чего предназначен столбец подстановок? Как можно организовать столбец подстановок в виде списка значений из другой таблицы? Как можно сформировать столбец подстановок в виде фиксированного набора значений? Как можно пополнять этот набор значений?

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

15.Для какой цели служат свойства поля Условие на значение и Сообщение об ошибке? Как можно вызвать Построитель выражений

при определении свойства Условие на значение?

16.Для чего предназначены свойства поля Обязательное поле и Индексированное поле? Для каких типов данных могут быть определены эти свойства?

17.С помощью какого свойства можно установить отображение календаря при вводе данных типа Дата/время?

18.Что такое первичный ключ таблицы? Можно ли работать с таблицей, для которой не объявлен первичный ключ? Покажите, как можно определить простой и составной первичный ключ. Сколько полей может содержать составной ключ? Какие свойства могут иметь ключевые поля таблицы?

19.Что такое подтаблица таблицы базы данных. Каким образом можно организовать вставку, развертывание, свертывание и удаление подтаблиц? Сколько уровней вложенности подтаблиц допускается в Access?

20.Каким образом возможно модифицирование структуры базовой таблицы (добавление, удаление, переименование полей, изменение типа данных и свойств полей и т.п.)? В каких режимах допускается внесение данных в базовую таблицу?

62

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

21.Какие свойства имеет таблица как объект базы данных? Как можно изменить эти свойства?

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

23.Какие межтабличные связи возможны в Access? Какие параметры имеет всякая межтабличная связь? Как устанавливаются Параметры объединения таблиц при создании схемы данных? Какие режимы соединений таблиц допускаются в Access?

24.Что представляет собой ссылочная целостность данных? Как осуществляется контроль ссылочной целостности базы данных? Покажите, как действует этот контроль в вашей базе данных.

25.Как работает механизм каскадных удалений и изменений таблиц базы данных? Продемонстрируйте функционирование этого механизма на вашей базе данных.

26.Какие средства форматирования внешнего вида таблиц существуют в Access? Примените эти средства к таблицам вашей базы данных.

27.На какие типы данных действует команда Итоги, находящаяся в группе Записи на вкладке Главная?

28.Каким образом можно упорядочивать информацию в таблице? По каким типам полей возможна сортировка? Как осуществить сортировку по двум и более полям?

29.Где можно просмотреть определенные для таблицы сортировки? Как можно удалить все сортировки? Как сохранить установленную сортировку, т.е. сделать так, чтобы она автоматически выполнялась при каждом открытии таблицы?

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

31.Что представляют собой фильтры и для чего они предназначены? Какие встроенные фильтры существуют в Access? Указать способы применения и отмены встроенных фильтров.

63

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

32.Как организовать фильтр для отбора записей по значению нескольких полей? Продемонстрируйте работу такого фильтра на вашей базе данных.

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

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

35.Что происходит с индексами таблицы при добавлении, удалении, изменении записей этой таблицы? Почему замедляется ввод и редактирование таблицы при наличии у нее индексов?

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

37.Каким образом можно выполнить предварительный просмотр и печать таблицы? Продемонстрируйте эти действия на примере таблиц вашей базы данных.

38.Как можно сформировать и напечатать отчет, в котором отражена схема данных? Сохраняется ли этот отчет в базе данных? Продемонстрируйте процесс документирования созданной вами схемы данных.

39.Для чего предназначена команда Архивариус? Как с помощью этой команды сформировать отчет, содержащий характеристики таблиц базы данных? Сохраняется ли этот отчет в базе данных? Можно ли сохранить данный отчет в виде документа Word?

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

64

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

Для эффективной работы с данными обычно применяют запросы. Запрос – обращение пользователя к базе данных с целью ввода, получения или изменения информации, хранимой в базе данных. Состав запросов, формируемых к базе данных, определяется преимущественно информационными потребностями ее пользователей. Такие запросы называются пользовательскими. Существуют также управляющие запросы – запросы, предназначенные для нужд администратора базы данных. Они направлены на актуализацию и управление данными. Для записи запросов в современных реляционных СУБД используют преимущественно два языка: QBE – язык запросов по образцу, SQL – структурированный язык запросов. СУБД Access располагает возможностями обоих этих языков. Данная тема посвящена созданию различных типов запросов в Access с помощью языка QBE. Здесь рассматриваются также правила записи выражений, описывающих условий отбора записей и формулы расчета вычисляемых полей, обсуждаются вопросы печати и документирования запросов.

2.1. НЕМНОГО ТЕОРИИ

Назначение запросов Основные типы запросов Средства создания запроса Режимы работы с запросом Свойства запроса Бланк конструктора запросов

Создание запроса на выборку с помощью конструктора Задание условий отбора Создание запроса с параметром

Сортировка, фильтрация и суммирование Создание итогового запроса Создание запроса с вычисляемым полем Создание перекрестного запроса

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

2. Создание запросов

НАЗНАЧЕНИЕ ЗАПРОСОВ

Создание запроса можно сравнить с формулированием вопроса к базе данных, а выполнение запроса – с получением ответа.

Запрос – объект базы данных, предназначенный

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

выполнения расчетов;

для создания новой базовой таблицы на основе существующих таблиц базы данных;

для добавления, изменения и удаления записей из базовых таблиц.

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

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

вают также управляющими запросами.

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

достоинство команд сортировки и фильтрации в том, что они просты в применении и выполняются быстрее, чем запросы;

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

66

2.Создание запросов

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

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

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

ОСНОВНЫЕ ТИПЫ ЗАПРОСОВ

ВAccess существуют следующие типы запросов на выборку:

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

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

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

итоговый запрос. В таком запросе выполняются статистические расчеты;

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

67

2. Создание запросов

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

запрос на выборку повторяющихся записей. Отбор записей-

дубликатов в таблице;

запрос на выборку записей без подчиненных. Выбор записей таб-

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

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

В Access возможны такие типы запросов на изменение:

запрос на создание таблицы. Создает новую базовую таблицу, в которую копируются записи существующей таблицы;

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

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

запрос на удаление. Удаление набора записей целиком из одной или нескольких таблиц.

СРЕДСТВА СОЗДАНИЯ ЗАПРОСА

Существуют три инструмента создания запроса: Мастер запросов, Конструктор запросов, программирование на SQL. Любой запрос, построенный с помощью Мастера запросов, может быть доработан в Конструкторе запросов и с помощью SQL. Возможен переход из Конструктора запросов

в окно SQL и наоборот.

68

2. Создание запросов

Мастер запросов позволяет быстро построить определенные типы запросов:

простой запрос (однотабличный или многотабличный запрос, в котором осуществляется вычисление статистических функций);

перекрестный запрос;

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

запрос на выборку записей без подчиненных.

Чтобы создать запрос при помощи Мастера запросов нужно поступить так.

1.Открыть базу данных.

2.Перейти на вкладку Создание и в ней на группу команд Другие.

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

Новый запрос.

4.Выбрать тип запроса и следовать указаниям мастера.

5.Задать имя запроса, под которым следует его сохранить.

Универсальным средством создания и модификации запросов в

Access является Конструктор запросов. Конструктор запросов позволяет создавать все типы запросов. Запросы в нем формулируются на языке QBE

языке запросов по образцу.

Примечание. QBE (Quere By Example) – непроцедурный язык манипулирования данными, с помощью которого пользователь указывает, какие данные необходимо отобразить на экране, не уточняя процедуру их формирования. Был разработан отделением IBM Research в 1977 году и задуман как средство, облегчающее работу неспециалистов. В настоящее время реализован практически во всех реляционных СУБД. В Access всякий QBE-запрос автоматически преобразуется в предложения структурированного языка запросов SQL (Structured Query Language). Язык SQL является также непроцедурным языком манипулирования данными, но уровнем ниже, чем QBE. Первый стандарт языка SQL вышел в 1987 году. Автором SQL считается математик Э.Кодд – сотрудник фирмы IBM.

69