andrey

Путь к Файлу: /Саратовский / 3 курс контрольные / Синева_ИТЭ_ЭУМ_ЭУТ_ЭУС_3_курс / Материалы / Раздат матер по БД / Раздат матер по БД .doc

Ознакомиться или скачать весь учебный материал данного пользователя
Скачиваний:   2
Пользователь:   andrey
Добавлен:   11.01.2015
Размер:   319.5 КБ
СКАЧАТЬ

Н.Ф.Синева

 

Базы данных

(ВВЕДЕНИЕ)

на примере СУБД MS ACCESS


Содержание

Концепция баз данных

Пользователи БД         

Предпосылки создания базы данных  (когда надо создавать базы данных) 

Состав базы данных (в широком смысле)        

Уровни проектирования       

Модели данных 

СУБД реляционного типа MS ACCESS 

Проектирование базы данных       

Общие положения и понятия

Ключи и индексы        

Пример процесса проектирования базы данных      

Описание предметной области      

Формализация данных предметной области. Типы данных        

Как управлять работой СУБД  MS Access       

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

Создание макета таблиц       

Занесение данных в таблицы

Создание макета (схемы)  базы данных  

Использование баз данных  

Запросы    

Создание и использование форм   

Отчеты      

Импорт и связывание данных        

Литература        


 

Концепция баз данных

 

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

Пользователи БД

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

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

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

Предпосылки создания базы данных                                                  (когда надо создавать базы данных)

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

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

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

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

Состав базы данных (в широком смысле)

База данных  - именованная структурированная совокупность самих данных о предметной области на магнитных носителях в заданных форматах.

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

Языковые средства.

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

* Язык описания данных. Описание состава и логической организации БД на языке описания данных называется схемой данных.

* Язык общения с БД (в том числе язык манипулирования)

* Язык ведения диалога (при общении с современными БД широко используется режим диалога).

Программные средства

* Программы управления данными.

* Трансляторы языков программирования в среде БД.

* Вспомогательные программы (утилиты).

* Программы управления взаимодействием с периферийными устройствами.

Технические средства

* Организационно-методические средства (в том числе - средства организации помощи, инструкций, примеров с ремарками).

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

* Схема выполнения запросов в БД. - организация взаимодействия всех компонентов БД при создании ответа на запрос пользователя.

Уровни проектирования

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

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

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

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

Проектирование структуры БД - это определение структуры БД  и описание ее на языке описания данных.

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

* “от предметной области”  - на основе отображения предметной области, не думая на уровне проектирования о задачах, которые будут  решаться в базе данных;

* “от запроса”. - главным источником информации для проектирования являются задачи, запросы пользователя.

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

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

Модели данных

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

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

Иерархическая модель

Модель основана на принципе подчинения. Схемой ее является ориентированный граф. Тип связей между данными описывается дугами графа. Именовать связи не требуется - они все однотипные. Одному экземпляру данного на уровне иерархии К соответствует “много” экземпляров данных на уровне К+1.

Сетевая модель

Модель основана на графе типа сеть. Вершинам графа соответствуют составные единицы информации - записи  Экземпляры данных (записей) образуют файлы. Типы записей различны. Между парой типов записей может существовать несколько типов связей.  Характер связей не очевиден (как в иерархической модели). Все связи по типам разные и нуждаются в объявлении и именовании. Часто сетевые модели строятся из нескольких связанных деревьев (графов), каждое из которых имеет несколько уровней. Запись, соответствующая корню - запись-владелец, запись подчиненной вершины - запись-член,  совокупность: запись-владелец + запись-член образует набор. Структура достаточно сложная и применяется только при крайней необходимости именно такого описания данных.

Реляционная модель

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

СУБД реляционного типа MS ACCESS

СУБД реляционного типа MS Access входит в пакет программ MS Office.  В настоящее время является признанным стандартом для создания и ведения сравнительно небольших, преимущественно персональных баз данных. Обеспечивает полную совместимость с предыдущими версиями, а также позволяет импортировать в свой формат большинство файлов баз данных реляционного типа и эксплуатировать их далее в СУБД  MS ACCESS. Обладает удобным для пользователя-непрограммиста интерфейсом и ведет развернутый диалог с комментариями. Бесспорным достоинством является система помощи пользователю, организованная таким образом, что она доступна в процессе работы в любой момент. Кроме того, имеется система “помощник”, которая анализирует стоящие перед пользователем задачи (на основе действий пользователя) и предлагает возможные варианты  решения этих задач, если у пользователя возникают  трудности.  Возможность настройки программы MS ACCESS для индивидуального пользователя - одно из важных достижений разработчиков.

