Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

тематизированных таким образом чтобы эти материалы могли быть найдены и обработаны с помощью электронно

Работа добавлена на сайт samzan.net: 2015-07-10

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 19.5.2024

1.Понятие БД и СУБД, их назначение. Классификация СУБД. Типы моделей данных в СУБД и их особенности.

Ба́за да́нных — представленная в объективной форме совокупность самостоятельных материалов (статей, расчётов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ).

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

Систе́ма управле́ния ба́зами да́нных (СУБД) — совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных[1].

По модели данных

Примеры:

  •  Иерархические
  •  Сетевые
  •  Реляционные
  •  Объектно-ориентированные
  •  Объектно-реляционные

По степени распределённости

  •  Локальные СУБД (все части локальной СУБД размещаются на одном компьютере)
  •  Распределённые СУБД (части СУБД могут размещаться на двух и более компьютерах).

По способу доступа к БД

  •  Файл-серверные

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

На данный момент файл-серверная технология считается устаревшей, а её использование в крупных информационных системах — недостатком[2].

Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.

  •  Клиент-серверные

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

Примеры: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Caché, ЛИНТЕР.

  •  Встраиваемые

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

Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, ЛИНТЕР.

2.Функции СУБД. Архитектура  Access.Краткая характеристика объектов Access. Требования к информации  в Access.

Основные функции СУБД

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

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

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

АРХИТЕКТУРА MICROSOFT ACCESS

Microsoft Access называет объектами все, что может иметь имя (в смысле Access). В базе данных Access основными объектами являются таблицы, запросы, формы, отчеты, макросы и модули. 
Если вы на своем компьютере использовали другие СУБД, то, возможно, заметили, что термин база данных обычно относился только к файлам, в которых вы хранили данные. В Microsoft Access база данных включает в себя все объекты, связанные с хранимыми данными, в том числе и те, которые вы определяете для автоматизации работы с ними. Ниже приведен список основных объектов базы данных Access.

Таблица

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

Запрос

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

Форма

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

Отчет

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

Макрос

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

Модуль

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

В таблицах хранятся данные, которые вы можете извлекать с помощью запросов. Используя формы, вы можете выводить данные на экран или изменять их. Заметим, что формы и отчеты могут использовать данные непосредственно из таблиц или через запросы. Для выполнения нужных вычислений и преобразования данных запросы могут использовать встроенные функции или функции, написанные в Microsoft Visual Basic. События, связанные с формами или отчетами, могут запускать макросы или функции и процедуры Visual Basic. Что такое "событие"? Событие -это любое изменение состояния объекта Microsoft Access. Например, событием является открытие формы, закрытие формы, ввод новой строки в форму, изменение содержимого текущей записи или элемента управления (объекта формы или отчета, который может содержать данные). Для обработки события вы можете создать макрос или процедуру Visual Basic. Вы даже можете предусмотреть реакцию на нажатие пользователем определенных клавиш во время ввода данных!

3.Запуск Access .Элементы окна БД. Порядок создания БД. Способы создания таблиц.

На этом шаге мы рассмотрим способы запуска Access и открытие уже созданных баз данных.

    Запустить Access можно несколькими способами:

  •  Пуск => Программы => Microsoft Office (может отсутствовать) =>Microsoft Access;
  •  Если на экране находится панель Microsoft Office, то достаточно нажать кнопку, соответствующую Access.

Порядок загрузки Access можно увидеть здесь, а взять клип здесь.

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

Окно базы данных обеспечивает широкие возможности просмотра и управления объектами базы данных.

  •  панель инструментов окна базы данных позволяет быстро находить команды для создания, открытия или управления объектами базы данных;
  •  кнопка 'Объекты' служит для просмотра объектов базы данных на панели Объектов, вертикальная ориентация которой удобна для использования;
  •  кнопка 'Группы' служит для просмотра групп, в которые можно включать ярлыки объектов базы данных различных типов;
  •  ярлыки - режимы создания используются для быстрого создания объектов базы данных с помощью 'Мастера' или для открытия новых объектов в режиме 'Конструктора' из окна базы данных;
  •  в строке состояния отображается состояние объекта.

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

В Microsoft Access поддерживаются три метода создания Базы данных Access.

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

Создание базы данных с помощью мастера

  •  При использовании Microsoft Access 2003, можно выполнить поиск шаблонов Access на веб-узле <Office Online>. Загрузка шаблона — это самый быстрый способ создания базы данных. Если удалось найти шаблон, полностью удовлетворяющий требованиям, используйте метод, описанный выше. Шаблон представлен файлом Access (*.mdb) и содержит таблицы, запросы, формы и отчеты. Таблицы не содержат данных. После открытия базы данных можно настроить ее и ее объекты.

Создание базы данных с помощью шаблона

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

Создание пустой базы данных без помощи мастера

Последующие действия

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

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

Способы создания таблиц.

Создание новой таблицы в новой базе данных

  1.  Нажмите кнопку Microsoft Office , а затем выберите команду Создать.
  2.  В поле Имя файла введите имя файла. Чтобы изменить его расположение, щелкните значок папки для выбора нужной папки.
  3.  Нажмите кнопку Создать

Откроется новая база данных, в которой будет создана и открыта в режиме таблицы новая таблица с именем «Таблица1».

Создание новой таблицы в существующей базе данных

  1.  Нажмите кнопку Microsoft Office , а затем выберите команду Открыть.
  2.  В диалоговом окне Открытие файла базы данных выберите и откройте базу данных.
  3.  На вкладке Создание в группе Таблицы щелкните Таблица.

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

 К НАЧАЛУ СТРАНИЦЫ

Создание таблицы на основе шаблона таблицы

Для создания таблиц «Контакты», «Задачи», «Вопросы», «События» и «Основные фонды» можно использовать шаблоны таблиц, которые включены в Office Access 2007. Шаблоны таблиц совместимы со списками Windows SharePoint Services 3.0 с теми же именами.

  1.  Нажмите кнопку Microsoft Office , а затем выберите команду Открыть.
  2.  В диалоговом окне Открытие файла базы данных выберите и откройте базу данных.
  3.  На вкладке Создание в группе Таблицы щелкните Шаблоны таблицы и затем выберите из списка один из доступных шаблонов.

Будет вставлена новая таблица на основе выбранного шаблона таблицы.

 К НАЧАЛУ СТРАНИЦЫ

