Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Часть 3. Разработка приложений для работы с базами данных

Поиск

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

Краткий обзор СУБД

Для использования на ПК, совместимых с IBM PC, большое распространение получили так называемые dBASE – подобные СУБД. Известно, по крайней мере, три семейства таких СУБД (dBASE, FoxPro и Clipper), однако версий оригинальных систем и их адаптированных вариантов гораздо больше. Отличаясь, друг от друга используемыми командными языками, все эти СУБД используют одни и те же оперативные файлы с расширением.dbf, формат которых стал на некоторое время своеобразным стандартом баз данных.

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

Однако в целом системы, построенные на основе файлов.dbf, следует считать устаревшими. Многие механизмы реляционных БД в dBASE – подобных системах либо не поддерживаются, либо создаются пользователями и программистами «кустарным» способом.

Большую популярность до сего времени имеют и другие СУБД (с другим форматом файлов) – Paradox, Clarion, dv_Vista и т.д. Cледует подчеркнуть, что перечисленные системы ведут родословную от MS DOS, однако нынче почти все они усовершенствованы и имеют версии для Windows.

Среди современных реляционных систем наиболее популярны СУБД для Windows – Access фирмы Microsoft, Approach фирмы Lotus, Paradox фирмы Borland.

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

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

Вместе с тем, в центр современных информационных технологий перемещаются более мощные реляционные СУБД с так называемым SQL – доступом. В основе этих СУБД лежит технология «клиент – сервер».

Среди ведущих производителей таких систем фирмы Oracle, Centura, Sybase, Informix, Microsoft и другие.

Следующее направление в развитии СУБД это объекто – реляционные и объектные СУБД. Объектно – реляционные базируются на реляционных СУБД со встроенной поддержкой объектной ориентации. К таким СУБД относятся DB2 и Oracle фирм IBM и Oracle соответственно, Jllustra фирмы Informix, Ingres компании Computer Associates.

Среди объектных СУБД можно назвать Objectvity фирмы Objectvity, Ontos DB фирмы Ontos, ObjectStore фирмы ObjectDesing, Poet компании Poet Software GmbH, O2 фирмы О2 Technology, Itasca фирмы Ibex Computing, UniSQL фирмы UniSQL, Jasmine компании Computer Associates, ODB-Jupiter фирмы НПЦ «Интелтек Плюс» и другие.

СУБД Access

Вводные замечания

СУБД Access входит в состав пакета Microsoft Office и хорошо интегрирована с другими программными продуктами Microsoft.

Кроме того, она хорошо зарекомендовала себя при использовании в сети.

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

Access – интегрированная среда проектирования, работа в которой базируется на манипулировании объектами и их атрибутами.

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

- объектно – ориентированная модель разработки Access позволяет использовать стандартную методологию при работе со всеми объектами от таблиц, запросов и представлений на сервере базы данных до форм, текстовых полей и других объектов внешнего интерфейса;

- с применением прогрессивных стандартов OLE – автоматики (Object Linking and Embedding – связывание и внедрение объектов) и компонентной объектной модели (COM) можно быстро строить приложения из различных компонентов других приложений и интерфейсов;

- развитые механизмы свойств помогают легко связывать формы и отчеты (объекты внешнего интерфейса) с таблицами и запросами (объектами данных);

- стандартного вида приложения и компоненты приложений быстро создаются с использованием мастеров и шаблонов.

В Access используется объектно – ориентированное программирование (ООП). В основе ООП лежит идея «упакованной функциональности». Прикладная программа строится из объектов с некоторыми свойствами и некоторых операций, которые эти объекты могут выполнять.

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

Объекты приложения Access могут быть вполне «осязаемыми» для пользователя, как, например, окна диалога, командные кнопки, текстовые поля и т.д. Объекты могут также представлять собой некоторые категории, которые непосредственно не являются частью пользовательского интерфейса и которые нельзя «потрогать» курсором мыши. Это, например, рабочие области, соединения и наборы записей и т.д.

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