Специфика  терминологии

В  документации  СУБД  MS ACCESS принято называть: отношение -  таблицей,  кортеж  - записью, атрибут - полем.

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

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

Проектирование базы данных

Общие положения и понятия

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

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

· обеспечить быстрый доступ к данным в таблицах;

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

· обеспечить целостность базы при любых манипуляциях.

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

В теории проектирования реляционных баз данных разработаны алгоритмы формализованных приемов нормализации данных сложной структуры. При разработке промышленных коммерческих баз они применяются разработчиками. Теория нормализации оперирует с 5 нормальными формами таблиц. Переход от формы к форме осуществляется последовательно, поэтому каждая N-я нормальная форма является всегда и (N-1)-й нормальной формой, плюс дополнительные требования  N-й формы (N=1,2...5).

Практически процесс нормализации представляет собой процесс разбиения таблицы на несколько новых таблиц, каждая из которых удовлетворяет вполне определенным требуемым условиям. Подробнее об этом можно прочитать в [1]. Следует отметить, что СУБД  MS ACCESS  имеет определенные ограничения, которые не дают возможности полностью удовлетворить некоторым условиям нормальных форм, приходится с этим мириться.

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

Ключи и индексы

Рассмотрим понятие ключей и индексов в СУБД

* Ключи

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

В MS Access поддерживаются три типа ключей: ключевое поле счетчика, простой ключ и составной ключ.

Ключевое поле «Счетчик»

В поля типа «Счетчик» при добавлении каждой новой записи автоматически вводится уникальный последовательный или случайный номер. Определение такого поля как ключевого является простейшим способом создания ключа в таблице. Если при первом сохранении новой таблицы ключевое поле не определено, Microsoft Access выводит пользователю предложение автоматически создать ключевое поле. При нажатии кнопки "Да" создается ключевое поле счетчика.

Простой ключ

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

 

Составной ключ

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

 

* Индексы

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

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

Пример процесса проектирования базы данных

Описание предметной области

Рассмотрим процесс создания базы данных на примере. В качестве предметной области рассмотрим  фирму “Антилопа”.

 

Раздат матер по БД

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Рис.1.

Фирма “Антилопа” - гипотетическое предприятие, созданное с целью закупки у других фирм или частных лиц специфического сырья - рогов и копыт животных с последующей их обработкой (очисткой, полировкой, лакировкой), а затем и продажей этой оригинальной продукции. Предприятие имеет развитую организационно-управленческую структуру, представленную  схемой (рис.1), а также покупателей продукции и поставщиков сырья.  

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

Допустим, что в управлении будут полезны сведения о фирме, представленные в табл.1.

Таблица 1

Фирма “Антилопа”

N

Наименование поля

1

Расположение фирмы

2

Банковские реквизиты

3

Должность руководителя фирмы

4

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

5

Фамилия

6

Имя Отчество

7

Дата рождения

8

Паспортные данные

9

Адрес

10

Фотография

11

Примечания

12

Директорат (фамилии)

13

Директорат фирмы (должности)

14

Код должности сотрудников директората

15

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

16

Код отделов фирмы

17

Наименование отделов фирмы

18

Подчиненность отделов в структуре директората

19

Численность сотрудников отделов

20

Издержки на содержание отдела (зарплата и накладные расходы)

21

Код производственных подразделений фирмы

22

Наименование производственного подразделения

23

Подчиненность в структуре отделов фирмы

24

Численность персонала отдельных производств

25

Издержки на содержание производственного подразделения

26

Код предприятия - поставщика

27

Код продукции-сырья (Код сырья)

28

Цена единицы сырья (приемки продукции)

29

Качество сырья

30

Минимальная партия сырья

29

Срок поставки сырья

30

Код потребителя - клиента

31

Состояние счетов клиента

32

Замечания о клиенте

33

Клиент (фамилия)

34

Дата заказа товара клиентом

35

Адрес клиента