Использование импорта или связи для создания таблицы

Для создания таблицы можно использовать импорт данных, сохраненных в другом месте, или связь с ними. Например, можно использовать импорт данных или связь с данными электронной таблицы Excel, списка SharePoint, файла XML, другой базы данных Access, папки Microsoft Office Outlook 2007 и ряда других источников. При импорте данных в новой таблице текущей базы данных создается копия этих данных. Напротив, при использовании связи с данными в текущей базе данных создается таблица, динамически связанная с данными, хранящимися в другом месте. Таким образом, данные, изменяемые в связанной таблице, изменяются и в источнике исходных данных (за некоторыми исключениями, см. примечание ниже). Когда данные в источнике изменяются с помощью другой программы, это изменение будет отображаться и в связанной таблице. 

 ПРИМЕЧАНИЕ.   В некоторых случаях нельзя внести изменения в источник данных с помощью связанной таблицы, это в первую очередь касается такого источника данных, как лист Excel.

Создание новой таблицы с помощью импорта внешних данных или связи с ними

  1.  Для использования существующей базы данных в меню Файл выберите команду Открыть.
  2.  В диалоговом окне Открытие файла базы данных выберите и откройте базу данных.
  3.  Для создания новой базы данных в меню Файл выберите команду Создать.
    •  В текстовом поле Имя файла введите имя файла. Для изменения расположения щелкните значок папки.
    •  Нажмите кнопку Создать.

Откроется новая база данных, в которой будет создана и открыта в режиме таблицы новая таблица с именем «Таблица1».

  1.  На вкладке Внешние данные в группе Импорт выберите один из доступных источников данных.

  1.  Следуйте инструкциям в диалоговых окнах.

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

 ПРИМЕЧАНИЕ.   Кроме того, можно импортировать список SharePoint или связать с ним таблицу, выбрав соответствующую команду на вкладке Создание. Подробные инструкции см. в следующем разделе.

 К НАЧАЛУ СТРАНИЦЫ

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

Для создания таблицы базы данных можно использовать импорт списка SharePoint или связь с ним. Если такой список уже существует, его можно импортировать или создать связь с ним. Можно также создать новый настраиваемый список или новый список на основе встроенного шаблона. В Office Access 2007 включены следующие встроенные шаблоны: «Контакты», «Задачи», «Вопросы» и «События».

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

  1.  Нажмите кнопку Microsoft Office , а затем выберите команду Открыть.
  2.  В диалоговом окне Открытие файла базы данных выберите и откройте базу данных.
  3.  На вкладке Создание в группе Таблицы щелкните Списки SharePoint.

4.Таблицы.Создание проекта (спецификации) таблицы в режиме Конструктора .

Создание структуры таблицы в режиме Конструктора

 

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

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

Рис. 4.7

При вводе типов данных и свойств полей пользователю необходимо применять раскрывающиеся списки (Рис. 4.7).

         В таблице «Диски» ключевым полем является Код диска.Чтобы это поле стало ключевым, достаточно в режимеКонструктора поместить курсор в выбранное поле  и нажать кнопку Ключевое поле    на панели Базы данных или выполнить команды меню  Правка ® Ключевое поле. Если необходимо определить сразу несколько ключевых полей, то следует выделить нужные строки и нажать кнопку Ключевое поле. Повторные аналогичные действия отменяют признак ключевого поля.

СУБД Access допускает использование различных типов данных. Основные типы данных, их описание, некоторые подтипы или форматы приведем в таблице.

 

Тип данных

Описание типа данных

Подтипы, форматы, размеры

Числовой

Содержит произвольные числовые значения

Текстовый

Текстовые, числовые данные, не требующие вычислений

Длина поля не превосходит 255 символов.

Поле MEMO

Текстовые данные большого объема.

Длина поля не превосходит 65 535 символов.

Дата/время

Представление даты и времени

Денежный

Числовые денежные значения

Логический

Логические значения

Гиперссылка

Ссылка на некоторый документ или файл

 

Объект OLE

Документы различных типов, подготовленные вWord, Excel, точечные рисунки и др.

 

Назначение поля  Счетчик уже рассматривалось нами ранее.   

         После завершения описания таблицы она сохраняется с помощью цепочки команд: Файл®Сохранить как®указать имя таблицы, например Диски®Ок. Созданные в Мастере таблица «Клиенты» и в Конструкторе таблица «Диски» добавляются в окно Базы данных, как показано на рис. 4.8.

5.Поля:Типы полей и их характеристика свойства полей и их назначение.

Определение полей таблицы

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

На вкладке Подстановка в раскрывающемся списке свойства Тип элемента управления выбирается одно из значений Поле, Список или Поле со списком.