В Access объект – это комбинация программного кода и данных, воспринимаемая как единица, которой можно каким – либо образом манипулировать. Например, объектом – текстовым полем можно манипулировать, введя в него данные, изменяя цветовое оформление, устанавливая шрифты и т.д.

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

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

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

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

Стандартные методы Access подразделяются на две категории:

- процедуры, реагирующие на стандартные события;

- методы, вызываемые явно в программном коде разработчика.

Access располагает большим набором стандартных методов, которые удовлетворяют любые потребности программиста.

Разработчик может также создавать свои собственные пользовательские процедуры, которые ассоциируются с объектом и решают какие – либо задачи в период выполнения приложения.

Примечание. Свойства и методы называют также интерфейсом объекта.

Важнейшее понятие ООП – класс. Класс обычно описывается как шаблон или проект, из которого впоследствии будет создан объект. Каждый объект в этом случае является экземпляром класса.

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

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

- функции и процедуры в классе (модуле класса) Access соответствуют методам и свойствам объекта;

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

Программы также должны взаимодействовать с этими данными только через свойства и методы объектов. Хранение данных в виде локальных (Private) – переменных – единственный способ придания объекту свойств и поведения «черного ящика» (или, как иногда говорят, скрывания данных). Скрывание данных – критическое условие для многократного использования объекта и надежности приложения.

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

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

Отношение между объектами. В дополнение к изменению характеристик отдельных объектов в приложении должны быть определены отношения между объектами. Например, при связывании формы с таблицей определяется отношение между объектом внешнего интерфейса и объектом базы данных. Если данные, отбираемые из таблицы и представленные в форме, переупорядочиваются, отношение между этими объектами переопределяется. В то же время для командной кнопки, которая, будучи нажата, открывает форму, действует несколько иная зависимость: отношение между командной кнопкой и формой определяет код метода, который добавляется к процедуре Click() командной кнопки.

Иерархическая структура включения. В объектно – ориентированном приложении некоторые классы объектов могут включать другие объекты. Например, форма может включать элементы управления, статические объекты и даже другие контейнеры (например, подчиненные формы).

Инструментальные средства разработки позволяют определять, какие объекты будут содержать другие объекты, и выстраивать объектную иерархию сверху (приложение) донизу (например, командная кнопка внутри формы).

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

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

Для работы почти с каждым объектом в Access используется общая методология. Независимо от вида объекта для управления им разработчик определяет или изменяет одно из свойств или вызывает один из методов этого объекта.

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

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

Существует много способов управления в Microsoft Access: система меню, панели инструментов, контекстные меню, использование указателя мыши и комбинаций «горячих клавиш». Многие средства ввода команд просто дублируют друг друга. Наиболее удобными считаются применение контекст­ного меню и мыши.

При работе в сети Access разрешает 255 одновременных обращений и может обрабатывать файлы размером до 2 Гбайт.

 

Создание базы данных

Сразу после запуска Access открывает окно. В нем пользователю пред­лагается выбрать один из следующих вариантов: создать новую базу данных, запустить мастер по созданию базы данных, открыть существующую базу дан­ных. Если поставить переключатель в положение Новая база данных и нажать кнопку ОК, то откроется окно Файл новой базы данных, в котором нужно указать папку, куда будет записываться создаваемый файл, тип файла из списка и имя файла. Сохранить файл базы данных нужно прежде, чем приступить к созданию таблиц. Поскольку базы данных быстро увеличиваются в размерах, в качестве носителя для базы следует использовать жесткий диск или сменный диск большого размера. После сохранения базы откроется окно База данных. Оно содержит семь вкладок: таблицы, формы, отчеты, запросы, макросы, модули.Visual Basic, страницы доступа к данным.

3.2.3. Создание и работа с таблицами

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