36

Код продукции-товара

37

Цена товара (отпускная)

38

Минимальная партия отпускаемого товара

39

Срок отправки товара

40

Факс клиента

         

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

Формализация данных предметной области. Типы данных

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

* Текстовый. Текст или комбинация текстовых и числовых значений            Максимальное число символов, которые можно ввести в данное поле, определяется пользователем при проектировании (не более 255 символов).

* Поле MEMO.           Длинный текст, например, примечания или описания (не более 64 000 символов).

* Числовой.    Числовые данные, допускающие использование в математических вычислениях за исключением денежных расчетов (для последних определен тип денежный). Конкретный формат числа определяется пользователем .

* Дата/время.            Значения даты или времени.

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

* Счетчик      .  Уникальные последовательные (с шагом 1) или случайные номера, автоматически вставляемые в это поле при вставке каждой  записи. Формат как у длинного целого числа.

* Логический.            Поля, которые могут иметь только одно значение из пары значений, таких как Да/Нет, Истина/Ложь.

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

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

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

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

Фирма

 

Директорат

 

Отделы

N

Наименование поля

 

N

Наимен. Поля

 

N

Наимен. поля

1

Адрес

 

1

Телефон

 

1

Код отдела

2

Реквизиты

 

2

Код сотрудника

 

2

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

3

Должность руков.

 

3

Должность

 

3

Подчиненность

4

Зарплата

 

4

Зарплата

 

4

ФИО руководит.

5

Фамилия

 

5

Фамилия

 

5

Численность

6

Имя Отчество

 

6

Имя Отчество

 

6

Издержки

7

Фотография

 

7

Фотография

 

 

 

Поставщики

 

Товары

 

Производства

N

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

N

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

N

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

1

Код поставщика

1

Вид сырья

1

Код товара

2

Предприятие

2

Код товара

2

Код производства

3

Руководитель

3

Сортность

3

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

4

Адрес

4

Цена

4

Подчиненность

5

Мин партия

5

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

5

ФИО руководителя

6

Вид транспорта

6

Код производства

6

Численность

7

Вид сырья

7

Дата производства

7

Издержки

8

Сортность

8   

Смена

 

9

Цена

9

Бригада

 

10

Дата поставки

10

Контролер

 

 

 

Заказы

 

Клиенты

 

N

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

N

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

 

1

Код товара

1

Код покупателя

 

2

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

2

Фамилия

 

3

Срок хранения

3

Имя Отчество

 

4

Код покупателя

4

Кредит

 

5

Заказано (сколько)

5

Страна

 

6

Дата заказа

5

Город

 

 

7

Цена заказа

6

Адрес

8

Дата продажи

7

Валюта

 

9

Вид транспорта

8

Привычки

 

                            

 

Сырье

 

Сотрудники

N

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

N

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

1

Код сырья

1

Фамилия

2

Сортность

2

Имя Отчество

3

Поставщик

3

Паспортные данные

4

Дата поставки

4

Должность

5

Количество мешков

5

Подразделение

6

Цена мешка

6

Стаж

7

Наименование сырья

7

Количество акций

8

Хранение (№ склад)

8

Зарплата

 

 

9

Код сотрудника

 

 

 

 

Секретная

 

Досье

N

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

N

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

 

 

1

Кому уплачено

1

Адрес

 

2

Сколько уплачено

2

Код сотрудника

 

3

Когда уплачено

3

Состав семьи

 

4

За что уплачено

4

Возраст

 

5

Какая валюта

5

Образование

 

6

Дата расчетов

6

Фотография

            Эти таблицы - еще не таблицы базы данных, а пока только наборы имен их полей. Если теперь задать форматы данных каждого поля, или свойства полей, то каждая таблица будет представлять структуру (макет) таблицы из базы данных “Антилопа”.

 Вопросы нормализации данных в базе данных “Антилопа” рассмотрены в [1]. Там подробно обсуждается процедура распределения информации между таблицами  последовательными шагами процесса приведения базы данных “Антилопа” к третьей нормальной форме. Результат нормализации отличается от приведенного здесь набора таблиц, зато эти таблицы более наглядно в своей совокупности дают пример проектирования. Целью является показать, как создать по концептуальной схеме макет базы данных, заполнить его данными, связать таблицы в одно целое (создать связанную схему данных), создать другие конструкторские объекты и раскрыть их смысл в предметной области, продемонстрировать процесс удовлетворения информационных потребностей руководителя средствами базы данных фирмы.

