Создание реляционной базы данных




Постановка задачи

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

Задачи работы сводятся к получению:

· основных сведений из теории баз данных и их проектирования;

· представления о назначении, архитектуре, функциональных возможностях и тенденциях развития современных систем управления базами данных (СУБД) и к выработке:

· практических навыков создания баз данных и проектирования их объектов: запросов, форм, отчетов в среде СУБД.

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

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


2. СУБД. Характеристика ms access

 

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

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

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

· многократное использование;

· быстрый поиск и получение информации по запросам;

· простота обновления;

· уменьшение избыточности данных;

· защита от несанкционированного доступа;

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

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

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

 

Рис. 2.1 Состав СУБД

 

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

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

По степени универсальности различают СУБД общего и специального назначения.

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

Однако в некоторых случаях доступные СУБД общего назначения не позволяют добиться требуемой производительности и/или удовлетворить заданные ограничения по объёму памяти, предоставляемой для хранения БД. Тогда приходится разрабатывать специализированную СУБД для данного конкретного применения. Примером специализированной СУБД может быть система IMBASE, используемая для автоматизации проектных и конструкторских разработок.

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

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

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

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

ü в каждой физической БД существует один корневой сегмент, то есть сегмент, у которого нет логического исходного (родительского) типа сегмента;

ü каждый логический исходный сегмент может быть связан с произвольным числом логически подчиненных сегментов;

ü каждый логически подчиненный сегмент может быть связан только с логически исходным сегментом.

Основными достоинствами иерархической модели – простота описания иерархических структур реального мира, гибкие возможности организации поиска. А недостатками являются: в этой модели не предусмотрена поддержка соответствия между парными записями, модель реализует отношения между исходной и дочерней записью по схеме 1:N, то есть одной родительской записи может соответствовать любое число дочерних. Т.о., приходиться дублировать информацию; сложно структурировать данные в больших БД.

Первой иерархической СУБД была система IMS (Information Management System) компании IBM, коммерческое распространение которой началось в 1968 г.;

· сетевые. Если в модели каждый порожденный элемент может иметь более одного исходного, то такая модель называется сетевой. Она представляет структуру, у которой любой элемент может быть связан с любым другим без каких-либо ограничений. Сетевая база данных состоит из набора записей, соответствующих каждому экземпляру объекта предметной области и набора связей между ними. К достоинствам сетевой модели можно отнести гибкость организации БД, а к недостаткам – некомпактное хранение данных, сложность отбора, высокая степень зависимости от конкретных данных. Первой сетевой СУБД считается система IDS (Integrated Data Store), разработанная компанией General Electric немного позже системы IMS;

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

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

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

v каждый элемент таблицы - один элемент данных;

v все столбцы в таблице однородны, т.е. все элементы одного столбца (поля) имеют одинаковый тип и длину;

v каждый столбец имеет уникальное имя;

v одинаковые строки (записи) в таблице отсутствуют;

v порядок следования строк и столбцов может быть произвольным.

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

Первые коммерческие реляционные СУБД от компаний IBM, Oracle Corporation, Relation Technology Inc. и других поставщиков появились в начале 80-х годов. Реляционные СУБД просты в использовании, повышают производительность программистов при разработке прикладных программ, хорошо приспособлены для работы в архитектуре клиент/сервер, позволяют параллельную обработку БД, хорошо приспособлены к графическим пользовательским интерфейсам. Реляционные СУБД продолжают совершенствоваться, предоставляя пользователю возможность решать всё более сложные задачи;

· объектно-реляционные (постреляционные). Объектно-реляционные СУБД продолжают использовать стандартный язык запросов для реляционных БД – SQL, но с объектными расширениями;

· объектно-ориентированные. В основе объектно-ориентированных СУБД лежит объектно-ориентированная модель обработки данных.

· многомерные, в основе которых лежит многомерная модель данных.

На самом общем уровне все СУБД можно разделить на:

- профессиональные (промышленные), которые представляют собой программную основу для разработки автоматизированных систем управления крупными экономическими объектами. На их базе создаются комплексы управления и обработки информации крупных предприятий, банков или даже целых отраслей. В настоящее время характерными представителями профессиональных СУБД являются такие программные продукты: Oracle, DB2, Sybase, Informix, Inqres, Progress.

