3391 ПРОЕКТИРОВАНИЕ СИСТЕМ ОБРАБОТКИ ДАННЫХ

Введение в теорию баз данных

 

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

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

-          длина поля (в символах),

-          имя (для каждого поля должно быть уникальным),

-          подпись (информация, отображаемая в заголовке столбца; при отсутствии подписи в заголовке отображается имя поля).

Разные типы полей имеют разное назначение и разные свойства. Текстовое поле имеет основное свойство – размер, ограниченный 256 символами. Числовое поле служит для ввода числовых данных в виде целых или действительных чисел. В последнем случае кроме размера поля задается также размер десятичной части числа. Поля для ввода дат  или времени имеют тип Дата/время. Для ввода логических данных, имеющих только два значения (Да или Нет; 0 или 1; Истина или Ложь и т.п.), служит специальный тип – Логическое поле. Тип поля – Денежный служит для хранения денежных сумм с отображением  чисел вместе с денежными единицами (рубли и копейки, доллары и центы и т.д.). Если нужно поместить в поле длинный текст, для этого служит поле типа МЕМО. В нем можно хранить до 65 535 символов. Особенность поля МЕМО состоит в том, что реально эти данные хранятся не в поле, а в другом месте, а в поле хранится только указатель на то, где расположен текст. Для хранения сложной информации в виде картинок, звуковых файлов, видеозаписей служит специальное поле – поле объекта OLE. Особую роль в таблице играет числовое поле Счетчик. Это поле имеет свойство автоматического наращивания. Если в базе есть такое поле, то при вводе новой записи в него автоматически вводится число, на единицу большее, чем значение того же поля в предыдущей записи. Это поле удобно для нумерации записей.

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

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

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

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

Программные средства, с помощью которых создается и организуется работа с БД, называются системами управления базами данных (СУБД). Среди реляционных СУБД для персональных компьютеров с ОС Windows наибольшее распространение получила программа Microsoft Access. В данных методических указаниях рассматривается версия Access 97, входящая в состав пакета Office 97. Благодаря развитому интерфейсу СУБД Access 97 ориентирована не только на профессионалов, но и на конечных пользователей.

Основными функциями СУБД Access 97 являются:

-          создание баз данных;

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

-          обработка баз данных (поиск и выборка данных, вычисление, преобразование, графика);

-          формирование и вывод документов в различных формах.

База данных в Access представляет собой файл прямого доступа с расширением .mdb. СУБД Access 97 может работать с шестью видами объектов.

Таблицы – основные объекты базы данных. В них хранятся данные. Реляционная БД может иметь много взаимосвязанных таблиц.

Формы – это объекты, с помощью которых в базу вводят новые данные или просматривают имеющиеся.

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

Отчеты – служат для выдачи данных на принтер в удобном и наглядном виде.

Макросы – это макрокоманды. Если какие-то операции с базой производятся особенно часто, имеет смысл сгруппировать несколько команд в один макрос и назначить его выделенной комбинацией клавиш.

Модули – это программные процедуры, написанные на языке Visual Basic. Если стандартных средств Access не хватает для удовлетворения требований заказчика, программист может расширить возможности системы, написав для этого необходимые модули.

Средствами взаимодействия пользователя с системой Access являются окна, кнопки, линейки прокрутки, пиктограммы, имеющие те же общие назначения, что и в Windows, а также панели инструментов. В системе предусмотрено несколько панелей инструментов. Каждая из них имеет имя и различный набор кнопок. Это панели База данных, Конструктор таблиц, Конструктор запросов, Конструктор форм, Панель форматирования и др.

 

 

 

 

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

 

РАБОТА С БАЗОЙ ДАННЫХ В РЕЖИМЕ ТАБЛИЦЫ

 

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

 

 

1. Создание файла базы данных

Таблица является основной составной частью БД в СУБД Access. БД считается созданной, если в ней размещена хотя бы одна таблица. Создание БД включает три этапа: создание файла с расширением mdb (пустой БД), описание таблицы (создание пустой таблицы) и загрузку (заполнение) таблицы.

При запуске СУБД Access на экране дисплея появляется диалого-вое окно Microsoft Access (рис.1). Для создания файла базы данных mdb необходимо в данном окне устано-вить переключатель Новая база данных и нажать кнопку ОК. В следующем диалоговом окне Файл новой базы данных в поле Имя файла необходимо указать имя создаваемой БД или согласиться с именем, предложенным по умолчанию (например – db3), затем в поле Папка указать, в какой папке следует сохранить новую БД, и нажать кнопку Создать.  В результате на диске будет создан файл, в который впоследствии  можно поместить таблицы, формы, запросы отчеты и т.д., и откроется  окно db3: база данных (рис.2). Вначале это окно будет пустым, а затем в нем будут отображаться все создаваемые объекты БД, отсортированные по соответствующим закладкам.

 

Рис. 2. Окно базы данных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

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