Как управлять работой СУБД  MS Access

            MS Access - составная часть пакета MS Office, этим определен общий интерфейс программы. Управление окном программы определяется операционной средой, в которой установлена СУБД MS Access. Не уменьшая общности изложения, для определенности будем считать, что имеем дело с MS Access 7, установленную в среде Windows 95.

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

Кроме Конструкторов для создания конструкторских объектов используются другие программные компоненты СУБД, называемые Мастерами. В отличие от Конструкторов, где пользователь самостоятельно определяет все параметры создаваемого объекта, при работе с Мастерами часть работы делает Мастер, а именно: Мастер создает объект по тому шаблону, который уже имеется, а пользователь только выбирает один из тех вариантов, которые в специальном окне Мастера предлагаются для выбора. После создания объекта с помощью Мастера всегда можно внести изменения с использованием Конструктора. Работа с Конструкторами требует более высокой квалификации, зато делает процесс создания объекта более осознанным, поэтому, как правило, требуется меньшее число уточняющих объект шагов-итераций. 

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

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

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

Создание макета таблиц

            Для создания новой таблицы существует три режима:

· режим таблицы,

· режим конструктора,

· режим мастера.

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

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

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

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

Рассмотрим создание одной из таблиц базы данных “Антилопа” в режиме конструктора. Таблица Сотрудники содержит следующие  поля: Фамилия , Имя Отчество, Паспортные данные, Должность, Подразделение, Адрес, Количество акций, Зарплата, Код сотрудника.

Определим типы полей. Очевидно, что поля Фамилия , Имя Отчество, Паспортные данные, Должность,  Адрес - текстовые. Однако количество символов поля, необходимое для отображения информации, нужно назначить. Например, для поля Фамилия будет достаточно 20 символов, а для поля Адрес этого недостаточно, потребуется, возможно, 50, в зависимости от значений. В поле Зарплата следует определить тип данных денежный, чтобы можно было правильно оперировать с данными в этом поле, например, подсчитывать итоговые суммы по этому полю. В поле Подразделение должна быть информация о том цехе или отделе, где работает сотрудник. Как назначить тип данных этого поля, зависит от того, как в проекте базы данных решено обозначать (кодировать) подразделения. Допустим, что решено цеха кодировать с помощью последовательной нумерации, первым символом записывая букву Ц, например, Ц1, Ц2, и так далее. Отделы можно кодировать, нумеруя с буквой О: О1, О2, и так далее. При этом необходимо соотнести с таким типом кодирования все подразделения  фирмы. Тогда по значению этого поля можно будет: во-первых,  вполне однозначно разделить сотрудников по подразделениям, во-вторых проводить обработку в базе данных , используя четкие форматы данных. При этом имеет значение абсолютное выдерживание формата при занесении данных в таблицу - на первом месте заглавная буква (литера), затем целое число. Эти правила заполнения поля данными полезно записывать в примечания, находящиеся справа в окне конструктора. Следует отметить, что для таких случаев имеется специальная строка в нижней части окна конструктора, которая называется маской.   Назначив при создании макета маску для ввода данных, уже нельзя при заполнении таблицы ошибочно ввести в поле данные, не соответствующие маске. Для создания масок есть мастер.

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

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

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

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

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

Замечания:

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

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

Занесение данных в таблицы

Для заполнения макетов созданных таблиц данными следует выбрать один из следующих приемов:

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

* Создать Автоформу (меню Вставка) для заполнения выделенной в окне базы данных таблицы. При этом на экране откроется окно, в правом столбце будут видны имена полей, в левом - “прорези” для ввода информации, согласно заданным форматам. Переход по строкам таблицы (записям) осуществляется кнопками в нижней строке окна, где виден номер текущей записи. Введенная информация попадает в таблицу.

Замечания:

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

Создание макета (схемы)  базы данных

Рассмотрим созданные и заполненные данными таблицы базы данных “Антилопа”.

 

 

Директорат

 

Отделы

N

Наименование поля

N

Наименование  поля

1

Телефон

1

Код отдела

2

Код директора

2

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

