
Informatika_Access_kursovik_2013 NEW
.pdfхранения содержащейся в них информации. Предлагаемый учебный пример дает некоторое представление об особенностях этой задачи. Данная работа важна и для дальнейшего изучения СУБД: если таблица имеет мало записей, то вся информация в ней видна сразу и использование механизмов фильтрации и сортировки не дает столь явного эффекта.
В общем случае перенос данных с машины на машину может выполняться либо с помощью сменного носителя (дискеты либо флэш-памяти), либо с помощью локальной сети.
Сам процесс переноса данных может производиться различными способами.
Можно скопировать в свой каталог все БД, созданные другими студентами. Это делается с помощью Проводника, с выходом в сетевое окружение. Это наиболее надежный способ.
Можно скопировать таблицы из других БД в свою, а затем работать с ними в рамках одной БД.
Можно открыть БД и таблицы, откуда производится копирование, прямо на другой машине и копировать оттуда данные.
Так или иначе, для переноса данных используется буфер обмена. Производится копирование данных из одной открытой таблицы в другую. Здесь важно, чтобы типы и порядок следования полей совпадали в двух таблицах.
Ниже приведены наиболее частые причины проблем при копировании таблиц БД.
Запрет доступа к файлу базы данных. Это происходит, когда база данных открыта другим пользователем. Так обеспечивается поочередное внесение изменений в данные. Полностью откорректировав свою часть общей базы данных, создайте на своем компьютере копию файла БД и назовите ее KADRY_FOR_ALL. Не открывайте этот файл. Пусть с ним работают только другие пользователи.
Несовпадение типов и размера полей. Проверьте и при необходимости исправьте типы и размеры полей в двух базах и порядок их следования в соответствии с табл. 1.1.
Включение в копируемую информацию заголовков полей. В этом случае они вставляются как дополнительная запись. Ошибка происходит, когда элемент данных, содержащий имя поля, вставляется в числовое поле.
Выделенный фрагмент вставляется не на то место. Например, содержимое числового поля вставляется в текстовое поле.
11