Имена полей и тип данных

  •  Имя поля. Каждое поле в таблице должно иметь уникальное имя, удовлетворяющее соглашениям об именах объектов в Access. Оно является комбинацией из букв, цифр, пробелов и специальных символов, за исключением точки (.), восклицательного знака ('), надстрочного знака (') и квадратных скобок ([ ]). Имя не может начинаться с пробела и содержать управляющие символы с кодами ASCII от 00 до 31. Максимальная длина имени — 64 символа.
  •  Тип данных. Тип данных определяется значениями, которые предполагается вводить в поле, и операциями, которые будут выполняться с этими значениями. В Access допускается использование девяти типов данных Раскрывающийся список возможных типов данных вызывается нажатием кнопки списка при выборе типа данных каждого поля :
    •  Текстовый — тип данных по умолчанию. Текст или цифры, не участвующие в расчетах. Число символов в поле не должно превышать 255. Максимальное число символов, которое можно ввести в поле, задается в свойстве Размер поля. Пустые символы в неиспользуемой части поля не сохраняются.
    •  Поле MEMO Длительный текст, например, некоторое описание или примечание. Максимальная длина — 65 535 символов.
    •  Числовой. Числовые данные, используемые в математических вычислениях. Конкретные варианты числового типа и их длина задаются в свойстве Размер поля. Поле может иметь размер 1, 2, 4 или 8 байт (16 байт— только если для свойства Размер поля задано значение Код репликации). Для проведения денежных расчетов определен другой тип данных — Денежный
    •  Денежный. Денежные значения и числовые данные, используемые в расчетах, проводящихся с точностью до 15 знаков в целой и до 4 знаков — в дробной части. Длина поля 8 байт. При обработке числовых значений из денежных полей выполняются вычисления с фиксированной точкой (более быстрые, чем вычисления для полей с плавающей точкой). Кроме того, при вычислениях предотвращается округление. Учитывая эти обстоятельства, применительно к полям, в которых планируется хранить числовые значения с указанной точностью, рекомендуется использовать денежный тип данных.
    •  Дата/время. Значения даты или времени, относящиеся к годам с 100 по 9999 включительно Длина поля 8 байт
    •  Счетчик. Тип данных поля, в которое для каждой новой записи автоматически вводятся уникальные последовательно возрастающие (на 1) целые числа или случайные числа. Значения этого поля нельзя изменить или удалить. Длина поля: 4 байта для длинного целого, для кода репликации — 16 байт. По умолчанию в поле вводятся последовательные значения. В таблице не может быть более одного поля этого типа. Используется для определения уникального ключа таблицы
    •  Логический. Логические данные, которые могут иметь одно из двух возможных значений: Да/Нет, Истина/Ложь, Вкл./Выкл. Длина поля 1 бит.
    •  Поле объекта OLE. Объект (например, электронная таблица Microsoft Excel, документ Microsoft Word, рисунок, звукозаписи или другие данные и двоичном формате), связанный или внедренный и таблицу Access. Длина поля — не более 1 Гбайт (ограничивается объемом диска).
    •  Гиперссылка. Адрес гиперссылки, включающий путь к файлу на жестком диске в локальной сети (в формате UNC) или адрес страницы в Internet или intranet (URL). Кроме того, адрес может включать текст, выводимый в поле или в элементе управления, дополнительный адрес — расположение внутри файла или страницы,подсказку - текст, отображаемый в виде всплывающей подсказки. Если щелкнуть мышью на поле гиперссылки, Access выполнит переход на соответствующий объект, документ, Web-страницу или другое место назначения. Длина каждой из частей гиперссылки — не более 2048 знаков. Для полей типа OLE, MEMO и Гиперссылка не допускается сортировка и индексирование.
    •  Мастер подстановок. Выбор этого типа данных запускает мастера подстановок. Мастер строит для поля список значений на основе полей из другой таблицы. Значения в такое поле будут вводиться из списка. Соответственно, фактически тип данных поля определяется типом данных поля списка. Возможно также определение поля со списком постоянных значений.


Общие свойства задаются для каждого поля на вкладке Общие и зависят от выбранного типа данных.

1. Размер поля задает максимальный размер сохраняемых в поле данных.

Для поля с типом данных Текстовый задается размер от 1 до 255 знаком (по умолчанию — 50 знаков).

Для поля с типом данных Счетчик можно задать:

а) Длинное целое— 4 байта:

б) Код репликации— 16 байт.

Для поля с типом данных Числовой можно задать:

в) Байт (для целых чисел от 0 до 255, длина поля 1 байт);

г) Целое (для целых чисел от -32 768 до +32 767, занимает 2 байта);

д) Длинное целое (для целых чисел от -2 147 483 648 до +2 147 483 647, занимает 4 байта);

е) Дробные с плавающей точкой 4 байта (для чисел от —3,4хЮ38 до +3,4х1038 с точностью до 7 знаков);

ж) Дробные с плавающей точкой 8 байт (для чисел от -1,797хЮ308 до +1,797хЮ308 с точностью до 15 знаков);

з) Действительное (для целых чисел от -1038-1 до 1038-1 при работе с проектами, которые хранятся в файлах типа1 ADP, и от -1028-1 до 1028-1 — для файлов типа MDB, с точностью до 28 знаков, занимает 12 байт);

и) Код репликации. Глобальный уникальный идентификатор, занимает 16 байт. Поля такого типа используются Access для создания системных уникальных идентификаторов реплик, наборов реплик, таблиц, записей и других объектов при репликации баз данных.

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

2. Формат поля является форматом отображения заданного типа данных и задает правила представления данных при выводе их на экран или печать.

В Access определены встроенные стандартные форматы отображения для полей с типами данных Числовой, Дата/время, Логический и Денежный. Ряд этих форматов совпадает с настройкой национальных форматов, определяемых в окне Язык и стандарты панели управления Microsoft Windows. Пользователь может создать собственный формат для всех типов данных, кроме OLE, с помощью символов форматирования.

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

3. Число десятичных знаков задает для числового и денежного типов данных число знаков после запятой. Можно задать число от 0 до 15. По умолчанию (значение Авто) это число определяется установкой в свойстве Формат поля. Следует иметь в виду, что установка этого свойства не действует, если свойство Формат поля не задано или если выбрано значение Основной. Свойство Число десятичных знаков влияет только на количество отображаемых на экране десятичных знаков и не влияет на количество сохраняемых знаков. Для изменения числа сохраняемых знаков необходимо изменить свойство Размер поля.

4. Подпись поля задает текст, который выводится в таблицах, формах, отчетах.

5. Значение по умолчанию определяет текст или выражение, которое автоматически вводится в поле при создании новой записи. Например, если задано значение =now (), то в поле будет введена текущая дата и время. При добавлении записи в таблицу можно оставить значение, введенное по умолчанию, или ввести другое. Свойство Значение по умолчанию используется только при создании новой записи. Изменение значения свойства не влияет на существующие записи. Максимальная длина значения свойства составляет 255 знаков. Данное свойство не определено для полей с типом данных Счетчик или Поле объекта OLE.

6. Условие на значение позволяет осуществлять контроль ввода, задает ограничения на вводимые значения, запрещает ввод при нарушении условий и выводит текст, заданный свойством Сообщение об ошибке.

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


На вкладке Подстановка в окне конструктора таблиц задается свойство Тип элемента управления. Это свойство определяет, будет ли отображаться поле в таблице и в форме в виде:

  •  Поля;
  •  Списка;
  •  Поля со списком.

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

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

6.Понятие и назначение индексов. Виды индексов. Операции над индексами: создание,удаление,добавление и сохранение индексов.

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

Некоторые СУБД расширяют возможности индексов введением возможности создания индексов по столбцам представлений[1] или индексов по выражениям.[2] Например, индекс может быть создан по выражению upper(last_name) и соответственно будет хранить ссылки, ключом к которым будет значение поля last_name в верхнем регистре. Кроме того, индексы могут быть объявлены как уникальные и как не уникальные. Уникальный индекс реализует ограничение целостности на таблице, исключая возможность вставки повторяющихся значений.