3

Должность

3

Подчиненность

4

Зарплата

4

ФИО руководит.

5

Фамилия

5

Численность

6

Имя Отчество

6

Издержки

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

В структуре предметной области (фирма “Антилопа”) отделы подчиняются одному из имеющихся трех директоров (рис.1):

· Главный специалист по рогам и копытам

· Начальник производства заточных рогов и полированных копыт

· Коммерческий директор

Поэтому таблица Директорат содержит всего три записи, с указанием в поле Должность вышеуказанных наименований должностей, в поле Фамилия фамилий этих руководителей. Рассмотрим поле Код директора. В этом поле содержится информация, которая позволяет однозначно идентифицировать должность. Поле Фамилия формально не подходит - возможны однофамильцы, а также временное отсутствие на данной должности конкретного лица, а его обязанности возложены временно, например, на рабочего Васю Иванова ( у Васи есть другая должность). Допустим, что в процессе создания таблиц для этого поля определены следующие значения (данные):

 

Должности

Коды должностей

Главный специалист по рогам и копытам

Д1

Начальник производства заточных рогов

и полированных копыт

Д2

Коммерческий директор

Д3

 

 Тогда в поле Подчиненность таблицы Отделы для каждого из отделов фирмы (рис.1) должно стоять одно из значений: Д1, Д2, Д3. Этими полями связаны таблицы Отделы и Директорат. Что это означает?  Ответ такой: запись в таблице Директорат, у которой в поле Код директора стоит Д1 связана со всеми теми записями таблицы Отделы, у которых в поле Подчиненность записано Д1. То есть связь осуществляется по значениям поля. Таких записей в таблице Отделы будет несколько, судя по схеме рис.1. Такой тип связи в реляционных базах называется “один ко многим” - одна запись в Отделы связана с многими записями в Директорат.

Чтобы эту связь, которая обнаружена в предметной области, отразить в макете (структуре) базы данных, есть специальное окно в СУБД MS Access. Оно называется Схема данных. На стандартной панели инструментов База данных имеется кнопка Схема данных (или меню Сервис/ Схема данных окна программы). Перед входом в окно Схема данных обязательно закрываются таблицы БД. На экране последовательно возникают  окна диалога. Диалог очевиден и вопросов не вызывает. Механизм связывания - перетаскивание мышкой выделенного поля одной из таблиц (главной) на соответствующее  по смыслу поле второй таблицы. Ключ главной таблицы называют еще первичным  ключом, а связанное поле второй таблицы (со стороны “много”) - внешним ключом.

В нашем случае поле Код директора таблицы Директорат перетаскивается на поле Подчиненность таблицы Отделы. При таком типе связи  (“один ко многим”) поле со стороны “один” должно быть таким, чтобы значения в нем были уникальными (не повторялись). Это значит, что либо это поле ключевое, либо с уникальным индексом. Поэтому, прежде чем назначать связь, лучше заполнить поле данными и определить ключи и индексы в окне конструктора.

Для этого в режиме Конструктора ставят указатель на нужное поле и делают одно из двух:

* нажимают кнопку ключ панели конструктора;

* в свойствах поля выбирают Уникальные значения индекса.

В окне диалога для определения связи следует ставить флажок  “Обеспечение целостности данных”.

Отношение “один к одному” в предметной области характерно для объектов при их взаимно однозначном соответствии. Для двух таблиц базы данных это значит, что в этих таблицах есть поля с одинаковыми по формату и значению данными (порядок  следования записей (данных) и имена полей таблиц не имеет значения). Связь необходимо устанавливать для того, чтобы таблицы  характеризовали один и тот же объект, чтобы программа “знала”, что две таблицы - это разные свойства одного объекта предметной области. В базе данных “Антилопа” таблицы Сотрудники и  Досье связаны отношением “один к одному” по полю Код сотрудника.