Задание
Получить данные из таблиц БД, созданных другими студентами, и объединить их в одной таблице своей БД.
Порядок выполнения работы
1. Планирование процесса переноса данных.
Поскольку работа может быть выполнена различными способами, ниже приводятся инструкции по выполнению отдельных ее этапов. Планирование процесса выполнения работы – часть задания.
2. Копирование файлов.
Копирование файлов производится в Проводнике. Доступ к файлам других машин осуществляется через Сетевое окружение. Выберите значок Сетевое окружение, нужный компьютер. Для общего доступа открыты жесткие диски каждого компьютера. Следует помнить, что информация на другом компьютере доступна только для чтения. При совместном использовании файлов несколькими пользователями возможны проблемы, поэтому перед копированием лучше договориться с владельцем информации.
3.Создание резервной копии существующей таблицы КАДРЫ. Копирование таблицы производится только в закрытом виде.
4.Копирование таблиц.
Производится через буфер обмена аналогично копированию любого другого объекта.
В данном задании для копирования выбираются только закрытые таблицы!
Результат работы
Резервная копия таблицы КАДРЫ.
Таблица данных, содержащая не менее 40 различных записей.
4. Исследование режима фильтрации данных
Цель работы – выбор из БД группы данных
Общие сведения
Если таблицы БД имеют значительный размер (как например, таблица, полученная в результате выполнения предыдущей работы), то объем информации, предъявляемый пользователю, оказывается очень большим и
12
в нем трудно ориентироваться. Например, обнаружить запись, которую необходимо отредактировать, будет очень непросто. Для облегчения поиска информации используется режим фильтрации.
Фильтр - это механизм, позволяющий отображать только записи, удовлетворяющие определенному условию.
После установки фильтра создается полное впечатление, что в БД остались только записи, удовлетворяющие заданному условию.
Существует насколько способов фильтрации.
Фильтр по выделенному. Для его включения следует в открытой таблице выделить образец данных для фильтрации. Например, можно выделить район, где поживает один сотрудник. Нажав инструментальную кнопку Выделение (поле Сортировка и фильтр), Вы увидите список только тех сотрудников, которые проживают в этом же районе.
Если выделить смежные элементы данных, например район и должность, и включить выделение, то будут показаны только живущие в выделенном районе и имеющие выделенную должность.
Если выделить два элемента данных с различными районами, то будут выбраны записи, имеющие любой из выбранных районов.
Наконец, если выделить блок из нескольких строк и нескольких столбцов, то каждая строка этого блока будет представлять собой образец для фильтра. Например, если в первой строке блока выделена фамилия Иванов и должность Директор, а во второй – фамилия Петров и должность Бухгалтер, то фильтр выведет только директоров Ивановых и бухгалтеров Петровых, но не директоров Петровых и не бухгалтеров Ивановых.
Порядок следования полей. Если окажется, что требуется выделить для фильтра значения несмежных полей, то их порядок можно поменять. Это можно сделать как в Конструкторе, переставив строки описания структуры, так и в открытой таблице, переставив столбцы. Эти два механизма независимы, то есть если поменять порядок полей в открытой таблице, порядок полей в структуре таблицы не изменится.
Изменение порядка полей в открытой таблице используется как для фильтрации, так и для сортировки данных. Удобно оно и для отображения данных в нужном порядке.
Расширенный фильтр. Более сложный фильтр можно создать при помощи Конструктора фильтров. Он вызывается кнопкой Параметры расширенного фильтра в поле Сортировка и фильтр.
Открывается окно формирования фильтра. Его верхняя часть содержит графическое изображение таблицы, для которой устанавливается фильтр. Нижняя часть имеет вид таблицы и является по сути «бланком заказа» на отбор нужных Вам данных.
13
В каждом столбце таблицы-«бланка» задается одно поле. Верхняя строка таблицы содержит имена полей, которые участвуют в процессе фильтрации.
Следующая строка задает порядок сортировки. Сортировка будет изучаться в следующей работе.
Третья строка называется Условие отбора. За ней следует строка или. В строках, начиная с Условия отбора и ниже, записываются условия отбора данных. Например, для вывода только директоров и бухгалтеров требуется задать условия отбора в виде рис.1.2.
Поле: |
Должность |
Сортировка: |
|
Условие отбора: |
Директор |
или: |
Бухгалтер |
Рис. 1.2. Условия отбора в расширенном фильтре
Или здесь является логической операцией, связывающей два простых условия:
([Должность] = "Директор") Or ([Должность] = "Бухгалтер") .
Вэтой записи, выполненной в стандартеAccess:
♦круглые скобки задают порядок вычислений, как в обычной арифметической формуле;
♦квадратныескобкиопределяют, чтоДолжностьявляетсяименем поля;
♦кавычки обозначают текстовую константу – образец для поиска;
♦Or – логическая операция или.
Результат этой формулы будет равен Истине (True), если выполняется хотя бы одно из простых условий в скобках. В противном случае результат имеет значение Ложь (False).
Данная формула будет вычисляться для каждой записи таблицы. Если результат истинен, то запись будет показана.
Существует еще одна логическая операция и.
Пусть требуется вывести не просто директоров, а директоров по фамилии Иванов. Задание для поиска будет иметь вид (см. рис. 1.3):
Поле: |
Должность |
Фамилия |
Сортировка: |
|
|
Условие отбора: |
Директор |
Иванов |
Рис. 1.3. Задание логической операции «и» в расширенном фильтре
14
Для отбора проверяется истинность следующего выражения:
([Должность] = "Директор") And ([Фамилия] = "Иванов") .
Результат будет иметь значение Истина только тогда, когда выполняются оба простых условия.
Наконец, для выбора директоров Ивановых и бухгалтеров Петровых следует задать условие как (см. рис. 1.4):
Поле: |
Должность |
Фамилия |
Сортировка: |
|
|
Условие отбора: |
Директор |
Иванов |
или: |
Бухгалтер |
Петров |
Рис. 1.4. Использование логических операций в расширенном фильтре Формула для проверки условия отбора будет иметь вид
(([Должность] = "Директор") And ([Фамилия] = "Иванов")) Or
(([Должность] = "Бухгалтер") And ([Фамилия] = "Петров")) .
В столбцах таблицы-образца можно указывать одинаковые имена полей. Если будет возможность, Access самостоятельно упростит вид фильтра.
Например, для вывода сведений о сотрудниках, родившихся после 31 декабря 1987, но до 1 января 1989 года, то есть в 1988 году, задается фильтр (рис. 1.5).
При вводе данных текст в Условии отбора изменяется: даты заключаются в символы #. Это означает, что Access узнала во введенных символах дату и считает 31.12.87 константой типа дата/время.
Поле: |
ДатаРожд |
ДатаРожд |
Сортировка: |
|
|
Условие отбора: |
>31.12.87 |
<01.01.89 |
Рис. 1.5. Задание в фильтре диапазона значений дат рождения
Для того, чтобы посмотреть на результат, выберите опцию Приме-
нить фильтр.
Диапазон значений также можно задеть при помощи логической операции And (см. рис. 1.6).
15
Поле: |
ДатаРожд |
Сортировка: |
|
Условие отбора: |
>#31.12.87# And <#01.01.89# |
Рис. 1.6. Задание в фильтре диапазона значений с помощью логической операции
Внимание! Когда вводят условия, часто забывают о кавычках. Access пытается сама определить, что было введено: образец данных, который следует считать константой и выделять кавычками, или имя поля. К сожалению, она часто ошибается. Если появится ошибка, установите вручную:
-кавычки для текстовой константы;
-квадратные скобки для имени поля.
Замечание. У каждой таблицы имеется только один фильтр, то есть если Вы изменяете условия фильтрации, то старый фильтр не сохраняется.
Снятие фильтра. Для того, чтобы снова увидеть все записи, следует нажать кнопку Удалить фильтр.
При этом условия, заданные в фильтре, сохраняются.
Задание
Установите поочередно фильтры с выделением для отбора:
1.Всех работниц.
2.Всех служивших в армии.
3.Всех работников, проживающих в заданном районе и имеющих определенное количество детей.
4.Всех однофамильцев одного из сотрудников, проживающих в том же районе.
5.Всех сотрудников, имеющих заданный оклад и должность.
6.Всех мужчин, не служивших в армии.
Спомощью расширенного фильтра выберите записи для следующих условий (конкретные значения выбираются так, чтобы была видна работа фильтра):
7.Родившиеся до заданной даты.
8.Родившиеся в определенном интервале дат.
9.Имеющие оклады в заданном диапазоне.
10.Родившиеся до заданной даты и служившие в армии.
11.Имеющие оклад в заданных пределах.
16