- персональные (настольные). Это программное обеспечение, ориентированное на решение задач локального пользователя или компактной группы пользователей и предназначенная для использования на персональном компьютере, это объясняет их второе название – настольные. К ним относятся DBASE, FoxBase, FoxPro, Clipper, Paradox, Access.

В настоящее время среди СУБД выделяют СУБД (условно говоря) промежуточные между профессиональными и персональными.SQL Windows/SQL Base, Interbase, Microsoft SQL Server.

СУБД Microsoft Access (в дальнейшем Access) предназначена для работы с реляционными базами данных. Эта СУБД входит в программный комплекс Microsoft Office (в вариантах Professional, Premium и Developer), компоненты которого работают в среде Windows.

Access предназначен для выполнения, по крайней мере, пяти основных задач:

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

2. Мощное средство отчетности. Даже если приложение Access не используется для ввода и извлечения данных, средства отчетности Access вполне можно применять для анализа данных. Отчеты Access гораздо легче сортировать и просматривать, чем отчеты других приложений.

3. Средство для создания динамических Web-страниц. Можно создавать Web-страницы, в которых изменения баз данных, лежащих в их основе, будут отражаться автоматически.

4. Среда для разработки приложений баз данных. Несмотря на то, что с помощью других инструментов разработки можно создавать более компактные и быстрые приложения, посредством одной только программы Access создаются полнофункциональные приложения баз данных, включая приложения клиент/сервер. Располагая программой Office Developer, можно распределять эти приложения среди пользователей, не имеющих собственных копий Access.

5. Инструмент для создания прототипов приложений. Даже если для создания приложений решено использовать Visual Basic, C++ или какой-то иной язык, с помощью Access можно испытывать прототипы создаваемых приложений.

Access имеет инструментальные средства для создания: локальной БД, централизованной БД в локальной сети с файловым сервером, проектов (клиентских приложений, работающих с базами данных Microsoft SQL Server 6.5 или Microsoft SQL Server 7.0).

Access поддерживает механизм OLE – связывание и внедрение объектов различных приложений Windows в БД. Позволяет импортировать данные таблиц: других баз данных Access; баз данных dBase, Microsoft FoxPro, Paradox, Oracle, Microsoft SQL Server; табличного процессора Microsoft Excel. Внешними для Access могут быть также: данные почтовой программы Microsoft Exchange; таблицы и списки HTML на сервере локальной, корпоративной сети (сети масштаба предприятия), сети Internet. Может экспортировать объекты БД в другие приложения.

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

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

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

Запрос - это требование на: отбор данных, хранящихся в таблицах; выполнение вычислений над данными; изменения в БД.

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

Отчет - отображение на принтере или на экране информации из БД в виде, удобном для ее восприятия и анализа пользователем.

Страница доступа к данным - диалоговая Web-страница, которая поддерживает динамическую связь с БД и позволяет просматривать, редактировать и вводить данные в базу, работая в окне браузера Internet Explorer 4.0 или Internet Explorer 5.0.

Макрос - есть последовательность макрокоманд для автоматизации выполнения операций в среде Access без программирования.

Модуль - это программа для работы с БД, написанная на языке Visual Basic for Applications 6.0 (VBA).

Объекты БД могут быть объединены в именованные группы объектов по функциональному или иному признаку.

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

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

СУБД Access имеет разнообразные инструментальные средства, дающие возможность непрофессиональным пользователям решать задачи без использования языка запросов или языка программирования VBA.

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


3. Создание реляционной базы данных

 

3.1 Общее понятие о реляционной базе данных

 

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

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

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

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

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

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

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

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

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

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

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

Очевидно, что отправной точкой в процессе работы с любой СУБД является создание файла (или группы файлов) базы данных. На рис. 3.1 показано окно, которое появляется после создания новой базы.

 


Рисунок 3.1 Главное окно базы данных в Access

 

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

Интерфейс работы с объектами базы данных унифицирован. По каждому из них предусмотрены стандартные режимы работы:

- Создать - предназначен для создания структуры объектов;

- Конструктор - предназначен для изменения структуры объектов;

- Открыть (Просмотр, Запуск) - предназначен для работы с объектами базы данных.

 

Создание реляционной базы данных

 

Создание файла базы данных выполняется следующим образом. Необходимо запустить СУБД Access. Затем выполните следующее:

· установить в стартовом окне переключатель в положение Новая база данных и нажать [ОК]. Если это окно не отображено, то необходимо выполнить команду Файл/Создать и в появившемся окне Создание на вкладке Общие произвести двойной щелчок по значку "База данных";