Несколько более сложным для понимания является тип связи “много ко многим”, когда каждой записи первой таблицы соответствуют несколько записей второй таблицы, а каждой записи второй таблицы соответствует несколько записей в первой таблице. В этом случае всегда имеет место составной ключ, определение которого было дано выше. Составной ключ (в данном случае два поля, значения которых в совокупности однозначно определяют запись) помещается в дополнительно вводимую в базу данных таблицу (связующую). Ее назовем третьей таблицей. После этого первая из таблиц связывается с третьей как “один ко многим”, причем сторона “много” в третьей таблице. Вторая из таблиц связывается с третьей как “один ко многим”, причем сторона “много” в  третьей таблице. Тогда первая и вторая таблицы связаны между собой как “много ко многим”. Примером являются таблицы Товары, Заказы, Клиенты. Каждый из товаров покупают несколько клиентов, каждый клиент покупает несколько товаров. Заказы - связующая (третья) таблица. В нее помещены поля Код товара и Код клиента, а затем создан составной ключ. Подчеркнем еще раз, что связи в программе СУБД лишь отражают объективные взаимоотношения данных в предметной области, обнаружить их при концептуальном проектировании - необходимое условие для понимания технологии реляционных баз данных.

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

Замечание 1: 

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

Замечание 2:

Установление режима поддержки условий целостности ограничивают свободу при некоторых изменениях таблиц базы данных:

* в поле внешнего ключа нельзя ввести значения, которых нет в первичном ключе главной таблицы;

* нельзя удалить запись в главной таблице, если в подчиненных таблицах есть записи, с ней связанные;

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

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

Использование баз данных

Запросы

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

Что же такое запрос?  В общем-то, то же, что и в обычном смысле этого слова. Когда одно юридическое лицо хочет получить сведения от другого юридического лица, первое из лиц направляет в адрес второго документ (запрос), в котором сформулированы вопросы на  деловом языке (понимаемым одинаково обеими сторонами), на которые нужно получить ответ. Аналогично и в базах данных:  запрос - сформулированный особым образом вопрос к базе данных.

Обычно выделяют следующие типы запросов в MS Access: запросы на выборку; запросы с параметрами;             перекрестные запросы; запросы на изменение; запросы SQL. В учебном пособии нет возможности описать все многообразие видов запросов и приемов их создания.  Задача - приоткрыть дверь и заглянуть в этот мир, подробно разобрав только основные понятия, которые необходимы для понимания рекомендаций справочной системы программы (в данном случае - MS Access, которой неизбежно придется пользоваться в процессе работы).

Для создания запросов в каждой СУБД есть специальный язык. В MS Access для этой цели служат еще и интерактивные средства  -  Мастер запросов и Конструктор запросов. Мастер служит для формулирования простых, типовых запросов, которые формулируются и осознаются легко. Для более сложных запросов нужно применять Конструктор.

В MS Access часто используется термин “запрос по образцу”. Это определение используется для того, чтобы обозначить способ создания запроса. Дело в том, что в MS Access возможен еще один способ создания запроса - с помощью подмножества встроенного в СУБД языка программирования (это использование инструкции Select). Этот способ применяется для программирования оригинальных, сложных, более профессиональных запросов.

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

Вход в окно Конструктора или Мастера запросов возможен из окна базы данных, открытой на вкладке запрос. Кнопка создать дает и возможность выбрать, какой тип запроса нужно создать и каким путем.

Запрос на выборку является наиболее распространенным типом запроса. В таком запросе по условиям, задаваемым пользователем, извлекаются данные из одной или нескольких таблиц, и результаты отображаются в режиме таблицы. Допускается изменение записей (при некоторых ограничениях). Кроме того, запросы на выборку используются для группировки записей (объединение записей в группу), а также для вычисления (сумм, средних значений, подсчета количества записей и др.) и расчета итоговых значений разных типов. Результаты запроса на выборку не сохраняются СУБД в виде новых таблиц, а всякий раз выполняются вновь, сохраняется только “инструкция” в виде заполненного бланка запроса. Этим достигается актуальность результатов запроса: используются последние данные, сохраненные в базе данных.

 Запрос на изменения является запросом, который позволяет в одной операции внести изменения во многие записи. Существует четыре типа запросов на изменение: 1) Запрос на создание таблицы;2) Запрос на удаление записей; 3) Запрос на добавление записей; 4) Запрос на обновление записей. При использовании таких запросов нужна осторожность, есть опасность порчи данных.

Формулировки для критериев отбора

Условия отбора - это инструкции, которые позволяют сообщить MS Access, с какими записями предстоит работать. Инструкции эти должен дать программе пользователь.