12.Имеющие оклад больше заданного и количество детей больше заданного.
13.Лица женского пола с зарплатой в заданных пределах и лица мужского пола с маленьким окладом.
Порядок выполнения работы
1.Фильтрация по выделенному осуществляется для смежных колонок. Поэтому вам необходимо передвинуть нужные колонки так, чтобы они оказались рядом. Данные манипуляции следует проводить в открытой таблице, а не в конструкторе таблиц.
2.Выполните требуемую по заданию фильтрацию данных при помощи расширенного фильтра.
Результат работы
Проверяется умение пользоваться фильтром по выделенному и расширенным фильтром, вводить сложные условия, состоящие из двух-трех простых, а также задавать 2-3 образца для поиска, содержащие значения различных полей.
Дополнительные задания
Сохраните расширенный фильтр как запрос (запросам посвящена работа №6).
Изучите режим вывода всех полей (обозначение «*») и приведите пример, когда необходимо пользоваться именно этим режимом, а не перечнем имен полей.
5. Сортировка данных в таблице
Цель работы – освоение способов представления данных в отсортированном виде
Общие сведения
Для получения легко читаемого документа и даже просто для того, чтобы свободно ориентироваться в записях, совершенно необходимо их упорядочить по значению цифровых полей, в алфавитном или хронологическом порядке. При этом для одной задачи может потребоваться сортировка в алфавитном порядке фамилий, в другом – в порядке дат рождения и т.д.
17
Сортировка в таблице базы данных является логической, то есть истинное положение данных в файле не изменяется, а изменяется только порядок их показа в открытой таблице. Для этого строится специальная скрытая таблица, где указан порядок показа записей. Она называется индексом.
Важно отметить еще и то, что согласно определению реляционной БД, порядок следования записей в ней произволен.
Выполнение сортировки достаточно просто.
Сортировка по одному полю. Для сортировки по одному полю достаточно, чтобы это поле было текущим. В поле Сортировка и фильтр
нажмите кнопку Сортировка по возрастанию или кнопку Сортировка по убыванию.
При сортировке по возрастанию числа будут упорядочены по возрастанию значений, тексты – лексикографически (как в словаре) от A до Я, даты – хронологически от более ранней к более поздней. При сортировке по убыванию порядок обратный.
Сортировка по нескольким полям. Для такой сортировки требуется выделить несколько смежных полей. Вначале записи будут упорядочены по первому выделенному полю слева (первичная сортировка). Для равных значений первого поля будет рассмотрено поле, находящееся правее, и упорядочение произойдет по нему (вторичная сортировка и т.д.). Для равных значений первого и второго полей будет рассмотрено третье поле. Максимальное число полей для сортировки – 10.
Если оказывается, что поля, которые требуется отсортировать, расположены не по порядку, то их следует переместить в открытой таблице и расположить в нужном для сортировке порядке.
Расширенная сортировка. Иногда требуется осуществить упорядочение по нескольким полям, но одни значения сортировать по возрастанию, а другие – по убыванию. Для этого используется расширенный фильтр. Откройте его и задайте нужные поля, аналогично тому, как это делалось при фильтрации. Порядок рассмотрения полей – по-прежнему слева направо.
Порядок сортировки можно задать для каждого поля отдельно, пользуясь строкой Сортировка. Если не требуется вводить условия фильтрации, ячейки в строке Условие отбора должны быть пустыми.
Главным достоинством Расширенного фильтра является то, что он позволяет задавать одновременно и отбор нужных записей, и представление их в нужном порядке. Таким образом, расширенный фильтр – универсальное средство отбора данных из таблицы БД.
18
Задание
Откорректировать таблицу базы данных. При сортировке становятся видны ошибки в данных. К числу распространенных ошибок относятся:
-задание значений поля латинскими буквами или заглавными и строчными буквами;
-ввод фамилий, названий районов и других текстовых значений не с первой позиции. При этом перед текстом появляется один или несколько пробелов, что нарушает порядок сортировки;
-повторяющиеся записи.
Выполнить простую сортировку:
1.По убыванию количества детей.
2.По сумме оклада.
3.По полу.
4.По фамилиям.
5.По датам рождения.
6.По районам.
Выполнить сортировку по нескольким полям:
7.По районам, внутри каждого района – по фамилиям.
8.По районам, внутри района – по полу, мужчин и женщин – по фамилиям.
9.По количеству детей, для равного количества детей – по возрастанию оклада.
Выполнить сортировку с помощью расширенного фильтра:
10.По районам, внутри района – по убыванию зарплаты.
11.По возрастанию количества детей, для равного количества – по убыванию зарплаты.
12.По полу (сначала – мужчины), для одинакового пола – по должности, для одинаковой должности – по убыванию зарплаты.
Результат работы
Откорректированная таблица КАДРЫ.
Умение пользоваться различными способами сортировки.
Дополнительные задания
1.В некоторой БД табельные номера сортируются в порядке 1, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2, 21, 22 и т.д. Как сделать сортировку правиль-
ной? Предложите, по крайней мере, 2 способа.
2.Требуется обеспечить вывод данных о работниках по подразделениям. Внутри подразделения должны быть отсортированы табельные номера. Но в начале списка для каждого подразделения должен идти его руко-
19