Существует два типа индексов: кластерные и некластерные.

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

Индексы могут быть реализованы различными структурами. Наиболее частоупотребимы B*-деревья, B+-деревья, B-деревья и хеши.

Создание и использование индексов

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

Однако применение индексов приносит не только преимущества, но и недостатки. Главным среди них является тот, что при добавлении и удалении записей или при обновлении значений в индексном столбце требуется обновлять индекс, что при большом количестве индексов в таблице может замедлять работу. Поэтому индексы обычно рекомендуется создавать только для тех столбцов таблицы, по которым наиболее часто выполняется поиск записей. Во многих СУБД (например, FoxPro) индексы хранятся в отдельных файлах и являются предметом заботы разработчиков, т. к. при нарушении индекса поиск данных выполняется некорректно. В Microsoft Access индексы хранятся в том же файле базы данных, что и таблицы и другие объекты Access. Индексировать можно любые поля, кроме МЕМО-полей, полей типа Гиперссылка и объектов OLE.

Чтобы создать простой индекс, необходимо:

  1.  Открыть таблицу в режиме Конструктора.
  2.  Выбрать поле, для которого требуется создать индекс.
  3.  Открыть вкладку Общие (General) и выбрать для свойства Индексированное поле (Indexed) значение Да (Допускаются совпадения) (Yes (Duplicates OK)) или Да (Совпадения не допускаются) (Yes (No duplicates)) (рис. 2.24).


Рис. 2.24. Установка индекса для поля

Ключевое поле таблицы автоматически индексируется и свойству Индексированное поле (Indexed) присваивается значение Да (Совпадения не допускаются) (Yes (No duplicates)).

Составной индекс создается в специальном диалоговом окне. Чтобы создать составной индекс, необходимо:

  1.  Открыть таблицу в режиме Конструктора.
  2.  На панели инструментов Конструктор таблиц (Table Design) нажать кнопку Индексы (Indexes.)
  3.  В первой пустой строке (рис. 2.25) поля Индекс (Index Name) ввести имя индекса.


Рис. 2.25. Диалоговое окно Индексы

  1.  В поле Имя поля (Field Name) нажать на стрелку и выбрать первое поле, для которого необходимо создать индекс.
  2.  В следующей строке поля Имя поля (Field Name) указать второе индексируемое поле. (Для данной строки поле Индекс (Index Name) должно оставаться пустым.) Повторите эту операцию для всех полей, которые необходимо включить в индекс. В индексе может быть использовано до 10 полей

Замечание

По умолчанию устанавливается порядок сортировки По возрастанию (Ascending). Для сортировки данных полей по убыванию в поле Порядок сортировки (Sort Order) в окне индексов укажите значение По убыванию (Descending).

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

  •  название индекса в поле Индекс (Index Name);
  •  поле таблицы, соответствующее данному индексу, выбрав новое поле из списка в поле Имя поля (Field Name);
  •  порядок сортировки в поле Порядок сортировки (Sort Order); П свойства данного индекса в нижней части окна (рис. 2.26):
    •  Ключевое поле (Primary) определяет, является ли индексированное поле ключевым;
    •  Уникальный индекс (Unique) определяет, должно ли быть каждое значение в этом поле уникальным;
    •  Пропуск пустых полей (Ignore Nulls) определяет, включаются или не включаются в индекс записи с пустым (Null) значением данного поля.


Рис. 2.26. Диалоговое окно индексов для таблицы "Клиенты"

Удаление индекса выполняется точно так же, как удаление поля в Конструкторе таблиц. Просто выделите строку с нужным индексом и нажмите клавишу <Delete> или воспользуйтесь контекстным меню.

7.Понятие ключевого поля. Виды и способы  создания ключа в таблице. Установка связей между таблицами.

Определение ключевых полей

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

В Microsoft Access можно выделить три типа ключевых полей: счетчик, простой ключ и составной ключ. Рассмотрим каждый из этих типов.

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

  1.  Включить в таблицу поле счетчика.
  2.  Задать для него автоматическое увеличение на 1.
  3.  Указать это поле в качестве ключевого путем нажатия на кнопку Ключевое поле (Primary Key) на панели инструментов Конструктор таблиц (Table Design).

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

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

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

  1.  Открыть таблицу в режиме Конструктора.
  2.  Выделить поля, которые необходимо определить как ключевые.
  3.  Нажать кнопку Ключевое поле (Primary Key) на панели инструментов Конструктор таблиц (Table Design).

Замечание

Для составного ключа существенным может оказаться порядок образующих ключ полей. Сортировка записей осуществляется в соответствии с порядком ключевых полей в окне Конструктора таблицы. Если необходимо указать другой порядок сортировки без изменения порядка ключевых полей, то сначала нужно определить ключ, а затем нажать кнопку Индексы (Indexes) на панели инструментов Конструктор таблиц (Table Design). Затем в появившемся окне Индексы (Indexes) нужно указать другой порядок полей для индекса с именем Ключевое поле (Primary Key).

Рассмотрим в качестве примера применения составного ключа таблицу "Заказано" (OrderDetails) базы данных (Northwind) (рис. 2.23).

В данном случае в качестве составного ключа используются поля "Код заказа" (OrderlD) и "КодТовара" (ProductID), т. к. ни одно из этих полей в отдельности не гарантирует уникальность записи. При этом в таблице выводится не код товара, а наименование товара, т. к. поле "КодТовара" (ProductID) данной таблицы содержит подстановку из таблицы "Товары" (Products), а значения полей "КодТовара" (ProductID) этих таблиц связаны отношением "один-ко-многим" (одной записи таблицы "Товары" (Products) может соответствовать несколько записей таблицы "Заказано" (OrderDetails)). Оба поля могут содержать повторяющиеся значения. Так, один заказ может включать в себя несколько товаров, а в разные заказы могут включаться одинаковые товары. В то же время сочетание полей "КодЗаказа" (OrderlD) и "КодТовара" (ProductID) однозначно определяет каждую запись таблицы "Заказы" (OrderDetails).

Чтобы изменить ключ, необходимо:

  1.  Открыть таблицу в режиме Конструктора.
  2.  Выбрать имеющиеся ключевые поля.
  3.  Нажать на кнопку Ключевое поле (Primary Key), при этом кнопка должна принять положение Выкл., а из области выделения должны исчезнуть значки ключевого поля.
  4.  Выбрать поле, которое необходимо сделать ключевым.
  5.  Нажать на кнопку Ключевое поле (Primary Key). При этом в области выделения должен появиться значок ключевого поля.


Рис. 2.23. Пример таблицы с использованием составного ключа

Чтобы удалить ключ, необходимо:

  1.  Открыть таблицу в режиме Конструктора.
  2.  Выбрать имеющееся ключевое поле (ключевые поля).
  3.  Нажать на кнопку Ключевое поле (Primary Key), при этом кнопка должна принять положение Выкл., а из области выделения должен исчезнуть значок (значки) ключевого поля.

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

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

Связи "один ко многим"

Связь "один ко многим" - наиболее распространенный вид связи. При такой связи каждой строке таблицы А может соответствовать множество строк таблицы Б, однако каждой строке таблицы Б может соответствовать только одна строка таблицы А. Например, между таблицами "Издатели" и "Книги" установлена связь "один ко многим": каждый из издателей может опубликовать множество книг, однако каждая книга публикуется лишь одним издателем.

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

В Microsoft Access сторона связи "один ко многим", которой соответствует первичный ключ, обозначается символом ключа. Сторона связи, которой соответствует внешний ключ, обозначается символом бесконечности.

Связи "многие ко многим"

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

Связи "один к одному"

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

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

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

В Microsoft Access сторона связи "один к одному", которой соответствует первичный ключ, обозначается символом ключа. Сторона связи, которой соответствует внешний ключ, также обозначается символом ключа.

Целостность данных

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

  •  Связываемое поле из главной таблицы является первичным ключом или имеет однозначный индекс.
  •  Связываемые поля должны иметь одинаковый тип данных. Существует два исключения. Поле типа "Счетчик" может быть связано с числовым полем, если для свойства FieldSize у него установлено значение "Длинное целое"; кроме того, можно связать поле "Счетчик" с числовым полем, если у них обоих для свойства FieldSize задано значение "Код репликации".
  •  Обе таблицы принадлежат к одной и той же базе данных Microsoft Access. Если таблицы связаны, то они должны иметь формат Microsoft Access, а для настройки целостности данных необходимо открыть ту базу данных, в которой они хранятся. Обеспечить целостность данных для таблиц, находящихся в базах данных другого формата, невозможно.

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

  •  Невозможно присвоить полю внешнего ключа связанной таблицы значение, отсутствующее в списке значений первичного ключа главной таблицы. При этом можно задать для внешнего ключа пустое значение (Null), указав, что записи не связаны. Например, нельзя создать заказ для несуществующего клиента, но можно создать заказ, не присвоенный ни одному из клиентов, задав для поля "Клиент" пустое значение.
  •  Невозможно удалить запись из главной таблицы, если в связанной таблице есть соответствующие ей записи. Например, нельзя удалить запись сотрудника из таблицы "Сотрудники", если ему назначены заказы в таблице "Заказы".
  •  Невозможно изменить значение первичного ключа в главной таблице, если с данной записью связаны другие записи. Например, нельзя изменить ИД сотрудника в таблице "Сотрудники", если ему назначены заказы в таблице "Заказы".

Каскадные обновления и удаления

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

Если в процессе создании связи установить флажок каскадное обновление связанных полей, то при любом изменении значения первичного ключа записи в главной таблице Microsoft Access автоматически обновит значение соответствующего поля во всех связанных записях. Например, при изменении ИД клиента в таблице "Клиенты" поле "Клиент" в таблице "Заказы" автоматически обновится для всех заказов этого клиента, чтобы сохранить связь. Microsoft Access выполнит каскадное обновление без вывода дополнительных сообщений. 

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

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

Типы соединений

Ниже перечислены существующие типы соединений.

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

Вариант 2 - левое внешнее соединение. Левое внешнее соединение - это соединение, при котором все записи таблицы по левую сторону от оператора LEFT JOIN (левое объединение) инструкции SQL попадают в результаты запроса даже в том случае, если в связанном поле из правой таблицы отсутствуют соответствующие значения. 

Вариант 3 - правое внешнее соединение. Правое внешнее соединение - это соединение, при котором все записи таблицы по правую сторону от оператора RIGHT JOIN (правое объединение) инструкции SQL попадают в результаты запроса даже в том случае, если в связанном поле из левой таблицы отсутствуют соответствующие значения.

9.Понятие запроса. Классификация  запросов. Связь языков SQL и QBE.Типы запросов QBE .Структура бланка запроса. Порядок создания простого запроса.

Создание (формирование) запросов

Запрос (query) – это средство выбора необходимой информации из базы данных. Вопрос, сформированный по отношению к базе данных, и есть запрос. Применяются два типа запросов: по образцу (QBE – Query by example) и структурированный язык запросов (SQL – Structured Query Language).

QBE - запрос по образцу – средство для отыскания необходимой информации в базе данных. Он формируется не на специальном языке, а путем заполнения бланка запроса в окне Конструктора запросов.

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

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

2.4.4.1. Создание запроса на выборку с помощью Мастера

При создании query необходимо определить:

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

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

  Перечень полей в результате выполнения запроса

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


 

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

Затем в окне Мастера надо выбрать подробный или итоговый отчет и щелкнуть на кнопке Далее. После этого необходимо задать имя запроса и выбрать один из вариантов дальнейшего действия: Открыть query для просмотра данных или Изменить макет запроса и нажать кнопку Готово. В результате чего получите готовый query.

2.4.4.2. Создание запроса на выборку с помощью Конструктора

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

  Простой

  По условию

  Параметрические

  Итоговые

  С вычисляемыми полями

Чтобы вызвать Конструктор запросов, необходимо перейти в окно базы данных. В окне база данных необходимо выбрать вкладку Запросы и дважды щелкнуть на пиктограмме Создание запроса в режиме конструктора. Появится активное окно Добавление таблицы на фоне неактивного окна «Запрос: запрос на выборку».

В окне Добавление таблицы следует выбрать таблицу – источник или несколько таблиц из представленного списка таблиц, на основе которых будет проводиться выбор данных, и щелкнуть на кнопке Добавить. После этого закрыть окно Добавление таблицы, окно «Запрос: запрос на выборку» станет активным.

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

В нижней части окна находится Бланк построения запроса QBE (Query by Example), в котором каждая строка выполняет определенную функцию:

  Поле – указывает имена полей, которые участвуют в запросе

  Имя таблицы – имя таблицы, с которой выбрано это поле

  Сортировка – указывает тип сортировки

  Вывод на экран – устанавливает флажок просмотра поля на экране

  Условия отбора  - задаются критерии поиска

  Или – задаются дополнительные критерии отбора

 В окне  «Запрос: запрос на выборку» с помощью инструментов формируем query:

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

  Переместить имена полей с источника в Бланк запроса. Например, из таблицы Группы студентов отбуксировать поле Название в первое поле Бланка запросов, из таблицы Студенты отбуксировать поле Фамилии во второе поле Бланка запросов, а из таблицы Успеваемость отбуксировать поле Оценка в третье поле и из таблицы Дисциплины отбуксировать поле Название в четвертое поле Бланка запросов.

  Задать принцип сортировки. Курсор мыши переместить в строку Сортировка для любого поля, появится кнопка открытия списка режимов сортировки: по возрастанию и по убыванию. Например, установить в поле Фамилия режим сортировки – по возрастанию.

  В строке вывод на экран автоматически устанавливается флажок просмотра найденной информации в поле.

  В строке "Условия" отбора и строке "Или" необходимо ввести условия ограниченного поиска – критерии поиска. Например, в поле Оценка ввести  - "отл/A", т.е. отображать все фамилии студентов, которые получили оценки отл/A.

  После завершения формирования запроса закрыть окно Запрос на выборку. Откроется окно диалога Сохранить – ответить Да (ввести имя созданного запроса, например, Образец запроса в режиме Конструктор) и щелкнуть ОК и вернуться в окно базы данных.

Чтобы открыть query из окна базы данных, необходимо выделить имя запроса и щелкнуть кнопку Открыть, на экране появится окно запрос на выборку с требуемым именем.

Чтобы внести изменения в query его необходимо выбрать щелчком мыши в окне базы данных, выполнить щелчок по кнопке Конструктор, внести изменения. Сохранить запрос, повторить его выполнение.


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

Последовательность создания параметрического запроса:

  Создать query в режиме конструктора или открыть существующий запрос в режиме конструктора, например «Образец запроса в режиме Конструктор».

  В Бланк запроса в строке Условия отбора ввести условие отбора в виде приглашения в квадратных скобках, например [Введите фамилию]

  Закрыть окно Запрос на выборку, на вопрос о сохранении изменения ответить – Да. Вернуться в окно базы данных, где созданный query будет выделен.

  Выполнить query, щелкнув по кнопке: Открыть. В появившемся на экране окне диалога «Введите значение параметра» надо ввести, например фамилию студента, информацию об успеваемости которого необходимо получить, выполнить щелчок по кнопке ОК. 

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

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

Например, вам необходимо выбрать из таблиц информацию о клиентах, проживающих в Москве и Московской области, или сформировать список клиентов, купивших в последний месяц товаров на сумму свыше 5000 рублей, и упорядочить их в алфавитном порядке по полю, содержащему фамилии клиентов. Для решения таких задач предназначен конструктор запросов и команда SELECT языка Visual FoxPro.

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

Рис. 9.1. Ввод условия выборки в мастере запросов

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

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

 

9.1 Конструктор запросов

Для создания запроса в окне конструктора запросов выполните следующие действия:

  1.  На вкладке Data (Данные) конструктора проекта выберите группу Queries (Запросы).
  2.  Нажмите кнопку New (Новый).
  3.  В открывшемся диалоговом окне New Query (Новый запрос) нажмите кнопку New Query (Новый запрос). Открывается диалоговое окно выбора таблиц Add Table or View (Добавить таблицу или представление данных).
  4.  В этом диалоговом окне выберите таблицы, данные из которых хотите использовать в запросе, и с помощью кнопки Add (Добавить) перенесите их в окно конструктора запросов.
  5.  Завершив выбор таблиц, нажмите кнопку Close (Закрыть).

На экране появляется окно конструктора запросов (рис. 9.2), которое содержит названия выбранных таблиц, а в основном меню появляется пункт Query (Запрос). Можно приступать к формированию условий запроса.

Совет

Для открытия ранее созданного запроса в окне конструктора запросов на вкладке Data (Данные) окна проекта в группе Queries (Запросы) найдите модифицируемый запрос, установите на него курсор и нажмите кнопку Modify (Модифицировать).

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

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

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

Рис. 9.2. Окно конструктора запросов с выбранной таблицей клиентов

Таблица 9.1. Назначение вкладок окна конструктора запросов

Вкладка

Назначение

Fields (Поля)

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

Join (Объединение)

Позволяет задать условия объединения таблиц

Filter (Фильтр)

Позволяет определить фильтры, накладываемые для выбора записей

Order By (Упорядочение)

Позволяет задать критерии упорядочения данных

Group By (Группировка)

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

Miscellaneous (Разное)

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

 

9.2 Команды, используемые при формировании запросов

Для работы в окне конструктора запроса можно использовать команды меню Query и панель инструментов Query Designer (Конструктор запроса). Назначение команд и кнопок на панели инструментов описано в табл. 9.2.

Таблица 9.2. Назначение команд меню Query и кнопок панели инструментов Query Designer

Команда меню

Назначение

Add Table (Добавить таблицу)

Добавляет в запрос новую таблицу

Remove Table (Удалить таблицу)

Удаляет выбранную таблицу из запроса

Remove Join Condition (Удалить условие объединения)

Удаляет условие объединения таблиц

Output Fields (Результирующие поля)

Открывает вкладку Fields для выбора полей результирующей таблицы

Join (Объединение)

Открывает вкладку Join для задания условия объединения таблиц

Filter (Фильтр)

Открывает вкладку Filter для задания фильтра

Order By (Упорядочение)

Открывает вкладку Order By для определения критерия упорядочения

Group By (Группировка)

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

Miscellaneous (Разное)

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

Query Destination (Результат запроса)

Открывает диалоговое окно Query Destination, в котором указывается, куда выводить результат запроса

View SQL (Показать SQL)

Открывает диалоговое окно, в котором отображается SQL-оператор, соответствующий созданному запросу

Maximize the table view (Максимизировать панель отображения)

Раскрывает панель отображения используемых в запросе таблиц на весь экран. Повторное нажатие на эту кнопку возвращает панели первоначальный размер

Add Join (Добавить условие объединения)

Открывает диалоговое окно Join Condition для задания условия объединения таблиц

Comments (Комментарии)

Открывает диалоговое окно, в котором вы можете ввести краткое описание создаваемого запроса

Run Query (Выполнить запрос)

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

Совет

Для просмотра конструкции SELECT, соответствующей выборке, предназначены команда View SQL и кнопка Show the SQL window панели инструментов. Сформировав запрос, вы можете скопировать конструкцию SELECT во временный буфер Windows и использовать ее при написании программ.

 

9.3 Сохранение запроса

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

Для сохранения условий выборки в меню virtual (Файл) выберите команду Save as (Сохранить как). В открывшемся диалоговом окне Save As (Сохранить как) откройте папку, в которой хотите сохранить файл, введите в поле ввода имя файла и нажмите кнопку Сохранить.

В окне проекта запросы размещаются в разделе Queries (Запросы) вкладки Data (Данные). Для открытия запроса необходимо установить на него курсор и нажать кнопку Modify (Модифицировать) окна проекта.

 

9.4 Запуск запроса на выполнение

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

  •  нажмите кнопку Run (Выполнить) на стандартной панели инструментов;
  •  выберите команду контекстного меню Run Query (Выполнить запрос);
  •  выберите в меню Query (Запрос) команду Run Query (Выполнить запрос);
  •  нажмите комбинацию клавиш <Ctrl>+<Q>.

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

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

 

9.5 Формирование списка полей результирующей таблицы запроса

В результирующей таблице запроса поля формируются на основе полей исходных таблиц и вычисляемых полей. Для задания списка полей результирующей таблицы запроса предназначена вкладка Fields (Поля) конструктора запросов (рис. 9.3).

Рис. 9.3. Вкладка Fields предназначена для выбора полей запроса

Вкладка Fields (Поля) содержит два списка: Available fields (Имеющиеся поля) и Selected fields (Выбранные поля). Список Available fields (Имеющиеся поля) содержит все поля размещенных в окне конструктора таблиц. Selected fields (Выбранные поля) отображает поля формируемого запроса.

Перенести поля из списка Available fields (Имеющиеся поля) в Selected fields (Выбранные поля) вы можете одним из следующих способов.

  •  Использовать для переноса кнопки Add (Добавить) и Add All (Добавить все), позволяющие перенести в список Selected fields (Выбранные поля) выделенные или все поля, соответственно. Используя кнопку Remove (Удалить), вы можете вернуть в список Available fields (Имеющиеся поля) ошибочно перенесенные поля.
  •  Использовать механизм "перенести-и-оставить". Для этого на панели, содержащей образы используемых в запросе таблиц, выделите поля, которые вы собираетесь отобразить в запросе, нажмите кнопку мыши и, не отпуская ее, перенесите их в список Selected fields (Выбранные поля). Для выбора всех полей используется строка таблицы, содержащая звездочку. Этот же механизм можно использовать для удаления полей из списка Selected fields (Выбранные поля).
  •  Для переноса поля из списка Available fields (Имеющиеся поля) в Selected fields (Выбранные поля) вы можете дважды щелкнуть мышью на поле в образе таблицы или в списке Available fields (Имеющиеся поля).

Совет

Как и при работе с объектами в Windows, для выделения группы полей вы можете использовать мышь совместно с клавишами <Shift> и <Ctrl>. Сначала выделите первое из выбираемых полей и нажмите клавишу <Shift> или <Ctrl> в зависимости от того, расположены выбираемые поля рядом или вразброс. Затем, не отпуская клавишу, щелкните мышью по крайнему полю из группы подряд выбираемых полей или по каждому из отдельно расположенных полей.

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

 

9.6 Вычисляемые поля запроса

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

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

Для формирования выражения предназначено поле Functions and expressions (Функции и выражения) вкладки Fields (Поля). Нажмите расположенную справа от поля кнопку вызова построителя выражения и в диалоговом окне Expression Builder (Построитель выражения) создайте выражение для вычисляемого поля. После того как выражение в поле Functions and expressions (Функции и выражения) сформировано, нажатием кнопки Add (Добавить) перенесите его в список Selected fields (Выбранные поля).

Замечание

В окне Expression Builder (Построитель выражения) при создании выражения вы можете использовать поля исходных таблиц, константы, функции. Используя круглые скобки, вы можете изменить порядок вычисления или сгруппировать данные.

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

  1.  Откройте окно запроса для таблицы customer.
  2.  На вкладке Fields (Поля) перенесите в список Selected fields (Выбранные поля) поле ccompany, содержащее наименование предприятия.
  3.  Для объединения города и адреса клиента нажмите кнопку вызова построителя выражения поля Functions and expressions (Функции и выражения) и в диалоговом окне Expression Builder (Построитель выражений) создайте следующее выражение:

ALL/TRIM (Ccity) + ", " +ALLTRIM(Caddress)

  1.  Закройте окно построителя выражения, нажав кнопку ОК.
  2.  Для размещения созданного выражения в списке Selected fields (Выбранные поля) нажмите кнопку Add (Добавить).
  3.  На этом формирование запроса завершено (рис. 9.4). Нажмите кнопку Run (Выполнить) на стандартной панели инструментов, и на экране появится результирующая таблица (рис. 9.5).

Рис. 9.4. Определение вычисляемого поля

Рис. 9.5. Результат выборки

 

9.7 Вкладка Order By конструктора запросов

Вкладка Order By (Упорядочение) конструктора запросов (рис. 9.6) позволяет указать критерий упорядочения данных в результирующей таблице, используя одно или несколько полей исходной таблицы, перенесенных из списка Selected fields (Выбранные поля) в список Ordering criteria (Критерии упорядочения). Для каждого поля в списке Ordering criteria (Критерии упорядочения) вы можете указать критерий упорядочения, используя следующие опции переключателя Order options (Опции упорядочения):

  •  Ascending — по возрастанию;
  •  Descending — по убыванию.

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

Рис. 9.6. Вкладка Order By конструктора позволяет сформировать условия упорядочения данных в запросе

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

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

  1.  Откройте окно конструктора запросов.
  2.  В открывшемся диалоговом окне Add Table or View (Добавить таблицу или представление) выберите таблицу customer.
  3.  На вкладке Fields (Поля) перенесите в список Selected fields (Выбранные поля ) поля Ccompanyи Ccity.
  4.  Откройте вкладку Order By (Упорядочение).
  5.  Дважды щелкнув на поле Ccity, перенесите его в список Ordering criteria (Критерии упорядочения). По умолчанию для него установлена опция Ascending, т. е. данные будут упорядочены в алфавитном порядке по возрастанию.
  6.  Нажмите кнопку Run (Выполнить) на стандартной панели инструментов и просмотрите результаты выполненного запроса (рис. 9.7).