Рассмотрим на примере базы данных некоторые из множества возможных информационных потребностей Президента фирмы “Антилопа” и их удовлетворение с помощью запросов.

 Бизнес “Антилопы” процветает.  Президент решил проверить, какая продукция лучше продавалась клиентам из Парижа и Лондона в течение последнего месяца - рога или копыта? От этого зависит решение о расширении того или иного из производств-цехов, а также о целесообразности закупки у поставщиков определенного вида сырья.

Рассмотрим две таблицы базы данных: Заказы и Клиенты, которые рассматривались выше.         

На языке базы данных предстоит сделать следующее:

* надо выбрать интервал времени - допустим, январь 1999 года, и из этих таблиц рассматривать только те записи, которые по полю  Дата продажи удовлетворяют условию: не ранее 1.01.99 и не позднее 31.01.99

* надо выбрать только те записи, у которых в поле Город записано “Париж” или “Лондон”.

* надо выбрать только те записи, у которых в поле Код товара указано “рога” и подсчитать для этих записей сумму значений в поле Заказано (сколько).

* надо выбрать только те записи, у которых в поле Код товара указано “копыта” и подсчитать для этих записей сумму значений в поле Заказано (сколько).

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

Условия отбора для одного или нескольких полей вводятся в бланке запроса следующим образом:

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

2.  Вводится выражение с клавиатуры (или с помощью Построителя выражений). Для того чтобы открыть окно Построителя выражений, указатель устанавливается на ячейку условия отбора, и выбирается  команда Построить (можно правой кнопкой мыши). В данном случае диапазон дат можно задать многими способами, в том числе  используя знаки <= не более и  => не менее, после которых указывается дата, или  Построить, выбирая там оператор Between и занося границы для дат в шаблон оператора.

3.  Выбирается ячейка строки условие отбора в столбце следующего  поля, для которого задается условие отбора. В данном случае это поле Город из таблицы Клиенты. В ячейке записывается “Париж”, а в следующей стоке “или” указывается “Лондон”.

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

5. Для поля Заказано  нужна итоговая сумма значений этого поля для записей, выбранных в пп.1-4. Для этого следует для выбранной группы записей определить Групповую операцию (меню Вид). В бланке появится строка Групповая операция. Из предлагаемого списка групповых операций выбрать Sum (суммирование).

6.  Осталось запустить запрос на исполнение, только после этого можно увидеть результат его выполнения. 

Замечания:

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

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

3. В базах данных вычисления производятся, как правило,  в режиме запроса (есть и другие возможности). Отметим, что базы данных более приспособлены производить вычисления, оперируя с записями (то есть по столбцам). По существу базы данных - наборы именно записей. Есть некоторые возможности оперировать в вычислениях с отдельными полями одной или нескольких записей (по строкам), однако набор действий при этом очень незначителен. В случае необходимости именно таких вычислений следует экспортировать таблицу с данными в MS Exel (или связать) и там произвести эти более сложные вычисления.

4. Если таблицы не связаны, связь устанавливается в окне Конструктора. Но это уже другой вид связи - внешние соединения. Этот тип соединений используется гораздо реже, чем внутренние, устанавливаемые в окне Схема данных.  При создании внешней связи (включающей) берутся все записи из первой таблицы и только те записи из второй, которые совпадают по значениям данного (связывающего) поля с первой из таблиц. Тогда при связывании двух таблиц по одному и тому же полю результат зависит от того, какая из них будет главной (все записи), а какая подчиненной.

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

Создание и использование форм

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

Кнопки создаются в формах  для управления отдельными объектами. Каждой создаваемой пользователем кнопке программой ставится в соответствие определенное действие, которое совершается при ее нажатии. Для создания кнопок (и других элементов - флажков, переключателей, выключателей)  в MS Access можно также пользоваться Мастером и Конструктором.

Формы могут, в отличие от таблиц, содержать графический материал в виде рисунков, диаграмм. Графические объекты могут быть свободными и присоединенными. Присоединенные объекты хранятся в таблице (данные о них). Тогда при переходе по записям изображение меняется. Именно так можно в базе данных просматривать фотографии сотрудников фирмы “Антилопа”. Свободный объект - часть структуры формы. Например, эмблема (или торговая марка)  фирмы может присутствовать на всех формах базы данных.

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

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

Отчеты

Отчет - представление данных в специальных форматах, выводимые на экран, принтер или файл.

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

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

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

Перед созданием отчета средствами MS Access нужно решить для себя следующие вопросы:

 

· С какой целью создается отчет?

· Какая конкретно информация потребуется, из каких таблиц?

· Какую форму представления документа нужно получить?

· Потребуется ли группировать данные?

Желательно, особенно при отсутствии практических навыков работы с Конструктором отчетов, нарисовать макет (эскиз) будущего отчета на бумаге, примерно увидеть расположение отдельных элементов и их взаимосвязь.

Отчет может содержать и информацию в виде диаграмм, отображающую содержание таблиц базы данных в  графической форме  (если на компьютере установлен пакет MS Graрh 5.0).

Всего в MS Access выделяют (кроме написания программного модуля) следующие способы создания отчета:

1. С помощью выбора в меню Вставка /Автоотчет. Это простейший  из   способов, в отчете присутствуют все поля таблицы, они со своими именами из таблиц образуют две отдельные вертикальные колонки.

2. Автоотчет в столбец - создается из окна базы данных на вкладке Отчеты кнопкой Создать . Внешний вид отчета такой же, как в п.1.

3. Ленточный автоотчет - создается как в п.2, но с выбором строки Ленточный автоотчет.

4. Отчет с диаграммой - создается как в пп.2, 3, но выбором строки Мастер Диаграмм

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

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

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

Импорт и связывание данных

При работе с базой данных может представиться возможность и необходимость дополнить БД новыми данными из какого-то внешнего источника. Этим источником может быть другая база данных с СУБД MS Access, электронная таблица MS Exel, база данных с другой СУБД  и  документы других форматов.

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

Между импортом данных и связыванием есть существенная разница.  При импорте данных создается копия этих данных в новой таблице текущей базы данных. Исходная таблица (или файл c данными)  при этом не изменяется (источник остается без изменений). Связывание данных позволяет читать и обновлять данные непосредственно во внешнем источнике данных без их импорта. Формат внешних источников данных не меняется, поэтому файл можно продолжать использовать и  в программе, в которой он был создан, но при этом появляется возможность добавлять, удалять или изменять его данные в MS Access.

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

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

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

В MS Access для обозначения связанных таблиц и таблиц, хранящихся в текущей базе данных, используются разные значки. Значок, обозначающий связанную таблицу, выводится в окне базы данных вместе со значками таблиц текущей базы данных, поэтому такую таблицу можно открывать в любое удобное время. Таблицы из исходных баз данных разных типов СУБД представляются различными значками. Если удалить значок связанной таблицы, удаляется связь с таблицей, но не сама внешняя таблица.

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

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

Для импорта или связывания таблиц в открытую базу данных MS Access из базы данных MS Access, следует выбрать в меню Файл команду Внешние данные и подкоманду Импорт, для связывания таблиц - подкоманду Связь с таблицами. В диалоге, который ведется с пользователем с помощью окон, следует проявлять внимание: в поле со списком Тип файла должно быть выбрано значение “MS Access (.mdb)”. Кнопкой раскрытия списка в поле со списком Папка, нужно выбрать диск и папку, в которой находится база данных (.mdb) MS Access, из которой выполняется импорт.

 Литература

1.  Синева Н.Ф., Иноземцев В.К. Технология проектирования многотабличных баз данных для организационного управления. Саратов: Сарат.гос.техн.ун-т.1998

2. Ревунков В.И. и др. Базы и банки данных и знаний.  М.: Высш. шк. 1992.

3. Каратыгин С.А. Access 97 (серия “Без проблем!” ). М: Восточная Книжная Компания, 1997.

4. Фролов Г.Д., Кузнецов Э.И. Элементы информатики. М.: Высш. шк., 1989.

 

Наверх страницы

Внимание! Не забудьте ознакомиться с остальными документами данного пользователя!

Соседние файлы в текущем каталоге:

    На сайте уже 21970 файлов общим размером 9.9 ГБ.

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

    Не нашли нужный документ? Воспользуйтесь поиском по содержимому всех файлов сайта:



    Каждый день, проснувшись по утру, заходи на obmendoc.ru

    Товарищ, не ленись - делись файлами и новому учись!

    Яндекс.Метрика