Если в БД создана хотя бы одна таблица, то в данном окне доступны кнопки Открыть и Конструктор.

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

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

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

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

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

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

Над строками таблицы можно выполнять операции: изменять высоту строки (или нескольких строк) и выполнять три стандартные операции перемещения данных с использованием буфера обмена.

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

Выбрав команду Скрыть столбцы можно убрать выбранные столбцы с экрана, а для того чтобы вернуть их обратно, надо вызвать команду Показать столбцы из контекстного меню, связанного с заголовком окна. Многие ко­манды контекстных меню продублированы в главном меню. На­пример, две вышеупомянутые команды можно найти в меню Формат. Коман­да Закрепить столбцы не только «примораживает» выбранный столбец к экра­ну так, чтобы при прокрутке он всегда был виден, но и перемещает его в левую сторону таб­лицы. Команда Столбец подстановок запускает Мастер под­становок, о кото­ром речь пойдет ниже.

Команда Шрифт обеспечивает доступ к обычной для Windows - прило­жений процедуре выбора шрифтов, их начертания, размера и цвета. Команда Отобразить столбцы открывает список полей, в котором можно указать, какие поля должны быть видимы, а какие — нет. Таким образом, эта команда слу­жит не только для «показа» полей, как подразумевает ее название, но и для их скрытия. Следует обратить внимание, как распределены команды по контекст­ным меню. Команды фильтрации находятся в меню для ячейки табли­цы и для всей таблицы. Команды сортировки находятся в меню, связанны­ми с ячейкой и со столбцом. Команды для работы с буфером обмена имеются сразу в несколь­ких меню.

Существуют две команды сортировки: «по возрастанию» и «по убыва­нию». Они производят сортировку всего столбца, независимо от того, какой его фрагмент выделен.

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

Команда Добавить объект доступна только в том случае, когда поле табли­цы имеет тип «Поле объекта 0LЕ». Внедрение объектов в таблицу — это уже высший пилотаж в конструировании баз данных.

Если в таблице имеется поле типа «Гиперссылка», пункт Гиперссылка по­зволяет вставлять в базу данных ссылки на самые различные документы и файлы.

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

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

Его удобно использовать, например, для восстановления исходного по­рядка следования записей после операций сортировки. Для этого надо упо­ря­дочить значения поля-счетчика по возрастанию. Аналогичная сортировка по убыванию позволит перевернуть таблицу «вверх ногами», чтобы быстро по­смотреть, что находится в ее конце.

После того как таблица закрыта, она отображается в окне базы данных в виде значка и своего имени. Как и положено современной СУБД, Ассеss позво­ляет менять структуру таблицы и в дальнейшем, на лю­бом этапе работы с ба­зой данных. Для этого предусмотрен режим конструк­тора.

Режим «Конструктор». Для запуска Конструктора после нажатия кнопки Создать в окне Но­вая таблица надо выбрать опцию Конструктор.

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

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

Первоначально бланк в верхней части окна пуст. Для создания таблицы необходимо, как минимум, заполнить графы «Имя поля» и «Тип поля». Графа «Описание» не является обязательной и предназначена для текста подсказки, который выводится в нижней строке экрана во время рабо­ты с таблицей.

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

Мы уже знаем, что одно из полей таблицы должно быть определено как ключевое. Чтобы создать его, необходимо установить курсор на нужную строку бланка и нажать кнопку Ключевое поле на панели инструментов или выбрать коман­ду Ключевое поле из контекстного меню, связанного с данной строкой. Пер­вичный ключ может включать несколько полей. Такая ситуация возникает, когда только комбинация значений нескольких полей может одно­значно иден­тифицировать запись в таблице. Для того чтобы создать такой со­ставной ключ, надо выделить несколько строк в бланке, а затем использовать инстру­мент Ключевое поле. О том, что поле является ключевым, свидетельст­вует изображение ключика в области выделения строки, содержащей данные о поле. У таблицы не может быть более одного ключа.

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