Рис. 9.7. Результаты выборки запроса

 

9.8 Упорядочение по нескольким полям

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

  1.  На вкладке Fields (Поля) добавьте в список Selected fields (Выбранные поля ) Поле YcreditLimit.
  2.  В окне конструктора запросов перейдите на вкладку Order By (Упорядочение). В списке Ordering criteria (Критерии упорядочения) находится поле ccity, по значению которого были упорядочены данные в предыдущем запросе.
  3.  Выделите поле YcreditLimit и дважды щелкните по нему мышью. Поле будет перенесено в список Ordering criteria (Критерии упорядочения).
  4.  Установите для данного поля опцию Descending (По убыванию). Обратите внимание, как выглядит теперь окно конструктора запросов (рис. 9.8).

Рис. 9.8. Использование для упорядочения двух полей

В списке Ordering criteria (Критерии упорядочения) рядом с полем ccity расположена стрелка, направленная вверх, а рядом с полем YcreditLimit — стрелка, направленная вниз. Направленная вверх стрелка означает, что данные отображаются в порядке возрастания, а направленная вниз — что данные расположены в порядке убывания.

 

9.9 Задание условий для выбора записей

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

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

 

9.10 Задание условия точного совпадения значений одного поля

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

В этом примере выберем данные о клиентах из Москвы.

  1.  Откройте окно конструктора запросов.
  2.  Поместите в него таблицу customer.
  3.  На вкладке Fields (Поля) перенесите в список Selected fields (Выбранные поля) наименование предприятия.
  4.  Перейдите на вкладку Filter (Фильтр) конструктора запросов.
  5.  В столбце Field Name (Имя поля) нажмите кнопку раскрытия списка и из всех полей исходной таблицы выберите ccity.
  6.  В списке Criteria (Критерии) выберите значение ==.
  7.  В поле Example (Образец) введите Москва (рис. 9.9).
  8.  Для выполнения запроса нажмите кнопку Run (Выполнить). На экране появится результирующая таблица, которая содержит записи о клиентах, чьи фирмы расположены в Москве.

Рис. 9.9. Задание условия точного совпадения значения одного поля

Замечание

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

 

9.11 Выбор полей, не удовлетворяющих заданному условию

Флажок Not (He), расположенный на вкладке Filter (Фильтр) окна конструктора запросов, позволяет выбрать из таблицы записи, не удовлетворяющие заданному условию. Например, в предыдущем примере мы осуществляли выбор клиентов, проживающих в Москве. Если бы в дополнение к заданному условию выборки мы установили флажок Not (He), то в результирующей таблице мы получили бы список клиентов, не проживающих в Москве.

В данном примере выберем из таблицы customer все записи, за исключением записей со значением Казахстан в поле ccountry.

  1.  Откройте запрос, созданный в предыдущем примере.
  2.  Перейдите на вкладку Filter (Фильтр).
  3.  В столбце Field Name (Имя поля) выберите из раскрывающегося списка поле Ccountry.
  4.  Щелкните мышью в поле Not (He), установив тем самым флажок.
  5.  В списке вариантов сравнения Criteria (Критерий) выберите значение ==,
  6.  В текстовом поле столбца Example (Образец) введите Казахстан (рис. 9.10).
  7.  Для выполнения запроса нажмите кнопку Run (Выполнить). На экране появится результирующая таблица, которая содержит записи о клиентах, проживающих вне Казахстана.

Рис. 9.10. Задание условия для выбора полей, не удовлетворяющих определенному критерию

 

При создание формы в режиме Конструктора новая форма будет содержать только область данных (серая сетка) , границы которой можно изменять. (Если не видна сетка или линейка их можно вывести на экран при помощи меню ВИД.). Область заголовка или примечания можно вывести при помощи команды меню ВИД  ЗАГОЛОВОК и ВИД  ПРИМЕЧАНИЕ.

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

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

Для создания данной формы

Доработайте таблицу Сотрудники

 Добавьте поле Портрет (поле OLE)

 Добавьте поле Характеристика (поле Memo) (файлы с портретами находятся в папке Picture)

Для добавления портретов откройте таблицу Сотрудники в режиме таблицы и одновременно откройте папку Picture

Расположите оба окна без перекрытий

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

Заполните поле Характеристика.

Перейдите на вкладку Формы и нажмите кнопку Создать

Выберите Конструктор

Укажите в качестве источника данных таблицу СОТРУДНИКИ

Кнопка OK

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

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




1. Развитие логистических услуг в России
2. 3 Классификация и основные типы организационной культуры Классификация организационной культуры долж
3. і Широко використовується ефект ірреального- його елементи проникають у повсякденне життя але сприймаються
4. Брат Томас Тем кого я знаю давно и кем восхищаюсь потому что они хорошие люди и делают важную и пол
5.  Основные факторы внутренней среды их влияние на условия и результаты деятельности компании
6. процес під час якого людські стан і проблеми починають визначатися і розглядатися як медичні стану і пробл
7. «Земное небо» архипастыря
8. Вышивка в православном храме
9. Развитие сельского хозяйства Исламской Республики Иран
10. Определение рыночной стоимости имущественного здания административно-организационного типа ОАО Бенефис
11. Расчет календарно-плановых нормативов и технико-экономических показателей однопредметной непрерывно-поточной линии
12. Тема 11 Режим хранения конфиденциальных документов и обращения с ними
13. Рассейтесь все о Друиды по холмам лесистым и ждите появления луны на небе чистом
14. Тема курсовой работы- Социальная поддержка семьи находящейся в трудной жизненной ситуации Оглавлени
15. Нормативно-правовое оформление налоговой политик
16. Вятский государственный гуманитарный университет ВятГГУ УТВЕРЖДАЮ РекторВ.
17. Ультразвуковые методы исследований
18. Особенности развития и становления драматургии 60-90-х годов
19. Ереванская50120.00 Буженина домашняя с хреном75-15190.
20. х годов разрешенный либо рекомендованный либо навязываемый в разные периоды развития страны государстве