· в окне Файл новой базы данных указать, на каком диске, в какой папке требуется создать файл базы данных и ввести нужное имя файла, а затем нажать кнопку [Создать].

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

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

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

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

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

 

Рисунок 3.2 Создание описания структуры таблицы

 

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

Ключевое поле таблицы помечается специальным значком — ключик в поле выделения в левой части окна. Чтобы выделить поле, достаточно просто щелкнуть мышью по строке, в которой описывается данное поле. При этом в нижней части окна будут показаны параметры именно для этого поля. Перемещаться между столбцами в верхней панели окна можно с помощью клавиши <Таb>, а для перемещения по списку полей вверх и вниз пользуйтесь клавишами со стрелками. С помощью клавиши <F6> можно перемещаться между панелями.

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

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

Результат построения таблиц для проектируемой базы данных см. в Приложениях 5-8.

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

 


4. Формирование запросов к базе данных

Общее понятие запросов

 

Запрос - это требование на извлечение данных из таблиц базы, на выполнение вычислений над данными, на внесение изменений в базу данных.

Запрос может служить источником данных для форм, отчетов и страниц доступа к данным.

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

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

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

- выбирать записи, удовлетворяющие условиям отбора;

- осуществлять вычисления над полями базы данных;

- группировать записи и находить для групп записей или для всех записей итоговые значения по некоторым полям с помощью статистических функций: Sum – сумма значений поля, Avg – среднее значений поля, Max – максимальное из значений поля, Min – минимальное из значений поля, Count – число значений поля и др.

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

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

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

1) запрос на удаление - удаляет группу записей из одной таблицы или нескольких взаимосвязанных таблиц базы данных, для которых задано каскадное удаление связанных записей;

2) запрос на обновление - служит для изменения значений полей таблицы;

3) запрос на добавление - производит добавление записей из одной таблицы в другую таблицу;

4) запрос на создание таблицы - создает новую таблицу на основе всех или части данных из одной или нескольких таблиц базы данных.

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

 

Создание запроса выбора

 

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

Окно БД - объект Запросы - [Создать] - окно Новый запрос - выбрать Конструктор - окно Добавление таблицы - выбрать таблицы-источники запроса - [Закрыть].

Окно Конструктора запроса имеет вид как на рис. 4.1.

 


Рис. 4.1 Окно Конструктора запроса

 

Оно разделено на две панели.

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

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

· Поле – указывает имена полей, участвующих в формировании запроса;

· Имя таблицы - указывает имена таблиц, которым принадлежат эти поля;

· Сортировка – дает возможность отсортировать записи в результирующей таблице запроса;

· Вывод на экран – позволяет управлять отображением полей в этой таблице;

· Условие отбора – служит для задания условий отбора записей;

· или – позволяет объединять условия отбора логической операцией ИЛИ. При этом условия отбора могут указываться в нескольких строках бланка запроса.

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

· перетащить поле из списка полей в крайнюю слева свободную клетку строки Поле;

· дважды щелкнуть по имени поля в списке полей;

· щелкнуть в клетке строки Поле и из раскрывающегося списка выбрать нужное поле.

Включение в бланк запроса всех полей таблицы можно выполнить, если:

· дважды щелкнуть по имени таблицы и перетащить все выделенные поля в клетку строки Поле;

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

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

Для очистки всего бланка запроса служит команда - Правка/Очистить бланк.

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

Формирование запроса с применением сортировки.

Сортировка возможна по одному или нескольким полям одновременно. Для сортировки по нескольким полям поля располагаются в бланке запроса в том порядке, в котором требуется выполнять сортировку. В Access записи сортируются сначала по самому левому полю, затем по полю, расположенному в следующем столбце справа и т.д. Для задания порядка сортировки необходимо щелкнуть в строке Сортировка для поля, по которому сортируются записи, и из раскрывающегося списка выбрать – по возрастанию или по убыванию. Пример создания запроса с применением сортировки см. в Приложении 9-10.

Формирование запроса с условиями отбора.

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

Если выражения вводятся в несколько клеток одной строки Условие отбора, то они автоматически объединяются с помощью логического оператора And. Если выражения вводятся в разные строки бланка запроса, то Access объединяет их логическим оператором Or. Пример создания запроса с условием для создаваемой базы данных см. в Приложении 11-12.

В условии отбора может быть использована конструкция Between (



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-06-03 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: