Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб раб 2 Таблицы 2010.doc
Скачиваний:
1
Добавлен:
19.11.2018
Размер:
859.14 Кб
Скачать

Лабораторная работа № 2 Таблицы

Цель работы: ознакомление со структурой и свойствами таблиц БД Access, свойствами их полей, и получение основных навыков, необходимых для создания и обновления структуры таблиц, определения связей между таблицами, ввода, корректировки, сортировки и фильтрации данных таблицы.

Программа работы

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

  2. Определение свойств полей каждой из таблиц.

  3. Определение ключей таблиц.

  4. Установление связей между таблицами.

  5. Ввод и корректировка данных в таблицах.

  6. Сортировка и фильтрация данных в таблицах.

Краткие сведения

Структура таблицы

Основные понятия

Базы данных реляционного типа, к которым принадлежат создаваемые СУБД Access базы, хранят данные в виде одной или нескольких двумерных таблиц. Общеизвестно, что таблица состоит из столбцов и строк, являющихся в целом разграфленной прямоугольной областью, в которой пояснительные надписи являются наименованиями столбцов, а непосредственно сама информация располагается в строках. Строку в таких таблицах называют записью, а столбец (или ячейку – если речь идет об одной записи) – полем. Каждое поле имеет имя, тип данных и свойства. Имена, типы данных и свойства полей, входящих в таблицу, называют структурой таблицы.

Имя поля может состоять из нескольких слов, допускается кириллица.

Тип данных поля может быть Текстовый (ограниченной длины), Поле MEMO (данные произвольного размера), Числовой разных размеров, Дата/время, Денежный, Счетчик (автоматически записывающееся новое число для каждой новой записи, этим создается уникальный код), Логический (Да/Нет), Поле объекта OLE (элемент, созданный другой программой, например рисунок). Полный перечень типов данных Access приведен в табл. 2.1.

В зависимости от типа данных каждое поле имеет определенный набор свойств (табл. 2.2).

Таблица 2.1. Типы данных Microsoft Access

Наименование типа данных

Содержимое

Максимальное значение данного типа

Текстовый (Значение по умолчанию).

Текст или числа, не требующие проведения расчетов, например, номера телефонов.

Число символов, не превышающее минимальное из двух значений: 255 или значение свойства Размер поля (FieldSize). Microsoft Access не сохраняет пустые символы в неиспользуемой части поля.

Поле МЕМО

Длинный текст или комбинация текста и чисел.

До 65535 символов. (Если поле MEMO обрабатывается через объекты доступа к данным (DAO) и содержит только текст и числа, а не двоичные данные, то его размер ограничивается размером базы данных).

Числовой

Числовые данные, используемые для проведения расчетов.

1, 2, 4 или 8 байт (16 байт только для кода репликации).

Дата/время

Даты и время, относящиеся к годам с 100 по 9999 включительно.

8 байт.

Денежный

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

8 байт.

Счетчик

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

4 байт (16 байт, если для свойства Размер поля (FieldSize) задано значение кода репликации).

Логический

Логические значения ,а также поля, которые могут содержать одно из двух возможных значений (True/False, Да/Нет).

1 бит.

Поле объекта OLE

Объект (например, электронная таблица Microsoft Excel, документ Microsoft Word, рисунок, звукозапись или другие данные в двоичном формате), связанный или внедренный в таблицу Microsoft Access.

До 1 Гбайт (ограничивается объемом диска).

Гиперссылка

Строка, состоящая из букв и цифр и представляющая адрес гиперссылки. Адрес гиперссылки может состоять максимум из трех частей: текст – текст, выводимый в поле или в элементе управления; адрес – путь к файлу (в формате пути UNC) или странице (адрес URL); дополнительный адрес – смещение внутри файла или страницы.

Каждая из трех частей в типе Гиперссылка может содержать до 2048 символов.

Мастер подстановок

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

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

Таблица 2.2. Зависимость наличия свойства поля от типа данных

Тип данных

Текстовые

Числовые

Дата/время

Логический

Поле объекта OLE

Гиперссылка

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

Текстовый

Поле MEMO

Числовой

Счетчик

Денежный

Размер поля

+

+

+

Новые значения

+

Формат поля

+

+

+

+

+

+

+

+

Число десятичных знаков

+

+

Маска ввода

+

+

+

+

Подпись

+

+

+

+

+

+

+

+

+

Значение по умолчанию

+

+

+

+

+

+

+

Условие на значение

+

+

+

+

+

+

+

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

+

+

+

+

+

+

+

Обязательное поле

+

+

+

+

+

+

+

+

Пустые строки

+

+

+

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

+

+

+

+

+

+

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

Свойство Размер поля определяет максимальный размер данных, которые могут сохраняться в полях с типом данных «Текстовый» или «Числовой». Для текстовых полей значение свойства Размер поля является целое число в диапазоне от 0 до 255, означающее количество символов (по умолчанию устанавливается 50). Для числовых полей значение этого свойства выбирается из списка разрешенных значений (табл. 2.3).

Таблица 2.3. Значения свойства Размер поля для полей числового типа

Значение свойства

Описание

Дробная часть (максимально)

Размер (байт)

Байт

Числа от 0 до 255

Отсутствует

1

Целое

Числа от –32 768 до 32 767

Отсутствует

2

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

Числа от –2 147 483 648 до 2 147 483 647

Отсутствует

4

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

Числа от –3,402823Е38 до 3,402823Е38

6 знаков

4

Двойное с плавающей точкой

Числа от –0,79769313486232Е308 до 1,79769313486232Е308

15 знаков

8

Допустим, вы создаете поле, в котором предполагается вводить наименование городов. Естественно, это будет поле текстового типа. Однако отводить ему все 255 символов наверняка излишне. Даже если очень постараться, трудно будет найти такое наименование населенного пункта, общая длина которого превысит двадцать пять букв. Таким образом, указав в свойстве Размер поля величину 25, вы сэкономите 230 символов. Эта, вроде как небольшая, экономия приобретет несколько иной смысл, если предположить, что в базе может быть 100 000 записей. Если я ничего не путаю в математике, это 23 000 000 символов, что соответствует очень толстой книге, которая, даже без иллюстраций в формате ТХТ, займет никак не меньше пятисот килобайт. А ведь казалось бы, всего 230 символов...

Свойство Формат поля позволяет указать форматы вывода текста, чисел, дат и времени на экран и/или печать. Допустим, для полей типа Дата/Время можно указывать только часы, либо часы и минуты, либо часы, минуты и секунды. Причем как в 12‑и, так и в 24‑х часовом представлении. Все возможные варианты представления данных автоматически подбираются в зависимости от того, какой тип данных вами выбран.

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

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

Так как таблица является жесткой формой, то она крайне плохо относится к незаполненным полям. Почти повсеместно незаполненное поле не содержит вообще никакой информации, что всегда приведет к сбою, если такой столбец подвергнется обработке любой автоматической функцией. С другой стороны, операторы обычно весьма невнимательно относятся к полям, значения в которых меняются редко. Предположим, вы работаете в основном с клиентами из Минска, но время от времени встречаются и иногородние. Если оставить этот вопрос без внимания, ошибки в заполнении формы практически неизбежны. Чтобы их избежать, стоит ввести в свойстве Значение по умолчанию, если придерживаться вышеописанного примера, слово "Минск". В этом случае, как только будет создана новая запись, в поле "Город" по умолчанию окажется введенным город "Минск". Естественно, его можно заменить любым другим, однако больше не придется постоянно следить за этим полем без особой надобности.

Свойство Условие на значение предназначено для организации так называемой «защиты от дурака». Нельзя забывать, что компьютер, сам по себе, глуп беспросветно. Он попытается выполнить даже ту команду, которая приведет к его собственной гибели, например, отформатировать системный логический диск, с которого сам же и загружается. Прибавьте сюда невнимательность пользователей и получите полную картину. Чтобы вам впоследствии не понадобились услуги высококвалифицированного испытателя (в компьютерном мире их называют бета-тестерами) или валидол, желательно постараться заранее ограничить все возможные действия пользователя в тех случаях, когда такое возможно. Общеизвестно, что нельзя заплатить отрицательную сумму. Поэтому разработчики встроенных функций даже не пытались предусмотреть защиту от подобной коллизии. Стало быть, если случайно перед числом окажется знак «минус», то, скорее всего, определенная часть всего проекта либо выдаст некорректный результат, либо вообще аварийно закончит работу в результате сбоя. Причем нередко подобное может оказаться причиной потери важных данных. Таким образом, заранее определив «что нельзя», вы одновременно убиваете двух зайцев. С одной стороны, это воспрепятствует попаданию в таблицу заведомо неверных данных, даже если они совпадают по типу. С другой стороны, в случае возникновения подобной ошибки Microsoft Access выведет на экран соответствующее предупреждение, которое, кстати говоря, может оказать неоценимую помощь при диагностировании причин, приведших к сбою. Более того, в подобном случае вмешательство разработчика вообще может не потребоваться, достаточно заполнить свойство Сообщение об ошибке – и пользователь сразу поймет, где он ошибся и как ситуацию исправить.

Как известно, любые данные могут быть важными, а могут быть второстепенными. Допустим, покупая автомобиль, в первую очередь покупателя интересует его марка, год выпуска, общее техническое состояние и тому подобное. Неплохо, если в салоне на полу лежат резиновые коврики, но их отсутствие вовсе не остановит покупателя, если первостепенные показатели окажутся приемлемыми. Аналогичным образом подразделяются данные СУБД. Чтобы система была в состоянии самостоятельно отслеживать заполнение первостепенных полей, следует сказать «Да» в строке Обязательное поле. Тогда Microsoft Access не внесет в таблицу строку, одно или несколько обязательных полей в которой оказались не заполнены или заполнены значением по умолчанию. Обязательное поле должно заполняться вручную. Точно так же, если, например, поле имеет тип МЕМО, который часто применяется в качестве размещения всевозможных примечаний, можно допустить ситуацию, когда само поле может остаться незаполненным вообще ничем. В противном случае, желательно принудительно сказать в строке Пустые строки о том, что данное поле не может остаться пустым ни при каких обстоятельствах.

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