водитель (начальник отдела, заведующий лабораторией, бригадир, директор, главный бухгалтер и т.д.).
6. Разработка запросов к одной таблице
Цель работы – разработка эффективного инструмента выборки и корректировки данных
Общие сведения
Чаще всего ЗАПРОС - это вопрос к базе данных. Запрос может также представлять собой задание на корректировку данных в таблице, на создание или на удаление таблицы.
Запросы являются основным механизмом для работы с таблицами. С помощью запросов происходит обычно обмен данными в компьютерных сетях: компьютер-клиент посылает компьютеру-серверу запрос, а последний передает выбранную из своих баз информацию.
Вначале будет рассмотрен запрос на выборку.
Хотя Access выполняет запросы, записанные на специальном языке SQL2, однако для их разработки обычно не требуется знания этого языка. Создание запроса ведется в Конструкторе запросов. Важно только правильно указать следующие параметры запроса:
из каких таблиц (в более общем случае – из каких таблиц, каких баз данных) производится отбор;
какие поля следует включать в результат (можно не только выбирать поля из таблицы, но и создавать новые поля);
как их называть (запрос может установить новые имена для полей таблицы);
какие вычисления следует производить при отборе; каковы условия отбора (аналогично фильтру);
как группировать данные (например, следует ли производить суммированиезарплат порайонам илиподсчетработниковподолжностям);
как сортировать результат (аналогично сортировке при использовании расширенного фильтра);
какие группы (районы или должности) включать в результат. Результатом запроса на выборку является виртуальная таблица. Это
таблица, видимая на экране, но не существующая в БД. Данные для нее
2 Structured Query Language – язык структурированных запросов – универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. Создан в начале 1970-х годов, однако успешно используется до сих пор в немного различающихся диалектах.
20