Рассмотрение типа данных полей ограничим из-за ограниченности объема пособия типами Гиперссылка, Мемо и Мастер подстановок.

Гиперссылка. Использовать форматы для этого поля теоретически возможно, но на самом деле они не определены. В реальной задаче вероятнее всего необхо­димо, чтобы это поле допускало произвольный формат, поскольку ссылки на файлы могут быть самыми разными. Для создания гиперссылки надо выбрать команду из главного меню Вставка/Гиперссылка или команду из контекст­ного меню Гиперссылка/Изменить гиперссылку. Поиск адреса документа производится в диалоговом окне. В этом окне можно указать не только путь к документу, но и адрес объекта внутри файла. Доступ к данным осуществляется путем запуска приложения, позволяющего просмотреть указанный файл.

Поле МЕМО. Поля этого типа подобны текстовым, но могут содержать до 55535 сим­волов. Вкладка свойств поля МЕМО такая, как у поля логического типа за ис­ключением последней строки, где вместо строки Индексированное поле ис­пользуется строка Пустые строки.

Такие поля могут выполнять разные функции. Во-первых, они обеспе­чивают совмести­мость с базами данных других СУБД, поддерживающих такие поля (напри­мер, dВАSЕ или FохРго). Это может оказаться важным при вы­полнении опе­раций импорта или экспорта баз данных. Во-вторых, поле МЕМО может служить хранилищем текста. Но увидеть такой текст можно будет только в форме или отчете, если для поля МЕМО будет создан элемент управ­ления «поле». Лучше всего создавать его при помощи Мастера. Область для вывода текста может иметь размеры, позволяющие увидеть сразу несколько строк, а если весь текст не уместится в границах элемента управления, то бу­дет созда­на полоса вертикальной прокрутки.

Мастер подстановок. Последний элемент в списке типов полей — Мастер подстановок — не яв­ляется названием типа, а представляет собой команду для запуска Мастера, позволяющего создать связь между таблицами. Для пояснения работы Мас­тера рассмотрим небольшой пример. Допустим, в базе данных имеются две таблицы, каждая из которых имеет по два поля типа «Счетчик» и «Число­вое». Содержимое таблиц показано на рис. 3.1. Для облегчения понимания су­щества дела в одну из них — Таблица1 — введены числа, начинающиеся с цифры 1, а в другую — Таблица2 — числа, начинающиеся с цифры 2. Имена полей также снабжены соответствующими цифрами. Необходимо выполнить под­становку поля Числа1 из Таблица1 в Таблица2.

Таблица1 Таблица2

Код Числа1 Текст 1   Код2 Числа2
    Телевизоры    
    Ведра    
    Гвозди    
    Кабель    
    Обувь    
    Магнитолы    
    Мебель (Счетчик)  

 

Рис.37. Исходные данные для операции подстановки

В первую очередь необходимо создать новое поле в Таблице2, использовав конструктор, назвав его Подстановка. Как только из списка выбрана строка Мастер подстановки, этот Мастер активизируется. На первом шаге только подтверждается, что для подстановки используются данные из другой таблицы, а не фиксированный список констант.

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

На третьем шаге необходимо выбрать список доступных полей выбранной таблицы.

Мастер должен переместить некоторые из них в правый список. Ин­формация, содержащаяся в выбранных полях, в дальнейшем будет использо­вана для формирования списка подстановки. Для переноса предусмотрены че­тыре кнопки. Кнопка с одинарной стрелкой переносит одно выбран­ное поле, а кнопка с двойной стрелкой — все поля, указанные в списке. Кнопки со стрел­ками, указующими влево, позволяют вернуть поля в левый список, если вы ошиблись или передумали. Порядок выбора полей, т. е. пе­реноса их из левого списка в правый тоже важен. То поле, которое будет указано в списке выбран­ных полей первым, станет источником данных в опе­рации подстановки.

Схема с двумя списками и кнопками со стрелками между ними часто ис­пользуется в современных программах, особенно фирмы Мiсrоsоft. По­этому, встретив подобную конструкцию, знайте, чего от вас ждут: сформиро­вать правый список, используя элементы левого. После того как поля выбраны (в данном случае - это одно поле Числа1), можно переходить к следующему шагу.

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

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

На пятом шаге Мастера подстановок можно задать подпись для столбца постановки. Про­грамма первоначально использует в качестве нее имя поля подстановки, ко­торое было задано при конструировании таблицы. Пользова­тель волен, изменить подпись на другую, что, впрочем, можно будет сделать и впоследствии. Таким образом, последний шаг Мастера подстановок — скорее формальность, чем необходимость.

После окончания работы Мастера можно проанализировать его рабо­ту в окне конструктора таблицы. Итак, что сделал Мастер? Во-первых, он заме­нил имя поля подстановки, заданное пользователем первона­чально, на имя ключевого поля (Код1) таблицы, являющейся источником данных. Разумеется, это не пустая формальность. Этот факт свиде­тельствует о том, что между двумя таблицами установлена связь, а для этого потребовалось использование ключевого поля. Во-вторых, ново­му полю таблицы Мастер подстановки при­своил числовой тип. Не надо ду­мать, что так случилось потому, что в Таб­лица1 было выбрано числовое поле для подстановки. Числовой тип в данном случае относится к ключевому полю Таблица1.Код1. В-третьих, старое имя поля подстановки Мастер использовал для создания подписи. Это значит, что при просмотре таблицы данное поле будет обозначаться своим старым име­нем, а не тем, которое стоит в графе Имя поля. Остальные свойства оставлены без изменения, но они доступны для редактирования.

 
 

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


а) б)

Рис.38. Поле подстановки: а – использование в таблице;

б– список с комментарием.

Открытая для просмотра таблица со списком комментарием изображена на рис.38. На рис.39 изображены свойства поля подстановки.

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

Если необходимо удалить поле подстановки, то нужно вначале ликви­дировать связь между таблицами. Для этого командой Сервис/Схема данных вызывается графическое представление связи, щелкается по соединяющей ли­нии, чтобы она стала жирной и выбирается команда Удалить из контекстного меню. После этого поле подстановки можно удалить в режиме конструктора.

 


Рис.39. Свойства поля подстановки

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

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

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

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

Наиболее просто импорт выполняется из баз данных, например, dBASE, FoxPro, Paradox. Это объясняется тем, что в файлах разных СУБД определены одинаковые по смыслу элементы, имеющие схожие свойства. Импорт элек­тронной таблицы Excel проходит не так гладко и требует определенного диа­лога с пользователем для настройки алгоритма преобразования. Но если даже правильно ответить на все вопросы программы, нет гарантии, что данные бу­дут импортированы без потерь и искажений. В результате может понадобиться несколько приемов переноса.

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

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

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

Работа с таблицами. Access поддерживает четыре типа отношений между таблицами: один-к-одному, один-ко-многим, много-к-одному, много-ко-многим.

Примечание. Связь много-ко-многим реализуется с использованием вспомогательных таблиц.

Для создания многотабличной базы данных используются ключе­вые поля. В качестве общего ключевого поля лучше использовать произвольные величины, такие как номер служащего или его табель­ный номер, код товара и т.д. Оно должно однозначно идентифициро­вать объект. В таблицах, которые имеют отношение один - ко - мно­гим, таблица со стороны один отношения называют главной, а иногда - справоч­ной таблицей. В ней значения общего поля не могут повторяться. Та таблица, где возможно повторение, является стороной "много" отно­шения один - ко - многим. Ее называют подчиненной.

Обязательным условием нормальной р



Поделиться:


Последнее изменение этой страницы: 2016-09-13; просмотров: 980; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.138.175.10 (0.015 с.)