Пункт Режим таблицы откры-вает заготовку, в которой все поля имеют формальные имена: Поле1, Поле2… и т.д. и один стандартный текстовый тип и ширину (рис.4). Формальные  имена обычно заменя-ются на конкретные, отражающие характер вводимых данных. Новое имя задается с помощью команды Переименовать столбец в меню Формат или в контекстном меню, вызываемом щелчком правой кнопки мыши по формальному имени. Такую таблицу можно сразу наполнять информацией. Ширину поля можно изменить методом буксировки мышкой правой границы заголовка столбца (указатель курсора имеет вид  ¬║® ). Изменение ширины столбца по размеру данных выполняется путем установки указателя на правую границу заголовка столбца и двойного нажатия кнопки мыши.

Выбор пункта Мастер таб-лиц (рис.3) позволяет ускорить создание структуры таблицы. Мастер задает ряд вопросов и, руководствуясь полученными от-ветами, создает структуру таб-лицы автоматически. Этот режим больше подходит для опытных разработчиков.

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

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

Наиболее универсальный, ручной метод предоставляет пункт Конструктор (рис.3). В окне конструктора таблицы можно самостоятельно задать имена полей, выбрать их тип и настроить свойства (рис.5).

 

 

Рис. 5. Окно конструктора таблицы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тип данных указывается из раскрывающегося списка при нажатии в одноименной графе кнопки  6. К выбору типа поля следует относиться очень внимательно, так как изменение типа поля в уже заполненной БД может привести к потере данных.

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

Свойства полей на закладке Общие перечислены в табл. 1.

Таблица 1

 

Свойство

Описание

Размер поля

Определяет максимальную длину текстового или числового поля

Формат поля

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

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

Определяет количество разрядов в дробной части десятичного числа. Для автоматического определения выбирается значение “Авто”.

Маска ввода

Определяет маску данных при вводе

Подпись

Содержит надпись с поясняющими сведениями, которая выводится рядом с полем в форме или в отчете

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

Значение, автоматически добавляемое в поле для новой записи

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

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

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

Определяет сообщение, которое появляется на экране при вводе недопустимого значения

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

Установка, указывающая на то, что данное поле обязательно следует заполнить

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

Установка, которая определяет, допускается ли ввод в данное поле пустых строк (“  “)

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

Определяет простые индексы для ускорения поиска (поле первичного ключа индексируется автоматически)

 

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

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

3. Создание ключевого поля

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

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

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

 

4. Изменение структуры таблицы

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

Вставка нового поля  выполняется над строкой с курсором с помощью команд Вставка – Строки или Поле подстановок.

Для удаления поля (или нескольких полей) следует маркировать соответствующую строку (или строки) и выполнить команды Правка – Удалить строки. В области маркировки (левая графа) курсор мыши приобретает вид стрелки вправо è. Маркированное поле можно удалить, нажав соответствующую кнопку на панели инструментов или через контекстное меню командой Удалить поле.

 

5. Сохранение таблицы

 

Создание таблицы завершается сохранением ее структуры с помощью команд Файл – Сохранить как/экспорт. Если таблица сохраняется впервые, то в открывающемся диалого-вом окне Сохранение объекта требуется ввести уникальное имя таблицы или согласиться с именем, предлагаемым по умолчанию, например Таблица2, и затем нажать кнопку ОК (рис.6).

Если необходимо сохра-нить таблицу вне открытой БД, необходимо маркировать тре-буемую таблицу в окне БД и, вызвав команду Сохранить как/экспорт, включить переключатель Во внешнем файле или базе данных области Сохранение объекта.

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

 

6.  Заполнение таблицы данными

 

Чтобы заполнить таблицу, следует перейти из режима проектирования таблицы в режим заполнения. Этот переход выполняется командами ВидРежим таблицы или первой кнопкой на панели инструментов, которая изменяет свое изображение в зависимости от режима, в котором находится таблица: в режиме конструктора на ней изображена таблица, а в режиме таблицы – конструктор. Из окна базы данных в таблицу можно войти по кнопке Открыть.

В режиме заполнения активная строка всегда отмечена треугольным маркером 4 в левом селекторном столбце (рис.4). Данные заносятся в поле после нажатия клавиш Enter или Tab. После заполнения всех полей записи и нажатия клавиши Tab программа автоматически сохранит только что введенную запись в файле и создаст новую пустую запись. Поле счетчика заполняется программой автоматически. Переход к предыдущему полю выполняется комбинацией клавиш Shift + Tab. Для перемещения по полям и строкам таблицы можно также использовать клавиши управления курсором ¬,­,®,¯.

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

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

 

7. Создание столбца подстановок

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

В режиме Конструктора (рис.5) для его создания выбирается соот-ветствующее поле, курсор помещается в столбец Тип данных и из списка выбирается Мастер подстановок…. Далее в диалоговых окнах уточняется источник списка значений: другие таблица или запрос или создается собственный список фиксированных значений. Свойства поля подстановки отображаются на вкладке Подстановка.

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